/* *  Print  * */
@media print {

  body                     {background: var(--color-highlight3) !important; height: auto !important; margin: 0px !important; padding: 0px !important; overflow:auto !important; }

  header,
  .printbtn,
  .socialbar               {display: none !important; }
  
  main, footer, div        {color: var(--color-dark) !important; background-color: transparent !important; }
  h1, h2, h3, h4, h5, h6   {color: var(--color-dark) !important; text-align: left !important; border: none; padding: 0px; margin: 0px 0px 15px 0px; text-shadow: none; }

  h3                       {font-size: 160%; }
  .inner                   {max-width: none !important; padding: 0px !important; }
}


@media only screen and (max-width: 1370px) {
  /* Headline-Animation */
  .head-icon                         {top: 0px; width: 40px; }
  .textblock.in-view .head-icon      {left: 0px; }
  .headline-container                {padding-left: 55px; }

  ul.makeMenu li a                   {font-size:80%; padding: 20px 10px; }

}


@media only screen and (max-width: 1180px) {
  .anchormenu-inner                                {padding: 0px 0px; }
  .scrolled .textblocks_submenu .leftarrow         {left: 0px;  margin-left: 0px; }
  .scrolled .textblocks_submenu .rightarrow        {left: 100%; margin-left: -36px; }
  .scrolled .textblocks_submenu .Slidearrow        {width: 36px; height: 36px; }
  .scrolled .textblocks_submenu .Slidearrow a      {background-size: 60% !important;}
}


@media only screen and (max-width: 1120px) {
  .headerBox, .headerBoxLogo,
  .ContentBoxTop-fixed .headerBoxLogo   {margin-left: 0px; }

  .label                                {width: 160px !important; }
  .label-top-right                      {transform: translate(-100%, -50%); -webkit-transform: translate(-100%, -50%); -moz-transform: translate(-100%, -50%); -o-transform: translate(-100%, -50%); }

  .fill                                 {padding: inherit; }
  .fill.textblocks_right_medium         {width: 33%; margin-right: 0%;}
  .fill.textblocks_left_medium          {width: 33%; margin-left: 0%; }

  main                                  {}

  .scrolled .textblocks_submenu .textblock-inner            {padding: 7px 15px 5px !important; }

  .teasergrid .tile                     {padding: 30px 50px 20px !important; font-size: 140%; }

}


/* smaller labtops */
@media only screen and (max-width: 1080px) {

  /* Header */
  .SearchBox                            {right: 15px; width: 245px; height: 30px; }

  #ContentBoxTop .inner,
  a.foldout-more-btn,
  .leftcolumn,
  .textblock-inner,
  .textblock_separator_light .textblock-inner,
  .textblock_separator_dark .textblock-inner,
  .textblock_separator_image_dark,
  .textblock_separator_image,
  .video .textblock-inner,
  .video_bg .textblock-inner,
  .gallery_slideshow .textblock-inner                {margin: 0px !important; padding-left: 25px !important; padding-right: 25px !important; }
  .rightcolumn,
  .video_bg,
  .textblock.gallery .textblock-inner,
  .gallery_slideshow                                 {width: 100% !important; padding: 0px 0px !important; }

  .textblock_separator_dark,
  .textblock_separator_thin,
  .textblock_separator                               {width: 100%; /*margin: 30px 0px !important;*/ }
  .textblock_separator_dark .textblock-inner         {padding: 30px 15px; }
  .textblock_separator_image                         {padding-top: 20.5% !important; }
  .textblock_separator_image::before                 {position: absolute; top: 0px; }
  .textblock_separator_image::before,
  .textblock_separator_image .textblock-outer::after {left: -25px; right: -25px; width: auto; }

  .textblocks_centered,
  .textblocks_left,
  .textblocks_left_small,
  .textblocks_left_medium,
  .textblocks_left_big,
  .textblocks_left_verybig                           {padding: 0px 3% 0px 0px; }
  .textblocks_right,
  .textblocks_right_small,
  .textblocks_right_medium,
  .textblocks_right_big,
  .textblocks_right_verybig                          {padding: 0px 0px 0px 3%; }

  footer h5                  {font-size: 130%; }
  .FooterSubLine,
  .FooterBoxInner            {padding-left: 15px !important; padding-right: 15px !important; }

  .BreadCrumbBox             {width: 100%; padding: 0px 15px 20px 15px; }
  .socialbarCont             {width: 100%; padding: 0px 15px 0px 15px; }

  .BackgroundImageLabel        {left: 15px; }
  .BackgroundImageLabel .inner {font-size: 140%; }
  .BackgroundImageBtns         {}

  .tile                        {font-size: 90%; }

  .textblocks_left,
  .textblocks_right,
  .textblocks_left_big,
  .textblocks_right_small                      {left: auto; right: auto; transform: none; -webkit-transform: none; -moz-transform: none; -o-transform: none; }

  .news-events .NewsBoxCont .date {}
  .news-events .news_text,
  .news-events .news_img          {width: 60%; }

}


/* Tablet/iPad */
@media only screen and (max-width: 1024px) {

  body                       {}

  .show-mobile-0,
  .read-more-show            {display: none !important; }

  /* Slideshows */
  a.extrabutton-up                     {width: 40px; height: 40px; }

  /* *  Content boxes  * */
  .ContentBoxRight            {font-size: 90%; }

  h1, h3                      {font-size: 180%; }
  h2                          {font-size: 150%; }
  h4                          {font-size: 130%; }
  #start h1                   {font-size: 200%; }

  .mediabox                   {width: 100% !important; height: auto !important; }
  .Videobox                   {width: 100% !important; height: 360px !important; }

  .NewsContainer-events       {width: 100%; margin: 0px 0px 20px 0px; }
  .textblock .NewsBox         {text-align: left; }
  .textblock .NewsBoxCont     {width: 50%; min-height: auto; margin-top: 0px !important; }
  a.newshead,
  a.newshead:link,
  a.newshead:focus,
  a.newshead:active,
  a.newshead:hover,
  a.newshead:visited          {min-height: auto; }

  table                       {font-size: 80%; }

  .iframe-disclaimer          {font-size: 100%; padding: 20px 20px 20px 100px; background-position: 20px 20px; background-size: 60px auto; }
  .iframe-disclaimer h5       {font-size: 140%; margin: 10px 0px 20px; }
  .allow-iframe,
  .allow-iframe:hover         {position: relative; right: auto; bottom: auto; padding: 5px 10px; }

}


@media only screen and (max-width: 980px) {

  body                                      {font-size: 1.0em; line-height: 1.5; }
  h1, h2, h3, h4, h5, h6                    {
    hyphens: auto; 
    hyphenate-limit-chars: auto 3;
    hyphenate-limit-lines: 4;
    -webkit-hyphens: auto;
    -webkit-hyphenate-limit-chars: auto 3;
    -webkit-hyphenate-limit-lines: 4;
    -ms-hyphens: auto;
    -ms-hyphenate-limit-chars: auto 3;
    -ms-hyphenate-limit-lines: 4;
  }

  #ContentBoxTop,
  .ContentBoxTop-fixed                      {height: 80px !important; }
  #pageBody:not(.pageBody-slideshow) main   {padding: 100px 0px 0px; }

  .headerBoxLogo,
  .ContentBoxTop-fixed .headerBoxLogo       {height: 60px; margin-top: 10px; }

  /* Menu mobile */
  #circle,
  #circle.active                               {border-color: var(--color-grey-0); }
  .main-nav-toggle,
  .mainnavfixed .main-nav-toggle               {top: 25px; display: block; }
  .li-meta-menu                                {/*display: block !important; */}
  .mainnav                                     {background: var(--color-highlight2-0); height: 80px; left: 100%;}
  .mainnav:not(.mainnav-closed)                {position: fixed; top: 0px; left: 50%; height: auto; width: 50%; background: var(--color-highlight2); min-height: 79px; padding: 0px; overflow: auto; }
  .mainnav:not(.mainnav-closed)                {border-left: 1px solid var(--color-highlight1); box-shadow: 0px 0px 10px var(--color-dark-4); -moz-box-shadow: 0px 0px 10px var(--color-dark-4); -webkit-box-shadow: 0px 0px 10px var(--color-dark-4); }
  .mainnav ul.makeMenu                         {position: relative; height: auto; display: none; max-height: 0%; border-bottom: 1px solid var(--color-highlight1); text-align: left; }
  .mainnav:not(.mainnav-closed) ul.makeMenu    {display: block; width: 100%; height: auto; max-height: 100%; margin-top: 80px; }
  .mainnav ul.makeMenu li                      {display: block; width: 100%; padding: 0px 0px; margin: 0px !important; }
  ul.makeMenu li::before                       {display: none; }
  .mainnav ul.makeMenu > li:hover > ul,
  .mainnav ul.makeMenu li ul                   {position: relative; background: transparent !important; padding: 0px; }
  #start ul.makeMenu li ul                     {/*display: block !important; */}

  ul.makeMenu > li > a::after                  {left: -20px; top: 49%; bottom: auto; border-bottom: 1px solid var(--color-highlight1-0); border-right: none; height: 0px; width: 0px; }
  ul.makeMenu > li > a.menu-sel::after,
  ul.makeMenu > li > a:hover::after            {left: 0px; bottom: auto; width: 15px; height: 0px; }

  ul.makeMenu li ul .vertline,
  ul.makeMenu br,
  ul.makeMenu li ul::before                    {display: none; }

  .mainnav ul.makeMenu li a                             {background: var(--color-dark-0); font-size: 110%; border-bottom: 1px solid var(--color-dark-3); line-height: 1.2em; text-align: left; text-decoration:none; margin: 0px 0px 0px 0px; padding: 15px 20px; }
  .mainnav ul.makeMenu li a:hover                       {background: var(--color-dark-1); }
  .mainnav ul.makeMenu li ul li a                       {padding: 12px 35px; }
  .mainnav ul.makeMenu li ul li a::before               {top: 19px; }
  .mainnav ul.makeMenu li ul li a.menu-sel::before,
  .mainnav ul.makeMenu li ul li a:hover::before         {width: 25px; }  

  .listblock                   {width: 48%; }
  .tile                        {margin: 0px 3% 3% 0 !important; width: 30.3333%; }
  .smalllist .listblock        {width: 50%; }
  .teasergrid .tile            {padding: 20px 20px 20px !important; font-size: 120%; }
  .listblock h3                {font-size: 100% !important; }
  .listblock .imgbox::before   {padding-top: 50px; width: 60px;}
  .listblock .imgbox img       {height: 40px; }
  .listblock:hover .imgbox img {height: 50px; }

  .textblock .NewsBoxCont      {width: 100%; min-height: auto;}
  .textblock_separator a.section-anchor     {height: 40px; }

  .scrolled .textblocks_submenu             {top:80px; font-size: 70%; }
  a.section-anchor                          {top: -150px; }

  footer                                    {padding: 20px 0px 0px 0px; margin: 20px 0px 0px 0px; }
  .ContExtraMenu                            {position: relative; top: auto; right: auto; display: block; width: 100%; margin: 10px 0px 30px 0px; text-align: left; }
}

  
@media only screen and (max-width: 800px) {

  .tile                      {width: 47%; }
  .tile_square,
  .tile_square-video         {width: 33.3333%; }
  .teasergrid .tile          {width: 50% !important; border: none; border-right: 1px dotted var(--color-dark-5) !important; border-bottom: 1px dotted var(--color-dark-5) !important; }
  .teasergrid .tile-teaser   {min-height: 90px; }
  .teasergrid .moretext      {font-size: 100%; }
  .teasergrid .more-head,
  .teasergrid .more-copytext {padding: 0%; }

  .confirmpopup 		         {font-size: 100%; max-width: 100%; height: 100%; padding: 15px; }
  .confirmpopup h4 	         {font-size: 170%; }
  .listblock                 {}

  /* Headline-Animation */
  .head-icon                         {width: 40px; }
  .headline-container                { }

  .BackgroundImage-Header             {margin: 80px 0px 40px 0px;}
  .BackgroundImageLabel .inner        {font-size: 140%; }
  .BackgroundImageLabel .labeltitle   {width: 70%; font-weight: 600; font-size: 140%; }
  .BackgroundImageLabel p             {width: 70%; }
  #start .BackgroundImage a.extrabutton-down,
  a.extrabutton-down                  {display: none !important; }

  .menu-columns .anchormenu a.button,
  .anchormenu a.button                {width: auto; max-width: none; }

  .toolbar                            {bottom: 0px; top: auto; transform: none; -webkit-transform: none; -moz-transform: none; -o-transform: none; }
  ul.LanguageBox                      {padding: 0px 10px 0px 0px; }

  /* Menu mobile */
  .mainnav:not(.mainnav-closed)                {overflow: auto; }
  .mainnav ul.makeMenu > li:hover > ul,
  .mainnav ul.makeMenu li ul                   {position: relative; background: transparent !important; padding: 0px; right: auto; top: auto; width: 100%; box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; }

  .bigteaser .ContentTBBoxLeft,
  .bigteaser .ContentTBBoxRight,
  .bigteaser .ContentTBImgBoxLeft,
  .bigteaser .ContentTBImgBoxRight      {width: 100%; margin: 0px 0px 15px 0px; }
  .moretext                             {max-height: none; }

  .label                                     {width: 100px !important; }

}


/* iPhones and others */
/* @media only screen and (-webkit-min-device-pixel-ratio:1.5) { */
@media only screen and (max-width: 640px) {
  body                                {/*font-size: 0.9em; */}

  .show-mobile-0,
  .toolbar .back-to-home,
  .toolbar .kontakt-top,
  .main-nav-toggle span,
  .main-nav-close span,
  .LabelBox,
  .socialbar,
  .BreadCrumbBox,
  .parallax-slide,
  .ContentBoxLeft,
  a.printbtn                          {display: none !important; }

  .mainnav,
  .mainnav:not(.mainnav-closed)             {width: 50%; }
  .mainnav:not(.mainnav-closed) ul.makeMenu {margin-top: 80px; }
  .mainnav ul.makeMenu li a                 {font-size: 100%; padding: 12px 20px; }
  .mainnav ul.makeMenu li ul li a           {padding-left: 35px; }

  #pageBody:not(.pageBody-slideshow) main   {/*padding-top: 80px 0px 0px; */}

  .BackgroundImageLabel .inner              {font-size: 120%; }
  .BackgroundImageLabel .labeltitle         {width: 100%; font-size: 140%; }
  .BackgroundImageLabel p                   {width: 100%; }

  .scrolled .anchormenu                            {overflow: auto; }
  .anchormenu-inner                                {padding: 0px 0px; }
  .scrolled .textblocks_submenu .leftarrow         { }
  .scrolled .textblocks_submenu .rightarrow        {margin-left: -24px; }
  .scrolled .textblocks_submenu .Slidearrow        {width: 24px; }
  .scrolled .textblocks_submenu .Slidearrow a      {background-size: 80% !important;}

  input.radio,
  label                                     {margin: 0px 5px 0px 0px !important; float: none !important; }

  h1, h3                      {font-size: 160%; }
  h2                          {font-size: 130%; }
  h4                          {font-size: 120%; }
  #start h1                   {font-size: 160%; }

  .buttonlist a,
  a.morelink,
  a.btn,
  a.button                    {padding: 5px 10px; }

  .ContentImgBoxLeft > img,
  .ContentImgBoxRight > img,
  .ContentTBImgBoxNormal > img,
  .ContentTBImgBoxLeft > img,
  .ContentTBImgBoxRight > img   {position: relative !important; top: auto !important; left: auto !important; width: 100% !important; height: auto !important; display: block; padding: 0px; margin: 0px auto; min-height: auto !important; transform: none !important; -webkit-transform: none !important; }

  .ContentContainer           {/*adding: 0px 0px 0px 0px !important; margin: 0px !important; */}
  .NewsContainer,
  .text-container,
  .textblocks_centered,
  .textblocks_left,
  .textblocks_left_small,
  .textblocks_left_medium,
  .textblocks_left_big,
  .textblocks_left_verybig,
  .textblocks_right,
  .textblocks_right_small,
  .textblocks_right_medium,
  .textblocks_right_big,
  .textblocks_right_verybig,
  .textblocks_left, .textblocks_right,
  .float_left, .float_right, 
  .FooterBoxCol,  
  .ContentTextBoxNormal,
  .ContentTextBoxLeft,
  .ContentTextBoxRight,
  .ContentImgBoxNormal,
  .ContentImgBoxLeft,
  .ContentImgBoxRight       {position: relative !important; width: 100% !important; float: none !important; padding: 0px !important; margin: 0px 0px 10px 0px !important; text-align: left !important; left: auto; transform: none; -webkit-transform: none; -moz-transform: none; -o-transform: none; }

  .leftcol,
  .rightcol,
  .col1-2,
  .col2-3,
  .col1,
  .col2,
  .col3                       {margin: 0px 0px 10px 0px !important; padding: 0px !important; width: 100% !important; max-width: none !important; }

  .ContentTBBoxLeft,
  .ContentTBBoxRight,
  .ContentTBImgBoxNormal,
  .ContentTBImgBoxLeft,
  .ContentTBImgBoxRight,
  .textblock:not(.textblocks_submenu):not(.textblock_separator),
  .textblocks_centered,
  .textblocks_left,
  .textblocks_right,
  .textblocks_right_verybig,
  .textblocks_left_verybig,
  .textblocks_right_big,
  .textblocks_left_big,
  .textblocks_right_medium,
  .textblocks_left_medium,
  .textblocks_left_small,
  .textblocks_right_small                    {width: 100% !important; max-width: none !important; min-height: auto !important; padding: 0px 0px 20px 0px !important; }
  .textblock-outer                           {padding: 10px 0px; }
  .textblock-inner                           {max-width: 100% !important; }

  .textblock_separator_grey .textblock-inner {padding: 30px 0px 10px; }
  .textblock_separator                       {padding: 0px 0px 15% 0px !important; }

  .mediabox            {width: 96% !important; margin: 0px !important; }
  .Videobox            {height: 260px !important; margin: 0px !important; }
  a.videostart         {display: block; margin: 0px !important; }
  .mapCont             {height: 300px; }
  a.foldout-more-btn   {font-size: 120%; }

  .listblock h3               {font-size: 80% !important; }

  .tilecontent                {min-height: auto; }
  .tile_square,
  .tile_square-video          {width: 50%; }
  .bigteaser .tile            {margin: 0px 0px 3% 0; width: 100%; min-height: auto; padding-bottom: 60px; }

  /* Big Teaser */
  .textblock .NewsBoxCont     {width: 100%; margin: 0px; }
  .textblock_separator_image  {background-size: 200% auto !important; }

  .textblock-inner,
  .ContentTextBoxNormal                          {}
  .textblock-inner::-webkit-scrollbar,
  .ContentTextBoxNormal::-webkit-scrollbar       {-webkit-appearance: none;	width: 14px;	height: 14px;}
  .textblock-inner::-webkit-scrollbar-thumb,
  .ContentTextBoxNormal::-webkit-scrollbar-thumb {border-radius: 8px;	border: 3px solid #fff;	background-color: rgba(0, 0, 0, .3); }

  table                       {font-size: 70%; }
  th, td                      {white-space: normal; }

  div.input,
  div.input_error,
  div.input-message {width: 97%; margin-right: 0px; }

}


@media only screen and (max-width: 560px) {

  .listblock                  {/*width: 100%; min-height: auto !important; margin: 0px 0px 2% 0px; */}
  .teasergrid .tile           {font-size: 140%; width: 100% !important; border-right: none !important; }

  .newshead,
  ul.makeMenu a,
  h1, h2, h3, h4, h5, h6,
  blockquote,
  .listblock h3,
  th, td, main p, .tilecontent {
    hyphens: auto; 
    hyphenate-limit-chars: auto 3;
    hyphenate-limit-lines: 4;
    -webkit-hyphens: auto;
    -webkit-hyphenate-limit-chars: auto 3;
    -webkit-hyphenate-limit-lines: 4;
    -ms-hyphens: auto;
    -ms-hyphenate-limit-chars: auto 3;
    -ms-hyphenate-limit-lines: 4;
  }

}


/* phones */
@media only screen and (max-width: 480px) {

  .BackgroundImageLabel,
  #start .BackgroundImageLabel        {font-size: 100%; }
  .BackgroundImageLabel .labeltitle,
  .BackgroundImageLabel h1,
  .BackgroundImageLabel h2,
  .BackgroundImageLabel h3,
  .BackgroundImageLabel p             {/*padding: 10px 15px !important; */}
  .BackgroundImage::after             {height: 40px; }

  .listblock h3,
  .listblock h4,
  .listblock h5,
  .listblock h6                       {font-size: 70% !important; text-align: center; }

  /*table, tbody, tr, th, td            {display: block !important; clear: both !important; width: 100% !important; margin: 0px 0px 0px 0px !important; padding: 0px 0px 10px 0px !important; text-align: left !important; }*/
  th                                  {font-weight: 500; padding: 5px; }
  td                                  {padding: 5px; }

}


/* small phones */
@media only screen and (max-width: 380px) {

  li.dllink                    {width: 100% !important; }
  .tile_square-img             {width: 48% !important; padding: 0px !important; margin: 0px 1% !important; }
  .tile_square::before         {/*padding-top: 70% !important;*/ margin: 0px !important; }

  .iframe-disclaimer           {font-size: 80%; }
}


/* small phones */
@media only screen and (max-height: 520px) {

  ul.makeMenu li a             {margin: 0px 0px 0px 0px; }

}
