@charset "UTF-8";
/* CSS Document */
@import "fonts.css";

/* reset */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td { border:0; font-size:100%; margin:0; padding:0; }
a { outline:none; }
table { border-collapse:collapse; border-spacing:0; }
fieldset,img { border:0; }
del,ins { text-decoration:none; }
caption,th { text-align:left; }
h1,h2,h3,h4,h5,h6 { font-size:100%; font-weight:normal; }
q:before,q:after { content:''; }
abbr,acronym { border:0; font-variant:normal; }
sup,sub { vertical-align:baseline; }
legend { color:#000; }
input,button,textarea,select,optgroup,option { font-family:inherit; font-size:inherit; font-style:inherit; font-weight:inherit; }
input,button,textarea,select { font-size:100%; }

/* Clearfix */
.clearfix:before, .clearfix:after {content: " "; display: table;}
.clearfix:after {clear: both;}
.clearfix {*zoom: 1;}

*, *:before, *:after {padding: 0; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;}
figure, figure:before, figure:after {padding: 0; margin: 0; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;}

html {-webkit-text-size-adjust: 100%;
--black: rgba(0,0,0,1);
--white: rgba(255,255,255,1);
--grey: rgba(94,106,113,1);
--green: rgba(211,216,65,1);
}

body {margin:0; font-family:'Figtree', sans-serif; color: var(--grey); font-size: 1em; font-weight: 400; line-height: 1.5;}
body.fixed {overflow: hidden;}

/***************************** FORMAT *****************************/
h1, h2 {font-size: 1.75em; /*margin-bottom: 0.25em;*/}
h3, h4 {font-size: 1.25em; /*margin-bottom: 0.25em;*/}
h5, h6, h2.small, h3.small {font-size: 1.125em; /*margin-bottom: 0.25em; text-transform: uppercase;*/}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {color: inherit; border: 0 !important; text-decoration: none;}

h1, h2, h3, h4, h5, h6 {line-height: 1.25; text-wrap: balance;}

.medium {font-weight: 500; /*font-family:'Avenir LT W01_65 Medium', sans-serif;*/}
.heavy, .bold, strong, b, .more, h1, h2, h3, h5 {font-weight: 650; /*font-family:'Avenir LT W01_85 Heavy', sans-serif; font-weight: normal;*/}
.regular {font-weight: 400;}

p + h1, p + h2, p + h3, p + h4, p + h5, p + h6, p +hr, hr + p,
hr + h2, hr + h4, hr + h6 {margin-top: 0.75em;}

p + p, ul + p, ol + p, address + p {margin-top: 0.75em;}
p + ul, p + ol {margin-top: 0.25em;}

p + h1, p + h2, p + h3, p + h4, p + h5, p + h6,
ul + h1, ul + h2, ul + h3, ul + h4, ul + h5, ul + h6,
ol + h1, ol + h2, ol + h3, ol + h4, ol + h5, ol + h6 {margin-top: 1.25em;}

h1 + p, h2 + p, h3 + p, h4 + p, h5 + p, h6 + p,
h1 + ul, h2 + ul, h3 + ul, h4 + ul, h5 + ul, h6 + ul,
h1 + ol, h2 + ol, h3 + ol, h4 + ol, h5 + ol, h6 + ol, * + .margin-small {margin-top: 0.25em;}



blockquote p, .big {font-size: 1.125em;}
.small {font-size: 0.875em;}

ul {list-style-type: none;}
ul li {padding: 0 0 0.75em 0.5em; position: relative;}
ul li:before {content: '\00b7'; position: absolute; left: 0;}

.uppercase {text-transform: uppercase;}

.white {color: var(--white);}

.right-al {text-align: right;}

.grey-bar {color: var(--white); background: var(--grey); padding: 0.125em 0.5em 0.125em 0.25em; text-transform: uppercase;}

hr {border-color: rgba(102,102,102,0.3);}

address {font-style: normal;}

footer ul li {padding: 0;}
footer ul li:before {content: '';}

.sr-only {position: absolute; text-indent: -9999em; color: var(--white); width: 1px; height: 1px; overflow: hidden;}

/***************************** LINKS/SPANS *****************************/
a, button {text-decoration: none; color: inherit;
-webkit-transition: color .3s, background .3s, border .3s; transition: color .3s, background .3s, border .3s;}
a:hover, button:hover {color: var(--green);}

button {-webkit-appearance: none; -moz-appearance: none; appearance: none; background: none; border: none; border-radius: none; text-align: left;}
button:hover {cursor: pointer;}

a:focus-visible, button:focus-visible {outline-style: auto;}

.skip-link {display: block; padding: 0.5rem 1rem; background: var(--white); position: absolute; top: 0; left: 50%; transform: translate(-50%,-100%); transition: all .3s;}
.skip-link:focus {transform: translate(-50%,0); top: 0.5rem; z-index: 1;}

a.phone, a.phone:hover {color: inherit; cursor: text;}

.more:after {content: '\003e\003e'; margin-left: 0.25rem; letter-spacing: -0.125em;}

.hidden-pull {display: block; width: 100%; padding: 0.5rem 0.25rem 0 0.25rem;}

@supports (content: 'x' / 'y') {
ul li:before {content: '\00b7' / '';}
.more:after {content: '\003e\003e' / '';}
}

.teaserlink .more:before {content: ''; display: block; position: absolute; left: 0; top: 0; right: 0; bottom: 0;}
.teaserlink p:not(:last-of-type) {position: relative; z-index: 1;}

@media (prefers-contrast: more) {
html {--green: rgba(161,166,5,1);}
.text a:not(.more) {text-decoration: underline;}
}


/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {height: auto; margin: 0 auto; max-width: 64rem; position: relative;}
main {display: block;}

.border-top {border-top: 0.0625rem solid var(--grey);}

/* HEADER */
header {}
.logo {width: 85%; max-width: 32rem; margin: 3rem auto;}
.logo a, .logo img {display: block;}

/* NAVI */
nav ul {list-style-type: none;}
nav ul li {line-height: 1em;}
nav ul li:before {content: '';}

#main-nav {width: 100%; min-height: 2.5rem; background: var(--white); position: absolute; z-index: 3; font-size: 1.25em;}
#main-nav .wrapper {height: 100%; min-height: 2.5rem;}
#main-nav ul.menu {width: 100%; height: auto; display: none; padding: 2.5rem 0 0 0;}
#main-nav ul.menu li {padding: 0; border-top: 0.0625rem solid var(--grey);}
#main-nav ul.menu li:first-of-type {border-top: none;}
#main-nav ul.menu li a {padding: 1rem; display: block;}
#main-nav ul li a:hover, #main-nav ul li.active a {color: rgba(50,50,50,1);}

#main-nav ul.lang-menu {position: absolute; top: 0; left: 0;}
#main-nav ul.lang-menu li {display: inline-block; padding: 0; white-space: nowrap; position: relative;}
#main-nav ul.lang-menu li a {padding: 0.5rem 1rem; display: block;}
#main-nav ul.lang-menu li a:after {content: '\007c'; position: absolute; right: -0.25rem; top: 50%; transform: translateY(-60%); -webkit-transform: translateY(-60%);}
#main-nav ul.lang-menu li:last-of-type a:after {content: '';}

#main-nav.fixed {position: fixed; top: 0;}
#main-nav.fixed .border-top {border-top: none; border-bottom: 0.0625rem solid var(--grey);}

#main-nav + .topsec, #main-nav + main {margin-top: 2.5rem;}

/* nav pull */
#pull {width: 2.5rem; height: 2.5rem; padding: 0.625rem 0 0.625rem 0.75rem; position: absolute; top: 0; right: 1rem; z-index: 12;}

.burger-wrap {position: relative; width: 100%; height: 100%;}

.burger, .burger:before, .burger:after {width: 1.75rem; height: 0.25rem; display: block; position: absolute; background: var(--grey);
-webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s;}
.burger {left: 0; top: 0;}
.burger:before {top: 0.5rem; content: '';}
.burger:after {top: 1rem; content: '';}

.open .burger {background: none;}
.open .burger:before {top: 0.5rem; width: 1.75rem;
-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg);}
.open .burger:after {top: 0.5rem; width: 1.75rem;
-webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg);}

/* IMAGES / SLIDER */
figure img {width: 100%; display: block;}
.stretch-w img {width: 100%; height: auto;}
.stretch-h img {width: auto; height: 100%;}

.imgwrap {width: 100%; height: 0; position: relative; overflow: hidden;}
.img-low .imgwrap {padding-bottom: 50%;}
.img-high .imgwrap {padding-bottom: 80%;}
.imgwrap img {position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%);}

.slidecaption {position: absolute;}

.headslider .slidecaption {top: 1rem; left: 1rem; font-weight: 650; font-size: 1.25em;}
.headslider .slidecaption p + p {margin-top: 0.25em;}

@supports (object-fit: cover){
.stretch-w img, .stretch-h img {width: 100%; height: 100%; object-fit: cover;}
}
@supports (aspect-ratio: 1/ 1) {
.img-wrap {padding-bottom: 0 !important; height: 100%;}
.img-wrap img {position: relative; top: auto; left: auto; -ms-transform: translate(0,0); -webkit-transform: translate(0,0); transform: translate(0,0);}
.img-low .img-wrap {aspect-ratio: 2 / 1;}
.img-high .img-wrap  {aspect-ratio: 5 / 4;}
}

.play-btn {width: 2rem; height: 2rem; display: block; background: var(--black); position: absolute; top: 1rem; right: 1rem; border-radius: 50%; border: 0.0625rem solid var(--white); opacity: .66; transition: opacity .3s, border .3s; margin: 0 !important;}
.play-btn:after {content: ''; display: block; position: absolute; top: 50%; left: 50%; transition: border .3s;}
.play:after {width: 30%; height: 50%; border-left: 0.125rem solid var(--white); border-right: 0.125rem solid var(--white); transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%);}
.pause:after {width: 0; height: 0; border-style: solid; border-width: 0.5rem 0 0.5rem 0.75rem; border-color: transparent transparent transparent var(--white); transform: translate(-33.33%,-50%); -webkit-transform: translate(-33.33%,-50%);}
.play-btn:hover, .play-btn:focus-visible {opacity: 1 !important; border-color: var(--green);}

.slick-arrows .play-btn {right: auto; bottom: auto; left: 50%; top: 50%; transform: translate(-50%,0); opacity: 0; z-index: 1; pointer-events: auto;}
.slick-arrows:hover .play-btn {opacity: 0.66;}
.slick-arrows .play-btn:hover {opacity: 1;}

@media (prefers-reduced-motion: reduce) {
.slick-arrows .play-btn {opacity: 0.75;}
}

/* CLS Fix - Slider */
.headslider, .slider {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row nowrap; -ms-flex-wrap: nowrap; overflow: auto; width: 100%;}
.slide {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative; float: left; padding: 0; width: 100%; min-width: 100%;}
.slick-initialized .slide {min-width: initial;}

/* CONTENT */
.single-head {width: 100%; padding-bottom: 0.375rem;}

.con-block, .single-page {padding: 2rem 1rem;}
.con-block + .con-block {padding-top: 0;}

.con-block + .no-marg {padding-bottom: 0;}

.grey-bg .text, .grey-bg .tile {background: var(--grey); padding: 0.75rem;}

.single-page .third + .twothird, .single-page .twothird + .third {margin-top: 1rem;}

.intro + .locations {padding-top: 2rem;}

.mob-cols, .rows {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row wrap; -ms-flex-wrap: wrap; justify-content: flex-start;}
.rows {flex-flow: column nowrap; -ms-flex-wrap: nowrap;}
.rows-rev {flex-direction: column-reverse;}
.space-between {justify-content: space-between;}
.no-wrap-f {flex-wrap: nowrap; -ms-flex-wrap: nowrap;}

.text * + .columns {margin-top: 0.375em;}

/* tiles */
.tiles + .tiles, .tile {margin-top: 1rem;}
.tile:first-of-type {margin-top: 0;}

.tile-inner {position: relative;}

.tile-text {padding-top: 0.5rem;}
.overlay .tile-text {width: 100%; height: 100%; top: 0; left: 0; position: absolute; padding: 1rem; overflow: hidden; background: rgba(255,255,255,0.9); z-index: 1;}

/* popup */
.pop-overlay {width: 100%; height: 100%; top: 0; left: 0; position: fixed; padding: 1rem; overflow: auto; background: rgba(255,255,255,0.95); z-index: 5; display: none; webkit-overflow-scrolling: touch;}

.pop-content {padding-top: 3rem;}
.pop-content .text {display: block; margin-top: 0.5rem;}

.tile .pop-content figure {height: auto; padding-bottom: 0;}
.pop-content img {width: 100%; height: auto; position: relative; top: auto; left: auto; -webkit-transform: none; transform: none;}

.close-pop {display: block; position: absolute;}
.close {width: 100%; height: 100%; position: relative; cursor: pointer; z-index: 101;}
.close:before, .close:after {width: 100%; height: 0.25rem; content: ''; display: block; position: absolute; background: rgba(102,102,102,1); top: 50%; transition: background .3s;}
.close:hover:before, .close:hover:after {background: var(--green);}
.close:before {transform: rotate(45deg);}
.close:after {transform: rotate(135deg);}

.pop-overlay .close {width: 2rem; height: 2rem;}
.pop-overlay .close-pop {top: 0; right: 0;}
.overlay .close {width: 1.25rem; height: 1.25rem;}
.overlay .close-pop {top: 0.75rem; right: 0.75rem;}

/* maps */
.map-wrap {width: 100%; height: 0; position: relative; padding-bottom: 70%;}
#map {width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 0; overflow: hidden;}

.marker .maps-link {display: none;}

/* FOOTER */
.legal, .address {padding: 1rem;}

/* back top*/
.arrow:before, .arrow:after {width: 0.125rem; height: 1rem; content: ''; position: absolute; display: block; background: var(--white);}

.arrow:before, .arrow:after {top: 0;}

.arrow:before {transform: rotate(45deg); -webkit-transform: rotate(45deg);}
.arrow:after {transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}

.arrow:before {left: 0.625rem;}
.arrow:after {right: 0.625rem;}

#back-top {width: 2.5rem; height: 2.5rem; position: fixed; right: 1rem; bottom: 1rem; display: none; z-index: 4;}
#back-top button, #back-top button:active {width: 2.5rem; height: 2.5rem; display: block; padding: 0.625rem 0.25rem; background: rgba(94,106,113,0.3); border-radius: 50%; -webkit-border-radius: 50%; transition: background 0.3s; -webkit-transition: background 0.3s;}
#back-top button:hover {background: var(--grey);}
#back-top .arrow {width: 2rem; height: 1.25rem; position: relative;}

#back-top a:hover .arrow {animation: pulse 0.5s 1;}

@-webkit-keyframes pulse {
0%, 100% {transform: scale(1);}
50% {transform: scale(1.1);}
}
@-moz-keyframes pulse {
0%, 100% {transform: scale(1);}
50% {transform: scale(1.1);}
}
@keyframes pulse {
0%, 100% {transform: scale(1);}
50% {transform: scale(1.1);}
}

/* responsiveness
--------------------------------------------- */
@media screen and (max-width:48em) {
@supports (aspect-ratio: 1/ 1) {
.headslider .imgwrap {aspect-ratio: 3/2;}
}
}

/* medium */
@media screen and (min-width:48em) {
/***************************** LINKS/SPANS *****************************/
.capt-pull span, .pop-pull span {display: block; float: left;}
.capt-pull span:first-of-type, .pop-pull span:first-of-type {width: 57%; height: 100%;}
.capt-pull span:last-of-type, .pop-pull span:last-of-type {width: 43%; height: 100%;}

.teaserlink .more:before {left: 1rem; right: 1rem; bottom: 1rem;}

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {max-width: 44rem;}
.small-wrap {width: 75%;}

/* IMAGES / SLIDER */
.headslider .slidecaption {font-size: 1.75em;}

/* CONTENT */
.con-block, .single-page {padding: 2rem 1rem;}
.tiles {padding: 2rem 0;}

.grey-bg .text {padding: 1rem;}

.third, .twothird, .tile, .half, .column, .pop-content figure, .pop-content figcaption {float: left;}
.third, .three-col .column, .pop-content figure {width: 33.33%;}
.twothird, .pop-content figcaption {width: 66.66%;}
.half, .two-col .column {width: 50%;}

.single-page .third + .twothird, .single-page .twothird + .third {margin-top: 0;}
.maincol-right .third, .pop-content figure {padding-right: 0.5rem;}
.maincol-right .twothird, .pop-content .text {padding-left: 1rem;}
.maincol-left .third {padding-left: 0.5rem;}
.maincol-left .twothird {padding-right: 1rem;}

.columns {display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row wrap; -ms-flex-wrap: wrap; justify-content: flex-start;}
.column, .tile {-webkit-box-flex: initial; -webkit-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: initial; position: relative; float: left;}

/* tiles */
.tile {width: 50%;}
.tile:nth-of-type(2) {margin-top: 0;}
.tile:nth-of-type(2n+1), .single-page .half:nth-of-type(2n+1), .two-col .column:nth-of-type(2n+1) {padding: 0 0.5rem 0 0;}
.tile:nth-of-type(2n+2), .single-page .half:nth-of-type(2n+2), .two-col .column:nth-of-type(2n+2) {padding: 0 0 0 0.5rem;}

.three-col .column:nth-of-type(3n+1) {padding: 0 0.66rem 0 0;}
.three-col .column:nth-of-type(3n+2) {padding: 0 0.33rem;}
.three-col .column:nth-of-type(3n+3) {padding: 0 0 0 0.66rem;}

.tile-text {padding: 1rem;}

/* popup */
.pop-overlay {padding: 2rem 0;}

.pop-content {padding-top: 4rem;}
.pop-content .text {margin-top: 0;}

/* maps */
.map-wrap {padding-bottom: 50%;}

/* FOOTER*/
footer ul li {display: inline-block; padding-right: 1rem;}
}

/* large */
@media screen and (min-width:64em) {

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {max-width: 60rem;}
.small-wrap {width: 60%;}

.logo {max-width: 36rem;}

/* NAVI */
#main-nav {max-height: 3.25rem;}
#main-nav ul, #main-nav ul.menu {display: block; padding: 0; float: left;}
#main-nav ul.menu li {display: inline-block; border-top: none; white-space: nowrap;}

#main-nav ul.menu {width: 85%;}
#main-nav ul.lang-menu {width: 15%; text-align: right; position: relative; top: auto; left: auto;}
#main-nav ul.lang-menu li a {padding: 1rem;}

#main-nav + .topsec, #main-nav + main {margin-top: 3.25rem;}

/* nav pull */
#pull {display: none;}

/* IMAGES / SLIDER */
.headslider .slidecaption {top: 2rem; left: 2rem; font-size: 2.5em;}

/* CONTENT */
/* tiles */
.tile {width: 33.33%;}
.tile:nth-of-type(3) {margin-top: 0;}
.tile:nth-of-type(3n+1) {padding: 0 0.66rem 0 0;}
.tile:nth-of-type(3n+2) {padding: 0 0.33rem;}
.tile:nth-of-type(3n+3) {padding: 0 0 0 0.66rem;}
}

@media screen and (min-width:74em) {

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {max-width: 70rem;}

/* CONTENT */
.single-page .half:nth-of-type(2n+1) {padding: 0 0.75rem 0 0;}
.single-page .half:nth-of-type(2n+2) {padding: 0 0 0 0.75rem;}

/* tiles */
.tiles + .tiles, .tile {margin-top: 1.5rem;}

.tile:nth-of-type(3n+1) {padding: 0 1rem 0 0;}
.tile:nth-of-type(3n+2) {padding: 0 0.5rem;}
.tile:nth-of-type(3n+3) {padding: 0 0 0 1rem;}
}

@media screen and (min-width:100em) {
body {font-size: 1.1em}

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {max-width: 78rem;}

/* NAVI */
#main-nav {max-height: 3.5rem;}
}

@media screen and (min-width:120em) {
body {font-size: 1.2em}

/***************************** LAYOUT *****************************/
/* BASIC */
.wrapper {max-width: 86rem;}

/* NAVI */
#main-nav {max-height: 3.75rem;}
#main-nav + .topsec, #main-nav + main {margin-top: 3.5rem;}
}
/* end responsiveness
--------------------------------------------- */
