@charset "UTF-8";

/* RESET */

* {
	padding:0;
	margin:0;
	outline:none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-variant-ligatures: none;
}

* > :last-child { 
	margin-bottom:0;
}

*, html {

    scroll-behavior: smooth !important;
}

img {
	width:100%;
	height:auto;
	display:block;
	vertical-align: middle;
}

.clearfix::after {
	content:"";
	clear:both;
	display:table;
}

a, abbr, acronym, address, applet, article, aside, audio, b, blockquote, big, body, center, canvas, caption, cite, code, command, datalist, dd, del, details, dfn, dl, div, dt, 
em, embed, fieldset, figcaption, figure, font, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, keygen, label, legend, li, meter, nav,
object, ol, output, p, pre, progress, q, s, samp, section, small, span, source, strike, strong, sub, sup, table, tbody, tfoot, thead, th, tr, td, video, tt, u, ul, var, a img {
    background:transparent;
	border:0 none;
	outline:none;
	vertical-align:baseline;
	padding:0;
	margin:0;    
}


/* GENERAL */

html {
	scroll-behavior: smooth;
}

body {
	text-rendering:optimizeLegibility;
	position:relative;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}

h1 {
	font-size:100px;
	line-height:100px;
	font-family:"ivypresto-headline", serif;
	font-weight:300;
	color:#fff;
	margin:0 0 50px 0;
}

h1 strong {
	font-family:"ivypresto-headline", serif;
	font-weight:400;
}

h1 em {
	font-family:"ivypresto-headline", serif;
	font-weight:300;
	font-style:italic;
}

h2 {
	font-size:70px;
	line-height:75px;
	font-family:"ivypresto-headline", serif;
	font-weight:300;
	color:#090909;
	margin:0 0 60px 0;
}

h2 em {
	font-family:"ivypresto-headline", serif;
	font-weight:300;
	font-style:italic;
}

h3 {
	font-size:50px;
	line-height:55px;
	font-family:"ivypresto-headline", serif;
	font-weight:400;
	color:#090909;
	margin:0 0 50px 0;
}

h4 {
	font-size:15px;
	line-height:20px;
	font-family:"inter-tight-variable", sans-serif;
	font-variation-settings:"wght" 500;
	text-transform:uppercase;
	letter-spacing:0.05em;
	color:#9cb2ab;
	margin:0 0 20px 0;
}

h5 {
	font-size:25px;
	line-height:35px;
	font-family:"inter-tight-variable", sans-serif;
	font-variation-settings:"wght" 400;
	color:#090909;
	margin:0 0 20px 0;
}

p {
	font-size:20px;
	line-height:27px;
	font-family:"inter-tight-variable", sans-serif;
	font-variation-settings:"wght" 300;
	color:#090909;
	display:block;
	margin:0 0 40px;
}

a {
	text-decoration:none;
	color:inherit;
}

.button {
	font-size:16px;
	line-height:25px;
	font-family:"inter-tight-variable", sans-serif;
	font-variation-settings:"wght" 500;
	letter-spacing:0.05em;
	text-transform:uppercase;
	color:#090909;
	background:none;
	display:flex;
	align-items:center;
	border-radius:30px;
	padding:0;
	margin-top:0;
}

.button:after {
	content:"";
	display:inline-block;
	border:1px solid #9cb2ab;
	border-radius:50%;
	background:url("../images/arrow-green.svg") no-repeat center center / 17px 11px;
	padding:20px;
	margin-left:20px;
	transition:all 0.3s ease;
}

.button:hover:after {
	background:#9cb2ab url("../images/arrow-white.svg") no-repeat center center / 17px 11px;
	margin-left:25px;
}

.link {
	font-size:16px;
	line-height:25px;
	font-family:"inter-tight-variable", sans-serif;
	font-variation-settings:"wght" 500;
	letter-spacing:0.05em;
	text-transform:uppercase;
	color:#090909;
	background:none;
	display:flex;
	align-items:center;
	border-radius:30px;
	padding:0;
	margin-top:0;
}

.link:after {
	content:"";
	width:17px;
	height:11px;
	display:inline-block;
	background:url("../images/arrow-green.svg") no-repeat center center / 17px 11px;
	margin-left:20px;
	transition:all 0.3s ease;
}

.button:hover:after {
	background:#9cb2ab url("../images/arrow-white.svg") no-repeat center center / 17px 11px;
	margin-left:25px;
}

hr {
	width:100%;
	height:40px;
	background:none;
	border:0;
	display:block;
	padding:0;
	margin:0;
}

hr.divider {
	width:1600px;
	height:1px;
	background:#9cb2ab;
	padding:0 100px;
	margin:0 auto;
}

hr.spacer-small {
	height:20px;
}

.container {
	width:1700px;
	margin:0 auto;
	padding:140px 0 140px 80px;
	position:relative;
}

.grey {
	background:#ebebeb;
}

.list {
	margin-left:25px;
}

.list li::marker {
  color:#9cb2ab;
}

.list li {
	font-size:20px;
	line-height:27px;
	font-family:"inter-tight-variable", sans-serif;
	font-variation-settings:"wght" 300;
	color:#090909;
	margin:0 0 10px;
}

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

.three-columns {
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  column-gap:50px;
  row-gap:70px;
}

/* NAVIGATION */

.logo {
	width:250px;
	position:absolute;
	top:30px;
	left:0;
}

nav {
	width:100%;
	height:130px;
	background:#fff;
	position:relative;
	z-index:999;
}

nav ul {
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	list-style:none;
}

nav ul li {
	display:inline-block;
	margin:0;
}

nav ul li a {
	font-size:20px;
	line-height:25px;
	font-family:"inter-tight-variable", sans-serif;
	font-variation-settings:"wght" 500;
	color:#004c43;
	padding:20px 30px;
	transition:all 0.3s ease;
}

nav ul li a:hover {
	color:#9cb2ab;
}

nav ul li.social:nth-last-child(2) {
	margin-left:40px;
}

nav ul li.social {
	margin-left:15px;
}

nav ul li.social a {
	display:inline-block;
	border:1px solid #9cb2ab;
	border-radius:50%;
	padding:15px;
}

nav ul li.social a:hover {
	background:#9cb2ab;
}

nav ul li.social a img {
	width:15px;
	display:block;
}

/* HEADER */

header {
	background:#004c43;
	position:relative;
}

header .container {
	padding:0;
}

header .two-columns {
	display:grid;
  grid-template-columns:repeat(2, 1fr);
  column-gap:0;
  row-gap:0;
}

header .two-columns .col:nth-child(1) {
  padding:280px 80px 140px 80px;
}

header .two-columns .col:nth-child(2) {
	padding-left:90px;
	background:#004c43;
	position:relative;
}

header .two-columns .col:nth-child(2) .pattern {
	width:90px;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	background:url("../images/header-pattern.svg") top left / 440px 2090px;
}

header .background-texture {
  position:absolute;
  top:0;
  left:50%;
  width:50%;
  height:100%;
  background:#dedbd4;
}

header .two-columns .col:nth-child(2) .photo {
	width:100%;
	height:100%;
	margin-top:-130px;
}

header .two-columns .col:nth-child(2) .photo .insert {
	width:800px;
	display:flex;
	align-items:flex-end;
	position:absolute;
	bottom:70px;
	left:0;
}

header .two-columns .col:nth-child(2) .photo .insert img {
	width:440px;
	margin-right:30px;
}

header .two-columns .col:nth-child(2) .photo .insert p {
	font-variation-settings:"wght" 400;
	color:#fff;
}

header p {
	font-size:25px;
	line-height:35px;
	font-family:"inter-tight-variable", sans-serif;
	font-variation-settings:"wght" 300;
	color:#acc6be;
	margin:0 0 50px 0;
}

header .button {
	color:#fff;
}

header .button:after {
	background:url("../images/arrow-white.svg") no-repeat center center / 17px 11px;;
}

header .button:hover:after {
	background:#9cb2ab url("../images/arrow-green.svg") no-repeat center center / 17px 11px;
	margin-left:25px;
}

.full-width .two-columns {
	display:flex;
}

.full-width .two-columns .col {
	flex:1;
	position:relative;
}

.full-width .two-columns .col .content {
	width:850px;	
}

.full-width .col:nth-child(1) .content {
  float:right;
  position:relative;
  padding:130px 80px;
}

.full-width .col:nth-child(2) .content {
  float:left;
  padding:130px 80px 130px 90px;
}


#intro .two-columns .col:nth-child(1) {
	background:#cec3bb url("../images/jk-pattern.svg") repeat-y top right / 150px 1130px;
}

#intro .col:nth-child(1) .content {
	padding-top:120px;
	padding-bottom:120px;
}

#intro .two-columns .col:nth-child(1) .content:before {
	content:"";
	width:90px;
	height:72px;
	background:url("../images/quotes.svg") no-repeat center center;
	position:absolute;
	top:80px;
	left:80px;
}

#intro .two-columns .col:nth-child(1) .testimonial {
	position:relative;
	display:flex;
	align-items:center;
}

#intro .two-columns .col:nth-child(1) .testimonial h3 {
	width:630px;
	font-size:40px;
	line-height:45px;
	font-family:"inter-tight-variable", sans-serif;
	font-variation-settings:"wght" 300;
	text-align:center;
	color:#fff;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}

#intro .two-columns .col:nth-child(1) .photo {
	width:100%;
	border-radius:50%;
}

#intro .two-columns .col:nth-child(1) .content p {
	color:#fff;
	position:absolute;
	bottom:50px;
	left:80px;
}

#intro .two-columns .col:nth-child(1) .content p strong {
	font-variation-settings:"wght" 600;
}


/* CTA */

#cta {
	background:#617357 url("../images/cta-background.jpg") no-repeat center center;
	text-align:center;
}

#cta .container {
	padding-top:120px;
	padding-bottom:100px;
}

#cta h2 {
	color:#fff;
	margin:0 0 30px 0;
}

#cta h4 {
	color:#fff;
}

#cta .button {
	color:#fff;
	justify-content: center;
}

#cta .button:after {
	background:url("../images/arrow-white.svg") no-repeat center center / 17px 11px;;
}

#cta .button:hover:after {
	background:#9cb2ab url("../images/arrow-green.svg") no-repeat center center / 17px 11px;
}


/* SUBPAGES */

#subpage-intro .two-columns .col:nth-child(1) {
	padding-right:120px;
}

#subpage-intro .two-columns .col:nth-child(2) {
	padding-left:50px;
}

.flower-pattern {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:-1700px;
	background:url("../images/flower-pattern.svg") top right / 76px 76px;
}

#call-out .two-columns .col:nth-child(1) {
	background:#cec3bb url("../images/jk-pattern.svg") repeat-y top right / 150px 1130px;
}

#call-out .two-columns .col:nth-child(1) .content {
	padding-right:180px;
}

#call-out h4 {
	color:#fff;
}

#call-out .button {
	color:#fff;
}

#call-out .button:after {
	background:url("../images/arrow-white.svg") no-repeat center center / 17px 11px;
	border:1px solid rgba(255, 255, 255, 0.5);
}

#call-out .button:hover:after {
	background:#fff url("../images/arrow-pink.svg") no-repeat center center / 17px 11px;
	margin-left:25px;
}


/* TEAM */

#team {
	background:#f2f1ee;
}

#team h5 {
	margin:0 0 10px 0;
}

#team .col p {
	margin:0 0 20px 0;
}

.popup {
	width:1200px;
	display:none;
	padding:80px;
}

.popup h3 {
	margin:0 0 25px 0;
}

.popup .title {
	font-size:25px;
}

.f-button svg {
	stroke:#9cb2ab !important;
}


/* OUR SERVICES */

#our-services .flower-pattern {
	left:-1700px;
}

#our-services .two-columns {
	display:grid;
	grid-template-columns:770px 850px;
	border-bottom:1px solid #9cb2ab;
	padding-bottom:80px;
	margin-bottom:80px;
}

#our-services .two-columns .col:nth-child(1) {
	padding-right:100px;
}

#our-services h3 {
	position:relative;
	padding-left:70px;
}

.one:before {
	content:"01";
	font-size:17px;
	line-height:20px;
	font-family:"inter-tight-variable", sans-serif;
	font-variation-settings:"wght" 500;
	text-transform:uppercase;
	letter-spacing:0.05em;
	color:#9cb2ab;
	position:absolute;
	top:10px;
	left:0;
}

.two:before {
	content:"02";
	font-size:17px;
	line-height:20px;
	font-family:"inter-tight-variable", sans-serif;
	font-variation-settings:"wght" 500;
	text-transform:uppercase;
	letter-spacing:0.05em;
	color:#9cb2ab;
	position:absolute;
	top:10px;
	left:0;
}

.three:before {
	content:"03";
	font-size:17px;
	line-height:20px;
	font-family:"inter-tight-variable", sans-serif;
	font-variation-settings:"wght" 500;
	text-transform:uppercase;
	letter-spacing:0.05em;
	color:#9cb2ab;
	position:absolute;
	top:10px;
	left:0;
}


/* FOOTER */

footer .container {
	padding-top:100px;
	padding-bottom:100px;
}

footer .four-columns {
	display:grid;
	grid-template-columns:545px 300px 540px 236px;
  column-gap:0;
  row-gap:0;
}

.footer-logo {
	width:325px;
	margin:0 0 20px 0;
}

footer .four-columns .col:nth-child(4) {
	display:flex;
	justify-content:right;
	padding-right:80px;
}

footer .social {
	display:inline-block;
	margin-left:15px;
}

footer .social a {
	display:block;
	border:1px solid #9cb2ab;
	border-radius:50%;
	padding:15px;
}

footer .social a:hover {
	background:#9cb2ab;
}

footer .social a img {
	width:15px;
	display:block;
}

.copyright {
	font-size:17px;
	padding-left:87px;
}