/*
Theme Name: Outbrand
Author: We Are Flourish
Author URI: https://weareflourish.com/
*/

/* resets
--------------------------------------------------------------------------
*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }

html { font-size: 100%; -webkit-text-size-adjust: 100%; line-height: 1; overflow-y: scroll; box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }

article, aside, details, div, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { position: relative; display: block; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]) { display: none; height: 0; }
progress { vertical-align: baseline; }
[hidden], template { display: none; }

svg:not(:root) { overflow: hidden; }

img, iframe { border: 0; vertical-align: middle; }

strong { font-weight: bolder; }
em { font-style: italic; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

button, input, optgroup, select, textarea { margin: 0; font: inherit; font-size: 100%; line-height: 1; vertical-align: baseline; color: inherit; outline: 0; border-radius: 0; }
button, input, textarea { padding: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
label, button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; }
button, input[type="button"], input[type="reset"], input[type="submit"] { vertical-align: bottom; -webkit-appearance: button; }
button[disabled], input[disabled] { cursor: default; }
button { width: auto; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border: 0; padding: 0; }
input[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
input[type="search"]::-ms-clear,
input[type="search"]::-ms-reveal { display: none; width: 0; height: 0; }
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }

table { border-collapse: collapse; border-spacing: 0; }
th, td { vertical-align: top; }
th { font-weight: normal; text-align: left; }

h1, h2, h3, h4, h5, h6 { font-weight: normal; }

ul, ol { list-style: none; }
li { display: list-item; }

hr { box-sizing: content-box; height: 0; overflow: visible; }

a { color: #000; background: transparent; text-decoration: none; cursor: pointer; text-decoration-skip: ink; }
a:focus { outline: thin dotted; }
a:active, a:hover { outline: 0; }

.hide { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }

a, span, button { transition: color 0.4s ease, background-color 0.4s ease, border-color 0.4s ease, opacity 0.4s ease, text-decoration-color 0.4s ease; }

/* global
--------------------------------------------------------------------------
*/

body { font: 62.5%/1 "tt-commons-pro", 'Helvetica Neue', Arial, Helvetica, sans-serif; background: #fff; color: #000; }

.anim,
.animc > * { position: relative; transform: translateY(100px); opacity: 0; transition: all 0.6s ease; }
.anim.inview,
.animc > *.inview { transition-delay: 0.4s; transform: translateY(0); opacity: 1; }

.btn { font-size: 17px; background: none; border: 0; text-align: center; display: inline-flex; }
.btn span { height: 41px; border: 1px solid #000000; display: flex; justify-content: center; align-items: center; }
.btn span:nth-of-type(1) { padding: 0 12px; }
.btn span:nth-of-type(2) { width: 41px; border-radius: 50%;; }
.btn span:nth-of-type(2) svg { width: 12px; height: auto; }
.btn span:nth-of-type(2) svg g { transition: stroke 0.4s ease; }

.btn:hover span { color: #FFFFFF; background: #000000; }
.btn:hover span g { stroke: #FFFFFF; }

.btn.rv span { color: #FFFFFF; border-color: #FFFFFF; }
.btn.rv span g { stroke: #FFFFFF; }
.btn.rv:hover span { color: #000000; background: #FFFFFF; }
.btn.rv:hover span g { stroke: #000000; }

.btn.solid span { color: #FFFFFF; background: #000000; }
.btn.solid span g { stroke: #FFFFFF; }
.btn.solid:hover span { color: #000000; background: #FFFFFF; }
.btn.solid:hover span g { stroke: #000000; }

@media only screen and (min-width: 1024px) {
	.btn { font-size: 28px; }
	.btn span { height: 2.107em; border-width: 0.036em; }
	.btn span:nth-of-type(1) { padding: 0 0.786em; }
	.btn span:nth-of-type(2) { width: 2.107em; }
	.btn span:nth-of-type(2) svg { width: 0.536em; }
}

@media only screen and (min-width: 1024px) {
	.btn { font-size: 1.46vw; }
}

body > header { width: 100%; padding: 14px 11px; position: fixed; top: 0; left: 0; background: #FFFFFF; border: 1px solid #000000; border-width: 0 0 1px; display: flex; justify-content: space-between; align-items: center; z-index: 50; }
body > header h1 { order: 2; }
body > header h1 a { position: relative; display: inline-flex; }
body > header h1 a img { width: auto; height: 18px; }
body > header h1 a img + img { display: none; }
body > header ul { order: 1; }
body > header ul li button { width: 25px; height: 25px; background: none; border: 0; position: relative; display: block; -moz-appearance: none; -webkit-appearance: none; appearance: none; }
body > header ul li button span { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
body > header ul li button span::before,
body > header ul li button span::after { width: 100%; height: 4px; background: #000000; position: absolute; left: 0; transition: transform 0.4s ease, top 0.4s ease; content: " "; display: block; }
body > header ul li button span::before { top: calc( 50% + 1px ); }
body > header ul li button span::after { bottom: calc( 50% + 1px ); }
html.menu body > header ul li button span::before { transform: rotate(45deg); top: calc( 50% - 2px ); }
html.menu body > header ul li button span::after { transform: rotate(-45deg); top: calc( 50% - 2px ); }

@media only screen and (min-width: 1024px) {
	body > header { width: 76px; height: 100%; padding: 45px 25px; border-width: 0 1px 0 0; flex-direction: column; justify-content: start; align-items: center; gap: 60px; }
	body > header h1 a img { width: 25px; height: auto; display: none; }
	body > header h1 a img + img { display: block; }
	body > header ul li button { width: 25px; height: 25px; }
	body > header ul li button span::before,
	body > header ul li button span::after { height: 4px; }
	body > header ul li button span::before { top: calc( 50% + 1px ); }
	body > header ul li button span::after { bottom: calc( 50% + 1px ); }
}

@media only screen and (min-width: 1024px) {
	body > header { width: 3.96vw; padding: 2.34vw 1.3vw; border-width: 0 0.05vw 0 0; gap: 3.13vw; }
	body > header h1 a img { width: 1.3vw; }
	body > header ul li button { width: 1.3vw; height: 1.3vw; }
	body > header ul li button span::before,
	body > header ul li button span::after { height: 0.21vw; }
	body > header ul li button span::before { top: calc( 50% + 0.05vw ); }
	body > header ul li button span::after { bottom: calc( 50% + 0.05vw ); }
}

body.home > header { transform: translateY(-100%); transition: transform 0.4s ease; }
body.home > header.headroom--not-top { transform: translateY(0); }

@media only screen and (min-width: 1024px) {
	body.home > header { transform: translateY(0); }
}

html.menu { overflow: hidden; }
body > .menu-overlay { display: none; }
body > .menu { width: 100%; height: 100%; padding: 100px 11px 32px; background: #FFFFFF; overflow: auto; position: fixed; top: 0; left: -100%; display: flex; flex-direction: column; justify-content: flex-end; transition: left 0.4s ease; z-index: 49; }
html.menu body > .menu { left: 0; }
body > .menu a:not(.btn):hover { opacity: 0.24; }
body > .menu .contact { margin: 0 0 auto; }
body > .menu .contact ul { font-size: 20px; line-height: 24px; }
body > .menu .menu ul { font-weight: 800; font-size: 38px; line-height: 35px; text-transform: uppercase; }
body > .menu .menu ul li.pink a:hover { color: #F7D6CF; opacity: 1; }
body > .menu .menu ul li.green a:hover { color: #8DEDAF; opacity: 1; }
body > .menu .menu ul li.blue a:hover { color: #C0E2E2; opacity: 1; }
body > .menu .menu ul li.purple a:hover { color: #DACEFB; opacity: 1; }
body > .menu .buttons { padding: 32px 0 0; }
body > .menu .copyright { padding: 46px 0 0; }
body > .menu .copyright ul { font-weight: 300; font-size: 16px; line-height: 19px; }
body > .menu .legal { padding: 14px 0 0; }
body > .menu .legal ul { font-size: 16px; line-height: 19px; display: flex; gap: 19px; }
body > .menu .images { display: none; }

@media only screen and (min-width: 1024px) {
	body > .menu-overlay { width: 100%; height: 100%; background: #000000; opacity: 0.53; position: fixed; top: 0; left: -100%; display: block; transition: left 0.4s ease; z-index: 48; }
	html.menu body > .menu-overlay { left: 0; }
	body > .menu { width: 1745px; height: auto; padding: 122px 0 65px 862px; left: -1745px; border-radius: 0 0 30px 0; display: grid; grid-template-columns: 449px 1fr; }
	html.menu body > .menu { left: 0; }
	body > .menu .contact { margin: 0; padding: 0 0 120px; grid-column: span 2; }
	body > .menu .contact ul { font-size: 26px; line-height: 1.231; display: grid; grid-template-columns: 449px 1fr; }
	body > .menu .menu { grid-column: span 2; }
	body > .menu .menu ul { font-size: 53px; line-height: 1.1; display: grid; grid-template-columns: 449px 1fr; grid-template-rows: auto auto auto auto; grid-auto-flow: column; }
	body > .menu .menu ul li { overflow: hidden; }
	body > .menu .menu ul li.pink,
	body > .menu .menu ul li.green,
	body > .menu .menu ul li.blue,
	body > .menu .menu ul li.purple { grid-column: 2; }
	body > .menu .buttons { padding: 120px 0 46px; grid-column: 2; }
	body > .menu .copyright { padding: 0; grid-column: 1; grid-row: 4; }
	body > .menu .copyright ul { font-size: 18px; line-height: 1.222; }
	body > .menu .legal { padding: 0; grid-column: 2; grid-row: 4; align-self: end; }
	body > .menu .legal ul { font-size: 18px; line-height: 1.222; gap: 1.222em; }
	body > .menu .images { width: 433px; height: 494px; position: absolute; bottom: 65px; left: 261px; display: block; }
	body > .menu .images div { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
	body > .menu .images div img { width: 100%; height: 100%; opacity: 0; object-fit: cover; transition: opacity 0.4s ease; }
	body > .menu .images div.hover img { opacity: 1; }
}

@media only screen and (min-width: 1024px) {
	body > .menu { width: 90.89vw; padding: 6.35vw 0 3.39vw 44.9vw; left: -90.89vw; border-radius: 0 0 1.56vw 0; grid-template-columns: 23.39vw 1fr; }
	html.menu body > .menu { left: 0; }
	body > .menu .contact { padding: 0 0 6.25vw; }
	body > .menu .contact ul { font-size: 1.35vw; grid-template-columns: 23.39vw 1fr; }
	body > .menu .menu ul { font-size: 2.76vw; grid-template-columns: 23.39vw 1fr; }
	body > .menu .buttons { padding: 6.25vw 0 2.4vw; }
	body > .menu .copyright ul { font-size: 0.94vw; }
	body > .menu .legal ul { font-size: 0.94vw; }
	body > .menu .images { width: 22.55vw; height: 25.729vw; bottom: 3.385vw; left: 13.59vw; }
}

main { background: #FFFFFF; z-index: 2; }
main img { width: 100%; height: auto; }

@media only screen and (min-width: 1024px) {
	main { margin: 0 0 100vh; }
}

/*
Light
font-weight: 200;
Regular
font-weight: 300;
Medium
font-weight: 400;
DemiBold
font-weight: 500;
ExtraBold
font-weight: 700;
Black
font-weight: 800;
*/

main > .intro { padding: 24px 10px 0; color: #FFFFFF; background: #2A1430; }
main > .intro h1 img { filter: invert(85%) sepia(13%) saturate(425%) hue-rotate(321deg) brightness(103%) contrast(94%); }
main > .intro .text-1 { padding: 88px 0 0; }
main > .intro .text-1 p { font-weight: 700; font-size: 22px; line-height: 1; text-transform: uppercase; text-wrap: balance; }
main > .intro .text-2 { margin: 49px 0 0 97px; padding: 49px 12px 46px 23px; border: 1px solid #FFFFFF; border-width: 0 0 0 1px; }
main > .intro .text-2::before { font-size: 30px; position: absolute; top: calc( 50% - 0.5em ); left: -51px; content: "→"; display: block; }
main > .intro .text-2 p { font-size: 17px; line-height: 21px; }

@media only screen and (min-width: 1024px) {
	main > .intro { padding: 36px 32px 0 147px; display: grid; grid-template-columns: 1fr 764px; gap: 110px 0; }
	main > .intro h1 { grid-column: span 2; }
	main > .intro .text-1 { padding: 0 250px 0 38px; }
	main > .intro .text-1 p { font-size: 40px; }
	main > .intro .text-2 { margin: 0; padding: 146px 352px 49px 62px; border-width: 0 0 0 1px; }
	main > .intro .text-2::before { font-size: 55px; left: -2.000em; }
	main > .intro .text-2 p { font-size: 35px; line-height: 1.257; }
}

@media only screen and (min-width: 1024px) {
	main > .intro { padding: 1.88vw 1.67vw 0 7.66vw; grid-template-columns: 1fr 39.79vw; gap: 5.73vw 0; }
	main > .intro .text-1 { padding: 0 13.02vw 0 1.98vw; }
	main > .intro .text-1 p { font-size: 2.08vw; }
	main > .intro .text-2 { padding: 7.6vw 18.33vw 2.55vw 3.23vw; border-width: 0 0 0 0.05vw; }
	main > .intro .text-2::before { font-size: 2.86vw; }
	main > .intro .text-2 p { font-size: 1.82vw; }
}

main > .overview { padding: 0 10px; background: #FFFFFF; display: flex; flex-direction: column; }
html.pink body:not(.home) main > .overview { background: #F7D6CF; }
html.green body:not(.home) main > .overview { background: #8DEDAF; }
html.blue body:not(.home) main > .overview { background: #C0E2E2; }
html.purple body:not(.home) main > .overview { background: #DACEFB; }
main > .overview .text-1 { padding: 34px 0 54px; border: 1px solid #000000; border-width: 0 0 1px; order: 1; }
main > .overview .text-1 p { margin: 33px 0 0; font-size: 30px; line-height: 33px; }
main > .overview .text-1 p:first-child { margin: 0; }
main > .overview .text-1 p:first-child::before { margin: 0 22px 0 0; font-size: 36px; line-height: 33px; content: "→"; display: inline-flex; }
main > .overview .text-2 { padding: 19px 0 0; order: 2; }
main > .overview .text-2 p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main > .overview .text-2 p:first-child { margin: 0; }
main > .overview .text-3 { padding: 24px 0 58px; order: 3; }
main > .overview figure ~ .text-3 { padding: 24px 0 0; }
main > .overview .text-3 p { margin: 20px 0 0; font-weight: 300; font-size: 17px; line-height: 20px; }
main > .overview .text-3 p:first-child { margin: 0; }
main > .overview figure { padding: 70px 0 0; order: 4; }

@media only screen and (min-width: 1024px) {
	main > .overview { padding: 74px 24px 0 112px; display: grid; grid-template-columns: 583px 1fr; grid-template-rows: auto auto 1fr; gap: 0 316px; }
	main > .overview .text-1 { padding: 0 0 102px; border-width: 0 0 1px; grid-column: 1 / span 2; grid-row: 1; }
	main > .overview .text-1 p { margin: 1.056em 0 0; font-size: 90px; line-height: 1.056; }
	main > .overview .text-1 p:first-child { margin: 0; }
	main > .overview .text-1 p:first-child::before { margin: 0 0.767em 0 0; font-size: 1em; line-height: 1; }
	main > .overview .text-2 { padding: 21px 0 250px; grid-column: 1; grid-row 2; }
	main > .overview figure ~ .text-2 { padding: 192px 148px 0 0; grid-column: 2; grid-row 2; }
	main > .overview .text-2 p { margin: 1.204em 0 0; font-size: 49px; line-height: 1.204; }
	main > .overview .text-2 p:first-child { margin: 0; }
	main > .overview .text-3 { padding: 30px 150px 250px 152px; grid-column: 2; grid-row 2; }
	main > .overview figure ~ .text-3 { padding: 110px 300px 0 0; grid-column: 2; grid-row 3; }
	main > .overview .text-3 p { margin: 1.130em 0 0; font-size: 23px; line-height: 1.130; }
	main > .overview .text-3 p:first-child { margin: 0; }
	main > .overview figure { padding: 40px 0 0; grid-column: 1; grid-row: 2 / span 2; }
}

@media only screen and (min-width: 1024px) {
	main > .overview { padding: 3.85vw 1.25vw 0 5.83vw; grid-template-columns: 30.36vw 1fr; gap: 0 16.46vw; }
	main > .overview .text-1 { padding: 0 0 5.31vw; border-width: 0 0 0.05vw; }
	main > .overview .text-1 p { font-size: 4.69vw; }
	main > .overview .text-2 { padding: 1.09vw 0 13.02vw; }
	main > .overview figure ~ .text-2 { padding: 10vw 7.71vw 0 0; }
	main > .overview .text-2 p { font-size: 2.55vw; }
	main > .overview .text-3 { padding: 1.56vw 7.81vw 13.02vw 7.92vw; }
	main > .overview figure ~ .text-3 { padding: 5.73vw 15.63vw 0 0; }
	main > .overview .text-3 p { font-size: 1.2vw; }
	main > .overview figure { padding: 2.08vw 0 0; }
}

main > .slideshow { color: #FFFFFF; background: #000000; }
main > .slideshow .images .image-slide .image img { height: 626px; object-fit: cover; opacity: 0.51; }
main > .slideshow .images .image-slide .image p:nth-of-type(1) { font-size: 17px; position: absolute; left: 10px; bottom: 260px; }
main > .slideshow .images .image-slide .image p:nth-of-type(2) { font-weight: 500; font-size: 76px; letter-spacing: -0.015em; position: absolute; left: 10px; bottom: 180px; mix-blend-mode: difference; }
main > .slideshow .images .image-slide .image ul { position: absolute; left: 10px; bottom: 60px; }
main > .slideshow .texts { width: 100%; padding: 20px 10px 0; position: absolute; top: 0; left: 0; }
main > .slideshow .texts h2 { padding: 5px 0; font-size: 27px; border: 1px solid #FFFFFF; border-width: 0 0 1px; text-transform: uppercase; position: relative; transition: color 0.4s ease; }
main > .slideshow .texts h2.on { color: #F7D6CF; }
main > .slideshow .texts h2.pink.on { color: #F7D6CF; }
main > .slideshow .texts h2.green.on { color: #8DEDAF; }
main > .slideshow .texts h2.blue.on { color: #C0E2E2; }
main > .slideshow .texts h2.purple.on { color: #DACEFB; }
main > .slideshow .texts h2::after { font-size: 22px; position: absolute; top: calc( 50% - 0.5em ); right: 20px; transition: transform 0.4s ease; content: "+"; display: block; }
main > .slideshow .texts h2.on::after { transform: rotate(45deg); }
main > .slideshow .texts .text { padding: 16px 0 12px; display: none; }
main > .slideshow .texts .text:nth-of-type(1) { display: block; }
main > .slideshow .texts .text p { font-weight: 300; font-size: 20px; line-height: 1.2; }
main > .slideshow .texts h2.pink + .text { color: #F7D6CF; }
main > .slideshow .texts h2.green + .text { color: #8DEDAF; }
main > .slideshow .texts h2.blue + .text { color: #C0E2E2; }
main > .slideshow .texts h2.purple + .text { color: #DACEFB; }
main > .slideshow .desktop-text { display: none; }
main > .slideshow .desktop-links { display: none; }

@media only screen and (min-width: 1024px) {
	main > .slideshow .images .image-slide .image img { height: 1080px; opacity: 0.91; }
	main > .slideshow .images .image-slide .image p:nth-of-type(1) { font-size: 38px; left: 9.816em; bottom: 13.684em; }
	main > .slideshow .images .image-slide .image p:nth-of-type(2) { font-size: 349px; left: 0.249em; bottom: 0.670em; }
	main > .slideshow .images .image-slide .image ul { display: none; }
	main > .slideshow .texts { display: none; }
	main > .slideshow .desktop-text { width: 100%; position: absolute; top: 0; left: 0; background: rgba(0,0,0,0.57); display: block; }
	main > .slideshow .desktop-text .slide { height: 1080px; padding: 64px 140px 0 561px; display: grid; grid-template-columns: 900px 1fr; }
	main > .slideshow .desktop-text .slide.pink .text { color: #F7D6CF; }
	main > .slideshow .desktop-text .slide.green .text { color: #8DEDAF; }
	main > .slideshow .desktop-text .slide.blue .text { color: #C0E2E2; }
	main > .slideshow .desktop-text .slide.purple .text { color: #DACEFB; }
	main > .slideshow .desktop-text .slide .text p { font-weight: 300; font-size: 52px; line-height: 1.200; }
	main > .slideshow .desktop-text .slide ul { padding: 12px 0 0; justify-self: end; }
	main > .slideshow .desktop-links { position: absolute; top: 64px; left: 0; display: block; }
	main > .slideshow .desktop-links ul li { padding: 0.120em 2.000em 0.120em 2.140em; font-size: 50px; border: 1px solid #FFFFFF; border-width: 0 0 0.010em; text-transform: uppercase; position: relative; cursor: pointer; transition: color 0.4s ease; }
	main > .slideshow .desktop-links ul li.pink:hover,
	main > .slideshow .desktop-links ul li.pink.on { color: #F7D6CF; }
	main > .slideshow .desktop-links ul li.green:hover,
	main > .slideshow .desktop-links ul li.green.on { color: #8DEDAF; }
	main > .slideshow .desktop-links ul li.blue:hover,
	main > .slideshow .desktop-links ul li.blue.on { color: #C0E2E2; }
	main > .slideshow .desktop-links ul li.purple:hover,
	main > .slideshow .desktop-links ul li.purple.on { color: #DACEFB; }
	main > .slideshow .desktop-links ul li::before { font-size: 37px; position: absolute; top: calc( 50% - 0.5em ); right: 0.378em; color: #FFFFFF; transition: opacity 0.4s ease; content: "+"; display: block; }
	main > .slideshow .desktop-links ul li.on::before { opacity: 0; }
	main > .slideshow .desktop-links ul li::after { font-size: 37px; position: absolute; top: calc( 50% - 0.5em ); right: 0; color: #FFFFFF; transition: opacity 0.4s ease; opacity: 0; content: "→"; display: block; }
	main > .slideshow .desktop-links ul li.on::after { opacity: 1; }
}

@media only screen and (min-width: 1024px) {
	main > .slideshow .images .image-slide .image img { height: 56.25vw; }
	main > .slideshow .images .image-slide .image p:nth-of-type(1) { font-size: 1.98vw; }
	main > .slideshow .images .image-slide .image p:nth-of-type(2) { font-size: 18.18vw; }
	main > .slideshow .desktop-text .slide { height: 56.25vw; padding: 3.333vw 7.29vw 0 29.22vw; grid-template-columns: 46.875vw 1fr; }
	main > .slideshow .desktop-text .slide .text p { font-size: 2.708vw; }
	main > .slideshow .desktop-text .slide ul { padding: 0.625vw 0 0; }
	main > .slideshow .desktop-links { top: 3.33vw; }
	main > .slideshow .desktop-links ul li { font-size: 2.6vw; }
	main > .slideshow .desktop-links ul li::before { font-size: 1.93vw; }
	main > .slideshow .desktop-links ul li::after { font-size: 1.93vw; }
}

main > .image-text-banner { color: #FFFFFF; background: #000000; }
main > .image-text-banner figure img { height: 100vh; opacity: 0.57; object-fit: cover; display: none; }
main > .image-text-banner figure img:last-child { display: block; }
main > .image-text-banner .text { width: 60%; padding: 32px 10px; position: absolute; top: 0; left: 0; }
main > .image-text-banner .text h2 { font-weight: 500; font-size: 13px; text-transform: uppercase; }
main > .image-text-banner .text h2 span { padding: 5px 8px; border: 1px solid #FFFFFF; border-radius: 12px; display: inline-flex; }
main > .image-text-banner .text p { margin: 26px 0 0; font-size: 26px; line-height: 1; text-wrap: balance; }
main > .image-text-banner .text h2 + p { margin-top: 15px; }

main > .image-text-banner figure img { height: 800px; opacity: 1; }
main > .image-text-banner .text p { margin: 20px 0 0; font-size: 24px; }
main > .image-text-banner .text h2 + p { margin-top: 10px; }

@media only screen and (min-width: 1024px) {
	main > .image-text-banner figure img { height: 100vh; display: block; }
	main > .image-text-banner figure img:last-child { display: block; }
	main > .image-text-banner figure img + img,
	main > .image-text-banner figure img + img:last-child { display: none; }
	main > .image-text-banner .text { width: 100%; padding: 58px 175px 0 112px; }
	main > .image-text-banner .text h2 { font-size: 16px; }
	main > .image-text-banner .text h2 span { padding: 0.500em 0.688em; border-width: 0.063em; border-radius: 1.625em; }
	main > .image-text-banner .text p { margin: 1em 0 0; font-size: 65px; line-height: 1; }
	main > .image-text-banner .text h2 + p { margin-top: 0.615em; }

	main > .image-text-banner .text { padding-right: 800px; }
	main > .image-text-banner .text p { font-size: 52px; }
}

@media only screen and (min-width: 1024px) {
	main > .image-text-banner .text { padding: 3.02vw 9.11vw 0 5.83vw; }
	main > .image-text-banner .text h2 { font-size: 0.83vw; }
	main > .image-text-banner .text p { font-size: 3.39vw; }

	main > .image-text-banner .text { padding-right: 41.667vw; }
	main > .image-text-banner .text p { font-size: 2.708vw; }
}

main > .how-it-works { padding: 60px 10px; color: #F7D6CF; background: #000000; }
main > .how-it-works .header h2 { font-weight: 500; font-size: 13px; text-transform: uppercase; }
main > .how-it-works .header h2 span { padding: 5px 8px; border: 1px solid #F7D6CF; border-radius: 12px; display: inline-flex; }
main > .how-it-works .header p { margin: 36px 0 0; font-size: 30px; line-height: 36px; }
main > .how-it-works .header h2 + p { margin-top: 16px; }
main > .how-it-works .points { padding: 58px 0 0; counter-reset: points; }
main > .how-it-works .points .point { height: 342px; padding: 36px 22px 38px; background: #000000; border: 1px solid #F7D6CF; border-radius: 73px; display: flex; flex-direction: column; justify-content: flex-end; }
main > .how-it-works .points .point::before { font-size: 18px; line-height: 25px; position: absolute; top: -4px; left: 0; counter-increment: points; content: counter(points, decimal-leading-zero); display: block; }
main > .how-it-works .points .point::after { width: 1px; height: 55px; background: #F7D6CF; position: absolute; top: 0; left: 28px; content: " "; display: block; }
main > .how-it-works .points .point h3 { margin: 0 0 auto; padding: 0 0 0 16px; font-size: 21px; line-height: 25px; }
main > .how-it-works .points .point ul { display: flex; flex-wrap: wrap; gap: 4px; }
main > .how-it-works .points .point ul li { padding: 5px 9px; font-weight: 500; font-size: 13px; color: #000000; background: #F7D6CF; border-radius: 12px; }
main > .how-it-works .points .point p { padding: 25px 0 0; font-size: 17px; line-height: 20px; }

@media only screen and (min-width: 1024px) {
	main > .how-it-works { padding: 104px 48px 202px 112px; }
	main > .how-it-works .header h2 { font-size: 16px; }
	main > .how-it-works .header h2 span { padding: 0.500em 0.688em; border-width: 0.063em; border-radius: 1.625em; }
	main > .how-it-works .header p { margin: 1em 0 0; font-size: 91px; line-height: 1; }
	main > .how-it-works .header h2 + p { margin-top: 0.527em; }
	main > .how-it-works .points { padding: 90px 0 0; display: grid; grid-template-columns: 1fr 1fr 1fr; }
	main > .how-it-works .points .point { height: auto; padding: 42px 52px 78px 78px; border-width: 1px; border-radius: 122px; justify-content: start; }
	main > .how-it-works .points .point:nth-of-type(2) { margin: 0 -1px; }
	main > .how-it-works .points .point.inview:nth-of-type(2) { transition-delay: 0.6s; }
	main > .how-it-works .points .point.inview:nth-of-type(3) { transition-delay: 0.8s; }
	main > .how-it-works .points .point::before { font-size: 38px; line-height: 1; top: -0.316em; left: 0.105em; }
	main > .how-it-works .points .point::after { width: 1px; height: 88px; top: -4px; left: 64px; }
	main > .how-it-works .points .point h3 { margin: 0; padding: 0; font-size: 38px; line-height: 1.184; }
	main > .how-it-works .points .point ul { padding: 222px 0 0; flex-direction: column; align-items: start; gap: 3px; }
	main > .how-it-works .points .point ul li { padding: 0.350em 0.450em; font-size: 20px; border-radius: 0.900em; }
	main > .how-it-works .points .point p { padding: 1.739em 0 0; font-size: 23px; line-height: 1.130; }
}

@media only screen and (min-width: 1024px) {
	main > .how-it-works { padding: 5.42vw 2.5vw 10.52vw 5.83vw; }
	main > .how-it-works .header h2 { font-size: 0.83vw; }
	main > .how-it-works .header p { font-size: 4.74vw; }
	main > .how-it-works .points { padding: 4.69vw 0 0; }
	main > .how-it-works .points .point { padding: 2.19vw 2.71vw 4.06vw 4.06vw; border-width: 0.05vw; border-radius: 6.35vw; }
	main > .how-it-works .points .point:nth-of-type(2) { margin: 0 -0.05vw; }
	main > .how-it-works .points .point::before { font-size: 1.98vw; }
	main > .how-it-works .points .point::after { width: 0.05vw; height: 4.58vw; top: -0.21vw; left: 3.33vw; }
	main > .how-it-works .points .point h3 { font-size: 1.98vw; }
	main > .how-it-works .points .point ul { padding: 11.56vw 0 0; gap: 0.16vw; }
	main > .how-it-works .points .point ul li { font-size: 1.04vw; }
	main > .how-it-works .points .point p { font-size: 1.2vw; }
}

main > .logos { padding: 52px 0 62px; }
main > .logos p { padding: 0 10px; font-size: 24px; line-height: 29px; }
main > .logos .slides { padding: 52px 0 0; }
main > .logos .slides .slide { padding: 0 25px; }
main > .logos .slides .slide img { width: auto; height: 18px; }

@media only screen and (min-width: 1024px) {
	main > .logos { padding: 124px 0 136px; }
	main > .logos p { padding: 0 800px 0 112px; font-size: 49px; line-height: 1.204; }
	main > .logos .slides { padding: 72px 0 0; }
	main > .logos .slides .slide { padding: 0 55px; }
	main > .logos .slides .slide img { height: 38px; }
}

@media only screen and (min-width: 1024px) {
	main > .logos { padding: 6.46vw 0 7.08vw; }
	main > .logos p { padding: 0 41.67vw 0 5.83vw; font-size: 2.55vw; text-wrap: balance; }
	main > .logos .slides { padding: 3.75vw 0 0; }
	main > .logos .slides .slide { padding: 0 2.86vw; }
	main > .logos .slides .slide img { height: 1.98vw; }
}

main > .text-overview { padding: 52px 10px 36px; }
main > .text-overview .text-1 p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main > .text-overview .text-1 p:first-child { margin: 0; }
main > .text-overview .text-2 { padding: 24px 0 0; }
main > .text-overview .text-2 p { margin: 20px 0 0; font-weight: 300; font-size: 17px; line-height: 20px; }
main > .text-overview .text-2 p:first-child { margin: 0; }
main > .text-overview .text-2 ul { margin: 35px 0 0; }

@media only screen and (min-width: 1024px) {
	main > .text-overview { padding: 146px 173px 134px 112px; display: grid; grid-template-columns: 750px 1fr; gap: 302px; }
	main > .text-overview .text-1 p { margin: 1.204em 0 0; font-size: 49px; line-height: 1.204; }
	main > .text-overview .text-1 p:first-child { margin: 0; }
	main > .text-overview .text-2 { padding: 6px 0 0; }
	main > .text-overview .text-2 p { margin: 1.130em 0 0; font-size: 25px; line-height: 1.130; }
	main > .text-overview .text-2 p:first-child { margin: 0; }
	main > .text-overview .text-2 ul { margin: 53px 0 0; }
}

@media only screen and (min-width: 1024px) {
	main > .text-overview { padding: 7.6vw 9.01vw 6.98vw 5.83vw; grid-template-columns: 39.06vw 1fr; gap: 15.73vw; }
	main > .text-overview .text-1 p { font-size: 2.55vw; }
	main > .text-overview .text-2 { padding: 0.313vw 0 0; }
	main > .text-overview .text-2 p { font-size: 1.302vw; }
	main > .text-overview .text-2 ul { margin: 2.76vw 0 0; }
}

main > .big-link { border: 1px solid #000000; border-width: 0.5px 0 0; }
main > .big-link ul li a { padding: 4px 36px 38px 10px; display: flex; justify-content: space-between; align-items: center; }
main > .big-link ul li a span { font-size: 37px; }
main > .big-link ul li a figure { border-radius: 22px; position: relative; display: block; }
main > .big-link ul li a figure img { width: 92px; height: 44px; object-fit: cover; border-radius: 22px; }
main > .big-link ul li a figure::after { font-size: 57px; position: absolute; top: calc( 50% - 0.5em ); right: -32px; content: "→"; display: block; }

@media only screen and (min-width: 1024px) {
	main > .big-link { border-width: 0.5px 0 0; }
	main > .big-link ul li a { padding: 9px 175px 228px 100px; }
	main > .big-link ul li a span { font-size: 182px; }
	main > .big-link ul li a figure { background: #000000; border-radius: 103px; }
	main > .big-link ul li a figure img { width: 434px; height: 205px; border-radius: 103px; transition: opacity 0.4s ease; }
	main > .big-link ul li a figure::after { font-size: 273px; right: -165px; transition: color 0.4s ease, right 0.4s ease; }
	main > .big-link ul li a:hover figure img { opacity: 0.58; }
	main > .big-link ul li a:hover figure::after { color: #FFFFFF; right: 56px; }
}

@media only screen and (min-width: 1024px) {
	main > .big-link { border-width: 0.03vw 0 0; }
	main > .big-link ul li a { padding: 0.47vw 9.11vw 11.88vw 5.21vw; }
	main > .big-link ul li a span { font-size: 9.48vw; }
	main > .big-link ul li a figure { border-radius: 5.36vw; }
	main > .big-link ul li a figure img { width: 22.6vw; height: 10.68vw; border-radius: 5.36vw; }
	main > .big-link ul li a figure::after { font-size: 14.22vw; right: -8.59vw; }
	main > .big-link ul li a:hover figure::after { right: 2.92vw; }
}

main > .services-header { background: #2A1430; overflow: hidden; }
html.pink main > .services-header { color: #F7D6CF; }
html.green main > .services-header { color: #8DEDAF; }
html.blue main > .services-header { color: #C0E2E2; }
html.purple main > .services-header { color: #DACEFB; }
main > .services-header .heading { height: 460px; padding: 88px 10px; }
main > .services-header.image-campaigns .heading { height: 490px; }
main > .services-header .heading h1 { font-weight: 300; font-size: 77px; line-height: 81px; }
main > .services-header figure { position: absolute; pointer-events: none; z-index: 2; }
main > .services-header.image-campaigns figure { width: 442px; top: 195px; left: -3px; }
main > .services-header.image-branding figure { width: 308px; top: 136px; left: 72px; }
main > .services-header.image-internal figure { width: 356px; top: 125px; left: 0; }
main > .services-header.image-events figure { width: 614px; top: 61px; left: -141px; }
main > .services-header .text { padding: 34px 10px 80px 145px; border: 1px solid #F7D6CF; border-width: 1px 0 0; }
html.pink main > .services-header .text { border-color: #F7D6CF; }
html.green main > .services-header .text { border-color: #8DEDAF; }
html.blue main > .services-header .text { border-color: #C0E2E2; }
html.purple main > .services-header .text { border-color: #DACEFB; }
main > .services-header .text .text-1 p { margin: 30px 0 0; font-weight: 700; font-size: 28px; line-height: 30px; text-transform: uppercase; text-wrap: balance; }
main > .services-header .text .text-1 p:first-child { margin: 0; }
main > .services-header .text .text-2 { padding: 34px 0 0; }
main > .services-header .text .text-2 p { margin: 28px 0 0; font-size: 23px; line-height: 28px; text-wrap: balance; }
main > .services-header .text .text-2 p:first-child { margin: 0; }

@media only screen and (min-width: 1024px) {
	main > .services-header { height: 56.25vw; display: grid; grid-template-columns: 1fr; grid-template-rows: 618px 1fr; }
	main > .services-header .heading { height: auto; padding: 100px 130px 0; }
	main > .services-header.image-campaigns .heading { height: auto; }
	main > .services-header .heading h1 { font-size: 331px; line-height: 1.057; }
	main > .services-header.image-campaigns figure { width: 1071px; top: auto; bottom: 0; left: 121px; }
	main > .services-header.image-branding figure { width: 777px; top: auto; bottom: 0; left: 178px; }
	main > .services-header.image-internal figure { width: 919px; top: auto; bottom: -231px; left: 76px; }
	main > .services-header.image-events figure { width: 1312px; top: auto; bottom: -103px; left: -90px; }
	main > .services-header .text { margin: 0 0 0 1140px; padding: 0 58px; border-width: 0 0 0 1px; }
	main > .services-header .text .text-1 p { margin: 1em 0 0; font-size: 47px; line-height: 1; }
	main > .services-header .text .text-1 p:first-child { margin: 0; }
	main > .services-header .text .text-2 { padding: 38px 0 0; }
	main > .services-header .text .text-2 p { margin: 1em 0 0; font-size: 36px; line-height: 1; }
	main > .services-header .text .text-2 p:first-child { margin: 0; }
}

@media only screen and (min-width: 1024px) {
	main > .services-header { grid-template-rows: 32.188vw 1fr; }
	main > .services-header .heading { padding: 5.208vw 6.771vw 0; }
	main > .services-header .heading h1 { font-size: 17.24vw; }
	main > .services-header.image-campaigns figure { width: 55.781vw; left: 6.302vw; }
	main > .services-header.image-branding figure { width: 40.469vw; left: 9.271vw; }
	main > .services-header.image-internal figure { width: 47.865vw; bottom: -12.031vw; left: 3.958vw; }
	main > .services-header.image-events figure { width: 68.333vw; bottom: -5.365vw; left: -4.688vw; }
	main > .services-header .text { margin: 0 0 0 59.375vw; padding: 0 3.021vw; border-width: 0 0 0 0.052vw; }
	main > .services-header .text .text-1 p { font-size: 2.448vw; }
	main > .services-header .text .text-2 { padding: 1.979vw 0 0; }
	main > .services-header .text .text-2 p { font-size: 1.875vw; }
}

main > .services { padding: 60px 10px 72px; color: #FFFFFF; background: #000000; }
main > .services .header h2 { font-weight: 500; font-size: 13px; text-transform: uppercase; }
main > .services .header h2 span { padding: 5px 8px; border: 1px solid #FFFFFF; border-radius: 12px; display: inline-flex; }
main > .services .header .text { padding: 26px 0 0; }
main > .services .header .text p { font-size: 30px; line-height: 33px; }
main > .services .cols { padding: 70px 0 0; display: grid; grid-template-columns: 1fr; gap: 55px; }
main > .services .cols .col { padding: 0 17px 0 8px; border: 1px solid #FFFFFF; border-width: 0 0 0 1px; }
main > .services .cols .col h3 { font-weight: 500; font-size: 13px; text-transform: uppercase; }
main > .services .cols .col h3 span { padding: 5px 8px; color: #000000; background #FFFFFF; border-radius: 12px; display: inline-flex; }
main > .services .cols .col p { padding: 60px 0 0; font-size: 21px; line-height: 25px; }

html.pink main > .services { color: #F7D6CF; }
html.green main > .services { color: #8DEDAF; }
html.blue main > .services { color: #C0E2E2; }
html.purple main > .services { color: #DACEFB; }
html.pink main > .services .header h2 span { border-color: #F7D6CF; }
html.green main > .services .header h2 span { border-color: #8DEDAF; }
html.blue main > .services .header h2 span { border-color: #C0E2E2; }
html.purple main > .services .header h2 span { border-color: #DACEFB; }
html.pink main > .services .cols .col { border-color: #F7D6CF; }
html.green main > .services .cols .col { border-color: #8DEDAF; }
html.blue main > .services .cols .col { border-color: #C0E2E2; }
html.purple main > .services .cols .col { border-color: #DACEFB; }
html.pink main > .services .cols .col h3 span { background: #F7D6CF; }
html.green main > .services .cols .col h3 span { background: #8DEDAF; }
html.blue main > .services .cols .col h3 span { background: #C0E2E2; }
html.purple main > .services .cols .col h3 span { background: #DACEFB; }

@media only screen and (min-width: 1024px) {
	main > .services { padding: 228px 24px 62px 112px; }
	main > .services .header { display: grid; grid-template-columns: 584px 1fr; }
	main > .services .header h2 { font-size: 16px; }
	main > .services .header h2 span { padding: 0.500em 0.688em; border-width: 0.063em; border-radius: 1.625em; }
	main > .services .header .text { padding: 0; }
	main > .services .header .text p { font-size: 92px; line-height: 1; text-wrap: balance; }
	main > .services .cols { padding: 222px 0 0; grid-template-columns: 1fr 600px 600px; gap: 0; }
	main > .services .cols .col { height: 518px; padding: 0 15px; border-width: 0 0 0 1px; display: flex; flex-direction: column; justify-content: space-between; }
	main > .services .cols .col.inview:nth-of-type(2) { transition-delay: 0.6s; }
	main > .services .cols .col.inview:nth-of-type(3) { transition-delay: 0.8s; }
	main > .services .cols .col h3 { font-size: 16px; }
	main > .services .cols .col h3 span { padding: 0.500em 0.688em; border-width: 0.063em; border-radius: 1.625em; }
	main > .services .cols .col p { padding: 0; font-size: 38px; line-height: 1.184; }
}

@media only screen and (min-width: 1024px) {
	main > .services { padding: 11.88vw 1.25vw 3.23vw 5.83vw; }
	main > .services .header { grid-template-columns: 30.42vw 1fr; }
	main > .services .header h2 { font-size: 0.83vw; }
	main > .services .header .text p { font-size: 4.79vw; }
	main > .services .cols { padding: 11.56vw 0 0; grid-template-columns: 1fr 31.25vw 31.25vw; }
	main > .services .cols .col { height: 26.98vw; padding: 0 0.78vw; border-width: 0 0 0 0.05vw; }
	main > .services .cols .col h3 { font-size: 0.83vw; }
	main > .services .cols .col p { font-size: 1.98vw; }
}

main > .full-image { background: #000000; }
main > .full-image img { height: 100vh; object-fit: cover; }

@media only screen and (min-width: 1024px) {
	main > .full-image img { height: auto; }
}

main > .full-video { background: #000000; }
main > .full-video video { width: 100%; height: 100vh; object-fit: cover; }
main > .full-video video + video { display: none; }
main > .full-video.size-square video { height: 100vw; }

@media only screen and (min-width: 1024px) {
	main > .full-video { margin: 0 0 0 76px; }
	main > .full-video video { display: none; }
	main > .full-video video + video,
	main > .full-video video:only-child { display: block; }
	main > .full-video.size-square video { height: 100vh; }
}

@media only screen and (min-width: 1024px) {
	main > .full-video { margin: 0 0 0 3.96vw; }
}

main > .image-text { padding: 42px 32px; background: #FFFFFF; }
main > .image-text .text { padding: 46px 0 0; }
main > .image-text .text p { margin: 20px 0 0; font-weight: 200; font-size: 17px; line-height: 20px; }
main > .image-text .text p:first-child { margin: 0; font-weight: 500; font-size: 24px; line-height: 29px; }
main > .image-text .text p:first-child + p { margin-top: 30px; }

@media only screen and (min-width: 1024px) {
	main > .image-text { padding: 201px 325px 197px 112px; display: grid; grid-template-columns: 583px 1fr; gap: 316px; align-items: center; }
	main > .image-text .text { padding: 0; }
	main > .image-text .text p { margin: 1.200em 0 0; font-size: 20px; line-height: 1.200; }
	main > .image-text .text p:first-child { margin: 0; font-size: 32px; line-height: 1.188; }
	main > .image-text .text p:first-child + p { margin-top: 4.800em; }
}

@media only screen and (min-width: 1024px) {
	main > .image-text { padding: 10.47vw 16.93vw 10.26vw 5.83vw; grid-template-columns: 30.36vw 1fr; gap: 16.46vw; }
	main > .image-text .text p { font-size: 1.04vw; }
	main > .image-text .text p:first-child { font-size: 1.67vw; }
}

main > .framework { padding: 60px 10px; background: #FFFFFF; }
main > .framework .header h2 { font-weight: 500; font-size: 13px; text-transform: uppercase; }
main > .framework .header h2 span { padding: 5px 8px; border: 1px solid #000000; border-radius: 12px; display: inline-flex; }
main > .framework .header p { margin: 29px 0 0; font-size: 24px; line-height: 29px; }
main > .framework .header h2 + p { margin-top: 12px; }
main > .framework .points { padding: 58px 0 0; counter-reset: points; }
main > .framework .points .point { height: 245px; padding: 36px 22px 38px; background: #FFFFFF; border: 1px solid #000000; border-radius: 73px; display: flex; flex-direction: column; justify-content: space-between; }
main > .framework .points .point::before { font-size: 18px; line-height: 25px; position: absolute; top: -4px; left: 0; counter-increment: points; content: counter(points, decimal-leading-zero); display: block; }
main > .framework .points .point::after { width: 1px; height: 55px; background: #000000; position: absolute; top: 0; left: 28px; content: " "; display: block; }
main > .framework .points .point h3 { padding: 0 0 0 16px; font-size: 21px; line-height: 25px; }
main > .framework .points .point p { font-weight: 200; font-size: 17px; line-height: 20px; }

@media only screen and (min-width: 1024px) {
	main > .framework { padding: 204px 48px 172px 112px; }
	main > .framework .header { padding: 0 127px 0 0; }
	main > .framework .header h2 { font-size: 16px; }
	main > .framework .header h2 span { padding: 0.500em 0.688em; border-width: 0.063em; border-radius: 1.625em; }
	main > .framework .header p { margin: 1em 0 0; font-size: 65px; line-height: 1; }
	main > .framework .header h2 + p { margin-top: 0.431em; }
	main > .framework .points { padding: 166px 0 0; display: grid; grid-template-columns: 1fr 1fr 1fr; }
	main > .framework .points .point { height: auto; padding: 42px 52px 62px 82px; border-width: 1px; border-radius: 258px; display: block; }
	main > .framework .points .point:nth-of-type(2) { margin: 0 -1px; }
	main > .framework .points .point.inview:nth-of-type(2) { transition-delay: 0.6s; }
	main > .framework .points .point.inview:nth-of-type(3) { transition-delay: 0.8s; }
	main > .framework .points .point::before { font-size: 38px; line-height: 1; top: -0.316em; left: 0.105em; }
	main > .framework .points .point::after { width: 1px; height: 88px; top: -4px; left: 64px; }
	main > .framework .points .point h3 { padding: 0 0 0.105em; font-size: 38px; line-height: 1.184; }
	main > .framework .points .point p { font-size: 23px; line-height: 1.130; }
}

@media only screen and (min-width: 1024px) {
	main > .framework { padding: 10.63vw 2.5vw 8.96vw 5.83vw; }
	main > .framework .header { padding: 0 6.61vw 0 0; }
	main > .framework .header h2 { font-size: 0.83vw; }
	main > .framework .header p { font-size: 3.39vw; }
	main > .framework .points { padding: 8.65vw 0 0; }
	main > .framework .points .point { padding: 2.19vw 2.71vw 3.23vw 4.27vw; border-width: 0.05vw; border-radius: 13.44vw; }
	main > .framework .points .point:nth-of-type(2) { margin: 0 -0.05vw; }
	main > .framework .points .point::before { font-size: 1.98vw; }
	main > .framework .points .point::after { width: 0.05vw; height: 4.58vw; top: -0.21vw; left: 3.33vw; }
	main > .framework .points .point h3 { font-size: 1.98vw; }
	main > .framework .points .point p { font-size: 1.2vw; }
}

main > .quotes { background: #FFFFFF; }
html.pink main > .quotes { background: #F7D6CF; }
html.green main > .quotes { background: #8DEDAF; }
html.blue main > .quotes { background: #C0E2E2; }
html.purple main > .quotes { background: #DACEFB; }
main > .quotes .quote { padding: 58px 10px 102px; }
main > .quotes .quote h3 { margin: 0 0 12px; font-weight: 500; font-size: 13px; text-transform: uppercase; }
main > .quotes .quote h3 span { padding: 5px 8px; border: 1px solid #000000; border-radius: 12px; display: inline-flex; }
main > .quotes .quote blockquote { position: relative; display: block; }
main > .quotes .quote blockquote q { font-size: 24px; line-height: 29px; text-indent: 48px; quotes: "" "”"; position: relative; display: block; }
main > .quotes .quote blockquote::before { font-weight: 400; font-size: 77px; line-height: 1; position: absolute; top: -7px; left: 0; content: "“"; display: block; }
main > .quotes .quote blockquote cite { padding: 50px 0 0; display: block; }
main > .quotes .quote blockquote cite strong { font-weight: 400; font-size: 21px; line-height: 25px; display: block; }
main > .quotes .quote blockquote cite span { padding: 9px 0 0; font-weight: 200; font-size: 17px; line-height: 20px; display: block; }
main > .quotes .slick-dots { position: absolute; bottom: 50px; left: 10px; display: flex; gap: 18px; z-index: 10; }
main > .quotes .slick-dots li button { width: 9px; height: 9px; background: none; border: 1px solid #000000; border-radius: 50%; text-indent: -9999px; overflow: hidden; position: relative; display: block; }
main > .quotes .slick-dots li.slick-active button { background: #000000; }

@media only screen and (min-width: 1024px) {
	main > .quotes .quote { padding: 170px 175px 116px 112px; }
	main > .quotes .quote h3 { margin: 0 0 1.938em; font-size: 16px; }
	main > .quotes .quote h3 span { padding: 0.500em 0.688em; border-width: 0.063em; border-radius: 1.625em; }
	main > .quotes .quote blockquote q { font-size: 65px; line-height: 1; text-indent: 1.923em; }
	main > .quotes .quote blockquote::before { font-size: 161px; line-height: 1; top: -0.099em; left: 0.062em; }
	main > .quotes .quote blockquote cite { padding: 70px 0 0; }
	main > .quotes .quote blockquote cite strong { font-size: 37px; line-height: 1.216; }
	main > .quotes .quote blockquote cite span { padding: 1em 0 0; font-size: 20px; line-height: 1.200; }
	main > .quotes .slick-dots { height: 100%; bottom: 0; left: auto; right: 25px; flex-direction: column; justify-content: center; gap: 20px; }
	main > .quotes .slick-dots li button { width: 13px; height: 13px; border-width: 1px; }
}

@media only screen and (min-width: 1024px) {
	main > .quotes .quote { padding: 8.85vw 9.11vw 6.04vw 5.83vw; }
	main > .quotes .quote h3 { font-size: 0.83vw; }
	main > .quotes .quote blockquote q { font-size: 3.39vw; }
	main > .quotes .quote blockquote::before { font-size: 8.39vw; }
	main > .quotes .quote blockquote cite { padding: 3.65vw 0 0; }
	main > .quotes .quote blockquote cite strong { font-size: 1.93vw; }
	main > .quotes .quote blockquote cite span { font-size: 1.04vw; }
	main > .quotes .slick-dots { right: 1.3vw; gap: 1.04vw; }
	main > .quotes .slick-dots li button { width: 0.68vw; height: 0.68vw; border-width: 0.05vw; }
}

main > .work-highlights { padding: 56px 0 0; background: #FFFFFF; overflow: hidden; }
main > .work-highlights header { padding: 0 10px 56px; }
main > .work-highlights header h2 { font-size: 30px; line-height: 33px; }
main > .work-highlights .article { padding: 0 0 66px; }
main > .work-highlights .article a { cursor: url(images/explore.svg) 64 64, auto; position: relative; display: block; }
html.pink body:not(.home) main > .work-highlights .article a { cursor: url(images/explore-pink.svg) 64 64, auto; }
html.green body:not(.home) main > .work-highlights .article a { cursor: url(images/explore-green.svg) 64 64, auto; }
html.blue body:not(.home) main > .work-highlights .article a { cursor: url(images/explore-blue.svg) 64 64, auto; }
html.purple body:not(.home) main > .work-highlights .article a { cursor: url(images/explore-purple.svg) 64 64, auto; }
main > .work-highlights .article a figure img { height: auto; object-fit: cover; display: none; }
main > .work-highlights .article a figure img:last-child { display: block; }
main > .work-highlights .article a .text { position: relative; display: block; }
main > .work-highlights .article a h3 { padding: 24px 10px 0; font-weight: 800; font-size: 17px; line-height: 21px; text-transform: uppercase; }
main > .work-highlights .article a p { padding: 0 10px; font-weight: 300; font-size: 17px; line-height: 21px; }

@media only screen and (min-width: 1024px) {
	main > .work-highlights { padding: 60px 0 368px; display: grid; grid-template-columns: 1fr 600px 759px; grid-template-rows: auto auto 1fr; }
	main > .work-highlights header { padding: 0 112px 100px; grid-column: 1 / span 3; grid-row: 1; }
	main > .work-highlights header h2 { font-size: 85px; line-height: 1.118; }
	main > .work-highlights .article { padding: 0; }
	main > .work-highlights .article:hover { z-index: 2; }
	main > .work-highlights .article:nth-of-type(1) { grid-column: 1 / span 2; grid-row: 2; }
	main > .work-highlights .article:nth-of-type(1) a figure img { height: 665px; }
	main > .work-highlights .article:nth-of-type(1) .text { width: 450px; position: absolute; top: 655px; left: 61px; }
	main > .work-highlights .article:nth-of-type(2) { grid-column: 3; grid-row: 2 / span 2; }
	main > .work-highlights .article:nth-of-type(2) a figure img { height: 998px; }
	main > .work-highlights .article:nth-of-type(3) { grid-column: 2; grid-row: 3; }
	main > .work-highlights .article:nth-of-type(3) a figure img { height: 665px; }
	main > .work-highlights .article a .text { padding: 0 51px; }
	main > .work-highlights .article a figure img { display: block; }
	main > .work-highlights .article a figure img + img,
	main > .work-highlights .article a figure img + img:last-child { display: none; }
	main > .work-highlights .article a h3 { padding: 1.958em 0 0; font-size: 24px; line-height: 1.167; }
	main > .work-highlights .article a p { padding: 0; font-size: 22px; line-height: 1.273; }
}

@media only screen and (min-width: 1024px) {
	main > .work-highlights { padding: 3.13vw 0 19.17vw; grid-template-columns: 1fr 31.25vw 39.53vw; }
	main > .work-highlights header { padding: 0 5.83vw 5.21vw; }
	main > .work-highlights header h2 { font-size: 4.43vw; }
	main > .work-highlights .article:nth-of-type(1) a figure img { height: 34.64vw; }
	main > .work-highlights .article:nth-of-type(1) .text { width: 23.44vw; top: 34.11vw; left: 3.18vw; }
	main > .work-highlights .article:nth-of-type(2) a figure img { height: 51.98vw; }
	main > .work-highlights .article:nth-of-type(3) a figure img { height: 34.64vw; }
	main > .work-highlights .article a .text { padding: 0 2.66vw; }
	main > .work-highlights .article a h3 { font-size: 1.25vw; }
	main > .work-highlights .article a p { font-size: 1.15vw; }
}

main > .listing { padding: 179px 10px 78px; }
main > .listing .header { padding: 0 0 36px; }
main > .listing .header ul { width: 100%; padding: 0 10px; position: fixed; top: 63px; right: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; z-index: 3; }
main > .listing .header ul li button { padding: 10px 16px; font-size: 16px; border-radius: 2em; background: none; border: 0; position: relative; display: inline-flex; -moz-appearance: none; -webkit-appearance: none; appearance: none; }
main > .listing .header ul li button:hover { opacity: 0.5; }
main > .listing .header ul.active li button { opacity: 0.18; }
main > .listing .header ul.active li button:hover { opacity: 0.36; }
main > .listing .header ul.active li button.active { opacity: 1; }
main > .listing .header ul li.pink button { background: #F7D6CF; }
main > .listing .header ul li.green button { background: #8DEDAF; }
main > .listing .header ul li.blue button { background: #C0E2E2; }
main > .listing .header ul li.purple button { background: #DACEFB; }
main > .listing h1 { font-weight: 500; font-size: 73px; line-height: 88px; }
main > .listing p { margin: 2px 0 0; font-size: 30px; line-height: 33px; text-wrap: balance; }
main > .listing .grid .article { width: 100%; padding: 0 0 44px; }
main > .listing .grid .article a { position: relative; display: block; }
main > .listing .grid .article a { cursor: url(images/explore.svg) 64 64, auto; position: relative; display: block; }
main > .listing .grid .article.pink a { cursor: url(images/explore-pink.svg) 64 64, auto; }
main > .listing .grid .article.green a { cursor: url(images/explore-green.svg) 64 64, auto; }
main > .listing .grid .article.blue a { cursor: url(images/explore-blue.svg) 64 64, auto; }
main > .listing .grid .article.purple a { cursor: url(images/explore-purple.svg) 64 64, auto; }
main > .listing .grid .article a .cat { padding: 10px 16px; font-size: 16px; border-radius: 2em; display: inline-flex; position: absolute; top: 4px; left: 4px; z-index: 2; }
main > .listing .grid .article.pink a .cat { background: #F7D6CF; }
main > .listing .grid .article.green a .cat { background: #8DEDAF; }
main > .listing .grid .article.blue a .cat { background: #C0E2E2; }
main > .listing .grid .article.purple a .cat { background: #DACEFB; }
main > .listing .grid .article a h2 { margin: 15px 0 0; font-weight: 500; font-size: 23px; }

@media only screen and (min-width: 1024px) {
	main > .listing { padding: 0 10px 295px 112px; overflow: hidden; }
	main > .listing .header { padding: 0 350px 214px 0; }
	main > .listing .header ul { width: 950px; padding: 0 25px; top: 11px; gap: 2px; transition: width 0.4s ease; }
	main > .listing .header ul li button { padding: 0.561em 0.789em; font-size: 57px; transition: all 0.4s ease; }
	main > .listing .header ul.headroom--not-top { width: 400px; flex-wrap: nowrap; }
	main > .listing .header ul.headroom--not-top li button { padding: 0.593em 0.815em; font-size: 27px; }
	main > .listing h1 { margin: -0.120em 0 0; font-size: 349px; line-height: 1; }
	main > .listing p { margin: 1.667em 0 0; font-size: 90px; line-height: 1.056; }
	main > .listing .grid .article { width: 49.99%; padding: 0 0 146px; }
	main > .listing .grid.animc > .article.inview:nth-of-type(2n) { transition-delay: 0.6s; }
	main > .listing .grid .article a { margin: 0 16px 0 0; }
	main > .listing .grid .article a .cat { padding: 0.571em 0.857em; font-size: 21px; top: 0.476em; left: 0.476em; }
	main > .listing .grid .article a h2 { margin: 0.643em 0 0; padding: 0 380px 0 0; font-size: 28px; line-height: 1.2; }
}

@media only screen and (min-width: 1024px) {
	main > .listing { padding: 0 0.52vw 15.36vw 5.83vw; }
	main > .listing .header { padding: 0 18.23vw 11.15vw 0; }
	main > .listing .header ul { width: 49.48vw; padding: 0 1.3vw; top: 0.57vw; gap: 0.1vw; }
	main > .listing .header ul li button { font-size: 2.97vw; }
	main > .listing .header ul.headroom--not-top { width: 20.83vw; }
	main > .listing .header ul.headroom--not-top li button { font-size: 1.41vw; }
	main > .listing h1 { font-size: 18.18vw; }
	main > .listing p { font-size: 4.69vw; }
	main > .listing .grid .article { padding: 0 0 7.6vw; }
	main > .listing .grid .article a { margin: 0 0.83vw 0 0; }
	main > .listing .grid .article a .cat { font-size: 1.09vw; }
	main > .listing .grid .article a h2 { font-size: 1.46vw; padding: 0 19.79vw 0 0; }
}

main > .promo-banner { background: #FFFFFF; }
main > .image-text-banner + .promo-banner { padding-top: 48px; }
main > .promo-banner .text { padding: 0 10px 59px; }
main > .promo-banner .text h2 { font-weight: 800; font-size: 40px; line-height: 33px; text-transform: uppercase; }
main > .promo-banner .text p { margin: 46px 0 0 96px; font-size: 17px; line-height: 20px; }
main > .promo-banner .text ul { margin: 35px 0 0 96px; }

@media only screen and (min-width: 1024px) {
	main > .promo-banner { display: grid; grid-template-columns: 1fr 909px; }
	main > .image-text-banner + .promo-banner { padding-top: 0; }
	main > .promo-banner .text { padding: 108px 80px 98px 112px; display: flex; flex-direction: column; justify-content: flex-end; }
	main > .promo-banner .text h2 { margin: 0 0 auto; font-size: 97px; line-height: 0.825em; }
	main > .promo-banner .text p { margin: 0 2.696em 0 13.043em; font-size: 23px; line-height: 1.130; }
	main > .promo-banner .text ul { margin: 62px 0 0 300px; }
}

@media only screen and (min-width: 1024px) {
	main > .promo-banner { grid-template-columns: 1fr 47.34vw; }
	main > .promo-banner .text { padding: 5.63vw 4.17vw 5.1vw 5.83vw; }
	main > .promo-banner .text h2 { font-size: 5.05vw; }
	main > .promo-banner .text p { font-size: 1.2vw; }
	main > .promo-banner .text ul { margin: 3.23vw 0 0 15.63vw; }
}

main > .legal { padding: 138px 11px 56px; }
main > .legal a { font-weight: 400; }
main > .legal a:hover { opacity: 0.5; }
main > .legal h1 { font-weight: 800; font-size: 35px; line-height: 29px; text-transform: uppercase; }
main > .legal h2 { margin: 20px 0 0; font-weight: 800; font-size: 17px; line-height: 20px; text-transform: uppercase; }
main > .legal h1 + h2 { margin-top: 72px; }
main > .legal p,
main > .legal ul { margin: 20px 0 0; font-weight: 200; font-size: 17px; line-height: 20px; }
main > .legal ul li { padding: 0 0 0 45px; position: relative; }
main > .legal ul li::before { position: absolute; top: 0; left: 0; content: "•"; }

@media only screen and (min-width: 1024px) {
	main > .legal { padding: 152px 625px 272px 261px; }
	main > .legal h1 { font-size: 73px; line-height: 1; }
	main > .legal h2 { margin: 0.917em 0 0; font-size: 24px; line-height: 0.917; }
	main > .legal h1 + h2 { margin-top: 5.000em; }
	main > .legal p,
	main > .legal ul { margin: 1.158em 0 0; font-size: 19px; line-height: 1.158; }
	main > .legal ul li { padding: 0 0 0 2.474em; }
}

@media only screen and (min-width: 1024px) {
	main > .legal { padding: 7.92vw 32.55vw 14.17vw 13.59vw; }
	main > .legal h1 { font-size: 3.8vw; }
	main > .legal h2 { font-size: 1.25vw; }
	main > .legal p,
	main > .legal ul { font-size: 0.99vw; }
}

body > footer { padding: 56px 11px 28px; color: #FFFFFF; background: #2A1430; display: grid; grid-template-columns: 39.68% 1fr; }
body > footer a { color: #FFFFFF; }
body > footer a:hover { opacity: 0.5; }
body > footer .contact { grid-column: span 2; }
body > footer .contact ul { font-size: 17px; line-height: 20px; }
body > footer .contact ul li a { color: #F7D6CF; }
body > footer .menu { padding: 48px 0 0; grid-column: span 2; }
body > footer .menu ul { font-size: 14px; line-height: 20px; display: grid; grid-template-columns: 39.68% 37.23% 1fr; grid-template-rows: auto auto auto; grid-auto-flow: column; }
body > footer .logo { padding: 70px 0 0; grid-column: span 2; }
body > footer .logo a { display: block; }
body > footer .logo a img { width: 100%; height: auto; filter: invert(85%) sepia(13%) saturate(425%) hue-rotate(321deg) brightness(103%) contrast(94%); }
body > footer .legal { padding: 38px 0 35px; grid-column: span 2; }
body > footer .legal ul { font-size: 14px; line-height: 20px; display: grid; grid-template-columns: 39.68% 37.23% 1fr; }
body > footer .dba { padding: 0 25px 0 0; }
body > footer .dba a { display: block; }
body > footer .dba img { width: 100%; max-width: 120px; height: auto; }
body > footer .copyright ul { font-size: 14px; line-height: 20px; }
body > footer .credit { padding: 35px 0 0; grid-column: span 2; }
body > footer .credit p { font-size: 14px; line-height: 20px; text-align: right; }

html.pink body > footer .contact ul li a { color: #F7D6CF; }
html.pink body > footer .logo a img { filter: invert(85%) sepia(13%) saturate(425%) hue-rotate(321deg) brightness(103%) contrast(94%); }
html.green body > footer .contact ul li a { color: #8DEDAF; }
html.green body > footer .logo a img { filter: invert(91%) sepia(6%) saturate(2498%) hue-rotate(77deg) brightness(97%) contrast(92%); }
html.blue body > footer .contact ul li a { color: #C0E2E2; }
html.blue body > footer .logo a img { filter: invert(99%) sepia(78%) saturate(417%) hue-rotate(145deg) brightness(91%) contrast(93%); }
html.purple body > footer .contact ul li a { color: #DACEFB; }
html.purple body > footer .logo a img { filter: invert(84%) sepia(9%) saturate(1831%) hue-rotate(203deg) brightness(101%) contrast(97%); }

@media only screen and (min-width: 1024px) {
	body > footer { width: 100%; height: 100%; position: fixed; top: 0; left: 0; padding: 78px 25px 86px 112px; grid-template-columns: 299px 946px 1fr; grid-template-rows: auto 1fr auto; gap: 110px 0; }
	body > footer .contact { grid-row: 1; }
	body > footer .contact ul { font-size: 26px; line-height: 1.231; display: flex; gap: 5.000em; }
	body > footer .menu { padding: 0; grid-column: span 1; grid-row: 1; }
	body > footer .menu ul { font-size: 22px; line-height: 1.182; grid-template-columns: 37.92% 34.01% 1fr; }
	body > footer .logo { padding: 0; grid-column: span 3; display: flex; align-items: flex-end; grid-row: 2; }
	body > footer .logo a { width: 100%; }
	body > footer .legal { padding: 0; grid-column: 2; grid-row: 3; align-self: end; }
	body > footer .legal ul { font-size: 18px; line-height: 1.222; display: flex; gap: 1.167em; }
	body > footer .dba { padding: 0; grid-column: 1; grid-row: 3; }
	body > footer .dba a { display: block; }
	body > footer .dba img { max-width: 238px; }
	body > footer .copyright { grid-column: 3; grid-row: 3; align-self: end; }
	body > footer .copyright ul { font-size: 18px; line-height: 1.222; display: flex; gap: 2.000em; }
	body > footer .credit { padding: 0; grid-column: 3; grid-row: 4; }
	body > footer .credit p { font-size: 18px; line-height: 1.222; text-align: left; }
}

@media only screen and (min-width: 1024px) {
	body > footer { padding: 4.06vw 1.3vw 4.48vw 5.83vw; grid-template-columns: 15.57vw 49.27vw 1fr; gap: 5.729vw 0; }
	body > footer .contact ul { font-size: 1.35vw; }
	body > footer .menu ul { font-size: 1.15vw; }
	body > footer .legal ul { font-size: 0.94vw; }
	body > footer .dba img { max-width: 12.4vw; }
	body > footer .copyright ul { font-size: 0.94vw; }
	body > footer .credit p { font-size: 0.94vw; }
}

html.contact { overflow: hidden; }
body > .contact-overlay { display: none; }
body > .contact { width: 100%; height: 100%; padding: 0 6px; color: #000000; background: #FFFFFF; overflow: auto; position: fixed; top: 0; right: -100%; transition: right 0.4s ease; z-index: 100; }
html.contact body > .contact { right: 0; }
body > .contact > ul { position: absolute; top: 6px; right: 6px; z-index: 2; }
body > .contact > ul li a { width: 39px; height: 39px; background: #000000; position: relative; display: inline-flex; }
body > .contact > ul li a:hover { background: rgba(0,0,0,0.24); }
body > .contact > ul li a::before,
body > .contact > ul li a::after { width: 24px; height: 7px; background: #FFFFFF; position: absolute; top: calc( 50% - ( 7px / 2 ) ); left: 7px; transform: rotate(-45deg); content: " "; display: block; }
body > .contact > ul li a::before { transform: rotate(-45deg); }
body > .contact > ul li a::after { transform: rotate(45deg); }
body > .contact .text { padding: 94px 5px 44px; }
body > .contact .text p { font-size: 24px; line-height: 29px; }
body > .contact .text ul { margin: 44px 0 0; font-size: 20px; line-height: 24px; }
body > .contact .text ul li a:hover { opacity: 0.24; }
body > .contact .form { padding: 40px 0; border: 1px solid #000000; border-width: 1px 0 0; }
body > .contact .form .header p { font-weight: 800; font-size: 35px; line-height: 29px; text-transform: uppercase; text-wrap: balance; }
body > .contact .form .gform_wrapper { padding: 38px 0 0; }
body > .contact .form .gform_wrapper > .gform_heading,
body > .contact .form .gform_wrapper > .gform_validation_errors { display: none; }
body > .contact .form .gform_wrapper .gform_fields { display: grid; grid-template-columns: 1fr; gap: 32px; }
body > .contact .form .gform_wrapper .gform_fields div.gfield > label { font-weight: 700; font-size: 15px; line-height: 18px; text-transform: uppercase; }
body > .contact .form .gform_wrapper .gform_fields div.gfield > label > .gfield_required { padding: 0 0 0 10px; font-size: .83em; vertical-align: super; }
body > .contact .form .gform_wrapper .gform_fields div.gfield .ginput_container input[type="text"],
body > .contact .form .gform_wrapper .gform_fields div.gfield .ginput_container input[type="email"] { width: 100%; padding: 5px 0; font-weight: 200; font-size: 17px; line-height: 21px; background: none; border: 0; }
body > .contact .form .gform_wrapper .gform_fields div.gfield .gfield_description { font-size: 15px; line-height: 18px; }
body > .contact .form .gform_wrapper .gform_fields div.gfield .gfield_description.validation_message { color: #FF0000; }
body > .contact .form .gform_wrapper .gform_fields fieldset.gfield > legend { font-weight: 700; font-size: 15px; line-height: 18px; text-transform: uppercase; }
body > .contact .form .gform_wrapper .gform_fields fieldset.gfield .ginput_container input[type="checkbox"] { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; white-space: nowrap; }
body > .contact .form .gform_wrapper .gform_fields fieldset.gfield .ginput_container label { padding: 5px 0; font-weight: 200; font-size: 17px; line-height: 21px; color: #888; display: grid; grid-template-columns: auto 1fr; gap: 0.5em; align-items: center; }
body > .contact .form .gform_wrapper .gform_fields fieldset.gfield .ginput_container label i + i { display: none; }
body > .contact .form .gform_wrapper .gform_fields fieldset.gfield .ginput_container input[type="checkbox"]:checked + label i { display: none; }
body > .contact .form .gform_wrapper .gform_fields fieldset.gfield .ginput_container input[type="checkbox"]:checked + label i + i { display: block; }
body > .contact .form .gform_footer { padding: 42px 0 0; }

@media only screen and (min-width: 1024px) {
	body > .contact-overlay { width: 100%; height: 100%; background: #000000; opacity: 0.53; position: fixed; top: 0; right: -100%; display: block; transition: right 0.4s ease; z-index: 99; }
	html.contact body > .contact-overlay { right: 0; }
	body > .contact { width: 1522px; padding: 0 25px; right: -1522px; display: flex; flex-direction: column; justify-content: space-between; }
	html.contact body > .contact { right: 0; }
	body > .contact > ul { top: 12px; right: 12px; }
	body > .contact > ul li a { width: 76px; height: 76px; }
	body > .contact > ul li a::before,
	body > .contact > ul li a::after { width: 46px; height: 12px; top: calc( 50% - ( 12px / 2 ) ); left: 15px; }
	body > .contact .text { padding: 68px 260px 0 28px; }
	body > .contact .text p { font-size: 65px; line-height: 1; }
	body > .contact .text ul { margin: 5.615em 0 0 21.500em; font-weight: 300; font-size: 26px; line-height: 1.231; }
	body > .contact .form { padding: 108px 85px 165px 28px; border-width: 1px 0 0; display: grid; grid-template-columns: 459px 1fr; gap: 100px; }
	body > .contact .form .header { padding: 4px 0 0; }
	body > .contact .form .header p { font-size: 47px; line-height: 0.830; }
	body > .contact .form .gform_wrapper { padding: 0; }
	body > .contact .form .gform_wrapper .gform_fields { gap: 28px; }
	body > .contact .form .gform_wrapper .gform_fields div.gfield > label { font-size: 15px; line-height: 1.200; }
	body > .contact .form .gform_wrapper .gform_fields div.gfield > label > .gfield_required { padding: 0 0 0 0.833em; font-size: .83em; }
	body > .contact .form .gform_wrapper .gform_fields div.gfield .ginput_container input[type="text"],
	body > .contact .form .gform_wrapper .gform_fields div.gfield .ginput_container input[type="email"] { padding: 0.350em 0; font-size: 20px; line-height: 1.250; }
	body > .contact .form .gform_wrapper .gform_fields div.gfield .gfield_description { font-size: 15px; line-height: 1.200; }
	body > .contact .form .gform_wrapper .gform_fields fieldset.gfield > legend { font-size: 15px; line-height: 1.200; }
	body > .contact .form .gform_wrapper .gform_fields fieldset.gfield .ginput_container label { padding: 0.350em 0; font-size: 20px; line-height: 1.250; }
	body > .contact .form .gform_footer { padding: 0; position: absolute; top: 10px; right: 0; }
}

@media only screen and (min-width: 1024px) {
	body > .contact { width: 79.27vw; padding: 0 1.3vw; right: -79.27vw; }
	html.contact body > .contact { right: 0; }
	body > .contact > ul { top: 0.63vw; right: 0.63vw; }
	body > .contact > ul li a { width: 3.96vw; height: 3.96vw; }
	body > .contact > ul li a::before,
	body > .contact > ul li a::after { width: 2.4vw; height: 0.63vw; top: calc( 50% - ( 0.63vw / 2 ) ); left: 0.78vw; }
	body > .contact .text { padding: 3.54vw 13.54vw 0 1.46vw; }
	body > .contact .text p { font-size: 3.39vw; }
	body > .contact .text ul { font-size: 1.35vw; }
	body > .contact .form { padding: 5.63vw 4.43vw 8.59vw 1.46vw; border-width: 0.05vw 0 0; grid-template-columns: 23.91vw 1fr; gap: 5.21vw; }
	body > .contact .form .header { padding: 0.21vw 0 0; }
	body > .contact .form .header p { font-size: 2.45vw; }
	body > .contact .form .gform_wrapper .gform_fields { gap: 1.46vw; }
	body > .contact .form .gform_wrapper .gform_fields div.gfield > label { font-size: 0.78vw; }
	body > .contact .form .gform_wrapper .gform_fields div.gfield .ginput_container input[type="text"],
	body > .contact .form .gform_wrapper .gform_fields div.gfield .ginput_container input[type="email"] { font-size: 1.04vw; }
	body > .contact .form .gform_wrapper .gform_fields div.gfield .gfield_description { font-size: 0.78vw; }
	body > .contact .form .gform_wrapper .gform_fields fieldset.gfield > legend { font-size: 0.78vw; }
	body > .contact .form .gform_wrapper .gform_fields fieldset.gfield .ginput_container label { font-size: 1.04vw; }
	body > .contact .form .gform_footer { top: 0.52vw; }
}

html.thanks { overflow: hidden; }
body > .thanks-overlay { display: none; }
body > .thanks { width: 100%; height: 100%; color: #FFFFFF; background: #000000; position: fixed; top: 0; right: -100%; display: flex; justify-content: center; align-items: center; transition: right 0.4s ease; z-index: 100; }
html.thanks body > .thanks { right: 0; }
body > .thanks > ul { position: absolute; top: 6px; right: 6px; z-index: 2; }
body > .thanks > ul li a { width: 39px; height: 39px; background: #FFFFFF; position: relative; display: inline-flex; }
body > .thanks > ul li a:hover { background: rgba(255,255,255,0.24); }
body > .thanks > ul li a::before,
body > .thanks > ul li a::after { width: 24px; height: 7px; background: #000000; position: absolute; top: calc( 50% - ( 7px / 2 ) ); left: 7px; transform: rotate(-45deg); content: " "; display: block; }
body > .thanks > ul li a::before { transform: rotate(-45deg); }
body > .thanks > ul li a::after { transform: rotate(45deg); }
body > .thanks .text { width: 100%; padding: 11px; }
body > .thanks .text p { margin: 0 0 44px; font-size: 24px; line-height: 29px; }

@media only screen and (min-width: 1024px) {
	body > .thanks-overlay { width: 100%; height: 100%; background: #000000; opacity: 0.53; position: fixed; top: 0; right: -100%; display: block; transition: right 0.4s ease; z-index: 99; }
	html.thanks body > .thanks-overlay { right: 0; }
	body > .thanks { width: 925px; right: -925px; }
	html.thanks body > .thanks { right: 0; }
	body > .thanks > ul { top: 12px; right: 12px; }
	body > .thanks > ul li a { width: 76px; height: 76px; }
	body > .thanks > ul li a::before,
	body > .thanks > ul li a::after { width: 46px; height: 12px; top: calc( 50% - ( 12px / 2 ) ); left: 15px; }
	body > .thanks .text { padding: 16px; }
	body > .thanks .text p { margin: 0 0 1.138em; font-size: 65px; line-height: 1; }
}

@media only screen and (min-width: 1024px) {
	body > .thanks { width: 48.18vw; right: -48.18vw; }
	html.thanks body > .thanks { right: 0; }
	body > .thanks > ul { top: 0.63vw; right: 0.63vw; }
	body > .thanks > ul li a { width: 3.96vw; height: 3.96vw; }
	body > .thanks > ul li a::before,
	body > .thanks > ul li a::after { width: 2.4vw; height: 0.63vw; top: calc( 50% - ( 0.63vw / 2 ) ); left: 0.78vw; }
	body > .thanks .text { padding: 0.83vw; }
	body > .thanks .text p { font-size: 3.39vw; }
}

html.post { overflow: hidden; }
body > .post-overlay { display: none; }
body > .post { width: 100%; height: 100%; color: #000000; background: #FFFFFF; overflow: auto; position: fixed; top: 0; right: -100%; transition: right 0.4s ease; z-index: 100; }
body > .post.pink { background: #FBE9E7; }
body > .post.green { background: #C6F6D7; }
body > .post.blue { background: #DFF0F0; }
body > .post.purple { background: #ECE6FD; }
html.post body > .post { right: 0; }
body > .post > ul { position: fixed; top: -45px; right: 6px; transition: top 0.4s ease; z-index: 2; }
html.post body > .post > ul { top: 6px; }
body > .post > ul li a { width: 39px; height: 39px; background: #000000; position: relative; display: inline-flex; }
body > .post > ul li a::before,
body > .post > ul li a::after { width: 24px; height: 7px; background: #FFFFFF; position: absolute; top: calc( 50% - ( 7px / 2 ) ); left: 7px; transform: rotate(-45deg); transition: background-color 0.4s ease; content: " "; display: block; }
body > .post.pink > ul li a::before,
body > .post.pink > ul li a::after { background: #FBE9E7; }
body > .post.green > ul li a::before,
body > .post.green > ul li a::after { background: #C6F6D7; }
body > .post.blue > ul li a::before,
body > .post.blue > ul li a::after { background: #DFF0F0; }
body > .post.purple > ul li a::before,
body > .post.purple > ul li a::after { background: #ECE6FD; }
body > .post.pink > ul li a:hover { background: #F7D6CF; }
body > .post.green > ul li a:hover { background: #8DEDAF; }
body > .post.blue > ul li a:hover { background: #C0E2E2; }
body > .post.purple > ul li a:hover { background: #DACEFB; }
body > .post > ul li a:hover::before,
body > .post > ul li a:hover::after { background: #000000; }
body > .post > ul li a::before { transform: rotate(-45deg); }
body > .post > ul li a::after { transform: rotate(45deg); }
body > .post img { width: 100%; height: auto; }
body > .post .title { padding: 152px 10px 62px; }
body > .post .title h2 { font-weight: 500; font-size: 67px; line-height: 52px; letter-spacing: -0.019em; }
body > .post .overview { margin: 0 10px; padding: 15px 0 60px; border: 1px solid #000000; border-width: 1px 0; }
body > .post .overview h3 { font-size: 30px; line-height: 33px; }
body > .post .overview h3::before { margin: 0 22px 0 0; font-size: 36px; line-height: 33px; content: "→"; display: inline-block; }
body > .post .overview p { margin: 20px 0 0; font-weight: 300; font-size: 17px; line-height: 20px; }
body > .post .overview h3 + p { margin-top: 54px; }
body > .post .heading { padding: 55px 10px 0; }
body > .post .heading h3 { font-weight: 800; font-size: 35px; line-height: 29px; text-transform: uppercase; }
body > .post .heading.standard h3 { font-weight: inherit; line-height: 1.063; text-transform: none; }
body > .post .text { padding: 20px 10px 0; }
body > .post .text:last-child { padding-bottom: 42px; }
body > .post .text h3 { font-size: 24px; line-height: 29px; }
body > .post .text p { margin: 20px 0 0; font-weight: 200; font-size: 17px; line-height: 20px; }
body > .post .text h3 + p { margin-top: 18px; }
body > .post .text.columns { display: grid; grid-template-columns: 1fr; gap: 20px; }
body > .post .stats { margin: 20px 10px 0; }
body > .post .stats .stat { padding: 44px 0 24px; border: 1px solid #000000; border-width: 1px 0 0; }
body > .post .stats.animc > .stat.inview:nth-of-type(2) { transition-delay: 0.6s; }
body > .post .stats.animc > .stat.inview:nth-of-type(3) { transition-delay: 0.8s; }
body > .post .stats.animc > .stat.inview:nth-of-type(4) { transition-delay: 1s; }
body > .post .stats .stat h3 { font-weight: 800; font-size: 30px; }
body > .post .stats .stat p { margin: 24px 0 0; font-weight: 300; font-size: 17px; line-height: 20px; }
body > .post .points { margin: 20px 10px 0; }
body > .post .points ol { counter-reset: points; }
body > .post .points ol li { padding: 44px 0 24px 48px; border: 1px solid #000000; border-width: 1px 0 0; position: relative; display: block; }
body > .post .points ol li::before { font-size: 24px; line-height: 29px; position: absolute; top: 44px; left: 0; counter-increment: points; content: counter(points, decimal-leading-zero); display: block; }
body > .post .points ol li h3 { font-size: 24px; line-height: 29px; }
body > .post .points ol li p { margin: 20px 0 0; font-weight: 200; font-size: 17px; line-height: 20px; }
body > .post .points ol li h3 + p { margin-top: 18px; }
body > .post .gallery { padding: 18px 0 0 10px; }
body > .post .gallery .slides .slide { padding: 0 0 61px; }
body > .post .gallery .slick-arrow { width: 39px; height: 39px; background: url(images/arrow.svg) no-repeat 50% 50% / cover;  border: 0; position: absolute; bottom: 0; left: 0; z-index: 2; }
body > .post .gallery .slick-arrow:hover { opacity: 0.24; }
body > .post .gallery .slick-next { left: 42px; transform: rotate(180deg); }
body > .post figure { padding: 54px 0 0 10px; }
body > .post figure div { height: 0; padding: 0 0 56.25%; }
body > .post figure div video { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
body > .post figure a { position: relative; display: block; }
body > .post figure div a { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
body > .post figure a::after { width: 129px; height: 129px; font-weight: 800; font-size: 10px; text-transform: uppercase; color: #FFFFFF; background: #2A1430; border-radius: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); content: "Play"; display: flex; justify-content: center; align-items: center; transition: color 0.4s ease, background-color 0.4s ease; }
body > .post figure a:hover::after { color: #2A1430; background: #FFFFFF; }
body > .post.pink figure a::after { color: #000000; background: #F7D6CF; }
body > .post.pink figure a:hover::after { color: #F7D6CF; background: #000000; }
body > .post.green figure a::after { color: #000000; background: #8DEDAF; }
body > .post.green figure a:hover::after { color: #8DEDAF; background: #000000; }
body > .post.blue figure a::after { color: #000000; background: #C0E2E2; }
body > .post.blue figure a:hover::after { color: #C0E2E2; background: #000000; }
body > .post.purple figure a::after { color: #000000; background: #DACEFB; }
body > .post.purple figure a:hover::after { color: #DACEFB; background: #000000; }
body > .post .quote { padding: 80px 10px 0; }
body > .post .quote h3 { margin: 0 0 12px; font-weight: 500; font-size: 13px; text-transform: uppercase; }
body > .post .quote h3 span { padding: 5px 8px; border: 1px solid #000000; border-radius: 12px; display: inline-flex; }
body > .post .quote blockquote { position: relative; display: block; }
body > .post .quote blockquote q { font-size: 24px; line-height: 29px; text-indent: 48px; quotes: "" "”"; position: relative; display: block; }
body > .post .quote blockquote::before { font-weight: 400; font-size: 77px; line-height: 1; position: absolute; top: -7px; left: 0; content: "“"; display: block; }
body > .post .quote blockquote cite { padding: 50px 0 0; display: block; }
body > .post .quote blockquote cite strong { font-weight: 400; font-size: 21px; line-height: 25px; display: block; }
body > .post .quote blockquote cite span { padding: 9px 0 0; font-weight: 200; font-size: 17px; line-height: 20px; display: block; }
body > .post .contact { margin: 56px 10px 0; padding: 55px 0 42px; border: 1px solid #000000; border-width: 1px 0 0; }
body > .post .contact p { font-weight: 800; font-size: 35px; line-height: 29px; text-transform: uppercase; }
body > .post .contact p strong { font-weight: 800; text-decoration: underline; }
body > .post .contact ul { margin: 78px 0 0; }
body > .post.pink .contact ul li .btn.solid span { color: #FBE9E7; }
body > .post.pink .contact ul li .btn.solid span g { stroke: #FBE9E7; }
body > .post.pink .contact ul li .btn.solid:hover span { color: #000000; }
body > .post.pink .contact ul li .btn.solid:hover span g { stroke: #000000; }
body > .post.green .contact ul li .btn.solid span { color: #C6F6D7; }
body > .post.green .contact ul li .btn.solid span g { stroke: #C6F6D7; }
body > .post.green .contact ul li .btn.solid:hover span { color: #000000; }
body > .post.green .contact ul li .btn.solid:hover span g { stroke: #000000; }
body > .post.blue .contact ul li .btn.solid span { color: #DFF0F0; }
body > .post.blue .contact ul li .btn.solid span g { stroke: #DFF0F0; }
body > .post.blue .contact ul li .btn.solid:hover span { color: #000000; }
body > .post.blue .contact ul li .btn.solid:hover span g { stroke: #000000; }
body > .post.purple .contact ul li .btn.solid span { color: #ECE6FD; }
body > .post.purple .contact ul li .btn.solid span g { stroke: #ECE6FD; }
body > .post.purple .contact ul li .btn.solid:hover span { color: #000000; }
body > .post.purple .contact ul li .btn.solid:hover span g { stroke: #000000; }

@media only screen and (min-width: 1024px) {
	body > .post-overlay { width: 100%; height: 100%; background: #000000; opacity: 0.53; position: fixed; top: 0; right: -100%; display: block; transition: right 0.4s ease; z-index: 99; }
	html.post body > .post-overlay { right: 0; }
	body > .post { width: 1528px; right: -1528px; }
	html.post body > .post { right: 0; }
	body > .post > ul { top: 88px; right: 12px; }
	html.post body > .post > ul { top: 12px; }
	body > .post > ul li a { width: 76px; height: 76px; }
	body > .post > ul li a::before,
	body > .post > ul li a::after { width: 46px; height: 12px; top: calc( 50% - ( 12px / 2 ) ); left: 15px; }
	body > .post .title { padding: 151px 42px 113px; }
	body > .post .title h2 { font-size: 201px; line-height: 0.896; text-wrap: balance; }
	body.post-type-archive-insights > .post .title h2,
	body.single-insights > .post .title h2 { font-size: 150px; }
	body > .post .overview { margin: 0 42px; padding: 40px 128px 170px 0; border-width: 1px 0; }
	body > .post .overview h3 { font-size: 90px; line-height: 1.056; }
	body > .post .overview h3::before { margin: 0 0.767em 0 0; font-size: 1em; line-height: 1;  }
	body > .post .overview p { margin: 1.200em 0 0; padding: 0 0 0 278px; font-size: 28px; line-height: 1.200; }
	body > .post .overview h3 + p { margin-top: 3em; }
	body > .post .heading { padding: 100px 200px 0 320px; }
	body > .post .gallery + .heading { padding-top: 50px; }
	body > .post .heading h3 { font-size: 78px; line-height: 0.782; text-wrap: balance; }
	body > .post .heading.standard h3 { line-height: 1.063; }
	body > .post .text { padding: 96px 178px 0 320px; }
	body > .post .heading + .text { padding-top: 60px; }
	body > .post .text:last-child { padding-bottom: 58px; }
	body > .post .text h3 { font-size: 46px; line-height: 1.217; text-wrap: balance; }
	body > .post .text p { margin: 1.200em 0 0; font-size: 28px; line-height: 1.200; }
	body > .post .text h3 + p { margin-top: 2.700em; }
	body > .post .text > p:first-child { margin-top: 0; }
	body > .post .text.columns { grid-template-columns: 1fr 1fr; gap: 0 60px; }
	body > .post .text.columns h3 { grid-column: 1; grid-row: 1; }
	body > .post .text.columns h3:nth-of-type(2) { grid-column: 2; }
	body > .post .text.columns p { font-size: 20px; }
	body > .post .text.columns .grid { grid-column: 1; grid-row: 2; }
	body > .post .text.columns .grid:nth-of-type(2) { grid-column: 2; }
	body > .post .stats { margin: 60px 42px 0 320px; padding: 60px 0 0; border: 1px solid #000000; border-width: 1px 0 0; display: flex; }
	body > .post .stats .stat { width: 300px; padding: 0 18px; border-width: 0 0 0 1px; }
	body > .post .stats .stat:first-child { padding-left: 0; border-width: 0; }
	body > .post .stats .stat h3 { font-size: 45px; }
	body > .post .stats .stat p { margin: 2.400em 0 0; font-size: 20px; line-height: 1.200; }
	body > .post .points { margin: 106px 0 0 42px; }
	body > .post .points ol li { padding: 40px 325px 144px 278px; border-width: 1px 0 0; }
	body > .post .points ol li::before { font-size: 46px; line-height: 1.217; top: 0.870em; }
	body > .post .points ol li h3 { font-size: 46px; line-height: 1.217; }
	body > .post .points ol li p { margin: 1.200em 0 0; font-size: 28px; line-height: 1.200; }
	body > .post .points ol li h3 + p { margin-top: 3em; }
	body > .post .gallery { padding: 76px 0 0; }
	body > .post .gallery .slides .slide { padding: 0 0 0 320px; }
	body > .post .gallery .slick-arrow { width: 76px; height: 76px; left: 142px; }
	body > .post .gallery .slick-next { left: 224px; }
	body > .post figure { padding: 94px 0 0 320px; }
	body > .post figure a::after { width: 12.900em; height: 12.900em; font-size: 10px; }
	body > .post .quote { padding: 212px 42px 0; }
	body > .post .quote h3 { margin: 0 0 1.938em; font-size: 16px; }
	body > .post .quote h3 span { padding: 0.500em 0.688em; border-width: 0.063em; border-radius: 1.625em; }
	body > .post .quote blockquote q { font-size: 80px; line-height: 1.063; text-indent: 1.925em; }
	body > .post .quote blockquote::before { font-size: 200px; line-height: 1; top: -0.090em; left: 0.200em; }
	body > .post .quote blockquote cite { padding: 118px 0 0; }
	body > .post .quote blockquote cite strong { font-size: 46px; line-height: 1.217; }
	body > .post .quote blockquote cite span { padding: 1.450em 0 0; font-size: 20px; line-height: 1.200; }
	body > .post .contact { margin: 84px 0 0 42px; padding: 74px 400px 58px 0; border-width: 1px 0 0; }
	body > .post .contact p { font-size: 95px; line-height: 0.789; text-wrap: balance; }
	body > .post .contact ul { margin: 322px 0 0; }
}

@media only screen and (min-width: 1024px) {
	body > .post { width: 79.58vw; right: -79.58vw; }
	html.post body > .post { right: 0; }
	body > .post > ul { top: -4.58vw; right: 0.63vw; }
	html.post body > .post > ul { top: 0.63vw; }
	body > .post > ul li a { width: 3.96vw; height: 3.96vw; }
	body > .post > ul li a::before,
	body > .post > ul li a::after { width: 2.4vw; height: 0.63vw; top: calc( 50% - ( 0.63vw / 2 ) ); left: 0.78vw; }
	body > .post .title { padding: 7.86vw 2.19vw 5.89vw; }
	body > .post .title h2 { font-size: 10.47vw; }
	body.post-type-archive-insights > .post .title h2,
	body.single-insights > .post .title h2 { font-size: 7.81vw; }
	body > .post .overview { margin: 0 2.19vw; padding: 2.08vw 6.67vw 8.85vw 0; border-width: 0.05vw 0; }
	body > .post .overview h3 { font-size: 4.69vw; }
	body > .post .overview p { font-size: 1.458vw; padding: 0 0 0 14.479vw; }
	body > .post .heading { padding: 5.208vw 10.42vw 0 16.67vw; }
	body > .post .gallery + .heading { padding-top: 2.6vw; }
	body > .post .heading h3 { font-size: 4.06vw; }
	body > .post .text { padding: 5vw 9.27vw 0 16.67vw; }
	body > .post .heading + .text { padding-top: 3.125vw; }
	body > .post .text:last-child { padding-bottom: 3.02vw; }
	body > .post .text h3 { font-size: 2.4vw; }
	body > .post .text.columns { gap: 0 3.125vw; }
	body > .post .text p { font-size: 1.458vw; }
	body > .post .text.columns p { font-size: 1.042vw; }
	body > .post .stats { margin: 3.125vw 2.19vw 0 16.67vw; padding: 3.125vw 0 0; border-width: 0.05vw 0 0; }
	body > .post .stats .stat { width: 15.63vw; padding: 0 0.94vw; border-width: 0 0 0 0.05vw; }
	body > .post .stats .stat:first-child { padding-left: 0; border-width: 0; }
	body > .post .stats .stat h3 { font-size: 2.34vw; }
	body > .post .stats .stat p { font-size: 1.04vw; }
	body > .post .points { margin: 5.52vw 0 0 2.19vw; }
	body > .post .points ol li { padding: 2.08vw 16.93vw 7.5vw 14.48vw; border-width: 0.05vw 0 0; }
	body > .post .points ol li::before { font-size: 2.4vw; }
	body > .post .points ol li h3 { font-size: 2.4vw; }
	body > .post .points ol li p { font-size: 1.458vw; }
	body > .post .gallery { padding: 3.96vw 0 0; }
	body > .post .gallery .slides .slide { padding: 0 0 0 16.67vw; }
	body > .post .gallery .slick-arrow { width: 3.96vw; height: 3.96vw; left: 7.4vw; }
	body > .post .gallery .slick-next { left: 11.67vw; }
	body > .post figure { padding: 4.9vw 0 0 16.67vw; }
	body > .post figure a::after { font-size: 0.521vw; }
	body > .post .quote { padding: 11.04vw 2.19vw 0; }
	body > .post .quote h3 { font-size: 0.83vw; }
	body > .post .quote blockquote q { font-size: 4.17vw; }
	body > .post .quote blockquote::before { font-size: 10.42vw; }
	body > .post .quote blockquote cite { padding: 6.15vw 0 0; }
	body > .post .quote blockquote cite strong { font-size: 2.4vw; }
	body > .post .quote blockquote cite span { font-size: 1.04vw; }
	body > .post .contact { margin: 4.38vw 0 0 2.19vw; padding: 3.85vw 20.83vw 3.02vw 0; border-width: 0.05vw 0 0; }
	body > .post .contact p { font-size: 4.95vw; }
	body > .post .contact ul { margin: 16.77vw 0 0; }
}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/*! Lity - v2.4.1 - 2020-04-26
* http://sorgalla.com/lity/
* Copyright (c) 2015-2020 Jan Sorgalla; Licensed MIT */.lity{z-index:9990;position:fixed;top:0;right:0;bottom:0;left:0;white-space:nowrap;background:#0b0b0b;background:rgba(0,0,0,0.9);outline:none !important;opacity:0;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}.lity.lity-opened{opacity:1}.lity.lity-closed{opacity:0}.lity *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lity-wrap{z-index:9990;position:fixed;top:0;right:0;bottom:0;left:0;text-align:center;outline:none !important}.lity-wrap:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-0.25em}.lity-loader{z-index:9991;color:#fff;position:absolute;top:50%;margin-top:-0.8em;width:100%;text-align:center;font-size:14px;font-family:Arial,Helvetica,sans-serif;opacity:0;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}.lity-loading .lity-loader{opacity:1}.lity-container{z-index:9992;position:relative;text-align:left;vertical-align:middle;display:inline-block;white-space:normal;max-width:100%;max-height:100%;outline:none !important}.lity-content{z-index:9993;width:100%;-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;-o-transition:-o-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease, -webkit-transform .3s ease, -o-transform .3s ease}.lity-loading .lity-content,.lity-closed .lity-content{-webkit-transform:scale(.8);-ms-transform:scale(.8);-o-transform:scale(.8);transform:scale(.8)}.lity-content:after{content:'';position:absolute;left:0;top:0;bottom:0;display:block;right:0;width:auto;height:auto;z-index:-1;-webkit-box-shadow:0 0 8px rgba(0,0,0,0.6);box-shadow:0 0 8px rgba(0,0,0,0.6)}.lity-close{z-index:9994;width:35px;height:35px;position:fixed;right:0;top:0;-webkit-appearance:none;cursor:pointer;text-decoration:none;text-align:center;padding:0;color:#fff;font-style:normal;font-size:35px;font-family:Arial,Baskerville,monospace;line-height:35px;text-shadow:0 1px 2px rgba(0,0,0,0.6);border:0;background:none;outline:none;-webkit-box-shadow:none;box-shadow:none}.lity-close::-moz-focus-inner{border:0;padding:0}.lity-close:hover,.lity-close:focus,.lity-close:active,.lity-close:visited{text-decoration:none;text-align:center;padding:0;color:#fff;font-style:normal;font-size:35px;font-family:Arial,Baskerville,monospace;line-height:35px;text-shadow:0 1px 2px rgba(0,0,0,0.6);border:0;background:none;outline:none;-webkit-box-shadow:none;box-shadow:none}.lity-close:active{top:1px}.lity-image img{max-width:100%;display:block;line-height:0;border:0}.lity-iframe .lity-container,.lity-youtube .lity-container,.lity-vimeo .lity-container,.lity-facebookvideo .lity-container,.lity-googlemaps .lity-container{width:100%;max-width:964px}.lity-iframe-container{width:100%;height:0;padding-top:56.25%;overflow:auto;pointer-events:auto;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-overflow-scrolling:touch}.lity-iframe-container iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;-webkit-box-shadow:0 0 8px rgba(0,0,0,0.6);box-shadow:0 0 8px rgba(0,0,0,0.6);background:#000}.lity-hide{display:none}