/* Overrides */

.row {
    margin-right: -10px;
    margin-left: -10px;
}

.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto { 
    padding-right: 10px;
    padding-left: 10px
}

.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl {   
    padding-right: 50px;
    padding-left: 50px;      
}


@media (min-width: 576px) {
    .container,.container-sm {
        max-width:540px;
    }
}

@media (min-width: 768px) {
    .container,.container-md,.container-sm {
        max-width:720px;
    }

    .container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl {   
        padding-right: 10px;
        padding-left: 10px;      
    }
}

@media (min-width: 992px) {
    .container,.container-lg,.container-md,.container-sm {
        max-width:960px;
    }    
}


@media (min-width: 1200px) {
    .container,.container-lg,.container-md,.container-sm,.container-xl {
        max-width: 1180px;
    }    
}

@media (min-width: 1460px) {
    .container,.container-lg,.container-md,.container-sm,.container-xl {
        max-width: 1440px;
    }        
}


/* Overrides END */


@font-face {
   font-family:'Akkurat';    
   src: url(/static/fonts/Akkurat.ttf) format('truetype');
}
@font-face {
   font-family:'Akkurat-Light';    
   src: url(/static/fonts/Akkurat-Light.ttf) format('truetype');
}
@font-face {
   font-family:'Akkurat-Italic';    
   src: url(/static/fonts/Akkurat-Italic.ttf) format('truetype');
}
@font-face {
   font-family:'Akkurat-Bold';    
   src: url(/static/fonts/Akkurat-Bold.ttf) format('truetype');
}

html {
    scroll-behavior: smooth;
}

html,
body {
    height: 100%;
    color: #641E55;
    font-family:'Akkurat-Light';    
}

body {
    font-size: 16px;
    line-height: 22px;
}

/* primary */
.bordeaux {
    color: #641E55;
}
.bordeaux-60 {
    color: #A27899;
}
.blau {
    color:#82CDD7;
}
.beige {
    color:#E6D2B9;
}
.gelb {
    color:#FFF596;
}
.gruen {
    color:#AAD7B4;
}

/* BGs */
.gruen-bg {
    background:#AAD7B4;
}
.gruen-80-bg {
    background:#BBDFC3;
}
.gruen-60-bg {
    background:#CCE7D2;
}
.gruen-40-bg {
    background:#DDEFE1;
}

.beige-bg {
    background:#E6D2B9;
}
.beige-40-bg {
    background:#F5EDE3;
}
.beige-20-bg {
    background:#FAF6F1;
}

.blau-bg {
    background:#82CDD7;
}
.blau-60-bg {
    background:#C3E7EC;
}
.blau-40-bg {
    background:#CDEBEF;
}
.blau-20-bg {
    background:#E6F5F7;
}

.gelb-bg {
    background:#FFF596;
}
.gelb-40-bg {
    background:#FFFBD5;
}
.gelb-20-bg {
    background:#FFFEF2;
}


.body-blau section,
.body-blau header {
    background: radial-gradient(60% 45px at bottom, transparent 98%,#E6F5F7);
}
.body-blau footer {
    background: radial-gradient(55vw 75px at top, transparent 98%,#E6F5F7);
}
.body-blau .navbar:not(.meta) .dropdown-menu {
    background:#E6F5F7;
}
.body-blau .navbar:not(.meta) .dropdown-menu::after {
    background: radial-gradient(55% 100px at top, #E6F5F7 99%,transparent);
}
.body-blau .carousel-item .carousel-caption {
    background: radial-gradient(60% 15px at bottom, transparent 95%,#E6F5F7);
}
.body-blau > .content > .container section {
    background:#E6F5F7;
}


.body-gelb section,
.body-gelb header {
    background: radial-gradient(60% 45px at bottom, transparent 98%,#FFFBD5);
}
.body-gelb footer {
    background: radial-gradient(55vw 75px at top, transparent 98%,#FFFBD5);
}
.body-gelb .navbar:not(.meta) .dropdown-menu {
    background:#FFFBD5;
}
.body-gelb .navbar:not(.meta) .dropdown-menu::after {
    background: radial-gradient(55% 100px at top, #FFFBD5 99%,transparent);
}
.body-gelb .carousel-item .carousel-caption {
    background: radial-gradient(60% 15px at bottom, transparent 95%,#FFFBD5);
}
.body-gelb > .content > .container section {
    background:#FFFBD5;
}


.body-beige section,
.body-beige header {
    background: radial-gradient(60% 45px at bottom, transparent 98%,#F5EDE3);
}
.body-beige footer {
    background: radial-gradient(55vw 75px at top, transparent 98%,#F5EDE3);
}
.body-beige .navbar:not(.meta) .dropdown-menu {
    background:#F5EDE3;
}
.body-beige .navbar:not(.meta) .dropdown-menu::after {
    background: radial-gradient(55% 100px at top, #F5EDE3 99%,transparent);
}
.body-beige .carousel-item .carousel-caption {
    background: radial-gradient(60% 15px at bottom, transparent 95%,#F5EDE3);
}
.body-beige > .content > .container section {
    background:#F5EDE3;
}


.body-gruen section,
.body-gruen header {
    background: radial-gradient(60% 45px at bottom, transparent 98%,#DDEFE1);
}
.body-gruen footer {
    background: radial-gradient(55vw 75px at top, transparent 98%,#DDEFE1);
}
.body-gruen .navbar:not(.meta) .dropdown-menu {
    background:#DDEFE1;
}
.body-gruen .navbar:not(.meta) .dropdown-menu::after {
    background: radial-gradient(55% 100px at top, #DDEFE1 99%,transparent);
}
.body-gruen .carousel-item .carousel-caption {
    background: radial-gradient(60% 15px at bottom, transparent 95%,#DDEFE1);
}
.body-gruen > .content > .container section {
    background:#DDEFE1;
}


.footer-transparent footer {
    background:none;
}




h1::before, 
h2::before {
    content:'';
    background:#641E55;
    height: 2px;
    position:absolute;
    width: 40px;
    bottom: -12px;
    left: -15px;
}


header h1 {
   font-size: 40px;
   line-height: 48px;      
}

header h1::before {
    content:'';
    background:#641E55;
    height: 2px;
    position:absolute;
    width: 50px;
    left:0;
    bottom: -12px;
}

header h2::before,
section h1::before,
.carousel-caption h1::before,
.row[class*='justify'] h2::before,
.row[class*='location'] + h1::before {
   display:none;
}

.carousel-caption h1,
.row[class*='justify'] h2,
.row[class*='location'] + h1 {
   margin-bottom:15px;
}


footer {
    padding: 100px 0 50px;
}

footer ul {
    padding:0;
    list-style-type:none;
    margin: 0;
}

footer ul li a {
    font-family: 'Akkurat-Light';    
}

footer label {
    font-size: 16px;
    line-height: 22px;
    text-transform: uppercase;
    font-family: 'Akkurat';
    margin: 0;
}

footer .logo {
   margin:40px 0 55px;
}

footer .text-right {    
    font-size: 11px;
    line-height: 15px;
    text-transform: uppercase;
    font-family: 'Akkurat';
}

footer .text-right span {    
    display:block;
}

.btn-primary {
    width: 100%;
    height: 70px;
    position: relative;
    padding: 0;
    background: linear-gradient(transparent 97%, #641E56 97%);
    border: none;
    border-radius: 0;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus,
.btn-primary:hover:active,
.btn-primary:hover:focus {
    background: radial-gradient(80% 100% at top, transparent 96%, #641E55 98%, transparent);
    outline:0;
    box-shadow: none !important;
    background-color: transparent !important;
    border: none;
}

.btn-primary::after,
.btn-secondary::after {
    position:absolute;
    content:'';
    background-image:url(/static/img/icon-right.svg);
    border:none;
    border-radius:0;
    height: 25px;
    width: 42px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.link,
.link-spezial {
    font-family:'Akkurat';
    padding: 4px 0;
    background: linear-gradient(transparent 97%, #641E56 97%);
    font-size: 16px;
}

.link:hover,
.link-spezial:hover {
    background: radial-gradient(100% 100% at top, transparent 95%, #641E55 98%, transparent);
    text-decoration: none;
    padding: 10px 0;
}

.link-spezial > img {
   margin-right: 10px;
   vertical-align: top;
   width: 20px;
}

.person {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
}

.person h3 {
   margin-top:0;
}

.person .link-spezial {
    display: flex;
    flex-direction: row;
    align-items: center;
    background: transparent;
    padding: 0;
    font-family: inherit;
    font-size: inherit;
}



.btn-secondary {
    background: transparent;
    width: 33.333333%;
    height: 70px;
    position: relative;
    padding: 0;    
    border: none;
    border-radius: 0;    
}

.btn-secondary::after {
    left:0;
}

.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:focus,
.btn-secondary:hover:active,
.btn-secondary:hover:focus {
    outline:0;
    box-shadow: none !important;
    background-color: transparent !important;
    border: none;
}
/*
.btn-secondary:hover {
    background: linear-gradient(#641E56 3%, transparent 3%);
}*/

.search-result .highlighted {
   font-family:'Akkurat-Bold';    
}

.search-result .btn::after,
.ml-auto.btn::after{   
   left: auto;
} 

.reset-zindex {
    z-index: 0 !important;
}

a,
a:hover,
.table {
    color:#641E55;   
}

svg, img, video {
    max-width:100%;
}

.img-fluid {
    width:100%;
}

b, strong {
    font-family:'Akkurat-Bold';
    font-weight: normal;
}

ul {
   padding-left:25px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Akkurat-Light';      
}

h1, h2, h3, h4, h5, h6,
.person .link-spezial {
    hyphens:auto;    
}

h1,
section h2 {
    font-size: 40px;
    line-height: 48px;
}

h2 {
    font-size: 25px;
    line-height: 32px;    
}

h3, label {
    font-size: 21px;
    line-height: 27px;    
}

h1, h2 {
    position:relative;    
    margin-bottom: 30px;
}

p + h2,
ul + h2,
ol + h2 {
    margin-top: 35px;
}

header {
    padding-top: 80px;
    padding-bottom: 100px;    
    position: relative;
}


section,
section > .container,
header > .container {
    position:relative;    
}


.container.img-wrapper {
    margin-top: -60px;
    padding: 0;
}

.container:not(.img-wrapper) .col.img-wrapper {
    margin-top: 40px;
}






/* Custom Validation */

.custom-control-input.is-valid ~ .custom-control-label,
.was-validated .custom-control-input:valid ~ .custom-control-label {
    color: inherit;
}

.custom-control-input.is-valid:checked ~ .custom-control-label::before,
.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before,
.custom-control-input.is-valid ~ .custom-control-label::before,
.was-validated .custom-control-input:valid ~ .custom-control-label::before{
    border-color:#929189;        
}

.form-control.is-valid, .was-validated .form-control:valid {
    background:none;
    box-shadow: none !important;
    border-color: #641E55 !important;
}

.form-control {
    font-family: 'Akkurat';
}

.form-control:focus {
   box-shadow:none;
   outline:0;
}

::placeholder {
   color: #641E55 !important;
   opacity: 1;
}


::-ms-input-placeholder {
   color: #641E55 !important;
}

.search-form .form-control,
.contact-plus .form-control {
   border:none;
   border-bottom: 1px solid #641E55;
   border-radius:0;
   color: #641E55;
}

.contact-plus .form-control {
   padding: 0;
}

.form-text {
   font-size: 11px;
   line-height: 15px;
}

.radio {
   display:flex;
   column-gap:20px;
}

.custom-control-label::after,
.custom-control-label::before {
   top:50%;
   transform:translateY(-50%);
}


/* carousel */
.carousel-control-next,
.carousel-control-prev {
    width: 100px;
    opacity: 1;
}

.carousel-control-next-icon,
.carousel-control-prev-icon {    
    height: 30px;
    width: 100%;
    margin-left:10px;
    margin-right:10px;
    background: url('/static/img/icon-carousel.svg') no-repeat 0 0 !important;
}

.carousel-control-next-icon {
    transform: rotate(180deg);
}

.carousel-caption {      
   color:#641E55;
   text-align: left;
   padding: 30px;   
   font-size: 25px;
   line-height: 32px;   
}

.carousel-caption > p:last-of-type {
   margin-bottom:0;
}

.carousel-caption a {
   position: absolute;
   bottom: 35px;
   right: 30px;
}

.carousel-indicators-wrapper {
   bottom: 80px;
   margin: 0 auto;
   height: 30px;
   right: 0;
   left: 0;
   display: block;
   position: absolute;
}

.carousel-indicators-wrapper ol {
   padding:0;
   list-style-type:none;
   display: flex;
   margin: 0;
   position: relative;
}

.carousel-indicators-wrapper ol > li {
   background:#68265B;
   margin: 0;
   border: none;
   width: 100%;
   position: relative;
   display: flex;
   height:2px;
   opacity:1;
   border-radius:20px;
}
   
.carousel-indicators-wrapper ol > li.active {
   height:4px;
   margin-top:-1px;
}

.carousel.no-img img {
   display:none;
}

.carousel.no-img .carousel-caption {
   position:relative;
   bottom: auto;
   top: auto;
}

.carousel:not(.full-xs) .carousel-indicators-wrapper .ml-auto {
    margin-right:auto;
}

/* card */
.card {
   border: none;
   border-radius: 0;
}
.card-header {
   font-size: 40px;
   font-family:'Akkurat-Light';
   padding: 5px 0;
   line-height: normal;
   background: transparent;
   border: none;
   border-radius: 0;
}
.card-header a {
   position:relative;
   display: block;
}
.card-header a:hover {
   text-decoration:none;
}
.card-header a::before {
   content: '';
   background: #641E55;
   height: 2px;
   position: absolute;
   width: 40px;
   bottom: -5px;
   left: -10px;
}
.card-header a[aria-expanded='true']::before {
   width:100%;
}
.card-header a::after {
   content: '';
   background-image: url('/static/img/icon-plus.svg');
   position: absolute;
   left: -30px;
   width: 22px;
   height: 22px;
   top: 50%;
   transform: translateY(-50%);
}
.card-header a[aria-expanded='true']::after {
   background-image: url('/static/img/icon-minus.svg');
   height: 2px;
}
.collapse.show .card-body::before {
   content: '';
   background: #641E55;
   height: 2px;
   position: absolute;
   width: 100%;
   bottom: 0;
   left: -10px;
   z-index: 1;
}

.small .card-header {
   font-size: 16px;
   line-height: 22px;   
   padding:0;
}
.small .card-header > a {   
   border-bottom: 1px solid #641E55;   
   padding: 15px 0;
}
.small .card-header a[aria-expanded='true'] {
   border-bottom:1px solid transparent;
}
.small .card-header a::before,
.small .card-body::before {   
   display:none;   
}
.small .card-header a::after {
   left: auto;
   right: 0;
}
.small .card-body {
   padding: 15px 0;
}


.card-body {
   padding: 60px 0;
}

/* padding + margin */
.pb-5, .py-5 {
    padding-bottom: 60px !important;
}
.pt-5, .py-5 {
    padding-top: 60px !important;
}
.mb-5, .my-5 {
    margin-bottom: 60px !important;
}
.mt-5, .my-5 {
    margin-top: 60px !important;
}

.pb-4, .py-4 {
    padding-bottom: 40px !important;
}
.pt-4, .py-4 {
    padding-top: 40px !important;
}
.mb-4, .my-4 {
    margin-bottom: 40px !important;
}
.mt-4, .my-4 {
    margin-top: 40px !important;
}

.pb-3, .py-3 {
    padding-bottom: 20px !important;
}
.pt-3, .py-3 {
    padding-top: 20px !important;
}
.mb-3, .my-3 {
    margin-bottom: 20px !important;
}
.mt-3, .my-3 {
    margin-top: 20px !important;    
}

.pb-2, .py-2 {
    padding-bottom: 15px !important;
}
.pt-2, .py-2 {
    padding-top: 15px !important;
}
.mb-2, .my-2 {
    margin-bottom: 15px !important;
}
.mt-2, .my-2 {
    margin-top: 15px !important;    
}

.pb-1, .py-1 {
    padding-bottom: 15px !important;
}
.pt-1, .py-1 {
    padding-top: 15px !important;
}
.mb-1, .my-1 {
    margin-bottom: 15px !important;
}
.mt-1, .my-1 {
    margin-top: 15px !important;    
}


.cc-window {
    background: #641E55 !important;
    font-family: 'Akkurat' !important;
}

.cc-message {
    margin:0 !important;
    padding:8px 12px;
}

.cc-link {
    padding:0 !important;
}

.cc-btn {
    background:#BDBDB8 !important;
    color:#312E29 !important;
    padding:8px !important;
}

.cc-btn:hover {
    text-decoration:none;
    background:#cfcfcf !important;
}

.cc-window {
    flex-direction: column !important;
    align-items: stretch;
}

.cc-compliance {
    width:100%;
}

/* nav */
.navbar {
    font-family: 'Akkurat';
    font-size: 16px;
    line-height: 22px;
    text-transform: uppercase;
    align-items: flex-start;
    padding: 0;
}

.navbar a:hover {
    text-decoration:none;   
}

.dropdown-menu ul {
   list-style-type:none;
   margin:0;
   padding:0;
}

.logo-xs {
    padding: 60px 0 38px;
}

.navbar .nav > li {
    position:relative;
}

.navbar .nav > li  a {
    padding: 30px 80px 30px 0;
    display: inline-block;
    position: relative;
}

.navbar .nav > li:first-child > a {
    padding-left:0;
}
/*
.navbar:not(.meta) .nav > li a:hover::before,
.navbar:not(.meta) .nav > li a:focus::before,
.navbar:not(.meta) .nav > li a:active::before,
.navbar:not(.meta) .nav > li a:hover:focus::before,
.navbar:not(.meta) .nav > li a:hover:active::before,
.navbar:not(.meta) .nav > li.ancestor > .dropdown > a::before {
    content:'';
    background:#641E55;
    height: 2px;
    position:absolute;
    width: 20px;
    margin-top: 22px;
    margin-left: -10px;
}*/


.navbar.meta .nav > li a {
    padding: 0 15px;
    font-size: 11px;
    line-height: 15px;
    position: relative;
}

.navbar.meta .nav .dropdown-menu li a {
    font-size: 15px;
    line-height: 26px;
    text-transform: initial;
    padding: 1px 15px;
    display: block;
}

.navbar.meta .nav .dropdown-menu {
    padding: 10px 0;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #641E55;
    white-space: nowrap;
    margin-top: 1px;
}

.navbar.meta .nav .dropdown-menu a::after,
.navbar.meta .nav #search::after {
    display:none;
}


.navbar:not(.meta) .nav .dropdown-menu {
   border:none;
   border-radius:0;
}

.navbar:not(.meta) .nav .dropdown-menu ul {
    margin-right:80px;
} 

.navbar:not(.meta) .nav .dropdown-menu ul:last-child {
    margin:0;
} 

.navbar:not(.meta) .nav .dropdown-menu li a { 
    padding:5px 0;
    display: block;
    font-size: 15px;
}

.navbar:not(.meta) .nav .dropdown-menu li a:hover,
.navbar:not(.meta) .nav .dropdown-menu li.selected a {
   opacity: .65;
}

.navbar:not(.meta) .nav .dropdown-menu li:not(:first-child) a {
    text-transform: initial;    
}

.navbar-toggler,
.logo-xs,
#search-xs {
    display:none;
}



@media (max-width: 575px) { 
    body {
        overflow-wrap: break-word;
    }

   .carousel-indicators-wrapper {      
        width: 50%;
        left: 0;
        right: auto;
    }
    
}

@media (min-width: 576px) { 
    
}





@media (max-width: 767px) {
    body {
        margin-top:150px;
    }

    section {
        z-index: 1;
        padding-bottom: 40px;
    }

    header {
        z-index:1;
    }   
    
    h1,
    section h2,    
    .card-header {
        font-size: 32px;
        line-height: 38px;    
    }

    header h2,
    .card-header a {
        font-size: 22px;
        line-height: 26px;    
    }
    
    .row > [class^='col'] + [class^='col'] > h2:first-child {
        margin-top:20px;        
    }

    .card-header a::before,
    .collapse.show .card-body::before {
        height:1px;
        left: -30px;               
    }    

    .card-header a[aria-expanded='true']::before,
    .collapse.show .card-body::before {
        right:0;
        width: auto !important;
    }

    .card-header a::after {
        width: 17px;
        height: 17px;
        background-size: 100%;
        left: -23px;
    }

    .card-header {
        padding: 15px 0;
    }

    .card-body {
        padding: 20px 0 40px;
    }
   
    body > .container {
        position: absolute;
        top:0;
        background: #fff;
        padding: 0 30px;
        display: flex;
        flex-direction: column;
        z-index: 20;
        left: 0;
        right: 0;
        max-width: 100%;
    }

    body > .container::after {
       position:absolute;
       content:'';
       bottom: -28px;
       right: 0;
       height: 30px;
       background-image: url('/static/img/nav-drop.svg');
       z-index: 1001;
       left: 0;
       background-position: center top;
       background-repeat: no-repeat;
       pointer-events: none;
    }

    .logo-xs {
       display: block;
       width:100%;
       text-align: center;
    }
    .logo-xs > img {
        width:180px;        
    }
    .logo {        
        display:none;
    }      

    .navbar.meta {
        order:2;
        margin-top: 15px;
        padding-left: 5px;
        padding-right: 5px;
    }

    .navbar.meta,
    body.xs-menu-open .navbar-toggler {
        margin-left: -35px;
        margin-right: -35px;
        background: #FFFEF2;
    }

    body.xs-menu-open > .container::after {
        /* prepend: brightness(0) saturate(100%) if svg is white */
        filter: brightness(0) saturate(100%) invert(92%) sepia(13%) saturate(385%) hue-rotate(343deg) brightness(111%) contrast(104%);       
    }

    .navbar:not(.meta) {
        order:1;
    }
   
    .navbar-toggler {
        order:3;
    }
    
    .navbar-toggler {
        display:block;
        height: 30px;
        padding: 0;
        border: 0;
        border-radius: 0;
    }

    .navbar-toggler > .menu-close {
        display:none;
    }

    .navbar-toggler[aria-expanded="true"] .menu-close {
        display: inline;
    }

    .navbar-toggler[aria-expanded="true"] .menu-open {
        display:none;
    }
    
    .navbar.meta .nav > li {
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .navbar.meta .nav > li a {
        padding: 10px 25px;
    }
   
    #search {
       display:none;
    }
   
    #search-xs {
       display: flex;
       justify-content: space-between;
       padding: 10px 25px 0;
       width: 100%;
    }

    #search-xs form {
       width:100%;
       margin-right: 10px;
    }
   
    #search-xs .form-control {
       border: none;
       border-bottom: 1px solid #641E55;
       border-radius: 0;
       color: #641E55;
       padding: 0;
       height: 26px;
       background: transparent;
    }   
    
    .search-result h3 {
        font-size:25px;
        line-height:32px;
    }

    .navbar.meta .nav {
        margin: 20px 0;
    }

    .navbar:not(.meta) .nav {
        display:flex;
        flex-direction: column;
    }

    .navbar:not(.meta) .nav > li a {
        padding: 15px 20px;
    }
    
    .navbar:not(.meta) .nav .dropdown-menu {
        position:relative;
        padding: 0;
        max-height: 188px;
        overflow-y: scroll;
        margin-left: -35px;
        margin-right: -35px;
        margin-top: 0;
    }

    .navbar:not(.meta) .nav .dropdown-menu .container {
        padding:0;
        max-width: 100%;
        padding: 0 50px;        
        flex-direction: column;
    }

    .navbar:not(.meta) .nav .dropdown-menu .container ul > li > a {
        padding:7px 15px;
    }
    
    .navbar:not(.meta) .nav .dropdown-menu ul {
        width:100%;
        margin: 0;
    }

    .navbar:not(.meta) .nav .dropdown-menu ul:first-child {
        margin-top: 8px;
    }

    .navbar:not(.meta) .nav .dropdown-menu ul:last-child {
        margin-bottom: 8px;
    }

    .navbar:not(.meta) .nav .dropdown-menu ul > .child {
        margin-left:15px;        
    }    
    
    .navbar:not(.meta) .nav .dropdown {    
        flex-direction: column;
    }

    .carousel-caption a {
        bottom: 25px;
    }

    .carousel-caption {
        top: -50vh;
        left: 0;
        width: calc(100vw - 50px);
        bottom: auto;
        padding: 30px 30px 60px;
    }   
   
    .carousel-item > .img-slide-xs {
        height: 50vw;
        background-position: center;
        background-size: cover;
    }

    .full-xs .carousel-item > .img-slide-xs {
        height: calc(100vh - 150px);               
    }

    .full-xs .carousel-indicators-wrapper {
        bottom: 50vh;    
    }

    .carousel.full-xs > .controls,
    .carousel:not(.full-xs) .carousel-indicators-wrapper {
        display: none; 
    }

    .carousel-item .container {
        position: relative;
        width: 100%;
    }       

    .carousel:not(.full-xs) {
        margin-bottom:40px;
    }

    .card {
        margin-left: 30px;
    }

    .container.img-wrapper .row {
        margin:0;
    }

    .container.img-wrapper .row > * {
        padding:0;
    }
    
    .container:not(.img-wrapper) .col.img-wrapper > .row {
        margin-left: -50px;
        margin-right: -50px;
        margin-bottom: 40px;
    }
    
    .container:not(.img-wrapper) .col.img-wrapper .row > * {
        padding:0;
    }
    
    .location {
        margin-bottom: 10px;
    }
    
    .person {
        margin-bottom: 20px;
    }
    
    body > .content > .container section {
        margin-left: -50px;
        margin-right: -50px;
    }

   
    
    


}

@media (min-width: 768px) {   
    body {
        font-size: 18px;
        line-height: 24px;
    }
    
    header h1 {
       font-size: 70px;
       line-height: 77px;      
    }
    
    h2 {
        font-size: 35px;
        line-height: 42px;    
    }
    
    h3, label {
        font-size: 25px;
        line-height: 32px;    
    }        

    .navbar.meta {
        padding: 55px 0 30px;
    }
    
    .navbar:not(.meta) .nav > li > .dropdown > a.active::after,
    .navbar:not(.meta) .nav > li.ancestor:not(.inactive) > .dropdown > a::after {
          position:absolute;
          content:'';
          transform: translateX(-50%);
          right: 0;
          top: 100%;
          height: 40px;
          background-image: url('/static/img/nav-drop.svg');
          z-index: 1001;
          left: 0;
          width: 632px;
          background-repeat: no-repeat;
          margin-left: 25%;
          pointer-events: none;
    }
    
    .navbar.meta .nav a:hover::after,
    .navbar.meta .nav a:focus::after,
    .navbar.meta .nav a:active::after,
    .navbar.meta .nav a:hover:focus::after,
    .navbar.meta .nav a:hover:active::after {
         content:'';
         background:#641E55;
         height: 1px;
         position:absolute;
         left: 9px;
         bottom: -2px;
         width: 12px;
    }

    .navbar:not(.meta) .dropdown-menu {
          top: auto;
          bottom: auto;
          width: 100%;
          margin: 82px 0 0;
          border: none;
          border-radius: 0;
          padding-top:120px;
          padding-bottom: 100px;
          border:0;    
      }
      .navbar:not(.meta) .dropdown-menu::after {
          position:absolute;
          content:'';
          left:0;
          right:0;
          top: 100%;
          height: 100px;
      }

    .carousel-item > .container {
         position:relative;
    }

    .carousel-caption {   
         right: auto;
         left: auto;
         bottom: -150px; 
         padding-bottom: 150px;         
    }    

    .carousel > .controls {
        position: absolute;
        top: 0;
        bottom: 150px;
        left: 0;
        right: 0;
    }

    .carousel-item {
        padding-bottom: 150px;
        background:transparent !important;
    }
     
    .cc-window {
       flex-direction: row !important;
    }

    .cc-compliance {
        width:auto;
    }

    header {
        padding-top: 120px;
        padding-bottom: 165px;
    }

    ul {
        padding-left:30px;
    }    
    
    .container.img-wrapper > .row > div[class*='col']:not(.img-wrapper)::after,
    .col.img-wrapper div[class*='img-'] > .col::after,
    .location > .col::after {
       position:absolute;
       content:'';
       width:100%;
       top:0;
       bottom:-2px;
       background: radial-gradient(60%  15px at bottom, #fff 95%,transparent);
       left: 0;
    }
}




@media (max-width: 991px) {  
    .btn-primary {
        background:transparent;
    }             
}

@media (min-width: 992px) {
    /* padding + margin */
    .pb-5, .py-5 {
        padding-bottom: 240px !important;
    }
    .pt-5, .py-5 {
        padding-top: 240px !important;
    }
    .mb-5, .my-5 {
        margin-bottom: 240px !important;
    }
    .mt-5, .my-5 {
        margin-top: 240px !important;
    }

    .pb-4, .py-4 {
        padding-bottom: 120px !important;
    }
    .pt-4, .py-4 {
        padding-top: 120px !important;
    }
    .mb-4, .my-4 {
        margin-bottom: 120px !important;
    }
    .mt-4, .my-4 {
        margin-top: 120px !important;
    }

    .pb-3, .py-3 {
        padding-bottom: 60px !important;
    }
    .pt-3, .py-3 {
        padding-top: 60px !important;
    }
    .mb-3, .my-3 {
        margin-bottom: 60px !important;
    }
    .mt-3, .my-3 {
        margin-top: 60px !important;    
    }

    .pb-2, .py-2 {
        padding-bottom: 30px !important;
    }
    .pt-2, .py-2 {
        padding-top: 30px !important;
    }
    .mb-2, .my-2 {
        margin-bottom: 30px !important;
    }
    .mt-2, .my-2 {
        margin-top: 30px !important;    
    }

    .pb-1, .py-1 {
        padding-bottom: 15px !important;
    }
    .pt-1, .py-1 {
        padding-top: 15px !important;
    }
    .mb-1, .my-1 {
        margin-bottom: 15px !important;
    }
    .mt-1, .my-1 {
        margin-top: 15px !important;    
    }

    .container.img-wrapper {
        margin-top: -220px;
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media (min-width: 1200px) {
    .col.img-wrapper {
        position:absolute;
        left: 0;
        right: 0;
        padding: 0;
        z-index: -1;
        margin: 0 !important;
    }
    
    .col.img-wrapper div[class*='img-'] {
        margin-right: 0;
        margin-left: 0;
    }
    .col.img-wrapper div[class*='img-'] > .col {
        padding-left: 0;
    }
    .col.img-wrapper div[class*='img-offset'] > .col {
        padding-right: 0;
    }
   
    .col.img-wrapper .img-offset-6 {
        padding-left: calc(1200px * (50 / 100) + ((100% - 1200px) / 2) + 10px);
    }
    .col.img-wrapper .img-offset-7 {
        padding-left: calc(1200px * (58.333333 / 100) + ((100% - 1200px) / 2) + 10px);
    }
    .col.img-wrapper .img-5 > .col {
        max-width: calc(1200px * (41.666667 / 100) + ((100% - 1200px) / 2) + 10px);
    }
    .col.img-wrapper .img-6 > .col {
        max-width: calc(1200px * (50 / 100) + ((100% - 1200px) / 2) + 10px);
    }
}

@media (min-width: 1460px) {
    .col.img-wrapper .img-offset-6 {
        padding-left: calc(1460px * (50 / 100) + ((100% - 1460px) / 2) + 10px);
    }
    .col.img-wrapper .img-offset-7 {
        padding-left: calc(1460px * (58.333333 / 100) + ((100% - 1460px) / 2) + 10px);
    }
    .col.img-wrapper .img-5 > .col {
        max-width: calc(1460px * (41.666667 / 100) + ((100% - 1460px) / 2) + 10px);
    }
    .col.img-wrapper .img-6 > .col {
        max-width: calc(1460px * (50 / 100) + ((100% - 1460px) / 2) + 10px);
    }
}

@media (min-width: 1920px) { 
   
   .col.img-wrapper div[class*='img-'] .img-fluid  {
      max-width: 750px;
   }   

   .col.img-wrapper div[class*='img-offset'] {
      padding-left:0;
   }

   .col.img-wrapper div[class*='img-offset'] > .col {
      padding:0;
      display: flex;
      justify-content: flex-end;
   }

}