/* ##################################################
TPX - The very Base CSS Defintions
------------------------------------------------
SIMPLE RESET
################################################## */

html, body                                  { height: initial; }
html {
    font-size:62.5%;
    height:100%;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
    scroll-behavior:smooth;/* for a smooth scroll behavier with firefox */
}

textarea                                     { overflow:auto; }
img                                          { border:0; }
button, input, optgroup,
select, textarea, form, fieldset             { color:inherit; background-color:inherit; font:inherit; margin:0; padding:0; border-radius:0;   }
main, nav, section, article, header, pre,
blockquote, dl, figure, figcapture           { display:block; padding:0; margin:0; }

/* inheriting border-box from html*/
*,
*:before,
*:after               {     -webkit-box-sizing:border-box;
            box-sizing:border-box;}

/* reset every margin on a last or first child....
* > :first-child,
* > :last-child       { margin-bottom: 0; margin-top: 0;  }*/

/* ##################################################
Basic Styling
html is set to 62.5% so that all the REM measurements throughout exo
are based on 10px sizing. So basically 1.5rem = 15px.
If you simply set the font-size in media query to ex. 60% it will reduce all the rem declarations.
################################################## */

body {
    font-family:Arial, sans-serif;
    font-size:1.6em;
    font-weight:400;
    height:100%;
    /* this trick prevents the body to have margin collapse, if a child element has a margin*/
    margin:-1px 0 0 0;
    padding:1px 0 0 0;
    /* */
    -webkit-overflow-scrolling: touch;/* smooth scrolling for ios devices*/

    /* for "better" font smoothing display on all devices, ony if neede for fonts*/
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color:#4B4A4A;
    overflow-x:hidden;
    line-height:1.2;
}

.nav-active body { overflow:hidden; }
section,
.base-box,
.site-main,
.full-width.item-box,
.item-box .item-box     { width:100%; max-width:100%; position:relative; z-index: 2;}
.full-size.item-box     { width:100%; height:100vh; max-width: 100%;}

.small-boxed .modul-box { max-width:1060px; }

.base-box                     { min-height:100vh; }
.item-box,
.hero-item-box,
.hero-slider .hero-item-box   {  width:calc(100% - 12rem); max-width:1380px; margin:0 auto 0 auto; position:relative; z-index: 2;}


@media (max-width:1280px) {
   .item-box,
   .hero-item-box,
   .hero-slider .hero-item-box   {  width:calc(100% - 8rem); }
}


@media (max-width:440px) {
   .item-box,
   .hero-item-box,
   .hero-slider .hero-item-box   {  width:calc(100% - 4rem); }
}

@media (max-width:340px) {
   .item-box,
   .hero-item-box,
   .hero-slider .hero-item-box   {  width:calc(100% - 2rem); }
}

.txt-center       { text-align:center; }
.txt-left         { text-align:left; }
.txt-right        { text-align:right; }
.txt-uppercase    { text-transform:uppercase; }
.txt-reset        { text-transform:none; text-align:left; }

.inline           { display:inline; }
.inline-block     { display:inline-block; }
.block            { display:block; }
.none             { display:none; }

.no-margin        { margin:0; }
.overflow-hidden  { overflow:hidden; }

/* Colors */
.bg-inherited     { background-color:inherit; }
.bg-transparent   { background-color:transparent; }
.bg-white         { background-color:#fff; }
.bg-black         { background-color:#000; }
.bg-error         { background-color:#F40835; color:#fff; }/* FEHLER rot */
.bg-1,
.bg-1 .text-box-container .text-box             { background-color:#001588; color:#fff; }/* Primär Farbe 1 */
.bg-2,
.bg-2 .text-box-container .text-box             { background-color:#ffe600; color:#001588; }/* Primärfarbe 2 */
.bg-3             { background-color:#D2FFFF;  }/* Dunkelgrau */

.bg-1 a,

.bg-error a,
.bg-error a:hover { color:#fff; }
.bg-2 a { color:#001588; }

.bg-1 a:hover,
.bg-1 a:hover strong { color:#ffe600!important; }
.bg-2 a:hover,
.bg-2 a:hover strong { color:#001588!important; }



.bg-white h1, .bg-white h2, .bg-white h3, .bg-white h4, .bg-white h5, .bg-white h6,
.bg-transparent h1, .bg-transparent h2, .bg-transparent h3, .bg-transparent h4, .bg-transparent h5, .bg-transparent h6,
.bg-inherited h1, .bg-inherited h2, .bg-inherited h3, .bg-inherited h4, .bg-inherited h5, .bg-inherited h6,
.bg-inherited b, .bg-inherited strong,
.bg-transparent b, .bg-transparent strong,
.bg-white b, .bg-white strong,
.s-item strong,
.s-item b,
.booking-modul strong,
.booking-modul b { color:#001588; }



.cl-inherited     { color:inherit; }
.cl-transparent   { color:transparent; }
.cl-white         { color:#fff; }
.cl-black         { color:#000000; }
.cl-error,
.wpforms-error         { color:#F40835; }
.cl-1             { color:#001588;  }
.cl-2             { color:#ffe600; }
.cl-3             { color:#D2FFFF; }

/* color overwrite for links in textboxes with colordefintions */
.text-box.cl-inherited a     { color:inherit; }
.text-box.cl-transparent a   { color:transparent; }
.text-box.cl-white a         { color:#fff; }
.text-box.cl-black a         { color:#000; }
.text-box.cl-error a         { color:#d50303; }
.text-box.cl-1 a             { color:#585858; }
.text-box.cl-2 a             { color:#757575; }
.text-box.cl-3 a             { color:#d6d6d6; }



/* color overwrite for backgroundcolors */
.bg-black a      { color:#fff; }



.p-0              { padding:0; }
.p-1              { padding:1rem; }
.p-2              { padding:2rem; }
.p-3              { padding:3rem; }
.p-4              { padding:4rem; }
.p-5              { padding:5rem; }
.p-6              { padding:6rem; }
.p-7              { padding:7rem; }
.p-8              { padding:8rem; }
.p-9              { padding:9rem; }
.p-10             { padding:10rem; }
.p-12             { padding:12rem; }
.p-15             { padding:15rem; }
.p-22            { padding:22rem; }

.pd-1             { padding:1rem 0; }
.pd-2             { padding:2rem 0; }
.pd-3             { padding:3rem 0; }
.pd-4             { padding:4rem 0; }
.pd-5             { padding:5rem 0; }
.pd-6             { padding:6rem 0; }
.pd-7             { padding:7rem 0; }
.pd-8             { padding:8rem 0; }
.pd-9             { padding:9rem 0; }
.pd-10            { padding:10rem 0; }
.pd-12            { padding:12rem 0; }
.pd-15            { padding:15rem 0; }
.pd-22            { padding:22rem 0; }


.pd-t0            { padding-top:0; }
.pd-t1            { padding-top:1rem; }
.pd-t2            { padding-top:2rem; }
.pd-t3            { padding-top:3rem; }
.pd-t4            { padding-top:4rem; }
.pd-t5            { padding-top:5rem; }
.pd-t6            { padding-top:6rem; }
.pd-t7            { padding-top:7rem; }
.pd-t8            { padding-top:8rem; }
.pd-t9            { padding-top:9rem; }
.pd-t10           { padding-top:10rem; }
.pd-t12           { padding-top:12rem; }
.pd-t15           { padding-top:15rem; }
.pd-t22           { padding-top:22rem; }

.pd-b0            { padding-bottom:0; }
.pd-b1            { padding-bottom:1rem; }
.pd-b2            { padding-bottom:2rem; }
.pd-b3            { padding-bottom:3rem; }
.pd-b4            { padding-bottom:4rem; }
.pd-b5            { padding-bottom:5rem; }
.pd-b6            { padding-bottom:6rem; }
.pd-b7            { padding-bottom:7rem; }
.pd-b8            { padding-bottom:8rem; }
.pd-b9            { padding-bottom:9rem; }
.pd-b10           { padding-bottom:10rem; }
.pd-b12           { padding-bottom:12rem; }
.pd-b15           { padding-bottom:15rem; }
.pd-b22           { padding-bottom:22rem; }

.modul_2cols.pd-b10  { padding-bottom:8rem;  }

@media (max-width:790px) {
.pd-t6,
.pd-t7,
.pd-t8,
.pd-t9,
  .pd-t10,
  .pd-t12,
  .pd-t15,
  .pd-t22           { padding-top:5rem; }
.modul_2cols.pd-b10,
.pd-b6,
.pd-b7,
.pd-b8,
.pd-b9,
  .pd-b10,
  .pd-b12,
  .pd-b15,
  .pd-b22           { padding-bottom:5rem; }
}
/* Link Definition */
a                 { color:#001588; text-decoration:none;  }
a:hover           { color:#ffe600;}
a:focus,
a:active          {  outline:0; position: relative; cursor:default; caret-color:transparent; }
a:focus:before,
a:active:before { content:''; border:1px dotted #ff0000; height:100%; width:100%; position: absolute; top:0; left:0;}
a:hover:before           { display:none; }

/* ##################################################
Typography
################################################## */


h1, h2, h3, h4, h5, h6,
.hero-content h3,
.hero-content h4,
.hero-content h5,
.hero-content h6,
#wpforms-676-field_6-container label  {
  font-size:3rem;
  margin:0 0 3rem 0;
  /* word Wraps */
  word-wrap: normal;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
      hyphens: auto;
  font-weight: 700;
    max-width:100%;/* IE Weirdness*/
    font-weight:normal;
    line-height: 1.1;

}

h4, h5, h6, #wpforms-676-field_6-container label { font-size:2rem;
line-height: 1.5; }


@media (min-width:760px) {
  h1              { font-size:6rem; }
  h3              { font-size:4rem; }
  h2,
  .hero-content h3,
  .hero-content h4,
  .hero-content h5,
  .hero-content h6              { font-size:6rem; }
}


@media (min-width:960px) {
  h1              { font-size:8rem; }
  h3              { font-size:5rem; }
  h2,
  .hero-content h3,
  .hero-content h4,
  .hero-content h5,
  .hero-content h6              { font-size:8rem; }
}




p                 { margin:0 0 3rem 0;  max-width:100%; line-height:1.7;/* IE Weirdness*/}
p:last-of-type    {  margin:0; }
p:last-of-type + ul,
p:last-of-type + ol { margin-top:3rem; }
.small            { font-size:1.2rem; }

table             { margin:3rem 0; padding:0; border-collapse:collapse; border-spacing:0; border:0;}
td,
th                { padding:0.5rem; border:0;  text-align:left; }
th                { color:#fff; background:rgba(0, 0, 0, 0.8); }

hr                { height:1px; border:0; background-color:#707070; margin:3rem 0;  }

/*##################################################
 Lists
################################################## */

ul, ol                      { padding-left:2.5rem; margin:0 0 3rem 0; line-height:1.7; }

ul ul, ul ol, ol ol, ol ul  { margin:1.5rem 0 1.5rem 3rem; }
li                          { margin-bottom:0.5rem; position:relative; }


/*##################################################
Images and image box
################################################## */

.image-box,
.image-box img,
.image-box a                        { display:block; position:relative; vertical-align:top; width:100%; }
.image-box img                      { width:100%; max-width:100%; height:auto; }
.image-item .image-box              { display:inline-block; width:unset; max-width:100%; vertical-align:top; }
.modul_image .image-box img,
.image-item .image-box img          { width:auto; }
.modul_image .image-box.fit-box img,
.image-item .image-box.fit-box img,
.fit-image.image-box img            { width:100% }


/*##################################################
Flex Grid
################################################## */


.col-item,
.flex-item           { display:block; position:relative; vertical-align: top;  margin:0;}
.col-item            { width:100%; margin:0 0 2rem 0;}

.base-box,
.col-box,
.flex-box,
.pagination.flex-box            { display: -webkit-box; display: -ms-flexbox; display: flex;  }

.col-box,
.wrap                 { -ms-flex-wrap:wrap; flex-wrap:wrap; }

@supports (flex-wrap: wrap) { /* hide from incomplete Firefox versions */
  .col-box           { -webkit-flex-wrap: wrap; }
}

.col-box,
.stretch              { -webkit-box-align:stretch; -ms-flex-align:stretch; align-items:stretch; }

.flex-column,
.base-box             { -webkit-box-orient:vertical; -webkit-box-direction:normal; -ms-flex-direction:column; flex-direction:column; }
.flex-column          {  height: 100%; }

[class*="center-"]    { -webkit-box-align:center; -ms-flex-align:center; align-items:center; }
.center-center        { -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; }
.center-left          { -webkit-box-pack:flex-start; -ms-flex-pack:start; justify-content:flex-start; }
.center-right         { -webkit-box-pack:flex-end; -ms-flex-pack:end; justify-content:flex-end; }
.center-space         { -webkit-box-pack:space-between; -ms-flex-pack:justify; justify-content:space-between; }

[class*="bottom-"]    { -webkit-box-align:flex-end; -ms-flex-align:end; align-items:flex-end; }
.bottom-center        { -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; }
.bottom-left          { -webkit-box-pack:flex-start; -ms-flex-pack:start; justify-content:flex-start;  }
.bottom-right         { -webkit-box-pack:flex-end; -ms-flex-pack:end; justify-content:flex-end; }

[class*="top-"]       { -webkit-box-align:flex-start; -ms-flex-align:start; align-items:flex-start; }
.top-center           { -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; }
.top-left             { -webkit-box-pack:flex-start; -ms-flex-pack:start; justify-content:flex-start;  }
.top-right            { -webkit-box-pack:flex-end; -ms-flex-pack:end; justify-content:flex-end; }

.space-between        { -webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;}


/* setting the footer always to the bottom, if the browser is capable of displaying flexbox*/
.site-footer,
.logo                         { -ms-flex-negative:0; flex-shrink:0; }/* do not shrink or enlarge */
.base-item,
.flex-column .content-box     { -webkit-box-flex:1; -ms-flex:1 0 auto; flex:1 0 auto; } /* shrink and enlarge this */



@media (min-width:790px) {

    /* predefined margins for the standard boxes */
    .col-box                        { margin:0 0 0 -2rem; }
    .col-box>.col-item              { margin:0 0 2rem 2rem; }
    .modul_text_media .col-box>.col-item  { margin-bottom:0; }
    .col-2>.col-item,
    .col-2>.flex-item               { width:calc(50% - 2rem); }
    .col-3>.col-item,
    .col-3>.flex-item               { width:calc(33.333333% - 2rem); }
    .col-4>.col-item,
    .col-4>.flex-item               { width:calc(25% - 2rem); }
    .col-5>.col-item,
    .col-5>.flex-item               { width:calc(20% - 2rem); }

.col-2.box-40-60>.col-item:nth-of-type(2n+1)  { width:calc(40% - 2rem); }
.col-2.box-40-60>.col-item:nth-of-type(2n+2)  { width:calc(60% - 2rem); }

    .col-box>.col-item.box-20       { width:calc(20% - 2rem); }
    .flex-box>.box-20               { width:20%; }
    .col-box>.col-item.box-25       { width:calc(25% - 2rem); }
    .flex-box>.box-23               { width:25%; }
    .col-box>.col-item.box-30       { width:calc(30% - 2rem); }
    .flex-box>.box-30               { width:30% - 2rem; }
    .col-box>.col-item.box-33       { width:calc(33.333333% - 2rem); }
    .flex-box>.box-33               { width:33.333333%; }
    .col-box>.col-item.box-35       { width:calc(35% - 2rem); }
    .flex-box>.box-35               { width:35%; }
    .col-box>.col-item.box-40       { width:calc(40% - 2rem); }
    .flex-box>.box-40               { width:40%; }
    .col-box>.col-item.box-45       { width:45%; }
    .flex-box>.box-45               { width:calc(45% - 2rem); }
    .col-box>.col-item.box-50       { width:45%; }
    .flex-box>.box-50               { width:calc(50% - 2rem); }
    .col-box>.col-item.box-55       { width:calc(55% - 2rem); }
    .flex-box>.box-55               { width:55%; }
    .col-box>.col-item.box-60       { width:calc(60% - 2rem); },
    .flex-box>.box-60               { width:60%; }
    .col-box>.col-item.box-65       { width:65% - 2rem; }
    .flex-box>.box-65               { width:65%; }
    .col-box>.col-item.box-66       { width:calc(66.666666% - 2rem); }
    .flex-box>.box-66               { width:66.666666%; }
    .col-box>.col-item.box-70       { width:calc(70% - 2rem); }
    .flex-box>.box-70               { width:70%; }
    .col-box>.col-item.box-75       { width:calc(75% - 2rem); }
    .flex-box>.box-75               { width:75%; }
    .col-box>.col-item.box-80       { width:calc(80% - 2rem); }
    .flex-box>.box-80               { width:80%; }
    .col-box>.col-item.box-85       { width:calc(85% - 2rem); }
    .flex-box>.box-85               { width:85%; }
    .col-box>.col-item.box-100      { width:calc(100% - 2rem); }
    .flex-box>.box-100              { width:100%; }

}


/* Header */
.site-header           { position:fixed; background-color:#fff;  width:100%; z-index: 100; }
.base-item:before       { content:''; width:100%; height: 18.5rem; display:block; position: relative;}
.site-header:after     { content:''; height:1px; width:100%; position: absolute; bottom:-1px; left:0; background-color:#707070; z-index:7;  }
.nav-active .site-header  { overflow-y:auto; overflow-x:hidden; height:100vh; }
@media (max-width:960px) {
  .base-item:before       { height: 13.3rem; }
}

@media (max-width:540px) {
  .base-item:before       { height: 11.4rem; }
}

@media (max-width:380px) {
  .base-item:before       { height:10.7rem; }
}


/* Logo */
.branding              { position:relative; z-index:8; width:100%; }
.logo                  { position:relative; display:inline-block; padding: 4.5rem 0 1rem 0; text-decoration: none;}
.logo span {
    display:block;
    background-image:url('images/logo.svg');
    background-position:bottom left;
    background-repeat:no-repeat;
    background-size: contain;
    height: 40px;
    width: 285px;
    margin-bottom:0.5rem;
}

.logo label { color:#001588; font-size:16px; text-decoration: none; display:block; max-width:300px; }

@media (min-width:961px) {
    .logo { position: absolute; }
}

@media (min-width:540px) {


  .logo span           { height: 50px; width: 390px; }
  .logo label          { font-size:20px; max-width:100%; }
}

@media (max-width:1280px) {
   .logo { max-width: 400px; padding:2.2rem 0 1rem 0}
}
@media (max-width:960px) {
  .branding .item-box  { display:block;}
  .logo { padding: 2rem 0 1rem 0; }
}
@media (max-width:380px) {
  .logo span           { height: 35px; width: 250px; }
  .logo label { max-width:250px; font-size: 15px; }
}


/* buttons */
.button,
button,
input[type="submit"]  {
    position:relative;
    display:inline-block;
    cursor:pointer;
    padding:1rem 2rem;
    margin:0;
    border-radius:0;
    border:0;
    outline:0;
    text-decoration:none;
    -webkit-appearance:none;/* removing the apearance for safari input types*/
    background-color:#001588;
    color:#fff;
    vertical-align: baseline; caret-color:transparent;
}

.button:hover,
button:hover,
input[type="submit"]:hover { outline:0;  background-color: #ffe600; color:#001588;}

.btn-reset,
.btn-reset:hover,
.btn-reset:focus   { background-color:transparent; color:inherit; padding:0; margin:0; }

#moove_gdpr_cookie_info_bar { z-index:3; }
#moove_gdpr_cookie_info_bar::before {

    content: '';
    position: fixed;
    height: 100vh;
    width: 100%;
    display: block;
    z-index: 0;
    background-color: rgba(0,0,0,0.7);
    top: 0;
    left: 0;

}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container {
  position: relative!important;
z-index: 1!important;
padding: 50px 40px!important;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder .mgbutton {box-shadow: none !important;background-color: #fff!important;opacity:1!important; border:1px solid #001588!important; color: #001588!important;}
#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder .moove-gdpr-infobar-allow-all {background-color:#001588!important; color:#fff!important; order:3; }
#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder .moove-gdpr-infobar-reject-btn { order:2; }
#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder .moove-gdpr-infobar-settings-btn.change-settings-button { order:1; }
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content { position: relative;}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
}
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}
