﻿.responsive-hidden {
  display: block;
}

.responsive-visible {
  display: none;
}

@media screen and (max-width: 767px) {
  /* start of MQ*/
  * {
    box-sizing: border-box;
  }
  .responsive-hidden {
    display: none !important;
  }
  .responsive-visible {
    display: block !important;
  }
  body.home #showFooter,
  body.home #main,
  body.home #footer {
    display: none;
  }
  body.home #header #logo {
    background-image: none;
  }
  body.home #header #logo img {
    display: block;
  }
  #site {
    margin: 0;
    margin-bottom: 70px;
    width: 100%;
    background: none;
  }
  #site h1 {
    padding: 20px 20px 10px 20px;
    font-size: 32px;
  }
  #site > h1,
  #site > .contentWide,
  #site > .content {
    margin: 0;
  }
  .backgroundlogo #site {
    background: none;
  }
  #site .productDetailPage .top .imgCaption {
    left: 30px;
    max-width: 280px;
  }
  #site .productDetailPage .top .imgCaption h1 {
    font-size: 60px;
    padding-left: 0px;
    line-height: 52px;
  }
  #site .productDetailPage .top .imgCaption h2 {
    font-size: 32px;
    line-height: 48px;
  }
  #site .productDetailPage #main {
    padding-top: 0;
  }
  #header {
    position: relative;
  }
  #header.shadow {
    -webkit-box-shadow: 0px -4px 4px 0px #888;
    box-shadow: 0px -4px 4px 0px #888;
  }
  #header.fixOnTop {
    position: fixed;
  }
  #header h2 {
    display: none;
  }
  #header #logo {
    left: 10px;
  }
  #main,
  #main .content,
  #main .sidebar,
  #main.contentWide .content,
  #main.contentWide .sidebar {
    width: 100%;
    margin-right: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #main {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 110px;
    margin-top: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #main h1 {
    padding: 0;
  }
  #main h1 .deviation {
    font-size: 14px;
  }
  .contentText .introText p:last-child {
    margin-bottom: 0;
  }
  .content .contentText .introText {
    padding: 0;
    margin-bottom: 10px;
  }
  .homeExperience .arrows > span, .homeExperience .arrows > span:hover, .homeExperience .arrows > span:active {
    top: 50%;
    margin-top: -20px;
  }
  .contentBox {
    padding: 15px 20px;
  }
  .contentBox .h3Wrapper {
    clear: both;
  }
  .contentBox.contentBoxTwitter .contentScroller {
    width: 96%;
  }
  .contentBox.contentBoxDiamond {
    margin-top: 0 !important;
    width: 100%;
    background-image: none;
    padding: 10px;
    height: auto;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .contentBox.contentBoxDiamond.contentBoxDiamondBlack form {
    left: 70px;
    position: relative;
    top: 10px;
    width: 170px;
  }
  .contentBox.contentBoxDiamond h2,
  .contentBox.contentBoxDiamond h3 {
    font-size: 20px;
    line-height: 27px;
    width: 99%;
    height: auto;
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    margin: 0;
    margin-bottom: 0px;
  }
  .contentBox.contentBoxDiamond h3.top {
    bottom: auto;
    font-size: 12px;
    line-height: 19px;
  }
  .contentBox.contentBoxDiamond h3.bottom {
    top: auto;
    font-size: 12px;
    line-height: 19px;
  }
  .contentBox#productionCredits {
    width: auto !important;
    padding: 15px 20px;
  }
  .contentBox#productionCredits .contentCol {
    width: 100%;
    height: auto !important;
  }
  .contentBox#productionCredits .contentCol:first-child:after {
    display: none !important;
  }
  /*.fixedSidebarElement
    {
        width: 96% !important;
        left: 10px;
        height: 30px;
        overflow: hidden;
        position: relative; top: -20px !important;
     }
    .fixedSidebarElement::after { content: 'toon filters'; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: #333;  color: #fff; font-weight: bold; padding: 7px 20px; font-size: 12px; }

    .fixedSidebarElement.fixed { position: absolute !important; } */
  .jms-slideshow {
    margin: 0 auto !important;
  }
  .step h2 {
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    font-size: 24px !important;
    line-height: 31px !important;
    width: 80% !important;
    margin-left: -40% !important;
    top: 50% !important;
  }
  .homeExperience .experienceWrapper {
    top: 50px;
  }
  .homeExperience .experienceWrapper a.homepageExperienceLink:link,
  .homeExperience .experienceWrapper a.homepageExperienceLink:visited,
  .homeExperience .experienceWrapper a.homepageExperienceLink:link:active {
    top: 50%;
    left: 50%;
    margin-top: 0px;
    margin-left: 0;
  }
  .homeExperience .arrows {
    height: 40px;
    top: 50%;
    margin-top: 5px;
    position: absolute;
    width: 100%;
  }
  .homeExperience .arrows > span {
    width: 20px;
    height: 40px;
    background-color: #008fd6;
    top: 50%;
    margin-top: -20px;
  }
  .homeExperience .arrows > span .icon {
    width: 8px;
    height: 8px;
  }
  .homeExperience .arrows span.arrowsNext .icon {
    background-position: -53px -66px;
    right: 50%;
    margin-right: -4px;
    top: 50%;
    margin-top: -4px;
    left: auto;
  }
  .homeExperience .arrows span.arrowsPrev .icon {
    background-position: -25px -405px;
    left: 50%;
    margin-left: -4px;
    top: 50%;
    margin-top: -4px;
  }
  .contentList.itemList {
    width: 100%;
  }
  .contentList.itemList li {
    padding-bottom: 0;
  }
  .contentList.itemList li .contentText {
    padding-top: 280px;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
  .contentList.itemList li .contentText.contextEventItem {
    padding-top: 40px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 60px;
  }
  .contentList.itemList li .contentText.contextEventItem .itemOrder {
    bottom: 10px;
    left: 10px;
    top: auto;
  }
  .contentList.itemList li .contentText.contentTextLarge {
    padding-top: 220px;
  }
  .contentList.itemList li .contentText.contentTextLarge .itemImage {
    top: 20px;
  }
  .contentList.itemList li .contentText.contentTextLarge .btn-bottomRight {
    right: 0;
  }
  .contentList.itemList li .contentText h2 {
    padding-top: 20px;
  }
  .contentList.itemList li .contentText .itemImage {
    left: 0;
    z-index: 1;
    top: 154px;
  }
  .contentList.itemList li .contentText .itemDiamond {
    z-index: 2;
    left: 0;
    right: 0;
    width: 100%;
  }
  .contentList.itemList li .contentText .itemDiamond .iconDiamondText {
    width: 100%;
  }
  .contentList.itemList li .contentText .itemOrder {
    bottom: auto;
    top: 265px;
    left: 0;
  }
  .contentList.itemList li .contentText .itemNoteText,
  .contentList.itemList li .contentText .itemGenre {
    display: none;
  }
  .contentList.itemList#eventList .itemImage {
    top: 67px;
  }
  .royalSlider {
    width: 100%;
  }
  #experience {
    margin-bottom: -40px;
  }
  #experience .rsNav {
    display: none;
  }
  .rsContainer img {
    width: 100%;
  }
  .sidebar .contentBox,
  .sidebar .contentPanel {
    display: none !important;
  }
  .sidebar #orderTickets,
  .sidebar .loginBox {
    display: block !important;
  }
  .sidebar.fixedSidebarElement {
    height: 30px !important;
    overflow: hidden;
    position: relative !important;
    margin-bottom: 30px !important;
    margin-top: -40px !important;
  }
  .sidebar.fixedSidebarElement #openFilterBtn {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background-color: #EFEFEF;
    color: #009fdc;
    font-weight: bold;
  }
  .sidebar.fixedSidebarElement #openFilterBtn .btnText {
    padding-left: 10px;
  }
  .sidebar.fixedSidebarElement #openFilterBtn:after {
    content: '';
    position: absolute;
    left: 10px;
    top: 12px;
    background: url(/Img/sprite.png) no-repeat;
    background-position: -28px -361px;
    width: 6px;
    height: 6px;
  }
  .sidebar.fixedSidebarElement #closeFilterBtn {
    display: none;
  }
  .sidebar.fixedSidebarElement.opened {
    position: relative !important;
    width: 100% !important;
    margin-top: -40px !important;
    margin-bottom: 20px;
    height: auto !important;
    overflow: visible;
  }
  .sidebar.fixedSidebarElement.opened #openFilterBtn {
    display: none;
  }
  .sidebar.fixedSidebarElement.opened #closeFilterBtn {
    display: block;
    position: absolute;
    right: 0;
    width: 20px;
    height: 20px;
    padding: 0 !important;
    top: 0;
    background: url(/Img/sprite.png) no-repeat;
    background-position: 0 -377px;
  }
  .sidebar.fixedSidebarElement .contentBox {
    display: block;
    width: 100%;
    margin-bottom: 0;
  }
  .sidebar.fixedSidebarElement a#historyBtn {
    display: none;
  }
  .contentWide .sidebar.fixedSidebarElement {
    top: 20px;
  }
  #navigation.opened {
    width: 100%;
  }
  #navigation #mainNavigation.fixed {
    right: 0;
    left: 0;
  }
  #navigation #mainNavigation header {
    height: 48px !important;
  }
  #navigation #search #inputSearch {
    width: 90%;
  }
  #footer #footerWrapper {
    padding: 0 20px 50px 20px;
  }
  #footer #footerWrapper .wrapper {
    width: 100%;
    padding-bottom: 50px;
  }
  #footer #footerWrapper .wrapper .goToTop {
    position: fixed;
    bottom: 0;
    top: auto;
    left: 0;
    right: 0;
    height: 20px;
    background: #f2f2f2;
    border-top: 1px solid lime;
  }
  #footer #footerWrapper .wrapper .goToTop span {
    font-size: 18px;
    line-height: 20px;
  }
  #footer #footerWrapper .wrapper .goToTop:before {
    width: 20px;
    height: 20px;
    left: auto;
    right: 0;
    background: url("/Img/sprite.png") no-repeat -287px -581px lime;
  }
  #footer #footerWrapper .wrapper #copyright {
    position: absolute;
    bottom: 0;
    width: 100%;
  }
  #footer #footerWrapper .wrapper #copyright #footerDisclaimer {
    margin-bottom: 10px;
  }
  #footer #footerWrapper .wrapper #copyright #footerNavigation {
    margin-left: 0;
  }
  #footer #footerWrapper .wrapper #copyright #footerNavigation li:first-child {
    margin-left: 0;
    padding-left: 0;
  }
  #footer #footerWrapper .wrapper #copyright #footerNavigation li:first-child:before {
    display: none;
  }
  #footer #footerWrapper .contentCols .contentCol {
    width: 100%;
    margin-left: 0;
  }
  #footer #footerWrapper .contentCols .contentCol .showMore .btnMore {
    width: 90%;
    display: block;
    margin: 0 0 15px 0;
  }
  #footer #doormatNavigation {
    display: none;
  }
  #footer #footerSocial,
  #footer #footerDisclaimer {
    float: none;
  }
  #footer #footerSocial {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  #footer #footerSocial .contentList ul li {
    float: left !important;
    width: 25px !important;
    clear: none !important;
  }
  #footer #footerCorporateWrapper {
    padding: 0 10px;
  }
  #footer #footerCorporateWrapper #footerCorporate .contentList .divider {
    display: none;
  }
  #footer #footerCorporateWrapper #footerCorporate .contentList li {
    width: 100%;
    clear: both;
    float: none;
  }
  #footer #footerCorporateWrapper #footerSocial .contentList li {
    margin-left: 10px;
  }
  #footer #footerCorporateWrapper #footerSocial .contentList li .iconSocial {
    margin: 0;
  }
  #footer #footerNewsWrapper #footerNews .footerNewsHeader,
  #footer #subjectsWrapper #subjects .footerNewsHeader {
    text-align: center;
  }
  #footer #footerNewsWrapper #footerNews .footerNewsHeader .title,
  #footer #subjectsWrapper #subjects .footerNewsHeader .title {
    font-size: 14px;
    float: left;
    margin-left: 10px;
  }
  #footer #footerNewsWrapper #footerNews .footerNewsHeader .readMore,
  #footer #subjectsWrapper #subjects .footerNewsHeader .readMore {
    display: none;
  }
  #footer #footerNewsWrapper #footerNews .contentList,
  #footer #subjectsWrapper #subjects .contentList {
    margin-top: 20px;
    margin-bottom: 0;
    width: 100%;
  }
  #footer #footerNewsWrapper #footerNews .contentList li,
  #footer #subjectsWrapper #subjects .contentList li {
    border-top: 1px dotted #fff;
    padding-top: 10px;
    float: none;
    margin-left: 0;
    padding-left: 10px;
    width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 20px;
  }
  #footer #footerNewsWrapper #footerNews .contentList li:first-child,
  #footer #subjectsWrapper #subjects .contentList li:first-child {
    border-top: 0;
    padding-top: 0;
  }
  #footer #footerNewsWrapper #footerNews .contentList li .title,
  #footer #subjectsWrapper #subjects .contentList li .title {
    margin-bottom: 0;
  }
  #footer #footerNewsWrapper #footerNews .contentList li .contentText,
  #footer #subjectsWrapper #subjects .contentList li .contentText {
    margin-bottom: 0;
  }
  #footer #footerNewsWrapper #footerNews .contentList li .contentText p,
  #footer #subjectsWrapper #subjects .contentList li .contentText p {
    margin-bottom: 0;
  }
  #footer #footerNewsWrapper #footerNews .contentList li a.btn.btnMore,
  #footer #subjectsWrapper #subjects .contentList li a.btn.btnMore {
    margin-top: 10px;
  }
  #footer #subjectsWrapper #subjects {
    padding: 20px 10px;
  }
  #footer #subjectsWrapper #subjects .contentCol {
    width: 100%;
    margin-left: 0;
    margin-bottom: 40px;
  }
  #footer #subjectsWrapper #subjects .contentCol h2 {
    margin-bottom: 5px;
  }
  #footer #subjectsWrapper #subjects .contentCol h2 {
    font-size: 22px;
    line-height: 30px;
  }
  #footer #subjectsWrapper #subjects .contentCol h3 {
    font-size: 17px;
    line-height: 22px;
  }
  #footer #subjectsWrapper #subjects .contentCol a.btn {
    margin-top: 0;
  }
  #footer #footerSponsors {
    padding: 20px 0 40px 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #footer #footerSponsors .contentList li {
    padding: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #footer #footerSponsors .contentList li .first-child {
    margin-left: 0;
  }
  #footer #footerSponsors .contentList .clearfix {
    display: none;
  }
  #footer #footerSponsors,
  #footer #footerSponsors .contentList
#cookieLayers #cookieDialog #cookieDialogBasic,
  #cookieLayers #cookieDialog #cookieDialogMoreInfo #cookieDialogMoreInfoWrapper,
  #footer #footerCorporateWrapper #footerCorporate,
  #footer #footerNewsWrapper #footerNews,
  #footer #subjectsWrapper #subjects {
    width: 100%;
  }
  .mobileFooter {
    height: 40px;
    background-color: rgba(0, 0, 0, 0.8);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
  }
  .mobileFooter a.readMoreBtn {
    color: #fff;
    font-family: euclid_flexbold;
    font-size: 20px;
    line-height: 100%;
    text-transform: uppercase;
    displaY: inline-block;
    padding-top: 11px;
  }
  .mobileFooter .call {
    position: absolute;
    right: 10px;
    top: 0;
    width: 55px;
    height: 100%;
  }
  .mobileFooter .call .icon {
    width: 29px;
    height: 29px;
    background-position: -322px -575px;
    top: 50%;
    margin-top: -14px;
  }
  a.btn.btnMore, a.btn.btnMore:link, a.btn.btnMore:visited, button.btn.btnMore, span.btn.btnMore, div.btn.btnMore {
    left: 0;
    right: auto;
  }
  #cookieLayers {
    z-index: auto;
    position: relative;
    height: auto;
    top: auto;
    bottom: auto;
    margin-top: 30px;
    overflow: hidden;
  }
  #cookieLayers #cookieDialog #cookieDialogMoreInfo {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 10px 10px 10px;
  }
  #cookieLayers #cookieDialog #cookieDialogMoreInfo .close {
    display: none;
  }
  #cookieLayers #cookieDialog #cookieDialogMoreInfo .contentCols .contentCol {
    width: 100%;
  }
  #cookieDialogBasic {
    width: auto;
    height: auto;
    padding: 25px 10px 20px 10px;
    z-index: 0;
    margin-top: 47px;
    border-bottom: 1px solid #cbcbcb;
  }
  #cookieDialogBasic h3 {
    display: block;
    margin-bottom: 0;
  }
  #cookieDialogBasic .contentText {
    padding-bottom: 10px;
  }
  #cookieDialogBasic .contentText p {
    display: block;
    margin-bottom: 0;
  }
  #cookieDialogBasic .contentText .readMore {
    float: none;
  }
  #cookieDialogBasic,
  #cookieLayers #cookieDialog,
  #cookieLayers #cookieDialog #cookieDialogMoreInfo #cookieDialogMoreInfoWrapper {
    padding-top: 20px;
  }
  #cookieDialogBasic .inner,
  #cookieLayers #cookieDialog .inner,
  #cookieLayers #cookieDialog #cookieDialogMoreInfo #cookieDialogMoreInfoWrapper .inner {
    width: 100%;
    padding-top: 0;
  }
  #cookieDialogBasic .btnCta,
  #cookieDialogMoreInfo .btnCta {
    right: 10px;
    bottom: 20px;
    top: auto;
  }
  #cookieDialogMoreInfo .btnCta {
    margin-bottom: 0;
  }
  #cookieLayers #cookieDialog,
  #cookieLayers #cookieDialog #cookieDialogMoreInfo {
    position: relative;
    z-index: auto;
    top: auto;
    border-top: 0;
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .contentList.newsList li {
    padding-top: 0;
  }
  .contentList.newsList li .contentText {
    padding-top: 221px;
  }
  .contentList.newsList li .contentText h2 {
    border-top: none;
    padding-top: 5px;
  }
  .contentList.newsList li .contentText .itemImage {
    top: 20px;
  }
  .contentList.newsList li:last-child:before {
    bottom: -20px;
  }
  .dfForm .dfControl {
    width: 100%;
    float: none;
  }
  .dfForm .dfLabel {
    max-width: 100%;
  }
  .dfForm .dfMandatory2 {
    float: left !important;
    display: block;
    margin-bottom: 10px;
  }
  .dfForm .dfQuestion.salutation .dfLabel {
    float: none;
    display: block;
  }
  .dfForm .dfCheckbox li {
    float: left;
  }
  .dfForm .dfCheckbox li label {
    float: left;
  }
  .dfForm .dfCheckbox li label:before {
    top: -5px;
  }
  .RequestPocketForm .contentText.introText {
    padding-bottom: 0;
  }
  .dfGroupSmall {
    width: 100%;
  }
  #site_homepage {
    max-width: 100% !important;
    padding-top: 15px !important;
    padding-bottom: 30px !important;
    padding-right: 0 !important;
  }
  #site_homepage .layout__item {
    padding-left: 10px !important;
    padding-right: 10px !important;
    margin-left: 30px !important;
  }
  #site_homepage .layout__item span {
    left: 10px !important;
  }
  #site_homepage .layout__item-mobile-left {
    margin-left: 0 !important;
  }
  #site_homepage .mobile-hidden {
    display: none !important;
  }
  #site_homepage .pl {
    padding-left: 0 !important;
  }
  #site_homepage .ml {
    margin-left: 0 !important;
  }
  #site_homepage .pb\+\+ {
    padding-bottom: 0 !important;
  }
  #site_homepage .pt {
    padding-top: 0 !important;
  }
  #site_homepage [class~="1/2"] {
    width: 100% !important;
  }
  #site_homepage [class~="3/10"] {
    width: 100% !important;
  }
  #site_homepage [class~="2/10"] {
    width: 100% !important;
  }
  .hfHomepageTitle .hfTitle,
  .hfHomepageTitle .hfSubtitle,
  .hfHomepageTitle
.hfProgramLink {
    display: none !important;
  }
  .hfHomepageTitle .hfMenuLink {
    font-size: 20px;
    top: 10px;
    right: 10px;
  }
  .hfHomepageTitle .hfMenuLink a::after {
    right: 14px;
    top: 6px;
  }
  .hfHomepageTitleMobile {
    display: inline !important;
  }
  .home h2.rsABlock {
    left: 7% !important;
    font-size: 70px !important;
  }
  div.rsABlock.rsButtons {
    left: 7% !important;
  }
  .contentImage .contentImageLeft, .contentTwoImages .contentImageLeft {
    max-width: 100%;
  }
  .contentImage .contentImageRight, .contentTwoImages .contentImageRight {
    max-width: 100%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1279px) {
  #site_homepage {
    max-width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  .hfTitle {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #site_homepage .layout.ml {
    margin-left: 0 !important;
  }
  #site_homepage .pl {
    padding-left: 0 !important;
  }
  .home .hfTitle {
    font-size: 138px !important;
    line-height: 140px !important;
  }
  .home .hfHomepageTitle {
    max-width: 100% !important;
    left: 0;
  }
  .home .hfSubtitle {
    max-width: 100% !important;
    width: 40% !important;
  }
  .home
.hfProgramLink {
    width: 70% !important;
    display: inline-block;
  }
  .home .hfMenuLink {
    width: 30% !important;
    display: inline-block;
  }
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
  .home .hfTitle {
    font-size: 100px !important;
    line-height: 140px !important;
  }
}

@media screen and (min-width: 1280px) {
  .home .hfHomepageTitle {
    padding: 0;
  }
}

@media screen and (max-width: 400px) {
  #site .productDetailPage .top .imgCaption h1 {
    font-size: 50px;
    padding-left: 0;
    line-height: 52px;
  }
  #site .productDetailPage .top .imgCaption h3 {
    font-size: 30px;
    line-height: 40px;
  }
  #footer #footerSponsors .contentList li {
    text-align: center;
  }
}
