/* -------------------*
 *       GLOBAL       
 *------------------- */
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
html,
body { font-size: 16px; font-weight: 400; font-variant-numeric: tabular-nums; color: #fbf0e6; background: #1c3e30; font-family: 'Vastago Grotesk', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
input, select, textarea, button { font-size:15px; ont-family: 'Vastago Grotesk', Helvetica, Arial, sans-serif; }
ol, ul, p { margin-bottom: 1.5rem; line-height: 1.6em; }
a { color:#a385ff; text-decoration:underline; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
a:hover, a:focus { color:#a385ff; text-decoration: none; } 
.nowrap { white-space:nowrap; }
img { max-width:100%; height:auto; }
button { width:auto; padding:0; overflow:visible; cursor: pointer; line-height:normal !important; }
button::-moz-focus-inner { border:0; padding:0;  margin:-1px 0 0 0; }
button:active { box-shadow:inset 1px 1px 2px rgba(0,0,0,0.3); }
.lead { font-size: 20px; line-height: 1.4em; margin-bottom: 1.5rem; }
hr { margin-top:20px; margin-bottom:20px; background: rgba(0, 0, 0, 0.4); }
strong { font-weight: 700; }
.mb-0 { margin-bottom: 0; }
.pb-0 { padding-bottom: 0 !important; }
[data-href] { cursor: pointer; }
.text-primary { color: #a385ff !important; }
.text-muted { color: #808080 !important;  }
.text-secondary { color: #e3002b !important; }
.bg-primary { color: #fff !important; background: #a385ff !important; }

.no-underline { text-decoration: none; }
.no-underline:hover { text-decoration: underline; }
.overflow { overflow: clip; }

/* scroll reveal */
.reveal { opacity: 0; transform: translateY(25px); transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.25, 0.8, 0.25, 1); }
.reveal.revealed { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }

.grayscale { filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: url('../images/layout/grayscale.svg#greyscale'); filter: gray; -webkit-filter: grayscale(1); -webkit-transition:0.4s; -moz-transition:0.4s; -ms-transition:0.4s; -o-transition:0.4s; transition:0.4s; }
.grayscale:hover { -webkit-filter: grayscale(0%); -moz-filter: grayscale(0%); -ms-filter: grayscale(0%); -o-filter: grayscale(0%); filter: none; }

/* headlines
----------------------------------------- */
h1, .h1, h2, .h2, h3, .h3, h4, .h4 { font-weight: 400; font-style: normal; font-family: 'Vastago Grotesk', Helvetica, Arial, sans-serif; }
h1, .h1 { font-size: 70px; line-height: 1.2em; margin-bottom: 2rem; } 
h2, .h2 { font-size: 42px; line-height: 1.2em; margin-bottom: 1.5rem; }
h3, .h3 { font-size: 32px; line-height: 1.2em; font-weight: 500; margin-bottom: 1rem; }
h4, .h4 { font-size: 18px; margin-bottom: 0.8rem; }
h5, .h5 { font-size: 16px; line-height: 1.3em; }
h2 strong { font-weight: 400; }

/* clear 
----------------------------------------- */
.clear { clear:both; }

/* -------------------*
 *       LAYOUT       *
 *------------------- */
 main { color: #1c3e30; background: #fbf0e6; }

/* header
---------------------------------------- */
header { border: 0; z-index: 50; position: fixed; top: 0; left: 0; right: 0; background: transparent; /*-webkit-backdrop-filter: blur(20px); -moz-backdrop-filter: blur(20px); -ms-backdrop-filter: blur(20px); backdrop-filter: blur(20px);*/ }
header .navbar { padding: 40px 0; display: block; z-index: 51; color: #fff; background: transparent; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
header .navbar a { color: #fff; }
header .navbar .navbar-brand { margin: 0; padding: 0; }
.scroll header .navbar { padding-top: 20px; padding-bottom: 20px; background: #2b1c5c; }

header .navbar .navbar-nav { list-style: none; padding: 0; align-items: center; }
header .navbar .navbar-nav li { position: relative; padding: 0 25px; line-height: 1em; }
header .navbar .navbar-nav li:first-child { padding-left: 0; border-left: 0; }
header .navbar .navbar-nav li:last-child { padding-right: 0; }
header .navbar .navbar-nav > li > a { text-transform: uppercase; line-height: 1em; display: block; font-size: 15px; font-weight: 500; padding: 10px 0; text-decoration: none; position: relative; transition: color 0.3s ease, text-shadow 0.3s ease; }

/* nav links – underline wipe-through with animation queuing */
header .navbar .navbar-nav > li:not(.highlight) > a::after { content: ''; position: absolute; left: 0; bottom: 3px; height: 1px; width: 100%; background: linear-gradient(90deg, #a385ff, #d4c1ff); border-radius: 2px; transform: scaleX(0); }
header .navbar .navbar-nav > li:not(.highlight) > a.nav-hover { color: #d4c1ff; text-shadow: 0 0 20px rgba(163, 133, 255, 0.35); }

@keyframes navLineIn {
	0%   { transform: scaleX(0); transform-origin: left; }
	100% { transform: scaleX(1); transform-origin: left; }
}
@keyframes navLineOut {
	0%   { transform: scaleX(1); transform-origin: right; }
	100% { transform: scaleX(0); transform-origin: right; }
}
.nav-line-in::after { animation: navLineIn 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) forwards; }
.nav-line-out::after { animation: navLineOut 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) forwards; }

@keyframes btnFillIn {
	0%   { transform: scaleX(0); transform-origin: left; }
	100% { transform: scaleX(1); transform-origin: left; }
}
@keyframes btnFillOut {
	0%   { transform: scaleX(1); transform-origin: right; }
	100% { transform: scaleX(0); transform-origin: right; }
}
.btn-fill-in::before { animation: btnFillIn 0.5s cubic-bezier(0.65, 0, 0.35, 1) forwards; }
.btn-fill-out::before { animation: btnFillOut 0.5s cubic-bezier(0.65, 0, 0.35, 1) forwards; }

header .navbar .navbar-nav > li.highlight > a { border-radius: 10px; border: 1px solid #a385ff; padding: 10px 25px; background: transparent; overflow: hidden; z-index: 1; transition: color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; }
header .navbar .navbar-nav > li.highlight > a::before { content: ''; position: absolute; inset: 0; background: #a385ff; z-index: -1; transform: scaleX(0); }
header .navbar .navbar-nav > li.highlight > a.btn-hover { color: #fff; border-color: #a385ff; box-shadow: 0 4px 25px rgba(163, 133, 255, 0.45), 0 0 60px rgba(163, 133, 255, 0.15); }

header .navbar-toggler { padding: 0; margin: 0 -5px 0 0; border: 0; width: 40px; height: 40px; outline: none !important; box-shadow: none !important; background: transparent; border-radius: 0; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
header .navbar-toggler .navbar-toggler-text { display: inline-block; vertical-align: middle; text-transform: uppercase; font-weight: 500; }
header .navbar-toggler .burger { display:inline-block; vertical-align: middle; margin: -3px 0 0 0; }
header .navbar-toggler .burger span { width: 32px; height: 3px; background: #ffffff; display:block; margin: 6px 0; border-radius: 2px; -webkit-transition:0.3s; -moz-transition:0.3s; -ms-transition:0.3s; -o-transition:0.3s; transition:0.3s; }
header .navbar-toggler .burger span.line-top { margin-top: 1px; -ms-transform: rotate(135deg); -webkit-transform: rotate(135deg); transform: rotate(135deg); }
header .navbar-toggler .burger span.line-bottom { margin-top: -18px; -ms-transform: rotate(-135deg); -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
header .navbar-toggler .burger span.line-middle { opacity: 0; }
header .navbar-toggler.collapsed .burger span.line-top { margin-top: 4px; transform: none; }
header .navbar-toggler.collapsed .burger span.line-middle { width: 22px; opacity: 1; }
header .navbar-toggler.collapsed .burger span.line-bottom { width: 12px; margin-top: 4px; transform: none; }
header .navbar-toggler:hover .burger span { }

/* headline
---------------------------------------- */
.headline { padding: 250px 0 50px 0; color: #fff; background-color: #2b1c5c; position: relative; overflow: hidden; display: flex; align-items: flex-end; }
.headline-home { min-height: 100vh; padding-bottom: 150px; }
.headline-bg { position: absolute; inset: 0; z-index: 0; }
.headline-video { width: 100%; height: 100%; object-fit: cover; filter: blur(10px); -webkit-filter: blur(10px); transform: scale(1.05); }
.headline-overlay { display: none; position: absolute; inset: 0; background: rgba(43, 28, 92, 0.1); }
.headline .container-lg { position: relative; z-index: 1; }
@media (prefers-reduced-motion: reduce) {
	.headline-video { display: none; }
}
.headline-home h1 { margin-bottom: 5rem; }
.headline-home h1 strong { font-weight: 400; }

/* section
---------------------------------------- */
.section { padding: 90px 0; }
.section--white { background: #fff; }
.section--primary { background: #a385ff; }
.section--secondary { color: #fbf0e6; background: #1c3e30; }
.section--secondary a { color: #fbf0e6; }
.section-head { padding-bottom: 2rem; }
.offset-content { padding: 0 100px; }
.offset-content-large { width: 1000px; max-width: 100%; margin-left: auto; margin-right: auto; }

/* slogan
---------------------------------------- */
.slogan-slider { display: grid; padding-bottom: 2.5rem; }
.slogan-slider-item { grid-area: 1 / 1; font-size: 110px; line-height: 0.9em; color: #a385ff; }
.slogan-slider-item.active { z-index: 1; }
.slogan-slider-item small { color: #1c3e30; font-size: 0.8em; line-height: 1em; }
.slogan-line span { display: block; filter: blur(12px); opacity: 0; transition: opacity 1s ease, filter 1s ease; }
.slogan-slider-item.active .slogan-line span { filter: blur(0); opacity: 1; }
.slogan-slider-item.leaving .slogan-line span { filter: blur(12px); opacity: 0; }
.slogan-line:nth-child(2) span { transition-delay: 0.1s; }

/* logos
---------------------------------------- */
.logos { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 80px; padding-top: 2rem; }
.logos:not(.references-logos) img { width: auto; max-height: 55px; transition: opacity 0.3s ease, transform 0.3s ease; }
.logos:not(.references-logos) img:hover { transform: scale(1.05); }
@keyframes logoMarquee {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.box { align-items: stretch; }
.box .box-content { padding: 70px 100px; color: #fff; background: #1c3e30; min-height: 100%; display: flex; flex-wrap: wrap; align-content: space-between; }
.box .box-content-text { padding-top: 2rem }
.box .box-image { height: 100%; overflow: hidden; }
.box .box-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s cubic-bezier(0.25, 0.8, 0.25, 1); }
.box:hover .box-image img { transform: scale(1.03); }
.box .box-content ul { font-size: 20px; list-style: none; margin: 0; padding: 5px 0 0; }
.box .box-content ul li { padding: 5px 0 5px 25px; position: relative; }
.box .box-content ul li:before { content: '→'; font-size: 0; background: url(../images/layout/arrow-bullet.svg) no-repeat center left; width: 16px; height: 16px; background-size: 100% auto; display: block; color: #a385ff; position: absolute; left: 0; top: 13px; line-height: 1em; }

.section--primary .box .box-content { color: #1c3e30; background: #fbf0e6; }

.contact-personal { position: relative; padding: 10px 0 10px 120px; }
.contact-personal > img { position: absolute; left: 0; top: 0; border-radius: 50%; }
.contact-personal strong { display: block; }
.contact-personal span { display: block; }

/* references
---------------------------------------- */
.references { margin-bottom: 80px; overflow: visible; }
.references .swiper-slide { width: calc((100% - 40px) / 3); height: auto; }
.references .reference-item { display: flex; flex-direction: column; text-decoration: none; color: #1c3e30; border-radius: 10px; background: #fff; overflow: hidden; height: 100%; transition: box-shadow 0.4s ease; }
.references .reference-item:hover { box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08); }
.references .reference-item-content { padding: 25px; flex: 1; position: relative; }
.references .reference-item-content strong { display: block; }
.references .reference-item-content p { line-height: 1.4em; margin-bottom: 0; }
.references .reference-item-image { background-color: #a385ff; position: relative; overflow: hidden; }
.references .reference-item-image img { transition: opacity 0.4s ease, transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1); }
.references .reference-item:hover .reference-item-image img { transform: scale(1.05); }
.references .reference-item-image span { text-transform: uppercase; letter-spacing: 0.05em; opacity: 0; position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); display: block; font-weight: 700; color: #fff; transition: opacity 0.3s ease; white-space: nowrap; }
.references .reference-item:hover .reference-item-image img { opacity: 0.4; }
.references .reference-item:hover .reference-item-image span { opacity: 1; }
.references .swiper-scrollbar { position: relative; margin-top: 40px; height: 4px; border-radius: 0; background: #fff; width: 50%; left: 50%; transform: translateX(-50%); }
.references .swiper-scrollbar-drag { background: #a385ff; border-radius: 0; }
.references .badge-winning { position: absolute; top: -45px; right: 25px; animation: badgeSpin 15s linear infinite; }
@keyframes badgeSpin {
	0%   { transform: rotate(0deg); }
	100% { transform: rotate(-360deg); }
}

.badge-thank { animation: badgeSpin 15s linear infinite;  }

/* privacy policy table */
.privacy-table { background: transparent; border-collapse: collapse; width: 100%; margin: 1.5rem 0; }
.privacy-table th, .privacy-table td { background: transparent; border: 1px solid rgba(28, 62, 48, 0.2); padding: 15px 18px; vertical-align: top; text-align: left; }
.privacy-table th { font-weight: 700; }

/* footer
---------------------------------------- */
.footer { font-size: 14px; padding: 50px 0; color: #fbf0e6; background: #1c3e30; }
.footer a { color: #fbf0e6; }
.footer .footer-links a + a { margin-left: 15px; }

/* modal
---------------------------------------- */
.modal { text-align: left; }
.modal-content { border-radius: 10px; border: 0; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12); }
.modal-header { border: 0; padding: 40px 40px 0; }
.modal-header .modal-title { margin-bottom: 0; }
.modal-header .btn-close { opacity: 0.5; }
.modal-header .btn-close:hover { opacity: 1; }
.modal-body { padding: 30px 40px 40px; }
.modal-backdrop { background-color: rgba(0, 0, 0, 0.2) !important; -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); }
.modal-backdrop.show { opacity: 1 !important; }
.modal-step { display: none; animation: modalStepIn 0.3s ease; }
.modal-step.active { display: block; }

.video-modal .modal-content { background: transparent; border: 0; box-shadow: none; overflow: visible; }
.video-modal .modal-content .btn-close { position: absolute; top: -45px; right: 0; opacity: 1; filter: brightness(0) invert(1); z-index: 2; }
.video-modal .ratio { border-radius: 10px; overflow: hidden; }
@keyframes modalStepIn {
	0%   { opacity: 0; }
	100% { opacity: 1; }
}

/* forms
---------------------------------------- */
.contact-form { border-radius: 10px; background: #fbf0e6; color: #1c3e30; padding: 25px 35px; }
.contact-form .form-group { margin-bottom: 1.5rem; }
.contact-form .form-field { position: relative; background: #fff; border-radius: 10px 10px 0 0; border-bottom: 1px solid #1c3e30; padding: 0; }
.contact-form .form-field .form-control { width: 100%; padding: 15px 40px 14px 18px; font-size: 16px; border: 0; border-radius: 10px 10px 0 0; background: transparent; outline: none; color: #1c3e30; }
.contact-form .form-field .form-control::placeholder { color: #999; }
.contact-form .form-field .form-control:focus { box-shadow: none; }
.contact-form .form-field .required { position: absolute; right: 18px; top: 16px; color: #a385ff; font-weight: 700; font-size: 18px; }
.contact-form textarea.form-control { resize: vertical; min-height: 120px; }
.contact-form .form-actions { display: flex; align-items: center; gap: 25px; margin-top: 2rem; }
.contact-form .form-actions .btn { border-radius: 10px; padding: 14px 40px; width: 220px; font-size: 18px; margin-right: 20px; }
.contact-form .form-actions span { font-size: 15px; line-height: 1.4em; }

.form-group { margin-bottom: 1.2rem; }
.form-group label { font-weight: 700; margin-bottom: 6px; color: #111; }
.form-group label .required { color: #e3002b; }
.form-group-hint { display: flex; flex-wrap: wrap; align-items: baseline; }
.form-group-hint label { margin-right: auto; }
.form-group-hint .form-hint { order: 1; }
.form-group-hint .form-control { order: 2; width: 100%; }
.form-hint { display: inline-block; padding-left: 18px; font-weight: 400; font-style: italic; font-size: 13px; line-height: 1.3em; position: relative; }
.form-hint i { font-style: normal; flex-shrink: 0; margin-top: 1px; position: absolute; left: 0; top: 0; }
.form-group .form-control, .form-group .form-select { padding: 10px 14px; font-size: 15px; border: 1px solid #e9e9e9; border-radius: 8px; background: #e9e9e9; outline: none; transition: border-color 0.2s; }
.form-group .form-control:focus, .form-group .form-select:focus { border-color: #a385ff; box-shadow: none; }
.form-group .form-select { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: #e9e9e9; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; height: 44.5px; }
.form-check { padding-top: 0.5rem; }
.form-check label { font-weight: 400; }
.form-check label a { color: #111; }
.form-check-label { font-weight: 400; }
.form-check-label .required { color: #e3002b; }
.form-check-input:checked { background-color: #a385ff; border-color: #a385ff; }
.form-check-input:focus { box-shadow: none; border-color: #a385ff; }
.form-actions { display: flex; align-items: center; gap: 20px; margin-top: 1.5rem; justify-content: space-between; }
.form-actions a { font-weight: 700; }

/* buttons
---------------------------------------- */
.btn { font-size: 18px; font-weight: 600; font-style: normal; padding: 6px 25px; white-space: nowrap; border-radius: 30px; overflow: hidden; text-decoration: none !important; position: relative; transition: transform 0.2s ease; }
.btn.btn-sm { font-size: 16px }
.buttons.text-center .btn { margin: 0 10px 10px; }
.btn-back i { font-size: 18px; display: inline-block; vertical-align: middle; margin: -5px 0 -2px; }

.btn.btn-primary,
.btn.btn-secondary,
.btn.btn-light,
.btn.btn-outline-light { z-index: 1; }

.btn.btn-primary::before,
.btn.btn-secondary::before,
.btn.btn-light::before,
.btn.btn-outline-light::before { content: ''; position: absolute; top: 0; left: 0; bottom: 0; width: 0; transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1); z-index: -1; border-radius: 30px; }

.btn.btn-primary::before { background: #2a5545; inset: 0; width: auto; border-radius: inherit; transform: scaleX(0); transition: none; }

.btn.btn-primary { color: #fff !important; background: #1c3e30 !important; border-color: #1c3e30; transition: border-color 0.3s ease; }
.btn.btn-primary.btn-hover { border-color: #2a5545; }
.btn.btn-primary:active { box-shadow: none; }

.btn.btn-secondary::before { background: #e3002b; }
.btn.btn-secondary { color: #fff !important; background: #356b09 !important; border-color: #356b09; transition: border-color 0.4s ease, transform 0.2s ease; }
.btn.btn-secondary:hover { color: #fff !important; border-color: #e3002b; }
.btn.btn-secondary:hover::before { width: 100%; }
.btn.btn-secondary:active { box-shadow: none; transform: translateY(0); }


/* ===========================
   Responsive
   =========================== */
@media (max-width: 1399px) {
    .slogan-slider-item { font-size: 90px; }
    .offset-content { padding: 0 50px; }

    .box .box-content { padding: 60px 80px; }
}
@media all and (max-width:1199px) {
	header .navbar,
	.headline  { padding-left: 10px; padding-right: 10px; }
	.section { padding: 70px 10px; }
	.offset-content { padding: 0; }
	.box .box-content { padding: 60px 50px; }
}
@media (max-width: 991px) {
	h1, .h1 { font-size: 60px; }
	h2, .h2 { font-size: 36px; }
	h3, .h3 { font-size: 28px; }
	.lead { font-size: 18px; }

	header .navbar .navbar-brand { width: 200px; position: relative; z-index: 102; }
	header .navbar-toggler { position: relative; z-index: 102; }

	.slogan-slider-item { font-size: 70px; }

	.logos { gap: 50px; padding-top: 1rem; }
	.logos:not(.references-logos) img { max-height: 40px; }

	.section.section-box { padding: 25px 10px; }
	.box .box-content { padding: 50px 40px; }
	.box .box-content ul { font-size: 18px; }

	.references .swiper-slide { width: calc((100% - 40px) / 2); }
}

@media (max-width: 767px) {
	h1, .h1 { font-size: 55px; }

	header .navbar .navbar-brand { width: 240px; }
	
	/* Fullscreen mobile menu */
	header .navbar-collapse { position: fixed; inset: 0; background: #2b1c5c; z-index: 100; display: flex !important; align-items: center; justify-content: center; padding: 80px 20px; opacity: 0; visibility: hidden; transform: scale(1.05); transition: opacity 0.5s ease, visibility 0.5s ease, transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); height: auto !important; }
	header .navbar-collapse.show { opacity: 1; visibility: visible; transform: scale(1); }
	header .navbar-collapse.collapsing { opacity: 0; visibility: visible; height: auto !important; transition: none; }
	header .navbar .navbar-nav { flex-direction: column; align-items: center; gap: 25px; width: 100%; }
	header .navbar .navbar-nav li { padding: 0; opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease, transform 0.5s ease; }
	header .navbar-collapse.show .navbar-nav li { opacity: 1; transform: translateY(0); }
	header .navbar-collapse.show .navbar-nav li:nth-child(1) { transition-delay: 0.2s; }
	header .navbar-collapse.show .navbar-nav li:nth-child(2) { transition-delay: 0.3s; }
	header .navbar-collapse.show .navbar-nav li:nth-child(3) { transition-delay: 0.4s; }
	header .navbar-collapse.show .navbar-nav li:nth-child(4) { transition-delay: 0.5s; }
	header .navbar .navbar-nav > li > a { font-size: 26px; font-weight: 500; }
	header .navbar .navbar-nav > li.highlight > a { font-size: 26px; padding: 14px 35px; }

	header .navbar .navbar-nav li { padding: 0; }

	.headline-home { padding-bottom: 50px; }
	.headline-home h1 { margin-bottom: 3rem; }

	.slogan-slider { padding-bottom: 4rem; }
	.slogan-slider-item { font-size: 90px; }

	.section-head { padding-bottom: 0.5rem; }

	.logos:not(.references-logos) img { max-height: 50px; }

	.section-benefits p:last-child { margin-bottom: 0; }

	.section.section-box { padding: 0; overflow: hidden; }
	.section-box .container-lg { padding: 0; }
	.section-box.section--primary .box-content { border: 1rem solid #a385ff; }

	.box .box-image { height: 55vw; }

	.references .swiper-slide { width: calc((100% - 40px) / 1.4); }

	/* Logos marquee */
	.references-logos { display: block !important; overflow: hidden; padding: 1rem 0 !important; margin: 0 -10px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
	.references-logos .references-logos-marquee { display: flex; align-items: center; width: max-content; animation: logoMarquee 18s linear infinite; }
	.references-logos .references-logos-marquee img { flex-shrink: 0; margin-right: 40px; height: 35px; }
	.references-logos .references-logos-marquee img:not([alt="Quaker Station"]) { height: 50px; }
}

@media (max-width: 575px) {
	.slogan-slider-item { font-size: 60px; }

	.section { padding: 50px 10px; }

	.contact-form .form-actions { display: block; text-align: center; }
	.contact-form .form-actions .btn { width: 100%; margin-bottom: 1rem; }
	.contact-form .form-actions span { display: block; line-height: 1.3em; }

	.references-logos .references-logos-marquee img { margin-right: 10px; }
}
@media (max-width: 475px) {
	h1, .h1 { font-size: 45px; }

	header .navbar .navbar-brand { width: 220px; }

	.headline { padding-top: 150px; padding-bottom: 20px; }
	.headline p br { display: none; }

	.headline-video { filter: blur(3px); -webkit-filter: blur(3px); }

	.logos { gap: 30px; }
	.logos:not(.references-logos) img { max-height: 40px; }

	.box .box-content { padding: 40px 20px; }
	.section-box.section--primary .box-content { border-width: 10px; padding: 40px 30px; }
	.box .box-content-text { padding-top: 1rem; }
	.box .box-content ul li { padding-bottom: 0; }
	.box .box-content ul li:before { top: 12px; }

	.references { margin-bottom: 50px; }
	.references .swiper-slide { width: calc((100% - 40px)); }
	.references .reference-item-content { padding: 20px; }

	.references-logos img:not([alt="Quaker Station"]) { max-height: 25px; }
	.references-logos img[alt="Quaker Station"] { max-height: 50px; }

	.contact-form { padding: 20px; }
}