@font-face {
	font-family: sofia;
	font-weight: normal;
	src: url('../fonts/sofia-regular.woff') format('woff');
	font-display: auto;
	}

@font-face {
	font-family: sofia;
	font-weight: bold;
	src: url('../fonts/sofia-semibold.woff') format('woff');
	font-display: auto;
	}

@font-face {
	font-family: titillium;
	font-weight: normal;
	src: url('../fonts/titillium-regular.ttf') format('truetype');
	font-display: auto;
	}

@font-face {
	font-family: titillium;
	font-weight: bold;
	src: url('../fonts/titillium-semibold.ttf') format('truetype');
	font-display: auto;
	}




/*

TEMPLATE

xs <=600
s <=900
m >900 <=1280
l >1280

*/



/* RESET */

* {
	margin: 0;
	padding: 0;
	outline: 0;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
	}

img {
	display: block;
	max-width: 100%;
	height: auto;
	}

audio,
iframe,
video {
	display: block;
	}



/* TYPOGRAPHY */

/* font */
html,
body,
button,
input,
select,
textarea {
	font: 400 17px/24px sofia, sans-serif;
	color: #033135;
	-webkit-font-smoothing: antialiased;
	}

.prim {
	font-family: sofia, sans-serif;
	}
.alt {
	font-family: titillium, sans-serif;
	}

/* headings */
h1,h2,h3,h4,
.h1,.h2,.h3,.h4 {
	font-family: titillium, sans-serif;
	font-weight: 700;
	}

h1,.h1 {font-size: 2rem; line-height: 2.5rem}
h2,.h2 {font-size: 1.5rem; line-height: 2rem}
h3,.h3 {font-size: 1.25rem; line-height: 1.75rem}
h4,.h4 {font-size: 1rem; line-height: 1.5rem}

/* paragraphs */
p+* {margin-top: 2rem}
*+p {margin-top: 1rem}
p+p {margin-top: 1.5rem}

/* lists */
ul,ol {
	margin: 2rem 0;
	padding-left: 3rem;
	}
ul:first-child {margin-top: 0}
ul:last-child {margin-bottom: 0}



/* text */
.fs--1 {font-size: 1rem; line-height: 1.5rem}
.fs--2 {font-size: 2rem; line-height: 2.5rem}
.fs--3 {font-size: 3rem; line-height: 3.5rem}

.text--xs {font-size: .75rem; line-height: 1rem}
.text--s {font-size: .875rem; line-height: 1.25rem}
.text--m {font-size: 1.5rem; line-height: 2rem}
.text--l {font-size: 1.75rem; line-height: 2rem}

.text--upper {text-transform: uppercase}
.text--lower {text-transform: lowercase}

.td--none {text-decoration: none}
.td--underline {text-decoration: underline}

/* weight, style */
b,
strong,
.bold {font-weight: 700}
.normal {font-weight: 400}
.italic {font-style: italic}

/* text align */
.ta--c {text-align: center}
.ta--l {text-align: left}
.ta--r {text-align: right}

.nowrap {white-space: nowrap}

/* links */
a,
.link {
	color: #ffa792;
	text-decoration: none;
	font-weight: bold;
	}

h1 a,
h2 a,
h3 a,
h4 a {
	color: inherit;
	text-decoration: none;
	}



/* LAYOUT */

.wrapper {
	max-width: 2650px;
	margin: auto;
	overflow: hidden;
	}

.inner {
	max-width: 1300px;
	margin: auto;
	padding: 0 2rem;
	}
.inner--s {max-width: 600px}
.inner--m {max-width: 1100px}
.inner--l {max-width: 1200px}
.inner--full {max-width: none}

.inner--min {
	padding-top: 2rem;
	padding-bottom: 2rem;
	}
.inner--mid {
	padding-top: 4rem;
	padding-bottom: 4rem;
	}
.inner--max {
	padding-top: 6rem;
	padding-bottom: 6rem;
	}

.block {display: block}
.inline-block {display: inline-block}
.inline-flex {display: inline-flex}
.inline {display: inline}
.none {display: none !important}

.static {position: static}
.relative {position: relative}
.absolute {position: absolute}
.fixed {position: fixed}
.sticky {position: sticky}

.center--x,
.center--y,
.center--xy {
	position: absolute;
	}
.center--x {left: 50%; transform: translateX(-50%)}
.center--y {top: 50%; transform: translateY(-50%)}
.center--xy {left: 50%; top: 50%; transform: translate(-50%, -50%)}

.scroll {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	}



/* FLEX */

.fcc {
	display: flex;
	align-items: center;
	justify-content: center;
	}
.fcb {
	display: flex;
	align-items: center;
	justify-content: space-between;
	}

.flx {display: flex}
.aic {align-items: center}
.ais {align-items: flex-start}
.aie {align-items: flex-end}
.jcc {justify-content: center}
.jcb {justify-content: space-between}
.jca {justify-content: space-around}
.jcs {justify-content: flex-start}
.jce {justify-content: flex-end}

.fdr {flex-direction: row}
.fdc {flex-direction: column}
.fdrr {flex-direction: row-reverse}
.fdcr {flex-direction: column-reverse}

.flx--wrap {flex-wrap: wrap}

/* flex children */
.fg--0 {flex-grow: 0}
.fg--1 {flex-grow: 1}
.f2--0 {flex-shrink: 0}
.fs--1 {flex-shrink: 1}



/* GRID */

.grd {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	}
.gg--1 {grid-gap: 1rem}
.gg--2 {grid-gap: 2rem}
.gg--3 {grid-gap: 3rem}

.grd--2 {grid-template-columns: repeat(2, 1fr)}
.grd--3 {grid-template-columns: repeat(3, 1fr)}
.grd--4 {grid-template-columns: repeat(4, 1fr)}
.grd--5 {grid-template-columns: repeat(5, 1fr)}
.grd--6 {grid-template-columns: repeat(6, 1fr)}

.gc--1 {grid-column: span 1}
.gc--2 {grid-column: span 2}
.gc--3 {grid-column: span 3}
.gc--4 {grid-column: span 4}
.gc--5 {grid-column: span 5}
.gc--6 {grid-column: span 6}
.gc--7 {grid-column: span 7}
.gc--8 {grid-column: span 8}
.gc--9 {grid-column: span 9}
.gc--10 {grid-column: span 10}
.gc--11 {grid-column: span 11}
.gc--12 {grid-column: span 12}




/* MARGINS */

.m--0 {margin: 0} /* reset */
.mt--0 {margin-top: 0rem}
.mt--05 {margin-top: .5rem}
.mt--1 {margin-top: 1rem}
.mt--2 {margin-top: 2rem}
.mt--3 {margin-top: 3rem}
.mt--4 {margin-top: 4rem}

.mr--1 {margin-right: 1rem}
.mr--2 {margin-right: 2rem}

.mb--0 {margin-bottom: 0rem}
.mb--1 {margin-bottom: 1rem}
.mb--2 {margin-bottom: 2rem}
.mb--3 {margin-bottom: 3rem}
.mb--4 {margin-bottom: 4rem}

.ml--1 {margin-left: 1rem}
.ml--2 {margin-left: 2rem}

.p--0 {padding: 0} /* reset */
.p--1 {padding: 1rem}
.p--2 {padding: 2rem}
.p--3 {padding: 3rem}



/* OTHER */

/* video/iframe */
.iframe,
.video {
	position: relative;
	padding-bottom: 56.25%;
	}
.iframe>iframe,
.video>video {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	border: none;
	}

/* cursor */
.cursor--default {cursor: default}
.cursor--move {cursor: move}
.cursor--not-allowed {cursor: not-allowed}
.cursor--pointer {cursor: pointer}

/* background cover */
.cover {
	background: center center / cover no-repeat;
	}
.img--cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
	}



/* COLORS */

.text--black {color: #033135}
.text--white {color: #fff}

/*.bg--black {background-color: #000}*/
.bg--white {background-color: #fff}



/* INPUTS */
button,
input,
textarea {
	-webkit-appearance: none;
	appearance: none;
	}
input[type="checkbox"] {
	-webkit-appearance: checkbox;
	appearance: checkbox;
	}
input[type="radio"] {
	-webkit-appearance: radio;
	appearance: radio;
	}



/* MEDIA */

/* large */
@media only screen and (min-width: 1281px) {

.l--hide {display: none !important}
.l--show {display: block !important}

}

/* medium */
@media only screen and (min-width: 901px) and (max-width: 1280px) {

.m--hide {display: none !important}
.m--show {display: block !important}

}

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

.s--hide {display: none !important}
.s--show {display: block !important}

html,
body,
button,
input,
textarea {
	font-size: 14px;
	line-height: 22px;
	}

.inner {padding: 0 1.5rem}
.inner--min {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	}
.inner--mid {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
	}
.inner--max {
	padding-top: 4rem;
	padding-bottom: 4rem;
	}

}

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

.xs--hide {display: none !important}
.xs--show {display: block !important}

}



/*

project styles

COLORS
black: #000
white: #fff

*/


.bg--black {background-color: #033135}
.bg--coral {background-color: #ffa792}
.bg--lightgreen {background-color: #c1eae3}
.bg--lightergreen {background-color: #E0F4F1}

/* section inner padding top fix */
section:not([class])+section:not([class]) .inner,
section.bg--light+section:not([class]) .inner,
section:not([class])+section.bg--light .inner {
	padding-top: 0;
	}

.link--c,
.link--cw {
	font-family: titillium, sans-serif;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	}

.link--c {color: #033135}
.link--cw {color: #fff}

.link--c::after,
.link--cw::after {
	content: '';
	position: relative;
	width: 8px;
	height: 14px;
	left: 0;
	margin-left: .5rem;
	background: center center / 100% no-repeat;
	transition: left .3s;
	}
.link--c::after {
	background-image: url(../img/chevron-right.svg);
	}
.link--cw::after {
	background-image: url(../img/chevron-right--white.svg);
	}

.link--c:hover::after,
.link--cw:hover::after {
	left: .25rem;
	}

date {
	font-size: .875rem;
	line-height: 1rem;
	font-weight: bold;
	}

.line {
	width: 72px;
	height: 6px;
	margin: 2rem 0;
	}

.line--black {background-color: #033135}
.line--white {background-color: #fff}
.line--coral {background-color: #ffa792}




.btn {
	display: inline-flex;
	align-items: center;
	padding: 0 2rem;
	height: 45px;
	background: #033135; /* default bg color black */
	color: #fff;
	font-family: titillium, sans-serif;
	font-weight: bold;
	text-decoration: none;
	border: 0;
	border-radius: 3% / 50%;
	line-height: 1em;
	white-space: nowrap;
	cursor: pointer;
	transition: transform .3s;
	}

.btn--thin {height: 28px}

.btn--coral {background-color: #ffa792}
.btn--black {background-color: #033135}

@media (hover: hover) and (pointer: fine) {
.btn:hover {
	transform: scale(1.1);
	}
}



/* animation */
@keyframes fadein {
	from {opacity: 0}
	to {opacity: 1}
	}





/* header */
.header {
	position: fixed;
	z-index: 500;
	width: 100%;
	background: rgba(3, 49, 53, .75);
	transition: background .3s;
	}
@media only screen and (min-width: 2650px) {
.header {
	width: 2650px;
	left: 50%;
	transform: translateX(-50%);
	}
}

.header--scrolled {
	background: rgba(3, 49, 53, .9);
	}

.header .inner {
	padding-top: 0;
	padding-bottom: 0;
	}



.header a {
	position: relative;
	font-family: titillium, sans-serif;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	}

.nav {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	}

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

.current-menu-item>a {
	position: relative;
	}
.header-menu>.current-menu-item>a::after,
.header-menu>.current-menu-ancestor>a::after,
.header-menu>li:hover>a::after {
	content: '';
	position: absolute;
	width: 0;
	height: 2px;
	left: 0;
	bottom: -.5rem;
	background: #fff;
	animation: dash .6s 1s forwards;
	}
.header-menu>li:hover>a::after {
	animation-delay: .25s;
	}
@keyframes dash {
	from {width: 0}
	to {width: 100%}
	}

.logo {
	height: 50px;
	}


/* desktop menu+submenu */
@media only screen and (min-width: 901px) {
.header-menu>li {
	position: relative;
	display: flex;
	align-items: center;
	height: 100px;
	transition: height .3s;
	}

.header--scrolled .header-menu>li {
	height: 70px;
	}

.header-menu>li+li {
	margin-left: 3rem;
	}

.header-menu>li>.sub-menu {
	position: absolute;
	top: 100%;
	left: -1rem;
	margin: 0;
	padding: 0;
	font-size: .875rem;
	line-height: 1.25rem;
	background: rgba(3, 49, 53, .75);
	list-style: none;
	min-width: calc(100% + 2rem);
	padding: 1rem;
	transition: background .3s;
	display: none;
	}
.header--scrolled .header-menu>li>.sub-menu {
	background: rgba(3, 49, 53, .9);
	}
.header-menu>li:hover>.sub-menu {
	display: block;
	}

.header-menu>li>.sub-menu>li+li {
	margin-top: 1rem;
	}

}

.header-menu>li>.sub-menu>li {
	display: flex;
	align-items: center;
	white-space: nowrap;
	}

.header-menu>li>.sub-menu>.current-menu-item::before {
	content: '';
	display: block;
	width: 8px;
	height: 14px;
	margin-right: .5rem;
	background: url(../img/chevron-right--white.svg) center center / 100% no-repeat;
	}




/* breadcrumbs */
.breadcrumbs {
	position: relative;
	z-index: 5;
	}
.breadcrumbs a {
	display: inline-flex;
	align-items: center;
	color: #033135;
	}
.breadcrumbs a::after {
	content: '';
	width: 8px;
	height: 14px;
	background: url(../img/chevron-right.svg) center center / 100% no-repeat;
	margin-left: .75rem;
	margin-right: .5rem;
	}

.breadcrumbs--white a {
	color: #fff;
	}
.breadcrumbs--white a::after {
	background-image: url(../img/chevron-right--white.svg);
	}



/* hero */
.hero {
	position: relative;
	color: #fff;
	text-shadow: 0 0 10px rgba(0,0,0,.1);
	overflow: hidden;
	}

.hero__img {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: #fff center center / cover no-repeat;
	animation: zoom 10s linear forwards, fadein 1s;
	}
@keyframes zoom {
	from {transform: scale(1)}
	to {transform: scale(1.25)}
	}

.hero .inner {
	display: flex;
	align-items: center;
	height: 600px;
	}

.hero--big .inner {
	height: 750px;
	}

.hero__breadcrumbs {
	position: absolute;
	top: calc(102px + 1rem);
	}

.hero__content {
	position: relative;
	z-index: 1;
	max-width: 700px;
	}

.hero__content__icon {
	width: 67px;
	margin-right: 33px;
	}

/*.hero__content__heading {
	position: relative;
	}
.hero__content__heading::after {
	content: '';
	position: absolute;
	width: 125px;
	height: 8px;
	left: 0;
	bottom: -2rem;
	background: #fff;
	}*/

.hero h1 {
	display: flex;
	align-items: center;
	font-size: 3.5rem;
	line-height: 3.75rem;
	}

.hero__text {
	font-size: 1.25rem;
	line-height: 1.75rem;
	}
.hero__content>.hero__text+div {
	margin-top: 2rem;
	}


.hero__line {
	width: 100px;
	height: 8px;
	background: #fff;
	margin-top: 2rem;
	
	text-shadow: 0 0 10px rgba(0,0,0,.1);
	}
.hero__line+* {
	margin-top: 3rem;
	}


.hero__box {
	position: absolute;
	z-index: 1;
	right: 0;
	bottom: 0;
	width: 400px;
	}
.hero__box--transition {
	transition: bottom .3s;
	}

.hero__box:hover {
	bottom: 0 !important;
	}

.hero__box__top {
	height: 30px;
	background: rgba(3, 49, 53, .6);
	}

.hero__box__btm {
	background: #033135;
	padding: 2rem;
	}

.hero__box__btm__text {
	overflow: hidden;
	}





/* text+teasers */
.tt {
	display: grid;
	grid-template-columns: .65fr .35fr;
	grid-gap: 8rem;
	}




.teasers__post {
	padding: 2rem 0;
	}

.teasers__post h1 {
	font-size: 1rem;
	line-height: 1.25rem;
	margin-bottom: .5rem;
	}

.arrow-right {
	position: relative;
	width: 11px;
	height: 20px;
	left: 0;
	transition: left .3s;
	}

.teasers__post+.teasers__post {
	border-top: 1px solid;
	}

.teasers__post img {
	margin-left: 1rem;
	}

@media (hover: hover) and (pointer: fine) {
.teasers__post:hover .arrow-right {
	left: .5rem;
	}
}


.module-intro {
	position: relative;
	}
.hero+.module-intro .box {
	position: absolute;
	width: 400px;
	top: -30px;
	right: 0;
	}




/* services */
.srv {
	display: flex;
	overflow: hidden;
	}

.srv__left {
	position: relative;
	z-index: 1;
	flex: 0 0 60%;
	background: #033135;
	background: url(../img/coral.svg) #033135 left calc((100vw - 1300px) / 2 - 150px) bottom / 500px no-repeat;
	display: flex;
	justify-content: flex-end;
	}

.srv__right {
	flex: 0 0 40%;
	transition: transform 1s;
	}
@media (hover: hover) and (pointer: fine) {
.srv:hover .srv__right {
	transform: scale(1.1);
	}
}

.srv__left__inner {
	flex-grow: 1;
	padding: 6rem;
	padding-bottom: 10rem;
	padding-left: 2rem; /* inner */
	max-width: calc(100% - (100vw - 1300px) / 2);
	}

.srvs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 2rem;
	margin-top: 2.5rem;
	}

.srvs__srv {
	padding-bottom: 2rem;
	border-bottom: 1px solid rgba(255,255,255,.2);
	color: #fff;
	}
@media only screen and (min-width: 901px) {
.srvs__srv:hover .arrow-right {
	left: .5rem;
	}
}


.srvs__srv__icon {
	width: 40px;
	height: 100%;
	}

.srvs__srv__title {
	margin-left: 2rem;
	margin-right: auto;
	}




/* quote */
.quote {
	font-size: 2rem;
	line-height: 2.5rem;
	}

.quote-img {
	position: relative;
	padding-bottom: 30%;
	overflow: hidden;
	}
.quote-img img {
	position: absolute;
	transition: transform 1s;
	}
@media (hover: hover) and (pointer: fine) {
.module-quote:hover img {
	transform: scale(1.1);
	}
}



/* boxes */
.boxes {
	display: grid;
	grid-gap: 1rem;
	}

.boxes--2 {grid-template-columns: repeat(2, 1fr)}
.boxes--3 {grid-template-columns: repeat(3, 1fr)}
.boxes--4 {grid-template-columns: repeat(4, 1fr)}

.hero+.module-boxes>.inner {
	padding-top: 0;
	margin-top: -30px;
	}

.box {
	position: relative;
	color: #fff;
	font-family: titillium, sans-serif;
	
	/* grow fix */
	min-width: 0;
	word-break: break-word;
	
	display: flex;
	flex-direction: column;
	}

@media (hover: hover) and (pointer: fine) {
.box:hover .box__img__overlay {
	background: rgba(3, 49, 53, .75);
	}
.box:hover .box__img img {
	transform: scale(1.1);
	}
}

.box__img {
	position: relative;
	overflow: hidden;
	}
.box__img--sq {
	padding-bottom: 100%;
	}
.box__img--rect {
	padding-bottom: 65%;
	}
.box__img--none {
	height: 30px;
	}

.box__img img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s;
	}

.box__img__overlay {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 30px;
	background: rgba(3, 49, 53, .6);
	transition: background .6s;
	}

.box__content {
	flex-grow: 1;
	background: #033135;
	padding: 1.5rem;
	
	display: flex;
	flex-direction: column;
	}

.box__content>* {
	flex-shrink: 0;
	}

.box__content__name {
	display: flex;
	align-items: center;
	}
.box__content__name img {
	width: 40px;
	margin-right: 1rem;
	}
.box__content__name img:nth-child(2) {display: none}

/* media */
@media only screen and (min-width: 901px) {
.box__content--hidden {
	position: relative;
	max-height: 192px;
	overflow: hidden;
	}
.box__content--hidden:not(:hover)::before,
.box__content--hidden:not(:hover)::after {
	content: '';
	position: absolute;
	z-index: 1;
	width: 100%;
	left: 0;
	}
.box__content--hidden:not(:hover)::before {
	height: 1.5rem;
	bottom: 0;
	background: #033135;
	}
.box__content--hidden:not(:hover)::after {
	height: 80px;
	bottom: 1.5rem;
	background: linear-gradient(to bottom, transparent, #033135);
	}

.box__content--hidden:hover {
	position: absolute;
	z-index: 2;
	width: calc(100% + 4rem);
	max-height: none;
	left: -2rem;
	top: -1rem;
	background: #c1eae3;
	color: #033135;
	animation: box .3s;
	}
@keyframes box {
	from {top: 0}
	to {top: -1rem}
	}

.box__content--hidden:hover .box__content__line {
	background: #fff;
	}
.box__content--hidden:hover a {
	color: #033135;
	}
.box__content--hidden:hover .box__content__cta a::after {
	background-image: url(../img/chevron-right.svg);
	}

.box__content--hidden:hover .box__content__name img:nth-child(1) {display: none}
.box__content--hidden:hover .box__content__name img:nth-child(2) {display: block}

}

.box__content>*+* {
	margin-top: 1rem;
	}

.box__content__line {
	width: 60px;
	height: 4px;
	background: #ffa792;
	}

.box__content__title {
	font-size: 1.25rem;
	line-height: 1.5rem;
	}

.box a {
	color: #fff;
	text-decoration: none;
	}

.box__content>*:nth-last-child(2) {
	margin-bottom: 1rem;
	}
.box__content__cta {
	margin-top: auto;
	}

/*.box__content__cta a {
	display: inline-flex;
	align-items: center;
	}
.box__content__cta a::after {
	content: '';
	display: inline-block;
	width: 26px;
	height: 26px;
	background: url(../img/chevron-right--white.svg) center center / 26px no-repeat;
	}*/



.box--light,
.box--light a {
	color: #033135;
	}
.box--light,
.box--light .box__content {
	background: #E0F4F1;
	}
.box--light .box__content::before,
.box--light .box__content::after,
.box--light .box__img {
	display: none;
	}
.box--light .box__content__line {
	background: #033135;
	}





/* img module */
.img {
	position: relative;
	padding-bottom: 35%;
	overflow: hidden;
	}

@media (hover: hover) and (pointer: fine) {
.img img {
	transform: scale(1.1);
	transition: transform .6s;
	}
.img img:hover {
	transform: scale(1);
	}
}




/* btm */
.btm {
	display: flex;
	min-height: 500px;
	}

.btm__left {
	position: relative;
	flex: 0 0 60%;
	}

.btm__left img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	}

.btm__left__overlay {
	position: absolute;
	height: 100%;
	right: 0;
	top: 0;
	background: rgba(3, 49, 53, .75);
	color: #fff;
	padding: 3rem;
	padding-bottom: 5rem;
	max-width: 400px;
	transition: background .6s;
	}

@media (hover: hover) and (pointer: fine) {
.btm__left__overlay:hover {
	background: rgba(3, 49, 53, .9);
	}
}

.btm__left__overlay,
.btm__right {
	display: flex;
	flex-direction: column;
	}

.btm__left__overlay>:nth-last-child(2),
.btm__right>:nth-last-child(2) {
	margin-bottom: 4rem;
	}

.btm__left__overlay>:last-child,
.btm__right>:last-child {
	margin-top: auto;
	}

.btm__right {
	flex: 0 0 40%;
	padding: 3rem;
	padding-bottom: 5rem;
	background-image: url(../img/green.svg);
	background-position: left 150px bottom;
	background-size: auto 5rem;
	background-repeat: no-repeat;
	}



/* top */
.top {
	display: flex;
	min-height: 600px;
	}

.top h1 {
	font-size: 2rem;
	line-height: 2.5rem;
	}
.top p {
	font-size: 1.25rem;
	line-height: 1.75rem;
	}

.top__left__inner {
	max-width: calc(1300px / 2);
	margin-left: auto;
	padding: 2rem;
	padding-top: calc(102px + 1rem);
	}

.top__left,
.top__right {
	flex: 0 0 50%;
	overflow: hidden;
	}

.top__left img {
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
	opacity: 0;
	transition: opacity 2s;
	}
.top__left img.active {
	opacity: 1;
	z-index: 2;
	}

.top__right {
	padding: 4rem;
	padding-top: calc(102px + 2rem);
	max-width: calc(1300px / 2);
	
	display: flex;
	flex-direction: column;
	}

.top__right__items {
	margin-bottom: 2rem;
	}

.top__right__items__item {
	position: absolute;
	opacity: 0;
	z-index: 1;
	transition: opacity 2s;
	}
.top__right__items__item--active {
	opacity: 1;
	z-index: 2;
	}

.top__right__items__item a {
	color: #fff;
	}

.top__right__nav {
	display: flex;
	margin-top: auto;
	}
.top__right__nav__item {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255,255,255,.2);
	cursor: pointer;
	transition: background .6s;
	}
.top__right__nav__item--active {
	background: #fff;
	}

.top__right__nav__item+.top__right__nav__item {
	margin-left: .5rem;
	}




/* tools, terms, order */
.tools>a {
	display: inline-block;
	color: #033135;
	padding-top: 4px;
	padding-bottom: 4px;
	border-bottom: 3px solid transparent;
	}
.tools>a+a {
	position: relative;
	margin-left: 3rem;
	}
.tools>a+a::after {
	content: '';
	position: absolute;
	left: -1.5rem;
	top: 0;
	height: 100%;
	width: 2px;
	background: #033135;
	}
.tools>.active {
	border-color: #c1eae3;
	}



/* search */
.search-wrapper {
	position: absolute;
	right: 0;
	top: 0;
	width: calc((100% - 3rem) / 4);
	}
.search {
	border: none;
	padding: .5rem 1rem;
	background: url(../img/search--green.svg) #E0F4F1 right 1rem center / 18px no-repeat;
	width: 100%;
	}
::placeholder {
	font-family: titillium, sans-serif;
	font-weight: bold;
	color: #9abbb8;
	}

.search-no-hits {
	position: absolute;
	top: calc(100% + .5rem);
	background: #033135;
	color: #fff;
	width: 100%;
	padding: .5rem;
	border-radius: 4px;
	font-size: .875rem;
	line-height: 1rem;
	text-align: center;
	display: none;
	}
.search-no-hits::after {
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	left: calc(50% - 5px);
	top: -5px;
	background: #033135;
	transform: rotate(45deg);
	}


/* terms */
.terms {
	display: flex;
	}
.terms__term,
.select-terms {
	padding: .5rem 1rem;
	background: #E0F4F1;
	color: #033135;
	}
.terms__term+.terms__term {
	margin-left: 1rem;
	}

.terms__term {
	transition: .3s;
	}
.terms__term:hover,
.terms__term.active {
	background: #033135;
	color: #fff;
	}

.select-terms {
	width: 200px;
	margin-bottom: 1rem;
	font-weight: bold;
	cursor: pointer;
	}
.select-terms::after {
	content: '';
	width: 8px;
	height: 14px;
	background: url(../img/chevron-right.svg) center center / 100% no-repeat;
	transform: rotate(90deg);
	}

.select-terms--open::after {
	transform: rotate(270deg);
	}


/* posts */
/*.posts {
	}*/

.posts__title {
	font-family: 'titillium', sans-serif;
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: bold;
	margin-bottom: 1rem;
	}



/* newsletter */
.newsletter {
	background: url(../img/green-top.svg) #c1eae3 right top / 500px no-repeat;
	padding: 3rem;
	}

.newsletter>.flx>:first-child {
	flex: 0 1 400px;
	}
.newsletter>.flx>:last-child {
	flex: 0 1 500px;
	}


.newsletter__title {
	font-size: 2rem;
	line-height: 2.5rem;
	font-weight: bold;
	}
.newsletter__text {
	font-size: 1.5rem;
	line-height: 2rem;
	font-weight: bold;
	}


.newsletter--sidebar {
	padding: 1.5rem;
	background-image: url(../img/green-right.svg);
	background-position: right bottom 100px;
	background-size: auto 300px;
	}
.newsletter--sidebar>.flx {
	flex-direction: column;
	}
.newsletter--sidebar .newsletter__title {
	font-size: 1.75rem;
	line-height: 2.25rem;
	}
.newsletter--sidebar .newsletter__text {
	font-size: 1.25rem;
	line-height: 1.75rem;
	}
.newsletter--sidebar>.flx>:first-child {
	flex: 0 1 auto;
	}
.newsletter--sidebar>.flx>:last-child {
	margin-top: 2rem;
	flex: 0 1 auto;
	}
.newsletter--sidebar .newsletter__form .fcb {
	flex-direction: column;
	}
.newsletter--sidebar .newsletter__form .fcb>:last-child {
	margin: 0;
	margin-top: 1rem;
	}





/* form */
.form {
	padding: 3rem;
	}

.form__cols {
	display: grid;
	grid-gap: 1rem;
	grid-template-columns: repeat(2, 1fr);
	}

.form-cols-2 {
	grid-column: span 2;
	}

.form .hidden {
	display: none;
	}

.form__label {
	font-size: .875rem;
	line-height: 1em;
	font-weight: bold;
	margin-bottom: .5rem;
	}

.form__input {
	display: block;
	background: rgba(255, 255, 255, .9);
	border: none;
	padding: .75rem 1.25rem;
	width: 100%;
	font-size: .875rem;
	line-height: 1.25rem;
	transition: background-color .6s;
	}

.form__input:focus {
	background-color: #fff;
	}

.form__input+.form__input {
	margin-top: .5rem;
	}

.form__input--select {
	appearance: none;
	background-image: url(../img/chevron-down.svg);
	background-position: right .75rem center;
	background-size: auto 18px;
	background-repeat: no-repeat;
	}

.form__file {
	position: relative;
	border: 2px solid #fff;
	padding: 1rem;
	padding-right: 50px;
	font-weight: bold;
	font-size: .875rem;
	line-height: 1rem;
	
	display: flex;
	align-items: center;
	justify-content: space-between;
	}

.form__file+.form__file {
	margin-top: .5rem;
	}

.form__file--name {
	border: none;
	}

.form__file input {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	opacity: 0;
	}

.form__file__add,
.form__file__remove {
	position: absolute;
	display: block;
	width: 50px;
	height: 50px;
	right: 0;
	background: url(../img/minus.svg) center center / 22px no-repeat;
	}
.form__file__add {
	position: static;
	background-image: url(../img/plus.svg);
	border: 2px solid #fff;
	margin-left: auto;
	}

.form__file .name {
	word-break: break-word;
	}


/* checkbox */
.checkbox {
	position: relative;
	display: flex;
	align-items: center;
	font-size: .75rem;
	line-height: 1rem;
	}
.checkbox input,
.checkbox span {
	display: block;
	width: 32px;
	height: 32px;
	background: #fff;
	flex-shrink: 0;
	margin-right: .75rem;
	}
.checkbox input {
	position: absolute;
	z-index: 1;
	opacity: 0;
	}
.checkbox input:checked+span {
	background: url(../img/check.svg) #fff center center / 24px no-repeat;
	}




/* blocks */
.blocks__block {
	display: flex;
	}
.blocks__block:nth-child(2n) {
	flex-direction: row-reverse;
	}

.blocks__block__text {
	flex: 0 0 60%;
	display: flex;
	}
.blocks__block__img {
	flex: 0 0 40%;
	}

.blocks__block:nth-child(2n-1) .blocks__block__text {
	background: #c1eae3;
	color: #033135;
	padding-right: 4rem;
	justify-content: flex-end;
	}
.blocks__block:nth-child(2n-0) .blocks__block__text {
	background: #033135;
	color: #fff;
	padding-left: 4rem;
	justify-content: flex-start;
	}

.blocks__block__text h2 {
	display: flex;
	align-items: center;
	}
.blocks__block__text h2::before {
	content: '';
	display: block;
	width: 11px;
	height: 20px;
	background: center center / 100% no-repeat;
	margin-right: .5rem;
	}
.blocks__block:nth-child(2n-1) .blocks__block__text h2::before {
	background-image: url(../img/chevron-right.svg);
	}
.blocks__block:nth-child(2n-0) .blocks__block__text h2::before {
	background-image: url(../img/chevron-right--white.svg);
	}




.blocks__block__text__inner {
	max-width: calc(100% - ((100vw - 1300px) / 2));
	padding: 6rem 2rem;
	}






/* contact */
.contact {
	display: flex;
	}
.contact__left,
.contact__right {
	flex: 0 0 50%;
	}

.contact__left {
	padding-right: 2rem;
	flex-shrink: 1;
	}


/* contact form */
.contact__left__box {
	height: 100%;
	}
.bg--dark {
	background: url(../img/green.svg) #033135 left bottom / 75% no-repeat;
	}
.bg--light .contact__left__box,
.bg--light .contact__left__box a {
	color: inherit;
	}
.bg--dark .contact__left__box,
.bg--dark .contact__left__box a {
	color: #fff;
	}



/* page */
.page {
	display: flex;
	}
.page__left {
	flex-grow: 1;
	}
.page__right {
	flex: 0 0 calc((100% - 3rem) / 4);
	margin-left: 10rem;
	}



/* post */
.inner--post {
	padding-top: calc(102px + 1rem)
	}

.post-img {
	position: relative;
	margin: 2rem 0 6rem 0;
	padding-bottom: 45%;
	}
.post-img img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	}

.post-date {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 1rem 2rem;
	}
.post-date::after {
	content: '';
	position: absolute;
	left: 0;
	top: -30px;
	width: 100%;
	height: 30px;
	background: inherit;
	opacity: .7;
	}

.preamble {
	font-size: 1.1rem;
	line-height: 1.5rem;
	font-weight: bold;
	}

blockquote {
	font-size: 1.5rem;
	line-height: 2rem;
	font-family: titillium, sans-serif;
	font-weight: bold;
	margin: 4rem 0;
	}

.infobox {
	background: #E0F4F1;
	padding: 2rem;
	}




/* instagram */
.instagram {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 1rem;
	}

.instagram__item {
	display: flex;
	flex-direction: column;
	}

.instagram__item__text {
	flex-grow: 1;
	color: #033135;
	font-size: .875rem;
	font-weight: normal;
	line-height: 1.25rem;
	padding: 1.5rem;
	background: #fff;
	}






/* cookies */
.cookies {
	position: fixed;
	z-index: 400;
	width: 100%;
	left: 0;
	bottom: 0;
	background: #c1eae3;
	display: none;
	}

.cookies::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 30px;
	left: 0;
	top: -30px;
	background: #c1eae3;
	opacity: .5;
	}



/* footer */
.footer__col {
	
	}

.footer-menu {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	}

.footer-menu>li>a,
.footer__col__heading {
	display: inline-block;
	font-weight: bold;
	text-transform: uppercase;
	margin-bottom: 1rem;
	}

.footer-menu>li+li {
	margin-left: 6rem;
	}

.footer-menu .sub-menu li+li {
	margin-top: .25rem;
	}

.footer-menu a {
	color: #fff;
	text-decoration: none;
	}

.footer .logo {
	height: 45px;
	}


.footer-social {
	display: inline-block;
	width: 22px;
	height: 22px;
	}
.footer-social+.footer-social {
	margin-left: 1rem;
	}












/*

MEDIA

*/








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

.header .flx {
	height: 60px;
	}

.logo {
	height: 40px;
	}

/* toggle */
.toggle {
	position: relative;
	z-index: 1500;
	width: 30px;
	height: 16px;
	cursor: pointer;
	}

.toggle>span {
	position: absolute;
	right: 0;
	height: 2px;
	background: #fff;
	border-radius: 4px;
	transition: top .3s .3s, transform .3s, width .3s .3s;
	}

.toggle>span:first-child {
	width: 100%;
	top: 0;
	}
.toggle>span:last-child {
	width: 80%;
	top: 14px;
	}

.toggle--open>span {
	top: 9px !important;
	width: 100% !important;
	transition: top .3s, transform .3s .3s, width .3s;
	}
.toggle--open>span:first-child {
	transform: rotate(-45deg);
	}
.toggle--open>span:last-child {
	transform: rotate(45deg);
	}

.header .logo {
	position: relative;
	z-index: 1500;
	}

/* menu */
.menu {
	position: fixed;
	z-index: 1000;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: #033135;
	padding: 1.5rem;
	padding-top: 6rem;
	font-size: 1.1rem;
	line-height: 1.6rem;
	display: none;
	
	animation: fadein .6s;
	}

.header-menu {
	flex-direction: column;
	}

.header-menu li {
	position: relative;
	}

.header-menu>li {
	padding: 1rem 0;
	/*border-bottom: 1px solid rgba(255,255,255,.1);*/
	}

.header-menu .sub-menu {
	display: none;
	transition: height .3s;
	overflow: hidden;
	}
.header-menu .sub-menu li {
	padding: .5rem 0;
	padding-left: 1rem;
	}
.header-menu .sub-menu li:first-child {
	padding-top: 1.5rem;
	}

.header-menu>.menu-item-has-children::after {
	content: '';
	position: absolute;
	width: 8px;
	height: 14px;
	right: 0;
	top: 14px;
	background: url(../img/chevron-right--white.svg) center center / 100% no-repeat;
	transform: rotate(90deg);
	transition: transform .3s;
	}

.header-menu>.menu-item-has-children.open::after {
	transform: rotate(270deg);
	}



/* hero */
.hero h1 {
	flex-direction: column;
	align-items: flex-start;
	font-size: 2.5rem;
	line-height: 3rem;
	}
.hero__content__icon {
	width: 50px;
	margin: 0;
	margin-bottom: 1rem;
	}

.hero__line {
	margin-top: 1rem;
	}
.hero__line+* {
	margin-top: 2rem;
	}
.hero__breadcrumbs {
	top: calc(60px + 1rem);
	}


/* modules */
.tt {
	grid-template-columns: 100%;
	grid-gap: 4rem;
	}

.hero+.module-intro .box {
	position: static;
	width: auto;
	}

.srv {
	flex-direction: column-reverse;
	}
.srv__left__inner {
	padding: 3rem 1.5rem;
	}
.srv__right {
	flex: 0 0 280px;
	}
.srvs {
	grid-template-columns: 100%;
	}

.srvs__srv__icon {
	width: 30px;
	}
.arrow-right {
	width: 16px;
	height: 30px;
	}

.boxes {
	grid-template-columns: repeat(2, 1fr);
	}

.boxes--snap,
.instagram {
	display: flex;
	grid-gap: 0;
	flex-wrap: nowrap;
	overflow: auto;
	scroll-snap-type: x mandatory;
	
	margin-left: -1.5rem;
	margin-right: -1.5rem;
	padding-left: 1.5rem;
	}
.boxes--snap .box,
.instagram__item {
	width: 40%;
	flex-shrink: 0;
	scroll-snap-align: center;
	}

.boxes--snap>*+* {
	margin-left: 1rem;
	}

.boxes--snap::after {
	content: '';
	flex-shrink: 0;
	width: 1.5rem;
	}




.btm {
	flex-direction: column;
	}
.btm__left {
	flex: 0 1 500px;
	}
.btm__left__overlay {
	height: auto;
	bottom: 0;
	top: auto;
	padding: 2rem;
	}
.btm__right {
	padding: 3rem 2rem;
	}


.blocks__block {
	flex-direction: column-reverse !important;
	}
.blocks__block__text {
	padding: 0 !important;
	}
.blocks__block__img {	
	padding-bottom: 65%;
	}




.contact {
	flex-direction: column;
	}
.contact__right {
	margin-top: 2rem;
	}



.quote-img {
	padding-bottom: 50%;
	}


.img {
	padding-bottom: 65%;
	}




/* blog */




.filters {
	padding: 1rem;
	}

.filters__toggle {
	width: 12px;
	height: 22px;
	background: url(../img/chevron-right.svg) center center / 100% no-repeat;
	cursor: pointer;
	transform: rotate(90deg);
	}
.filters__toggle--open {
	transform: rotate(270deg);
	}

.filters__rows {
	margin-top: 1rem;
	display: none;
	}

.filters__row+.filters__row {
	border-top: 1px solid #033135;
	padding-top: 1.5rem;
	margin-top: 1.5rem;
	}
.filters__row__items {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 1rem;
	}
.filters__row__items>* {
	flex: 0 1 50%;
	border: 2px solid #fff;
	color: #033135;
	padding: .25rem .5rem;
	text-align: center;
	font-weight: bold;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: .875rem;
	line-height: 1.25rem;
	}

.filters__row__items>.active {
	background: #033135;
	color: #fff;
	border-color: transparent;
	}




/* newsletter */
.newsletter {
	padding: 1.5rem;
	background-image: url(../img/green-right.svg);
	background-position: right bottom 100px;
	background-size: auto 300px;
	}
.newsletter>.flx {
	flex-direction: column;
	}
.newsletter>.flx>div {
	flex: 0 0 auto !important;
	}
.newsletter>.flx>div:last-child {
	margin-top: 2rem;
	}
.newsletter .newsletter__form>.fcb {
	flex-direction: column;
	}
.newsletter .newsletter__form>.fcb>:last-child {
	margin: 0;
	margin-top: 2rem;
	}




/* form */
.form {
	padding: 1.5rem;
	}

.form__cols {
	grid-template-columns: repeat(1, 1fr);
	}

.form>.mt--2>.flx {
	flex-direction: column;
	}
.form>.mt--2>.flx>:last-child {
	margin: auto;
	margin-top: 2rem;
	}



/* page */
.page {
	flex-direction: column;
	}
.page__right {
	flex: auto;
	margin: 0;
	margin-top: 4rem;
	}

.page__left__info {
	padding: 1.5rem;
	}



/* post */
.inner--post {
	padding-top: calc(60px + 1rem)
	}
.post-img {
	margin-bottom: 4rem;
	padding-bottom: 65%;
	}
.post-date {
	position: relative;
	}



/* footer */
.footer__top .flx {
	flex-direction: column;
	}
.footer-menu {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 2rem;
	margin-bottom: 4rem !important;
	}
.footer-menu>li {
	margin: 0 !important;
	}


}






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

.hero .inner {
	height: calc(100vh - 12rem);
	}
.hero--big .inner {
	height: calc(100vh - 6rem);
	}


.boxes {
	grid-template-columns: 100%;
	}
.boxes--snap .box,
.instagram__item {
	width: 80%;
	}


.top {
	flex-direction: column;
	min-height: none;
	}
.top__left {
	flex: 0 0 300px;
	}
.top__left__inner {
	max-width: none;
	padding: 1.5rem;
	padding-top: 5rem;
	}

.top h1 {
	font-size: 1.5rem;
	line-height: 2rem;
	}
.top p {
	font-size: 1.1rem;
	line-height: 1.5rem;
	}

.top__right {
	flex: 1 0 auto;
	padding: 1.5rem;
	}

.top__right__nav {
	bottom: 1rem;
	}

.top__right__items__item {
	
	}
.top__right__items__item>:last-child {
	position: absolute;
	right: 0;
	bottom: -3rem;
	}

}