:root {
   --black: #000000;
   --black-black: #1C1C1C;
   --black-black-20: rgba(28, 28, 28, 0.20);
   --black-black-40: rgba(28, 28, 28, 0.40);
   --black-black-60: rgba(28, 28, 28, 0.60);
   --black-black-80: rgba(28, 28, 28, 0.80);

    --purple: #7B90E7;
    --purple-light: #DDE7FF;

    --dark-blue: rgba(30, 52, 85, 1);
    --dark-blue-70: rgba(30, 52, 85, 0.70);

    --yellow: #E7F700;

    --pink: #FF7EB6;
   
   --white: #ffffff;

   --grey: #EFEEF0;
}

/* Reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
    font-family: "Inter", sans-serif;
    line-height: 1.5;
    font-optical-sizing: auto;
    color: var(--black-black);
    background: #fff;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
.layouts-title {
	font-size: 26px;
	margin:15px 0px;
}
.layouts ul li {
	margin-bottom:5px;
}
.layouts ul li a {
	font-size: 17px;
	display: inline-block;
	padding:3px 10px;
}
.layouts ul li a:hover {
	background:#000;
	color:#fff;
}

/* -- END RESET -- */

.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: left;
}
/* -- main styles -- */

.nopad {
	padding:0px;
}
.nopadleft {
	padding-left:0px;
}
.nopadright {
	padding-right:0px;
}
strong, b {
	font-weight: bold;
}
i {
	font-style: italic;
}
em {
	font-style: italic;
}
.clear {
	clear:both;
}
.left {
	float:left;
	margin-right:15px;
	margin-bottom:15px;
}
.right {
	float:right;
	margin-left:15px;
	margin-bottom:15px;
}
.alignleft {
	float:left;
    width: calc(50% - 12px);
	margin-right:12px;
	margin-bottom:16px;
}
.alignright {
	float:right;
    width: calc(50% - 12px);
	margin-left:12px;
	margin-bottom:16px;
}
.aligncenter,
div.aligncenter {
    display: block;
    /* margin: 5px auto 5px auto; */
}
a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}
.wp-caption {
	max-width: 100%;
    margin-bottom: 15px;
}
.invi {
	visibility: hidden;
	opacity: 0;
}
.object-fit {
	position: relative;
}
.object-fit > img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100% !important;
	height: 100%!important;
	object-fit: cover;
	-o-object-fit: cover;
    object-fit: cover;
}
.object-fit.object-contain > img {
    -o-object-fit: contain;
    object-fit: contain;
}
.object-fit > video {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -o-object-fit: cover;
    object-fit: cover;
}

.fancybox__content :focus:not(.carousel__button.is-close) {
    outline: none;
}

.submitting button,
.submitting input[type="button"] {
    pointer-events: none;
}
.submitting {
    position: relative;
}
.submitting::before {
    content: '';
    width: 100%; height: 100%;
    background: rgba(255, 255, 255, 0.8);
    position: absolute;
    top: 0; left: 0;
    z-index: 11;
}
.bg-grey .submitting::before {
    background: rgba(239,238,240, 0.8);
}
.submitting::after {
    content: '';
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    margin-left: -10px;
    border-radius: 50%;
    border-top: 2px solid #000;
    border-right: 2px solid transparent;
    -webkit-animation: formSpinner .6s linear infinite;
    animation: formSpinner .6s linear infinite;
    z-index: 12;
}
@-webkit-keyframes formSpinner {
    to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}
}
@keyframes formSpinner {
    to {-webkit-transform: rotate(360deg);transform: rotate(360deg);}
}

/* preloader */
.preloader {
    display: inline-block;
	width: 25px;
	height: 25px;
	border: 3px solid hsla(0,0%,100%,.3);
    border-top-color: rgba(255, 255, 255, 0.3);
    border-right-color: rgba(255, 255, 255, 0.3);
    border-bottom-color: rgba(255, 255, 255, 0.3);
    border-left-color: rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	border-top-color: #ccc !important;
	-webkit-animation: a 1s ease-in-out infinite;
	animation: a 1s ease-in-out infinite;
	z-index: 50;
}
@-webkit-keyframes a {
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}
@keyframes a {
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

/*   hamburger   */
.hamburger {
    font: inherit;
    display: inline-block;
    overflow: visible;
	margin: 0;
	padding: 0;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: .15s;
    transition-property: opacity, filter;
    text-transform: none;
    color: inherit;
    border: 0;
    background-color: transparent;
	float: right;
}
.hamburger:hover {
    opacity: 1;
}
.hamburger-box {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    float: right;
}
.hamburger-inner {
    top: 50%;
    display: block;
    margin-top: -2px;
}
.hamburger-inner,
.hamburger-inner:after,
.hamburger-inner:before {
	border-radius: 2px;
    position: absolute;
    width: 20px;
    height: 2px;
    transition-timing-function: ease;
    transition-duration: .15s;
    transition-property: transform;
    background-color: #000;
}
.hamburger-inner:after,
.hamburger-inner:before {
    display: block;
    content: "";
}
.hamburger-inner:before {
    top: -7px;
}
.hamburger-inner:after {
    bottom: -7px;
}
.hamburger--squeeze .hamburger-inner {
    transition-timing-function: cubic-bezier(.55, .055, .675, .19);
    transition-duration: 75ms;
}
.hamburger--squeeze .hamburger-inner:before {
    transition: top 75ms ease .12s, opacity 75ms ease;
}
.hamburger--squeeze .hamburger-inner:after {
    transition: bottom 75ms ease .12s, transform 75ms cubic-bezier(.55, .055, .675, .19);
}
.hamburger--squeeze.is-active .hamburger-inner {
    transition-delay: .12s;
    transition-timing-function: cubic-bezier(.215, .61, .355, 1);
    transform: rotate(45deg);
}
.hamburger--squeeze.is-active .hamburger-inner:before {
    top: 0;
    transition: top 75ms ease, opacity 75ms ease .12s;
    opacity: 0;
}
.hamburger--squeeze.is-active .hamburger-inner:after {
    bottom: 0;
    transition: bottom 75ms ease, transform 75ms cubic-bezier(.215, .61, .355, 1) .12s;
    transform: rotate(-90deg);
}


.dflex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
}

.dflex-middle {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.dflex-between {
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.dflex-cbetween {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.grid-container {
	width: 100%;
    max-width: 100%;
    max-width: 1920px;
    padding-left: 4.44vw;
    padding-right: 4.44vw;
    position: relative;
    z-index: 10;
}
.grid-container.grid-container-full {
    max-width: 100%;
}
.grid-container.nopad {
	padding-left: 0;
    padding-right: 0;
}

/* animations  */

.hero-fade-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.75s linear, transform 0.75s cubic-bezier(0.19,1,0.22,1);
}
.hero-fade-up.hero-anim {
    opacity: 1;
    transform: translateY(0px);
}

.hero-animated-title.hero-anim {
    opacity: 1;
}

.hero-animated-title {
    opacity: 0;
}

.animated-title.in-view {
    opacity: 1;
}

.animated-title {
    opacity: 0;
}

.animated-title .word,
.hero-animated-title .word {
    overflow: hidden;
    padding-right: 0.04em;
    /* padding-bottom: 0.11em; */
}

.animated-title.in-view .char,
.hero-animated-title.hero-anim .char {
    transform: translateY(0);
}
.animated-title .char,
.hero-animated-title .char {
    transform: translateY(140%);
    transition: transform 1.2s cubic-bezier(0.19,1,0.22,1);
    transition-delay: calc(30ms* var(--word-index));
}

.title-160.animated-title,
.title-160.hero-animated-title {
    line-height: 0.84;
}
.title-160.animated-title .word {
    /* padding-top: 0.1em; */
    /* padding-bottom: 0.13em; */
    /* margin-bottom: -0.16em; */
    padding-bottom: 0;
}


.title-96.animated-title {
     line-height: 0.85;
}
.title-96.animated-title .word {
    /* padding-top: 0.05em;
    padding-bottom: 0.13em;
    margin-bottom: -0.2em; */
    padding-bottom: 0.2em;
    margin-bottom: -0.2em;
}
.title-48.animated-title {
     line-height: 0.9;
}
.title-48.animated-title .word {
    /* padding-top: 0.05em;
    padding-bottom: 0.13em;
    margin-bottom: -0.2em; */
    padding-bottom: 0.14em;
    margin-bottom: -0.14em;
}


/* .title-64.animated-title:not(:last-child) {
    margin-bottom: calc(32px - 0.11em);
} */
/* .animated-title .word {
    transform: translateY(20px);
    opacity: 0;
    transition: 0.6s ease-in-out;
    transition-delay: calc(100ms* var(--line-index));
}
.animated-title.in-view .word {
    transform: translateY(0%);
    opacity: 1;
} */

.animation-element.fade-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.75s linear, transform 0.75s cubic-bezier(0.19,1,0.22,1);
}

.animation-element.fade-up.in-view {
    opacity: 1;
    transform: translateY(0px);
}

.animation-element.fade-up-later {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.75s .3s linear, transform 0.75s .3s cubic-bezier(0.19,1,0.22,1);
}

.animation-element.fade-up-later.in-view {
    opacity: 1;
    transform: translateY(0px);
}
.animation-element.fade-up-late {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.75s .6s linear, transform 0.75s .6s cubic-bezier(0.19,1,0.22,1);
}

.animation-element.fade-up-late.in-view {
    opacity: 1;
    transform: translateY(0px);
}

.animation-element.fade-in {
    opacity: 0;
    transition: opacity 0.75s ease;
}

.animation-element.fade-in.in-view {
    opacity: 1;
}
.animation-element.fade-in-later {
    opacity: 0;
    transition: opacity 0.75s 0.3s ease;
}

.animation-element.fade-in-later.in-view {
    opacity: 1;
}

.animation-element.fade-up-home {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.75s .6s linear, transform 0.75s .6s cubic-bezier(0.19,1,0.22,1);
}

.animation-element.fade-up-home.in-view {
    opacity: 1;
    transform: translateY(0px);
}

.title-opacity {
    color: var(--black-black-40);
    transition: 0.8s cubic-bezier(0.19,1,0.22,1);
}
.title-opacity.in-view {
    color: var(--black-black);
}


header {
    position: fixed;
    z-index: 500;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 19px 0;
    transition: background 0.3s;
}

.header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.header-left,
.header-right {
    width: 180px;
}

.header-middle {
    width: calc(100% - 180px - 180px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.header-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -moz-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}

.logo a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
}
.nav ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    color: var(--black-black);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -0.01em;
    padding: 4px 0;
    line-height: 1.08;
    position: relative;
}
.nav ul li a:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background: var(--black-black);
    width: 0;
    height: 1px;
    transition: 0.2s;
}
.nav ul li a:hover:before {
    width: 100%;
    right: 0;
}

.nav ul li.menu-item-32 a {
    padding-right: 18px;
}

.nav ul li a span {
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: var(--purple);
    color: #fff;
    /* margin-left: 4px; */
    width: 14px;
    height: 14px;
    text-align: center;
    border-radius: 3px;
    font-size: 10px;
    line-height: 1;
    /* position: relative; */
    letter-spacing: 0px;
    /* top: -4px; */
}

.title-160 {
    font-size: 160px;
    font-size: 11.1vw;
    font-weight: 700;
    line-height: 0.9;
    text-transform: uppercase;
    letter-spacing: -0.04em;
}

.title-96 {
    font-size: 96px;
    font-size: 6.66vw;
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -0.04em;
}
.title-72 {
    font-size: 72px;
    font-size: 5vw;
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.03em;
}
.title-48 {
    font-size: 48px;
    font-size: 3.33vw;
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.03em;
}

.title-24 {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.28;
    letter-spacing: -0.01em;
}
.title-20 {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.02em;
}

.text-20 {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.68;
    letter-spacing: -0.01em;
}

.text-16 {
    font-size: 16px;
    line-height: 1.68;
    letter-spacing: -0.01em;
}

.text-16 a {
    color: var(--black-black-80);
    color: inherit;
    text-decoration: underline;
    transition: 0.2s;
}
.text-16 a:hover {
    color: var(--black-black);
}
.text-14 {
    font-size: 14px;
    line-height: 1.56;
    letter-spacing: -0.02em;
}

.section-label {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.02em;
}
.section-label span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    padding-left: 24px;
    position: relative;
}
.section-label span:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: var(--purple);
}

.muted-60 {
    opacity: 0.6;
}
.muted-80 {
    opacity: 0.8;
}

.bg-grey {
    background: var(--grey);
}

.bg-black {
    background: var(--black-black);
    color: var(--white);
}

.mb-24 {
    margin-bottom: 24px;
}
.mb-40 {
    margin-bottom: 40px;
}

.btn-black-border,
.btn-black-border:focus,
.btn-black-border:active {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    min-height: 34px;
    padding: 2px 16px;
    border-radius: 20px;
    background: transparent;
    color: var(--black-black);
    /* border: 1px solid var(--black-black); */
    box-shadow: 0px 0px 0px 1px rgba(0,0,0,1) inset;
    -webkit-box-shadow: 0px 0px 0px 1px rgba(0,0,0,1) inset;
    -moz-box-shadow: 0px 0px 0px 1px rgba(0,0,0,1) inset;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    position: relative;
    overflow: hidden;
}
.btn-black-border:hover {
    /* background: var(--black-black); */
    color: var(--black-black);
}
.btn-black-border > span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: var(--black);
    color: var(--white);
    border: 1px solid var(--black-black);
    border-radius: 20px;
    transform: translateY(100%);
    transition: 0.5s;
}
.btn-black-border:hover > span {
    transform: translateY(0);
    transition: 0.2s;
}

a:hover .btn-black-border > span {
    transform: translateY(0);
    transition: 0.2s;
}

a:hover + .carousel-content-item-button .btn-black-border > span {
    transform: translateY(0);
    transition: 0.2s;
}

.btn-grey-border,
.btn-grey-border:focus,
.btn-grey-border:active {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    min-height: 38px;
    padding: 2px 16px;
    border-radius: 20px;
    background: rgba(255,255,255,0.8);
    color: var(--black-black-60);
    /* border: 1px solid var(--black-black); */
    box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1) inset;
    -webkit-box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1) inset;
    -moz-box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.1) inset;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    position: relative;
    overflow: hidden;
}
.btn-grey-border:hover {
    /* background: var(--black-black); */
    color: var(--black-black-60);
}
.btn-grey-border > span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: var(--purple);
    color: var(--white);
    border: 1px solid var(--purple);
    border-radius: 20px;
    transform: translateY(100%);
    transition: 0.5s;
}
.btn-grey-border:hover > span {
    transform: translateY(0);
    transition: 0.2s;
}

a:hover .btn-grey-border > span {
    transform: translateY(0);
    transition: 0.2s;
}

a:hover + .carousel-content-item-button .btn-grey-border > span {
    transform: translateY(0);
    transition: 0.2s;
}


.btn-yellow,
.btn-yellow:focus,
.btn-yellow:active {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    min-height: 38px;
    padding: 2px 18px;
    border-radius: 20px;
    background: var(--yellow);
    color: var(--black-black);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: 0.1s;
}
.btn-yellow:hover {
    /* background: var(--black-black); */
    background: var(--black-black);
    color: var(--black-black);
    transition: 0.1s 0.1s;
}
.btn-yellow > span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: var(--black-black);
    /* background: var(--purple-light); */
    color: var(--white);
    /* color: var(--black); */
    border-radius: 20px;
    transform: translateY(100%);
    transition: 0.5s;
}
.btn-yellow:hover > span {
    transform: translateY(0);
    transition: 0.2s;
}


.btn-purple,
.btn-purple:focus,
.btn-purple:active {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    min-height: 34px;
    padding: 2px 18px;
    border-radius: 20px;
    background: var(--purple);
    color: var(--white);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
.btn-purple:hover {
    /* background: var(--white); */
    color: var(--white);
}
.btn-purple > span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: var(--black-black);
    /* background: var(--purple-light); */
    color: var(--white);
    /* color: var(--black); */
    border-radius: 20px;
    transform: translateY(100%);
    transition: 0.5s;
}
.btn-purple:hover > span {
    transform: translateY(0);
    transition: 0.2s;
}

.btn-purple[disabled],
.btn-purple[disabled]:focus,
.btn-purple[disabled]:active {
    pointer-events: none;
    background: var(--black-black-20);
}


.btn-white,
.btn-white:focus,
.btn-white:active {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    min-height: 34px;
    padding: 2px 16px;
    border-radius: 20px;
    background: var(--white);
    color: var(--black);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    position: relative;
    overflow: hidden;
}
.btn-white:hover {
    /* background: var(--black-black); */
    color: var(--black);
}

.btn-white.has-circle:before {
    border: 1px solid var(--black-black);
}

.btn-white > span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: var(--black);
    color: var(--white);
    border: 1px solid var(--white);
    border-radius: 20px;
    transform: translateY(100%);
    transition: 0.5s;
}
.btn-white:hover > span {
    transform: translateY(0);
    transition: 0.2s;
}
.btn-white.has-circle > span:before {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 10px;
    border: 1px solid var(--white);
    background: var(--white);
    margin-right: 8px;
}


.btn-black,
.btn-black:focus,
.btn-black:active {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    min-height: 34px;
    padding: 2px 16px;
    border-radius: 20px;
    background: var(--black-black);
    color: var(--white);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    position: relative;
    overflow: hidden;
}
.btn-black:hover {
    /* background: var(--black-black); */
    color: var(--white);
}
.btn-black > span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: var(--white);
    color: var(--black-black);
    border: 1px solid var(--black-black);
    border-radius: 20px;
    transform: translateY(100%);
    transition: 0.5s;
}
.btn-black:hover > span {
    transform: translateY(0);
    transition: 0.2s;
}
.btn-black.has-circle > span:before {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 10px;
    border: 1px solid var(--black-black);
    background: var(--black-black);
    margin-right: 8px;
}

.has-circle:before {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 10px;
    border: 1px solid var(--white);
    margin-right: 8px;
    transition: 0.2s;
}

.link-black,
.link-black:focus,
.link-black:active {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 20px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.01em;
    color: var(--black-black);
    position: relative;
    transition: 0.2s;
}
.link-black:hover {
    color: var(--black-black);
}
.link-black:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background: var(--black-black);
    width: 0;
    height: 1px;
    transition: 0.2s;
}
.link-black:hover:before {
    width: 100%;
    right: 0;
}
.link-black.has-arrow-down:hover:before {
    width: calc(100% - 26px);
    right: 26px;
}
.has-arrow-down span {
    width: 22px;
    height: 22px;
    position: relative;
    overflow: hidden;
    margin-left: 4px;
}
.has-arrow-down span:before,
.has-arrow-down span:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url(../img/arrow-down.svg) no-repeat center center;
}
.has-arrow-down span:after {
    transform: translateY(-100%);
}

a:hover .has-arrow-down span:before,
.has-arrow-down:hover span:before { 
    /* transform: translateX(100%); */
    animation: moveVerticalBefore 0.2s forwards;
}
a:hover .has-arrow-down span:after,
.has-arrow-down:hover span:after { 
    /* transform: translateX(0%); */
    animation: moveVerticalAfter  0.2s forwards;
}

@keyframes moveVerticalBefore {
    from {
        transform: translateY(0%)
    }
    to {
        transform: translateY(100%)
    }
}
@keyframes moveVerticalAfter {
    from {
        transform: translateY(-100%)
    }
    to {
        transform: translateY(0%)
    }
}


.link-grey,
.link-grey:focus,
.link-grey:active {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.01em;
    color: var(--black-black-60);
    transition: 0.2s;
}
.link-grey:hover {
    color: var(--black-black);
}

.has-arrow > span {
    width: 20px;
    height: 20px;
    margin-left: 4px;
    position: relative;
    overflow: hidden;
}
.has-arrow > span:before,
.has-arrow > span:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transition: 0.2s;
}
.has-arrow > span:before {
    transform: translateX(0%);
    background: url(../img/arrow-right-black-60.svg) no-repeat center center;
    
}
.has-arrow > span:after {
    background: url(../img/arrow-right-black.svg) no-repeat center center;
    transform: translateX(-100%);
}
.has-arrow:hover > span:before {
    transform: translateX(100%);
    
}
.has-arrow:hover > span:after {
    transform: translateX(0%);
}

.link-circle-arrow,
.link-circle-arrow:focus,
.link-circle-arrow:active {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
    color: var(--black-black);
    line-height: 1.08;
    letter-spacing: -0.01em;
}
.link-circle-arrow span {
    width: 38px;
    height: 38px;
    border: 1px solid var(--black-black-20);
    border-radius: 50%;
    margin-right: 16px;
    position: relative;
    overflow: hidden;
    transition: 0.2s;
}
a:hover .link-circle-arrow span,
.link-circle-arrow:hover span {
    border: 1px solid var(--black-black);
}

.link-circle-arrow span:before,
.link-circle-arrow span:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url(../img/arrow-right-black.svg) no-repeat center center;
    /* animation: move 0.2s; */
    /* transition: 0.2s; */
}

.link-circle-arrow span:after { 
    transform: translateX(-100%);
}

a:hover .link-circle-arrow span:before,
.link-circle-arrow:hover span:before { 
    /* transform: translateX(100%); */
    animation: moveBefore 0.2s forwards;
}
a:hover .link-circle-arrow span:after,
.link-circle-arrow:hover span:after { 
    /* transform: translateX(0%); */
    animation: moveAfter  0.2s forwards;
}

@keyframes moveBefore {
    from {
        transform: translateX(0%)
    }
    to {
        transform: translateX(100%)
    }
}
@keyframes moveAfter {
    from {
        transform: translateX(-100%)
    }
    to {
        transform: translateX(0%)
    }
}

.home-intro-section {
    padding: 72px 0 0;
    margin-bottom: 128px;
}

.home-intro-section .title-160 div:nth-child(2) {
    padding-left: 0.69em;
}

.home-custom-cards-col {
    width: calc(50% - 12px);
}
.home-custom-cards-subcol {
    width: calc(50% - 12px);
}

.home-custom-card {
    position: relative;
    padding-bottom: 100%;
    margin-bottom: 24px;
}

.b-24 {
    border-radius: 24px;
}
.b-24 > img {
    border-radius: 24px;
}
.b-28 {
    border-radius: 28px;
}
.b-28 > img {
    border-radius: 28px;
}

.home-custom-card.double-w {
    padding-bottom: calc(50% - 12px);
}
.home-custom-card.double-h {
    padding-bottom: calc(200% + 24px);
}


.home-custom-card-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    padding: 24px 28px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.home-custom-card-title {
    font-size: 72px;
    font-size: 5vw;
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.03em;
}
.home-custom-card-text {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.48;
    letter-spacing: -0.02em;

}

.home-custom-cards-subrow {
    width: 100%;
}

.home-custom-cards-hold {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-end;
}

.home-custom-cards-section {
    margin-bottom: 125px;
}

.features-list-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 48px;
    margin-bottom: 64px;
    margin-bottom: 48px;
}
.features-list-icon > span {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--yellow);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.features-list-icon img {
    max-width: 32px;
    max-height: 32px;
}

.features-list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    margin-bottom: -21px;
    margin-bottom: -80px;
    width: calc(100% + 32px);
}

.features-list ul li:first-child {
    opacity: 0;
}

.features-list ul li {
    width: 33.333%;
    margin-bottom: 21px;
    margin-bottom: 80px;
    border-left: 1px solid rgba(0,0,0,0.1);
    padding-left: 24px;
    padding-right: 32px;
}
.features-list.features-list-four ul li {
    width: 25%;
}
.features-list-text {
    max-width: 85%;
}

.features-list.features-list-four .features-list-text {
    max-width: 100%;
}

.features-list.features-list-four .features-list-icon {
    margin-bottom: 48px;
}

.section-top {
    margin-bottom: 80px;
}

.section-top.section-top-32 {
    width: calc(100% + 32px);
}

.section-top-33 {
    width: 33.333%;
}
.section-top-66 {
    width: 66.666%;
}

.section-top-max-w {
    max-width: 59%;
    max-width: 57%;
}
.section-top-max-w.v2 {
    max-width: 72%;
}
.section-top-max-w.v3 {
    max-width: 82%;
}

.features-section {
    margin-bottom: 144px;
}

.mission-section {
    padding: 164px 0;
}
.mission-section .section-top {
    margin-bottom: 106px;
}

.mission-boxes ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: -40px; /* overlap */
    position: relative;
    /* perspective: 1000px; */
}
.mission-boxes ul li {
    width: 23.27%;
    position: relative;
    margin-left: -25px;
    margin-right: -25px;
}
.mission-boxes ul li:nth-child(2n) .mission-box-square {
    transform: rotate(-15deg)
}
.mission-boxes ul li:nth-child(2n+1) .mission-box-square {
    transform: rotate(15deg)
}

.mission-box-square {
    padding-bottom: 100%;
}

.mission-boxes:not(:last-child) {
    margin-bottom: 106px;
}

.mission-box-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    padding: 24px 28px;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.mission-box-content .title-48 {
    padding-right: 15%;
}
.mission-box-content .title-20 {
    line-height: 1.48;
}

.tesonet-section {
    padding: 120px 0 180px;
}

.tesonet-left {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    gap: 40px;
}
.tesonet-right {
    width: 50%;
    padding-left: 11px;
}

.tesonet-image {
    padding-bottom: 100%;
    min-height: 100%;
}

.tesonet-left .text-16 {
    max-width: 68%;
}

.clients-list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    width: calc(100% + 24px);
    margin-bottom: -24px;
}
.clients-list ul li {
    width: calc(16.666% - 24px);
    min-width: calc(16.666% - 24px);
    margin-right: 24px;
    margin-bottom: 24px;
    background: var(--grey);
    border-radius: 16px;
    min-height: 120px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    position: relative;
}
.clients-list ul li.has-url:hover {
    background: var(--purple-light);
}
.clients-list ul li.double-w {
    width: calc(33.333% - 24px);
    min-width: calc(33.333% - 24px);
}
.clients-list ul li a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
}

.clients-list ul li.animation-element.fade-up {
    transition: opacity 0.75s linear, 
    transform 0.75s cubic-bezier(0.19, 1, 0.22, 1),
    background 0.2s;
}

.clients-list-logo {
    width: 100%;
    padding: 0 20px;
}

.clients-list-logo img {
    max-height: 28px;
}

.clients-section {
    margin-bottom: 128px;
}

.newsletter-section {
    padding: 128px 0 172px;
}

.newsletter-form-hold {
    max-width: 422px;
    margin: 48px auto 0;
}
.newsletter-form-hold input,
.newsletter-form-hold input:focus {
    margin: 0;
    height: 46px;
    box-shadow: none;
    outline: none;
    border: 1px solid rgba(28, 28, 28, 0.10);
    border-radius: 25px;
    padding: 2px 22px;
    padding-right: 120px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--black-black);
}

.newsletter-form-hold input::-webkit-input-placeholder {
	color: var(--black-black-60);
	opacity: 1;
}
.newsletter-form-hold input::-moz-placeholder {
	color: var(--black-black-60);
	opacity: 1;
}
.newsletter-form-hold input:-ms-input-placeholder {
	color: var(--black-black-60);
	opacity: 1;
}
.newsletter-form-hold input:-moz-placeholder {
	color: var(--black-black-60);
	opacity: 1;
}

.features-news-section {
    padding: 128px 0 95px;
}

.newsletter-section + .features-news-section {
    padding-top: 0;
}

.features-news-item-image {
    padding-bottom: 66.51%;
    margin-bottom: 20px;
}

.label-link-hold {
    margin-bottom: 40px;
}

.features-news-list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    width: calc(100% + 24px);
    margin-bottom: -24px;
}
.features-news-list ul li {
    width: calc(33.333% - 24px);
    min-width: calc(33.333% - 24px);
    margin-right: 24px;
    margin-bottom: 24px;
}
.features-news-list ul li a {
    display: block;
    color: #000;
    min-height: 100%;
    padding-bottom: 81px;
    position: relative;
}

.features-news-item-link {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
}

footer {
    padding: 40px 0 40px;
}

.footer-logo {
    margin-bottom: 47px;
}

.footer-grid-left {
    width: 30%;
}
.footer-grid-right {
    width: 70%;
    padding-left: 21%;
}

.footer-nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.footer-nav ul li {
    width: 48%;
    margin-bottom: 24px;
}
.footer-nav ul li a {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    color: var(--black-black);
    font-size: 24px;
    font-weight: 500;
    letter-spacing: -0.01em;
    padding: 0px 0 4px;
    line-height: 1.08;
    position: relative;
}
.footer-nav ul li a span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;

    background: var(--purple);
    color: #fff;
    margin-left: 4px;
    width: 14px;
    height: 14px;
    text-align: center;
    border-radius: 3px;
    font-size: 10px;
    letter-spacing: 0px;
    line-height: 1;
}
.footer-nav ul li a:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background: var(--black-black);
    width: 0;
    height: 2px;
    transition: 0.2s;
}
.footer-nav ul li a:hover:before {
    width: 100%;
    right: 0;
}

.footer-bottom {
    margin-top: 24px;
}

.copyrights {
    font-size: 14px;
    line-height: 1;
    color: var(--black-black-60);
}

.footer-nav-sec ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
}
.footer-nav-sec ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    line-height: 1;
    margin-right: 24px;
}
.footer-nav-sec ul li:last-child {
    margin-right: 0px;
}
.footer-nav-sec ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: var(--dark-blue-70);
    font-size: 14px;
    padding-top: 4px;
    padding-bottom: 4px;
    position: relative;
    transition: 0.2s;
}
.footer-nav-sec ul li a:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    background: var(--dark-blue-70);
    width: 0;
    height: 1px;
    transition: 0.2s;
}
.footer-nav-sec ul li a:hover:before {
    width: 100%;
    right: 0;
}
.footer-nav-sec ul li a:hover {
    color: var(--dark-blue-70);
}

.footer-boxes ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    width: calc(100% + 24px);
}
.footer-boxes ul li {
    width: calc(33.333% - 24px);
    margin-right: 24px;
    margin-bottom: 24px;
}
.footer-boxes ul li:first-child {
    margin-left: -16%;
    transform-origin: bottom center;
    transform: rotate(-12deg);
}
.footer-boxes ul li a {
    display: block;
    padding-bottom: 100%;
    background: var(--purple-light);
    border-radius: 24px;
    color: var(--black-black);
    position: relative;
    transition: 0.2s;
}
.footer-boxes ul li a:hover {
    background: var(--purple);
    color: var(--white);
}

.footer-box-title {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 24px;
    padding: 0 28px;
}

.footer-box-icon {
    position: absolute;
    top: 24px;
    right: 24px;
}
.footer-box-icon svg path {
     transition: 0.2s;
}
.footer-boxes ul li a:hover .footer-box-icon svg path {
    fill: var(--purple-light)
}

.tesonet-title  {
    line-height: 0.9 !important;
}

.tesonet-title a {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 118px;
    height: 118px;
    width: 0.01vw;
    height: 8vw;
    border-radius: 16px;
    margin-right: 0;
    background:  var(--purple-light);
    /* clip-path: inset(0 100% 0 0); */
    opacity: 0;
    transition: 
    /* width 0.8s 0.3s cubic-bezier(0.11, 0, 0.5, 0), 
    margin-right 0.8s 0.3s cubic-bezier(0.11, 0, 0.5, 0), 
    opacity 0.5s 1.2s, */
    width 0.4s 0.2s cubic-bezier(0.11, 0, 0.5, 0), 
    margin-right 0.4s 0.2s cubic-bezier(0.11, 0, 0.5, 0), 
    opacity 0.4s 0.7s,
    background 0.2s,
    transform 0.2s;
}
.tesonet-title.in-view a {
    /* clip-path: inset(0 0% 0 0); */
    margin-right: 0.2em;
    width: 8vw;
    opacity: 1;
}
.tesonet-title a svg {
    /* opacity: 0; */
}

.tesonet-title a:hover {
    background:  var(--purple);
    transform: rotate(-10deg);
}

.tesonet-title h2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.tesonet-title span.whitespace {
    width: 0.17em;
}

.tesonet-title strong  {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
}

.home-intro-link {
    margin-top: -44px;
}

.nav-trigger span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    width: 20px;
    height: 22px;
    position: relative;
    cursor: pointer;
}
.nav-trigger span:before {
    /* content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url(../img/hamburger-open.svg) no-repeat center center; */
}
.nav-trigger span:before {
    content: '';
    position: absolute;
    top: 6px;
    left: 0;
    right: 0;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: var(--black);
    transition: 0.2s;
}
.nav-trigger span:after {
    content: '';
    position: absolute;
    bottom: 6px;
    left: 0;
    right: 0;
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background: var(--black);
    transition: 0.2s;
}
.nav-trigger.active span:before {
    top: 10px;
    transform: rotate(45deg);
}
.nav-trigger.active span:after {
    bottom: 10px;
    transform: rotate(-45deg);
}

.mob-nav-hold {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 600;
    background: #000;
    padding-bottom: 40px;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.2s;
}
.mob-nav-hold.active {
    opacity: 1;
    visibility: visible;
}

.mob-nav-hold .header {
    padding: 20px 0;
}
.mob-nav-hold .nav-trigger span:before,
.mob-nav-hold .nav-trigger span:after {
    /* background: url(../img/hamburger-close.svg) no-repeat center center; */
    background: var(--white);
}

.mob-nav {
    margin-top: 64px;
}

.mob-nav ul li {
    text-align: center;
    margin-bottom: 32px;
    position: relative;
    overflow: hidden;
}
.mob-nav ul li a {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    color: var(--white);
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -0.04em;
    font-size: 12vw;
    transform: translateY(100%);
    transition: transform .4s cubic-bezier(0.19,1,0.22,1)
}
.mob-nav ul li:nth-child(2) a {
    transition-delay: 0s;
}
.mob-nav ul li:nth-child(3) a {
    transition-delay: 0s;
}
.mob-nav ul li:nth-child(4) a {
    transition-delay: 0s;
}
.mob-nav ul li:nth-child(5) a {
    transition-delay: 0s;
}
.mob-nav ul li:nth-child(6) a {
    transition-delay: 0s;
}

.mob-nav-hold.active .mob-nav ul li a {
    transform: translateY(0);
    transition: transform 1.2s cubic-bezier(0.19,1,0.22,1)
}

.mob-nav-hold.active .mob-nav ul li:nth-child(2) a {
    transition-delay: 0.1s;
}
.mob-nav-hold.active .mob-nav ul li:nth-child(3) a {
    transition-delay: 0.2s;
}
.mob-nav-hold.active .mob-nav ul li:nth-child(4) a {
    transition-delay: 0.3s;
}
.mob-nav-hold.active .mob-nav ul li:nth-child(5) a {
    transition-delay: 0.4s;
}
.mob-nav-hold.active .mob-nav ul li:nth-child(6) a {
    transition-delay: 0.5s;
}

.mob-button {
    opacity: 0;
    transition: 0.2s;
}

.mob-nav-hold.active .mob-button {
    opacity: 1;
    transition: 0.3s 0.6s;
}

.mob-nav ul li a span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: var(--purple);
    color: #fff;
    margin-left: 8px;
    width: 32px;
    height: 32px;
    text-align: center;
    border-radius: 8px;
    letter-spacing: 0px;
    font-size: 20px;
    line-height: 1;
}

.mob-button {
    margin-top: 10vh;
}

.home-intro-section .text-20 {
    margin-top: 32px;
}

.career-intro-section {
    padding: 100px 0 50px;
    background: var(--black);
    color: var(--white);
    min-height: 100vh;
    min-height: 100svh;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    
}

.career-intro-button {
    margin-top: 48px;
}

.ci-img-pos {
    position: absolute;
    width: 1px;
    height: 1px;
    z-index: 22;
    pointer-events: none;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
}

.ci-img {
    position: absolute !important;
    width: 87px;
    height: 87px;
    top: 50%;
    left: 50%;
    transform: translateY(-50%, -50%);
}

.careers-about-section {
    padding: 48px 0 192px;
    background: var(--black)  !important
}

.team-section{
    margin-bottom: 100px;
}

.tesonet-section.v2 {
    padding: 140px 0 100px;
}
.tesonet-section.v2 .tesonet-left .text-16 {
    max-width: 79%;
}

.team-list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    width: calc(100% + 24px);
    margin-bottom: -24px;
}
.team-list ul li {
    width: calc(25% - 24px);
    min-width: calc(25% - 24px);
    margin-right: 24px;
    margin-bottom: 24px;
    position: relative;
}
.team-list ul li > a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.team-list-item-image {
    padding-bottom: 100%;
    margin-bottom: 16px;
}

.team-list-item-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.01em;
}

.team-list-item-title span {
    display: block;
    margin-top: 4px;
    color: var(--black-black-60);
    font-size: 14px;
    line-height: 1;
    letter-spacing: -0.02em;
}

.team-list-item-image > a,
.team-list-item-image > span {
    position: absolute;
    z-index: 2;
    top: 20px;
    right: 20px;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--white);
    transition: 0.2s;
}

.team-list-item-image > span {
    pointer-events: none;
}
.team-list ul li > a:hover + .team-list-item-image > span,
.team-list-item-image > a:hover {
    background: var(--purple);
}
.team-list-item-image > a:after,
.team-list-item-image > span:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url(../img/team-in.svg) no-repeat center center;
    transition: 0.2s;
}
.team-list ul li > a:hover + .team-list-item-image > span:after,
.team-list-item-image > a:hover:after {
    filter: brightness(5);
}

.testimonials-carousel-item {
    background: var(--white);
    /* padding: 24px 28px; */
    padding-bottom: 100%;
}

.testimonials-carousel-item-content {
    padding: 24px 28px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.text-24 {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.28;
    letter-spacing: -0.01em;
}

.testimonials-carousel-item-text {
    position: relative;
    z-index: 2;
}

.testimonials-carousel-item-author {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.01em;
    position: relative;
    z-index: 2;
}
.testimonials-carousel-item-author > span {
    display: block;
    margin-top: 4px;
    color: var(--black-black-60);
    font-size: 14px;
    line-height: 1;
    letter-spacing: -0.02em;
}

.tesonet-section + .testimonials-section {
    padding-top: 0;
}

.testimonials-section {
    padding: 100px 0;
}

.testimonials-carousel-item-author.has-video {
    padding-right: 100px;
}
.testimonials-carousel-item-author > a {
    position: absolute !important;
    top: 0;
    right: 0;
}

.owl-carousel .owl-nav button.owl-next, 
.owl-carousel .owl-nav button.owl-prev, 
.owl-carousel button.owl-dot {
    outline: none;
}

.owl-has-nav .owl-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 24px
}

.owl-has-nav.owl-carousel .owl-nav button.owl-next, 
.owl-has-nav.owl-carousel .owl-nav button.owl-prev {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid var(--black-black-20);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    transition: 0.2s;
}
.owl-has-nav.owl-carousel .owl-nav button.owl-next:hover, 
.owl-has-nav.owl-carousel .owl-nav button.owl-prev:hover {
    border: 1px solid var(--black-black);
}

.testimonials-carousel .owl-nav {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 33px;
}

.curved-carousel-section {
    padding: 140px 0 150px
}

.career-benefits-section {
    margin-bottom: 148px;
}

.career-benefits-list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + 24px);
    margin-bottom: -24px;
}
.career-benefits-list ul li {
    width: calc(33.333% - 24px);
    min-width: calc(33.333% - 24px);
    margin-right: 24px;
    margin-bottom: 24px;
    background: var(--grey);
    border-radius: 24px;
    padding: 40px 60px 40px 40px;
}
.career-benefits-list ul li.rotate-counterclockwise {
    transform: rotate(-6deg);
    box-shadow: 0 4px 27px 1px rgba(0, 0, 0, 0.13);
}
.career-benefits-list ul li.rotate-clockwise {
    transform: rotate(6deg);
    box-shadow: 0 4px 27px 1px rgba(0, 0, 0, 0.13);
}

.career-benefits-list-title-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 16px;
}
.career-benefits-list-title-icon img {
    max-width: 24px;
    max-height: 24px;
}

.parallax-box {
    overflow: hidden;
}

.parallax-box.object-fit > img {
    top: -20%;
    height: 120% !important;
}

.tabbed-galleries-section {
    margin-bottom: 148px;
}

.open-positions-section {
    padding: 120px 0 120px;
    position: relative;
    z-index: 22;
}
.open-positions-section .section-top {
    margin-bottom: 120px;
}

.tabbed-galleries-tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 56px;
}

.tabbed-galleries-tabs ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    border-radius: 32px;
    border: 1px solid rgba(28, 28, 28, 0.10);
    padding: 5px;
    gap: 6px;
}
.tabbed-galleries-tabs ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 34px;
    padding: 2px 16px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--black-black-60);
    border-radius: 20px;
    gap: 4px;
    transition: 0.2s;
}
.tabbed-galleries-tabs ul li a:hover {
    color: var(--black-black);
}
.tabbed-galleries-tabs ul li a.active {
    color: var(--white);
    background: var(--black-black);
}

.carousel-container {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.carousel-track {
    display: flex;
    /* gap: 30px; */
    /* transition: transform 0.05s linear; */
}

.carousel-item {
    flex-shrink: 0;
    width: calc(23.2vw + 24px);
    height: 23.2vw;
    padding: 0 12px;
    /* display: flex;
    align-items: center;
    justify-content: center; */
}

.carousel-item.wider {
   width: calc(31vw + 24px);
}

.tabbed-galleries-content {
    display: none;
}
.tabbed-galleries-content.active {
    display: block;
}

.carousel-item-image {
    height: 100%;
}

.curved-carousel-hold {
    max-width: 470px;
    margin-left: auto;
    margin-right: auto;
}

.curved-carousel-item {
    padding: 42px 42px;
    min-height: 100%;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    transition: transform 0.3s;
}

.oh {
    position: relative;
    overflow: hidden;
}

.curved-carousel.owl-carousel .owl-stage-outer {
    overflow: visible;
}

.curved-carousel.owl-carousel .owl-stage {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.curved-carousel .owl-item .curved-carousel-item {
    transform: rotate(-15deg) translateY(80px);
    transform-origin: bottom center;
}
.curved-carousel .owl-item.active .curved-carousel-item {
    transform: rotate(0deg) translateY(0px);
    transform-origin:  bottom center;
}
.curved-carousel .owl-item.active + .owl-item .curved-carousel-item {
    transform: rotate(15deg) translateY(80px);
    transform-origin:  bottom center;
}






.carousel-wrapper {
    max-width: 100%;
    margin: 0 auto;
    position: relative;
}

.circular-carousel {
    position: relative;
    height: 800px;
    height: 50vw;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.carousel-circle {
    position: relative;
    width: 100%;
    height: 2000px;
    margin-top: 0;
}

.carousel-card {

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;

    position: absolute;
    width: 28vw;
    width: 32vw;
    /* min-width: 320px; */
    max-width: 550px;
    height: 480px;
    height: 32vw;
    /* background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); */
    border-radius: 24px;
    padding: 42px;
    transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: grab;
    user-select: none;
    transform-origin: center center;
}

.carousel-card:active {
    cursor: grabbing;
}




  /* Navigation buttons */
.nav-btn {
    position: absolute;
    top: calc(480px + 56px);
    top: calc(32vw + 56px);
    width: 38px;
    height: 38px;
    /* background: rgba(255,255,255,0.08); */
    border: 1px solid var(--black-black-20);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1000;
    transition: all 0.3s ease;
    /* backdrop-filter: blur(10px); */
}

.nav-btn:hover {
    /* background: rgba(255,255,255,0.15); */
    border: 1px solid var(--black-black);
}

.nav-btn.prev {
    right: calc(50% + 12px)
}

.nav-btn.next {
    left: calc(50% + 12px)
}


.circular-carousel-card-icon {
    margin-bottom: 28px;
    height: 40px;
}
.circular-carousel-card-icon img {
    max-height: 100%;
}

.overlaping-cards-section {
    padding: 156px 0;
}

.mission-boxes.v2 ul li {
    margin-left: -50px;
    margin-right: -50px;
}

.mission-boxes.v2 ul li:nth-child(2n+1) .mission-box-square {
    transform: rotate(0deg) translateY(8vh);
}
.mission-boxes.v2 + .title-96 {
    margin-top: calc(106px + 5vh);
}

.white-elements .nav ul li a {
    color: var(--white);
}
.white-elements .nav ul li a:before {
    background: var(--white);
}
  
.white-elements .logo svg path.logo-change {
    fill: var(--white);
}

.white-elements .btn-black, 
.white-elements .btn-black:focus, 
.white-elements .btn-black:active {
    background: var(--white);
    color: var(--black-black);
}

.white-elements .has-circle:before {
    border: 1px solid var(--black-black);
}
.white-elements .btn-black.has-circle:hover:before {
     background: var(--black);
}
.white-elements .btn-black > span {
    background: var(--purple);
    border-color: var(--purple);
    color: var(--black-black);
}

.white-elements .btn-black.has-circle > span:before {
    border: 1px solid var(--black-black);
    background: var(--black-black);
}

.white-elements .nav-trigger span:before {
    /* filter: invert(1) brightness(5); */
}
.white-elements .nav-trigger span:before,
.white-elements .nav-trigger span:after {
    background: var(--white);
}




header.scrolled {
    background: var(--white);
}

header.scrolled .nav ul li a {
    color: var(--black-black);
}
header.scrolled .nav ul li a:before {
    background: var(--black-black);
}
  
header.scrolled .logo svg path.logo-change {
    fill: var(--black-black);
}

header.scrolled .btn-black, 
header.scrolled .btn-black:focus, 
header.scrolled .btn-black:active {
    background: var(--black-black);
    color: var(--white);
}

header.scrolled .has-circle:before {
    border: 1px solid var(--white);
}
header.scrolled .btn-black > span {
    background: var(--white);
    color: var(--black-black);
    border: 1px solid var(--black-black);
}

header.scrolled .btn-black.has-circle > span:before {
    border: 1px solid var(--black-black);
    background: var(--black-black);
}
header.scrolled .nav-trigger span:before {
    /* filter: invert(0) brightness(1); */
}
header.scrolled .nav-trigger span:before,
header.scrolled .nav-trigger span:after {
    background: var(--black);
}

header.scrolled .btn-black.has-circle:hover:before {
     background: var(--white);
}

.bg-grey .tesonet-title a {
    background: var(--purple);
}

.contact-intro-section {
    padding: 72px 0 140px;
    background: var(--black);
    color: var(--white);
}

.contact-intro-section .tesonet-title a {
    background: var(--yellow);
}

.locations-cards ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    width: calc(100% + 24px);
    margin-bottom: -22px;
}
.locations-cards ul li {
    width: calc(25% - 24px);
    min-width: calc(25% - 24px);
    margin-right: 24px;
    margin-bottom: 22px;
}
.locations-cards ul li a {
    display: block;
    padding-bottom: 100%;
    position: relative;
    background: var(--black-black);
    color: var(--white);
}
.locations-cards ul li a > img {
    mix-blend-mode: overlay;
}
.locations-cards ul li a > span {
    position: absolute;
    top: 32px;
    right: 32px;
    width: 22px;
    height: 22px;
    overflow: hidden;
    z-index: 5;
}
.locations-cards ul li a > span:before,
.locations-cards ul li a > span:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url(../img/arrow-top-right-white.svg) no-repeat center center
}
.locations-cards ul li a > span:before {
    transform: translate(0%,0%);
}
.locations-cards ul li a > span:after {
    transform: translate(-100%,100%);
}
.locations-cards ul li a:hover > span:before {
    animation: moveTRBefore 0.2s forwards;
}
.locations-cards ul li a:hover > span:after {
    animation: moveTRAfter 0.2s forwards;
}

@keyframes moveTRBefore {
    from {
        transform: translate(0%,0%)
    }
    to {
        transform: translate(100%, -100%)
    }
}
@keyframes moveTRAfter {
    from {
        transform: translate(-100%,100%)
    }
    to {
        transform: translate(0%,0%)
    }
}

.location-card-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 28px 32px;
}

.location-card-text {
    font-size: 14px;
    line-height: 1.56;
    letter-spacing: -0.02em;
}

.contacts-half-links ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -moz-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    width: calc(100% + 24px);
}
.contacts-half-links ul li {
    width: calc(50% - 24px);
    min-width: calc(50% - 24px);
    margin-right: 24px;
    margin-bottom: 22px;
}
.contacts-full-links ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -moz-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    width: calc(100% + 24px);
}
.contacts-full-links ul li {
    width: calc(100% - 24px);
    min-width: calc(100% - 24px);
    margin-right: 24px;
    margin-bottom: 22px;
}
.contacts-links-hold ul li a {
    color: var(--white);
    display: block;
    position: relative;
    background: var(--black-black);
    background: #171717;
    transition: 0.2s;
}
.contacts-links-hold ul li a:hover {
    background: var(--black-black);
}
.contacts-half-links ul li a {
    padding-bottom: calc(50% - 12px);
}
.contacts-full-links ul li a {
    padding-bottom: calc(100% - 12px);
}

.contacts-links-hold ul li a > span {
    position: absolute;
    top: 28px;
    right: 28px;
}


.contacts-link-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -moz-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    padding: 28px 32px;
}

.contacts-links-text {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.48;
    letter-spacing: -0.02em;
}
.contacts-links-text span {
    display: block;
    opacity: 0.6;
}

.contact-intro-top-left {
    width: 75%;
    padding-right: 12px;
}
.contact-intro-top-right {
    width: 25%;
    padding-left: 6px;
}

.single-content-section {
    padding: 200px 0 120px;
}

.single-content-left {
    width: 30%;
}
.single-content-right {
    width: 70%;
    padding-left: 3.8%;
}

.single-content-hold {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.single-content-left {
    position: sticky;
    top: 100px;
}

.entry {
    font-size: 16px;
    color: var(--black-black-80);
    line-height: 1.68;
    letter-spacing: -0.01em;
}
.entry h2,
.entry h3,
.entry h4,
.entry h5 {
    color: var(--black-black);
    font-weight: 500;
    margin-bottom: 32px;
    line-height: 1.08;
}
.entry h2 span,
.entry h3 span,
.entry h4 span,
.entry h5 span {
    font-weight: 500 !important;
}
.entry h2:not(:first-child),
.entry h3:not(:first-child),
.entry h4:not(:first-child),
.entry h5:not(:first-child) {
    margin-top: 64px;
}
.entry h2,
.entry h3,
.entry h4,
.entry h5,
.entry ul,
.entry p:not(.has-image) {
    max-width: 87%;
}

.entry h2 {
    font-size: 48px;
}

.entry h3 {
    font-size: 24px;
}
.entry h4 {
    font-size: 20px;
}
.entry h5 {
    font-size: 18px;
}

.entry h2 span,
.entry h3 span,
.entry h4 span,
.entry h5 span {
    color: var(--black-black) !important;
}

.entry ol {
    counter-reset: item;
}

.entry ol,
.entry ul {
    margin-bottom: 1.68em;
}
.entry ol li,
.entry ul li {
    position: relative;
    padding-left: 24px;
}
.entry ul li:before {
    content: '•';
    position: absolute;
    top: 0;
    left: 8px;
}
.entry ol li:before {
    content: counters(item, ".") ".";
    counter-increment: item;
    position: absolute;
    left: 0px;
    top: 0;
    width: 24px;
    text-align: center;
}

.entry p img {
    border-radius: 24px;
}
.entry p.has-image:not(:first-child) {
    margin-top: 80px;
}

.entry p.has-image + p.has-image:after {
    content: '';
    display: block;
    clear: both;
}

.entry p {
    margin-bottom: 1.68em;
}
.entry p + ol,
.entry p + ul {
    margin-top: -1.68em;
}

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

.entry.v2 h2, 
.entry.v2 h3, 
.entry.v2 h4, 
.entry.v2 h5, 
.entry.v2 ul, 
.entry.v2 p:not(.has-image) {
    max-width: 100%;
}

.entry a {
    color: var(--black-black-80);
    text-decoration: underline;
}
.entry a:hover {
    color: var(--black-black);
    text-decoration: underline;
}

.entry table {
    margin-bottom: 40px;
}

.entry tbody, 
.entry tfoot, 
.entry thead {
    border: none;
    background-color: transparent;
    color: var(--black-black-80);
}

.entry tbody tr:nth-child(even) {
    background-color: transparent;
}

.entry tfoot td, 
.entry tfoot th, 
.entry thead td, 
.entry thead th {
    font-weight: 400;
}

.entry thead td, 
.entry thead th {
    padding: 0 12px 12px;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}
.entry thead td:first-child, 
.entry thead th:first-child {
    padding-left: 0;
}
.entry thead td:last-child, 
.entry thead th:last-child {
    padding-right: 0;
}

.entry tbody td,
.entry tbody th {
    padding: 0 12px 24px;
}
.entry thead + tbody tr:first-child td,
.entry thead + tbody tr:first-child th {
    padding-top: 24px;
}
.entry tbody tr:last-child td,
.entry tbody tr:last-child th {
    padding-bottom: 0;
}
.entry tbody td:first-child,
.entry tbody th:first-child {
    padding-left: 0;
}
.entry tbody td:last-child,
.entry tbody th:last-child {
    padding-right: 0;
}


.single-content-attrs {
    margin-top: 64px;
}
.single-content-attr-item {
    font-size: 14px;
    color: var(--black-black-60);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    margin-bottom: 24px;
}
.single-content-attr-item:last-child {
    margin-bottom: 0px;
}
.single-content-attr-item span {
    display: block;
    color: var(--black-black);
    margin-top: 4px;
    font-size: 16px;
    line-height: 1.08;
    letter-spacing: -0.01em;
}

.link-share,
.link-share:focus,
.link-share:active {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 14px;
    color: var(--black-black-60);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    transition: 0.2s;
}
.link-share:hover {
    color: var(--black-black);
}
.link-share:after {
    content: '';
    width: 16px;
    height: 16px;
    background: url(../img/icon-share.svg) no-repeat center center;
    opacity: 0.6;
    margin-left: 6px;
    transition: 0.2s;
}
.link-share:hover:after {
    opacity: 1;
}

.single-content-form {
    margin-top: 80px;
}
.mb-0 {
    margin-bottom: 0 !important;
}

.pt-120 {
    padding-top: 120px;
}

.bg-grey .career-benefits-list ul li {
    background: var(--white);
}

.pp-content-section {
    position: relative;
}

.pp-top-hold {
    position: absolute;
    pointer-events: none;
    left: 0;
    right: 0;
    bottom: 0;
    padding-bottom: inherit;
}

.link-top,
.link-top:focus,
.link-top:active {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    width: 38px;
    height: 38px;
    border: 1px solid var(--black-black-20);
    border-radius: 50%;
    pointer-events: all;
    position: relative;
    overflow: hidden;
    transition: 0.2s;
}
.link-top:hover {
    border: 1px solid var(--black-black);
}
.link-top:before,
.link-top:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url(../img/arrow-top-black.svg) no-repeat center center;
}

.link-top:after {
    transform: translateY(100%);
}
.link-top:hover:before {
    animation: moveTopBefore 0.2s forwards;
}
.link-top:hover:after {
    animation: moveTopAfter 0.2s forwards;
}

@keyframes moveTopBefore {
    from {
        transform: translateY(0%)
    }
    to {
        transform: translateY(-100%)
    }
}
@keyframes moveTopAfter {
    from {
        transform: translateY(100%)
    }
    to {
        transform: translateY(0%)
    }
}

.policies-section {
    padding: 72px 0 126px;
}

.policies-section .tesonet-title a {
    background: var(--pink) !important;
}

.policies-list {
    margin-top: 126px;
}

.policies-list-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 24px;
    width: calc(100% + 24px);
}
.policies-list-item:last-child {
    margin-bottom: 0px;
}

.pli-content-box  {
    width: calc(50% - 24px);
    margin-right: 24px;
}

.pli-content-box a {
    color: var(--black-black);
    padding: 28px 32px;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    position: relative;
    gap: 28px;
}
.pli-content-box a > span {
    position: absolute;
    top: 32px;
    right: 32px;
}

span.arrow-top-right {
    width: 22px;
    height: 22px;
    overflow: hidden;
    z-index: 5;
}

span.arrow-top-right:before, 
span.arrow-top-right:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url(../img/arrow-top-right-black.svg) no-repeat center center;
}

.span.arrow-top-right:after {
    transform: translate(-100%, 100%);
}

a:hover > span.arrow-top-right:before {
    animation: moveTRBefore 0.2s forwards;
}

a:hover > span.arrow-top-right:after {
    animation: moveTRAfter 0.2s forwards;
}

.pli-gap-box {
    width: calc(25% - 24px);
    margin-right: 24px;
    background: var(--white);
    opacity: 0.6;
    transition-delay: 0.2s !important;
}

.pli-image-box {
    width: calc(25% - 24px);
    margin-right: 24px;
    transition-delay: 0.4s !important;
}

.pli-image {
    padding-bottom: 100%;
    min-height: 100%;
}

.policies-list-item:nth-child(2n) .pli-content-box {
    order: 3;
}
.policies-list-item:nth-child(2n) .pli-gap-box {
    order: 2;
}

.pli-content-box .title-48 {
    max-width: 75%;
}

.policies-section.referrals-intro-section .tesonet-title a {
    background: var(--yellow) !important;
}

.referrals-carousel-section {
    padding-bottom: 126px;
}

.carousel-content-item {
    height: 100%;
    padding: 24px 28px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    gap: 28px;
    position: relative;
}

.carousel-content-item a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    border-radius: inherit;
}

.referrals-box-links-section {
    padding: 100px 0 128px;
}


.referrals-box-links ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    width: calc(100% + 24px);
    margin-bottom: -24px;
}
.referrals-box-links ul li {
    width: calc(25% - 24px);
    min-width: calc(25% - 24px);
    margin-right: 24px;
    margin-bottom: 24px;
}
.referrals-box-links ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    gap: 28px;

    background: var(--white);
    color: var(--black-black);
    padding: 24px 28px;
    border-radius: 24px;
    position: relative;
    aspect-ratio: 1/1;
}
.referrals-box-links ul li a > span  {
    position: absolute;
    top: 28px;
    right: 28px;
}
.referrals-box-links ul li a > .title-24  {
    padding-right: 40px;
}

.referrals-box-links-image {
    padding-bottom: 100%;
    min-height: 100%;
    box-shadow: 0 4px 27.3px 1px rgba(0, 0, 0, 0.13);
}
.referrals-box-links-image.rotate-clockwise {
    transform: rotate(6deg);
}
.referrals-box-links-image.rotate-counterclockwise {
    transform: rotate(-6deg);
}

.referrals-box-links-gap {
    min-height: 100%;
    background: rgba(255, 255, 255, 0.60);
}

.referrals-form-section {
    padding: 128px 0;
}

.rfs-left {
    position: sticky;
    top: 100px;
    width: 33.333%;
    padding-right: 8%;
}
.rfs-right {
    width: 66.666%;
}

.rfs-form .title-24 {
    margin-bottom: 40px;
}
.rfs-form .title-24:not(:first-child) {
    margin-top: 24px;
}

.form-elements-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.form-elements-row .form-element {
    width: calc(50% - 12px);
}

.form-element {
    margin-bottom: 24px;
}

.form-element input,
.form-element input:focus {
    outline: none;
    box-shadow: none;
    margin: 0;
    border-radius: 32px;
    border: 1px solid rgba(28, 28, 28, 0.10);
    background: rgba(255, 255, 255, 0.60);
    height: 46px;
    padding: 2px 24px;
    color: var(--black-black);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.02em;
}
.form-element input:hover,
.form-element input:focus {
    border: 1px solid rgba(28, 28, 28, 0.60);
}

.form-element textarea,
.form-element textarea:focus {
    outline: none;
    box-shadow: none;
    margin: 0;
    border-radius: 24px;
    border: 1px solid rgba(28, 28, 28, 0.10);
    background: rgba(255, 255, 255, 0.60);
    height: 487px;
    padding: 22px 22px;
    color: var(--black-black);
    font-size: 14px;
    font-weight: 500;
    resize: none;
    letter-spacing: -0.02em;
}
.form-element textarea:hover,
.form-element textarea:focus {
    border: 1px solid rgba(28, 28, 28, 0.60);
}

.form-element textarea::-webkit-input-placeholder,
.form-element input::-webkit-input-placeholder {
	color: var(--black-black-60);
	opacity: 1;
}
.form-element textarea::-moz-placeholder,
.form-element input::-moz-placeholder {
	color: var(--black-black-60);
	opacity: 1;
}
.form-element textarea:-ms-input-placeholder,
.form-element input:-ms-input-placeholder {
	color: var(--black-black-60);
	opacity: 1;
}
.form-element textarea:-moz-placeholder,
.form-element input:-moz-placeholder {
	color: var(--black-black-60);
	opacity: 1;
}

.form-element-file label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between; 

    outline: none;
    box-shadow: none;
    margin: 0;
    border-radius: 24px;
    border: 1px solid rgba(28, 28, 28, 0.10);
    background: rgba(255, 255, 255, 0.60);
    height: 46px;
    padding: 2px 24px;
    padding-right: 5px;
    color: var(--black-black-60);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.02em;
    cursor: pointer;
    white-space: nowrap;
    transition: 0.2s;
}
.form-element-file label:hover {
    border: 1px solid rgba(28, 28, 28, 0.60);
    color: var(--black-black-80);
}

.form-element-file input[type="file"] {
    display: none;
}

.form-element-file-trigger {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: var(--grey);
    border-radius: 24px;
    min-height: 34px;
    padding: 2px 16px;
    color: var(--black-black-80);
    transition: 0.2s;
}
.form-element-file-trigger:after {
    content: '';
    width: 16px;
    height: 16px;
    background: url(../img/icon-paperclip.svg) no-repeat 50% 50%;
    margin-left: 8px;
    transition: 0.2s;
}

.form-element-file label:hover .form-element-file-trigger {
    background: var(--purple);
    color: white;
}
.form-element-file label:hover .form-element-file-trigger:after {
    filter: brightness(0) invert(1);
}

.form-element-file-text {
    max-width: calc(100% - 160px);
    overflow: hidden;
    text-overflow: ellipsis;
}

.form-element-file span.wpcf7-form-control-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    opacity: 0;
    visibility: hidden;
}


.form-checkbox label input {
    display: none;
}
.form-checkbox label span {
    display: block;
    position: relative;
    padding-left: 30px;
    font-size: 14px;
    color: var(--black-black-60);
    line-height: 1.56;
    letter-spacing: -0.02em;
    cursor: pointer ;
}
.form-checkbox label span a {
    color: var(--black-black-60);
    text-decoration: underline;
    transition: 0.2s;
}
.form-checkbox label span a:hover {
    color: var(--black-black);
}
.form-checkbox label span:before,
.form-checkbox label span:after {
    content: '';
    position: absolute;
    top: 1px;
    /* transform: translateY(-50%); */
    left: 0;
    width: 18px;
    height: 18px;
    border-radius: 4px;
}

.form-checkbox label span:before {
    border: 1px solid var(--black-black-20);
}
.form-checkbox label span:after {
    opacity: 0;
    background: var(--black-black) url(../img/checkmark.svg) no-repeat 54% 52%;
}
.form-checkbox label input:checked + span:after {
    opacity: 1;
}


.form-checkbox label span p:not(:last-child) {
    margin-bottom: 1.56em;
}

.form-checkbox {
    margin-top: 40px;
}

.form-submit {
    margin-top: 64px;
}

.referrals-sharing-section {
    padding: 128px 0;
}

.referrals-sharing-section .section-top {
    margin-bottom: 48px;
}

.referrals-sharing-list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 7px;
}
.referrals-sharing-list ul a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 38px;
    border-radius: 20px;
    padding: 2px 18px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--black-black-60);
    border-radius: 24px;
    border: 1px solid rgba(28, 28, 28, 0.10);
    background: rgba(255, 255, 255, 0.80);
    transition: 0.2s;
}
.referrals-sharing-list ul a:hover {
    color: var(--white);
    border: 1px solid var(--black-black);
    background: var(--black-black);
}

#copyURL {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    visibility: hidden;
}

.rfs-grid {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.error-section {
    padding: 72px 0 100px;
    min-height: 100vh;
}

.error-section.bg-grey .tesonet-title a {
    background: #DCD8E5;
}

.filter-hold {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    z-index: 30;
}

.filter-dropdown {
    position: relative;
    z-index: 30;
}
.filter-dropdown > span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    padding: 4px 10px 4px 16px;
    min-height: 34px;
    border-radius: 24px;
    border: 1px solid rgba(28, 28, 28, 0.10);
    background: #F9F8F9;
    cursor: pointer;
}
.filter-dropdown > span:after {
    content: '';
    width: 14px;
    height: 14px;
    background: url(../img/chev-down-grey.svg) no-repeat 50% 50%;
    margin-left: 6px;
}
.filter-dropdown.active > span:after {
    transform: rotate(-180deg);
}

.filter-dropdown ul {
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
    border-radius: 12px;
    border: 1px solid rgba(28, 28, 28, 0.10);
    background: #F9F8F9;
    padding: 4px 4px;
    min-width: 220px;
    opacity: 0;
    visibility: hidden;
    transition: 0.2s;
}
.filter-dropdown.active ul {
    opacity: 1;
    visibility: visible;
}
.filter-dropdown ul li input {
    display: none;
}
.filter-dropdown ul li label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    white-space: nowrap;
    color: var(--black-black-80);
    min-height: 34px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.02em;
    padding-left: 24px;
    position: relative;
    border-radius: 8px;
    margin: 0;
    transition: 0.2s;
}
.filter-dropdown ul li label:before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid var(--black-black-40);
    transition: 0.2s;
}
.filter-dropdown ul li label:hover {
    background: var(--yellow);
    color: var(--black-black);
}
.filter-dropdown ul li label:hover:before {
    border: 1px solid var(--black-black);
}
.filter-dropdown ul li input:checked + label:before {
    border: 1px solid var(--black-black);
    background: var(--black-black);
}

.news-section {
    padding: 100px 0 104px;
}
.news-section .section-top {
    margin-bottom: 40px;
}

.ca-carousel-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    gap: 28px;
    color: var(--black-black);
    aspect-ratio: 1/1;
    background: #171717;
    padding: 24px 28px;
}

.ca-carousel-hold:nth-child(2n+1) {
    padding-left: 7.55vw;
    width: calc(100% + 7.55vw);
}
.ca-carousel-hold:not(:last-child) {
    margin-bottom: 24px;
}

.ca-carousel.owl-carousel .owl-stage-outer {
    overflow: visible;
}

.ca-carousel-item .text-20 {
    padding-right: 24px;
}

.ca-carousel-item {
       opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.75s linear, transform 0.75s cubic-bezier(0.19, 1, 0.22, 1);
}


.animation-element.in-view .ca-carousel-item {
    opacity: 1;
    transform: translateY(0);
}
.animation-element.in-view .owl-item:nth-child(2) .ca-carousel-item {
    transition-delay: 0.2s;
}
.animation-element.in-view .owl-item:nth-child(3) .ca-carousel-item {
    transition-delay: 0.4s;
}
.animation-element.in-view .owl-item:nth-child(4) .ca-carousel-item {
    transition-delay: 0.6s;
}

.overlaping-cards-image {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
}
.overlaping-cards-image + .title-96 {
    margin-top: 40px;
}

.overlaping-cards-section .section-top {
    margin-bottom: 48px;
}

.home-custom-cards-mob-list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    width: calc(100% + 24px);
    margin-bottom: -24px;
}
.home-custom-cards-mob-list ul li {
    width: calc(50% - 24px);
    min-width: calc(50% - 24px);
    margin-right: 24px;
    margin-bottom: 24px;
    border-radius: 24px;
    padding: 24px 28px;
    aspect-ratio: 1;

    gap: 20px;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.home-custom-cards-mob-list ul li.double-w {
    width: calc(100% - 24px);
    min-width: calc(100% - 24px);
    aspect-ratio: 2.12;
}

.mb-carousel.owl-carousel .owl-stage-outer {
    overflow: visible;
}

.mb-carousel .owl-item:nth-child(2n+1) .mission-box-square {
    transform: rotate(15deg);
}

.mb-carousel .owl-item:nth-child(2n) .mission-box-square {
    transform: rotate(-15deg);
}

.mb-carousel-item {
    width: 100%;
}

.newsletter-form-input {
    position: relative;
}
.newsletter-form-input button.btn-purple {
    position: absolute;
    top: 6px;
    right: 6px;
}

.newsletter-form-checkbox {
    margin-top: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.newsletter-form-checkbox label input {
    display: none;
}
.newsletter-form-checkbox label span {
    padding-left: 30px;
    position: relative;
    display: block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--black-black-60);
    line-height: 1.2;
    cursor: pointer;
}
.newsletter-form-checkbox label span:before,
.newsletter-form-checkbox label span:after {
    content: '';
    position: absolute;
    top: -1px;
    /* transform: translateY(-50%); */
    left: 0;
    width: 18px;
    height: 18px;
    border-radius: 4px;
}
.newsletter-form-checkbox label span:before {
    border: 1px solid var(--black-black-20);
}
.newsletter-form-checkbox label span:after {
    opacity: 0;
    background: var(--black-black) url(../img/checkmark.svg) no-repeat 54% 52%;
}
.newsletter-form-checkbox label input:checked + span:after {
    opacity: 1;
}
.newsletter-form-checkbox label span a {
    color: inherit;
    text-decoration: underline;
    transition: 0.2s;
}
.newsletter-form-checkbox label span a:hover {
    color: var(--black-black);
    text-decoration: underline;
}

.no-link {
    pointer-events: none;
    cursor: default;
}

.page-template-default .single-content-left {
    padding-bottom: 64px;
}

.open-positions-hold ul.list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    width: calc(100% + 24px);
    margin-bottom: -24px;
}
.open-positions-hold ul.list li.lever-job {
    width: calc(25% - 24px);
    min-width: calc(25% - 24px);
    margin-right: 24px;
    margin-bottom: 24px;
}
.open-positions-hold ul.list li.lever-job a {
    min-height: 100%;
    aspect-ratio: 1/1;
    background: var(--white);
    padding: 28px 28px;
    border-radius: 24px;
    color: var(--black);

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;

    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    gap: 28px;
}

.open-positions-hold ul.list li.lever-job a .title-24 {
    line-height: 1.08;
}
.open-positions-hold ul.list li.lever-job a .text-20 {
    margin-top: 10px;
    color: var(--black-black-60);
    line-height: 1.48;
}

.lever-job-location-hold {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.lever-job-location-hold span {
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 34px;
    border-radius: 20px;
    color: var(--black-black);
    font-size: 14px;
    line-height: 1;
    font-weight: 500;
    padding: 2px 16px;
    background: #DCD8E5;
}

.lever-job-location-hold span.Vilnius {
    background: var(--yellow);
}
.lever-job-location-hold span.Kaunas {
    background: var(--pink);
}
.lever-job-location-hold span.Lviv {
    background: var(--purple);
}


#lever-jobs-filter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
    margin-bottom: 40px;
    gap: 6px;
}

#lever-clear-filters {
    display: none !important;
}

.single-content-form .title-48 {
    margin-bottom: 64px;
}


div.wpcf7-validation-errors, 
div.wpcf7-acceptance-missing,
div.wpcf7-mail-sent-ng {
    border: none !important;
    float: left !important;
    margin: 10px 0 !important;
    padding: 0 !important;
    color: #ef586b !important;
}

div.wpcf7-mail-sent-ok {
    float: left !important;
    border: none !important;
    padding: 0 !important;
    margin: 10px 0 !important;
}

span.wpcf7-not-valid-tip {
	/* display: none !important; */
    display: block;
    margin-top: 10px;
    padding: 0 22px;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    color: rgba(216,52,56,0.6);
}

span.wpcf7-list-item {
    margin: 0 !important;
}
.newsletter-form-hold input.wpcf7-not-valid,
.newsletter-form-hold input.wpcf7-not-valid:focus,
.form-element input.wpcf7-not-valid,
.form-element input.wpcf7-not-valid:focus,
.form-element textarea.wpcf7-not-valid,
.form-element textarea.wpcf7-not-valid:focus {
    border-color: rgba(216,52,56,0.6);
}

.form-checkbox .wpcf7-not-valid label span:before {
    border-color: rgba(216,52,56,0.6);
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    float: left;
    width: 100%;
    text-align: left;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-top: 15px !important;
    color: rgba(216,52,56,0.6);
}

.wpcf7 form.sent .wpcf7-response-output {
    float: left;
    width: 100%;
    text-align: left;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-top: 15px !important;
}

.wpcf7 form .wpcf7-response-output {
    float: left;
    width: 100%;
    text-align: left;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.01em;
    margin-top: 15px !important;
}

.news-more-button {
    margin-top: 72px;
}

.newsletter-section .wpcf7 form.invalid .wpcf7-response-output, 
.newsletter-section .wpcf7 form.unaccepted .wpcf7-response-output {
    display: none !important;
}
.newsletter-section .wpcf7 form.sent .wpcf7-response-output {
    text-align: left;
    text-align: center;
}

header.nav-active .logo svg path.logo-change {
    fill: var(--white);
}

.mob-nav-hold .header .logo svg path.logo-change {
    fill: var(--white);
}

.form-element input.error, 
.form-element input.error:focus {
    border-color: rgba(216, 52, 56, 0.6);
}

.form-checkbox label input.error + span:before {
    border-color: rgba(216, 52, 56, 0.6);
}

.form-messages.error {
    color: rgba(216, 52, 56, 0.6);
}

.post-type-archive-news .policies-section.referrals-intro-section .tesonet-title a {
    background: var(--purple) !important;
}
.btn-black.has-circle span,
.btn-black.has-circle:focus span,
.btn-black.has-circle:active span {
    display: none;
}
.btn-black.has-circle:hover:before {
    background: var(--white);
}

.career-black-wrapper {
    background: var(--black);
}

/* Medias */


@media (min-width: 1921px) {
    .carousel-item.wider {
        width: 620px;
    }
    .carousel-item {
        width: 470px;
        height: 446px;
    }
    .tesonet-title.in-view a {
        width: 154px;
    }
    .tesonet-title a {
        height: 154px;
    }
    .home-custom-card-title {
        font-size: 96px;
    }
    .title-160 {
        font-size: 214px;
    }
    .title-96 {
        font-size: 128px;
    }
    .title-72 {
        font-size: 96px;
    }
    .title-48 {
        font-size: 64px;
    }
    .grid-container {
        padding-left: 85px;
        padding-right: 85px;
    }


    .carousel-card .title-72 {
        /* font-size: 100px; */
    }
    .carousel-card {
        height: 600px;
    }
    .nav-btn {
        top: calc(600px + 56px);
    }
    .circular-carousel {
        height: 1000px;
    }

}

@media (min-width: 2500px) {
    .circular-carousel {
        height: 1000px;
    }
}

@media (min-width: 3000px) {
    .circular-carousel {
        height: 1200px;
    }
}


@media (min-width: 1800px) {
    .carousel-content-item .text-20 {
        font-size: 24px;
    }
    .contacts-links-text {
        font-size: 24px;
    }
    .title-24 {
        font-size: 32px;
    }
    .btn-yellow, .btn-yellow:focus, .btn-yellow:active {
        min-height: 38px;
        padding: 2px 18px;
        font-size: 16px;
    }
    .team-list-item-title span {
        font-size: 16px;
    }
    .team-list-item-title {
        font-size: 18px;
    }
    .tabbed-galleries-tabs ul li a {
        font-size: 16px;
    }
    .testimonials-carousel-item-author > span {
        font-size: 16px;
    }
    .testimonials-carousel-item-author {
        font-size: 18px;
    }
    .text-24 {
        font-size: 32px;
    }
    .link-grey, .link-grey:focus, .link-grey:active {
        font-size: 18px;
    }
    .link-black, .link-black:focus, .link-black:active {
        font-size: 24px;
    }
    .copyrights {
        font-size: 16px;
    }
    .footer-nav-sec ul li a {
        font-size: 16px;
    }
    .footer-nav ul li a {
        font-size: 32px;
    }
    .footer-box-icon svg {
        width: 32px;
        height: 32px;
    }
    .section-label {
        font-size: 24px;
    }
    .home-custom-card-text {
        font-size: 24px;
    }
    .home-custom-card-text {
        font-size: 32px;
    }
    .title-20 {
        font-size: 24px;
    }
    .text-16 {
        font-size: 18px;
    }
    .clients-list ul li {
        min-height: 160px;
    }
    .link-circle-arrow, .link-circle-arrow:focus, .link-circle-arrow:active {
        font-size: 16px;
    }
}

@media only screen and (max-width: 1366px) {
    
    .single-content-section {
        padding: 160px 0 120px;
    }
    .contact-intro-section {
        padding: 72px 0 120px;
    }
    .carousel-card {
        padding: 32px;
    }
    .circular-carousel-card-icon {
        margin-bottom: 20px;
    }
    .career-benefits-list ul li { 
        padding: 40px 32px 40px 32px;
    }
    .home-custom-card-text {
        font-size: 18px;
    }
    .home-custom-card-content {
        padding: 24px 24px;
    }
    .mission-boxes ul li {
        width: 25%;
    }
    .mission-box-content {
        padding: 24px 24px;
    }
    .title-20 {
        font-size: 18px;
    }
    .text-20 {
        font-size: 18px;
    }
    .tesonet-left .text-16 {
        max-width: 78%;
    }
    .footer-grid-right {
        padding-left: 16%;
    }
    .newsletter-section {
        padding: 128px 0 136px;
    }
    .mission-section {
        padding: 128px 0;
    }
    .footer-nav ul li a {
        font-size: 20px;
    }
    .footer-nav ul li a:before { 
        height: 1px;
    }
    .tesonet-section {
        padding: 120px 0 136px;
    }
    .features-section {
        margin-bottom: 128px;
    }
    .careers-about-section {
        padding: 48px 0 140px;
    }
    .overlaping-cards-section {
        padding: 128px 0;
    }
    .curved-carousel-section {
        padding: 128px 0;
    }
    .tesonet-section.v2 {
        padding: 128px 0 100px;
    }
    .career-benefits-section {
        margin-bottom: 128px;
    }
    .tabbed-galleries-section {
        margin-bottom: 128px;
    }
    .open-positions-section .section-top {
        margin-bottom: 100px;
    }
} 

@media only screen and (max-width: 1199px) {
    .open-positions-hold ul.list li.lever-job a {
        padding: 24px 24px;
    }
    .ca-carousel-hold:nth-child(2n+1) {
        padding-left: 0;
        margin-left: -20%;
        width: 100%;
    }
    .error-section .tesonet-title a img,
    .error-section .tesonet-title a svg {
        width: 52px;
    }
    .carousel-item {
        width: calc(26vw + 24px);
        height: 26vw;
    }
    .carousel-item.wider {
        width: calc(34vw + 24px);
    }
    .policies-list {
        margin-top: 100px;
    }   
    .contacts-link-content {
        padding: 28px 28px;
    }
    .locations-cards ul li a > span {
        top: 28px;
        right: 28px;
    }
    .location-card-content {
        padding: 28px 28px;
    }
    .contacts-links-text {
        font-size: 18px;
    }
    .nav-btn {
        top: calc(36vw + 56px);
    }
    .circular-carousel {
        height: 53vw;
    }
    .carousel-card {
        width: 34vw;
        height: 36vw;
        padding: 24px;
    }
    .testimonials-carousel-item-author.has-video {
        padding-right: 80px;
    }
    .testimonials-carousel-item-content {
        padding: 24px 24px;
    }
    .career-benefits-list ul li {
        padding: 32px 24px;
    }
    .clients-list ul li {
        width: calc(20% - 24px);
        min-width: calc(20% - 24px);
    }
    .clients-list ul li.double-w {
        width: calc(40% - 24px);
        min-width: calc(40% - 24px);
    }
    .title-24 {
        font-size: 20px;
    }
    .tesonet-title a img,
    .tesonet-title a svg {
        width: 30px;
        height: auto;
    }
    .title-20 {
        font-size: 17px;
    }
    .text-20 {
        font-size: 17px;
    }
    .mission-boxes ul li {
        width: 26%;
    }
    .mission-box-content {
        padding: 24px 20px;
    }
    .home-custom-card-content {
        padding: 24px 20px;
    }
    .features-list-text {
        max-width: 100%;
    }
    .section-label {
        font-size: 18px;
    }
    .title-48 {
        font-size: 4vw;
    }
    .home-custom-card-text {
        font-size: 16px;
    }
    .grid-container {
        padding-left: 32px;
        padding-right: 32px;
    }
    .title-96 {
        font-size: 8vw;
    }
} 

@media only screen and (min-width: 1024px) {
    .mob-nav-hold {
        display: none !important;
    }
}

@media only screen and (max-width: 1023px) {
    .open-positions-hold ul.list li.lever-job {
        width: calc(33.333% - 24px);
        min-width: calc(33.333% - 24px);
    }
    .clients-list ul li.hide-mob {
        display: none !important;
    }
    .mission-boxes-carousel-hold:not(:last-child) {
        margin-bottom: 80px;
    }
    .mission-section .section-top {
        margin-bottom: 80px;
    }
    .home-custom-card-title {
        font-size: 7vw;
    }
    .title-72 {
        font-size: 6vw;
    }
    .error-section .tesonet-title a img,
    .error-section .tesonet-title a svg {
        width: 74px;
    }
    .referrals-box-links ul li a > .title-24 {
        padding-right: 32px;
    }
    .referrals-sharing-section {
        padding: 100px 0;
    }
    .referrals-sharing-section .title-160 {
        font-size: 16vw;
    }
    .referrals-form-section {
        padding: 100px 0;
    }
    .form-submit {
        margin-top: 48px;
    }
    .form-checkbox {
        margin-top: 32px;
    }
    .rfs-right {
        width: 100%;
    }
    .rfs-left {
        position: static;
        top: auto;
        width: 100%;
        padding-right: 0;
        margin-bottom: 64px;
    }
    .referrals-box-links ul li {
        width: calc(33.333% - 24px);
        min-width: calc(33.333% - 24px);
    }
    .referrals-box-links-section {
        padding: 100px 0;
    }
    .referrals-carousel-section {
        padding-bottom: 100px;
    }
    .policies-section {
        padding: 72px 0 100px;
    }
    .pli-content-box a {
        color: var(--black-black);
        padding: 24px 24px;
    }
    .policies-section .tesonet-title.in-view a {
        width: 13vw;
    }
    .policies-section .tesonet-title a {
        height: 13vw;
    }
    .policies-section .title-160.tesonet-title {
        font-size: 18vw;
    }
    .pli-content-box .title-48 {
        max-width: 90%;
    }
    .pli-image-box {
        width: calc(34% - 24px);
    }
    .pli-content-box {
        width: calc(66% - 24px);
    }
    .pli-gap-box {
        display: none;
    }
    .pp-top-hold {
        display: none;
    }
    .pt-120 {
        padding-top: 100px;
    }
    .single-content-section {
        padding: 140px 0 100px;
    }
    .single-content-right {
        width: 100%;
        padding-left: 0;
    }
    .single-content-attrs {
        margin-top: 32px;
    }
    .single-content-left {
        position: static;
        top: auto;
        width: 100%;
        margin-bottom: 48px;
    }
    .contacts-full-links ul li a {
        padding-bottom: 100%;
    }
    .locations-cards ul li {
        width: calc(50% - 24px);
        min-width: calc(50% - 24px);
    }
    .contacts-half-links ul li {
        width: calc(100% - 24px);
        min-width: calc(100% - 24px);
    }
    .contacts-full-links ul li {
        width: calc(50% - 24px);
        min-width: calc(50% - 24px);
    }
    .contact-intro-section .tesonet-title a {
        height: 13vw;
    }
    .contact-intro-section .tesonet-title.in-view a {
        width: 13vw;
    }
    .contact-intro-section .title-160.tesonet-title {
        font-size: 18vw;
    }
    .contact-intro-top-left {
        width: 100%;
        padding-right: 0;
        margin-bottom: 80px;
    }
    .contact-intro-top-right {
        width: 100%;
        padding-left: 0;
    }
    .nav-btn {
        top: calc(44vw + 56px);
    }
    .circular-carousel {
        height: 60vw;
    }
    .carousel-card {
        width: 50vw;
        height: 46vw;
        padding: 24px 28px;
    }
    .section-top-max-w.v2 {
        max-width: 90%;
    }
    .tabbed-galleries-section .title-160.tesonet-title {
        font-size: 19vw;
    }
    .tabbed-galleries-section .tesonet-title.in-view a {
        width: 15vw;
    }
    .tabbed-galleries-section .tesonet-title a {
        height: 15vw;
    }
    .carousel-item {
        width: calc(40vw + 24px);
        height: 40vw;
    }
    .carousel-item.wider {
        width: calc(55vw + 24px);
    }
    .career-benefits-list ul li {
        width: calc(50% - 24px);
        min-width: calc(50% - 24px);
    }
    .career-benefits-list ul li.object-fit {
        padding-bottom: 25%;
    }
    .testimonials-carousel-item-content {
        padding: 24px 28px;
    }
    .team-list ul li.gap {
        display: none;
    }
    .team-list ul li {
        width: calc(33.333% - 24px);
        min-width: calc(33.333% - 24px);
    }
    .features-list.features-list-four ul li {
        width: 50%;
    }
    .mission-boxes.v2 + .title-96 {
        margin-top: calc(106px + 1vh);
    }
    .mission-boxes.v2 ul li:nth-child(2n+1) .mission-box-square {
        transform: rotate(0deg) translateY(4vh);
    }
    .mission-boxes.v2 ul li {
        margin-left: -30px;
        margin-right: -30px;
    }
    header {
        padding: 20px 0;
    }
    .logo svg {
        width: 64px;
        height: 32px;
    }
    .header-left, .header-right {
        width: 50%;
    }
    .tesonet-section {
        padding: 110px 0 110px;
    }
    .features-news-list ul li a {
        padding-bottom: 0;
    }
    .features-news-item-link {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        width: 100%;
        margin-top: 12px;
    }
    .footer-boxes ul li:first-child {
        margin-left: -14%;
    }
    .footer-nav-sec ul {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .footer-bottom-right{
        width: 100%;
        margin-bottom: 16px;
    }
    .copyrights {
        text-align: center;
    }
    .footer-bottom-left {
        width: 100%;
        order: 2;
    }
    .footer-grid-right {
        width: 100%;
    }
    .footer-grid-left {
        width: 100%;
        margin-bottom: 48px;
    }
    .features-news-list ul {
        width: 100%;
    }
    .features-news-list ul li {
        width: 100%;
        min-width: 100%;
        margin-right: 0;
        margin-bottom: 24px;
    }
    .newsletter-section {
        padding: 100px 0 110px;
    }
    .clients-section {
        margin-bottom: 110px;
    }
    .clients-list ul li.double-w {
        width: calc(66.666% - 24px);
        min-width: calc(66.666% - 24px);
    }
    .clients-list ul li {
        width: calc(33.333% - 24px);
        min-width: calc(33.333% - 24px);
    }
        .mission-section {
        padding: 100px 0;
    }
    .home-custom-cards-section {
        margin-bottom: 100px;
    }
    .features-section {
        margin-bottom: 110px;
    }
    .features-list ul li.gap {
        display: none;
    }
    .features-list ul {
        margin-bottom: -64px;
    }
    .features-list ul li {
        width: 50%;
        margin-bottom: 21px;
        margin-bottom: 64px;
        border-left: 1px solid rgba(0, 0, 0, 0.1);
        padding-left: 24px;
        padding-right: 32px;
    }
    .section-top.section-top-32 {
        width: 100%;
    }
    .section-top {
        margin-bottom: 64px;
    }
    .section-top-max-w {
        max-width: 75%;
    }
    .title-48 {
        font-size: 6vw;
    }
    .title-96 {
        font-size: 10vw;
    }
    .section-top-66 {
        width: 100%;
    }
    .section-top-33 {
        width: 100%;
        margin-bottom: 24px;
    }
    .tesonet-title.in-view a {
        width: 17vw;
    }
    .tesonet-title a {
        height: 17vw;
    }
    .tesonet-title a img,
    .tesonet-title a svg {
        width: 44px;
        height: auto;
    }
    .title-160.tesonet-title {
        font-size: 23vw;
    }
    .title-160 {
        font-size: 18vw;
    }
    .tesonet-right {
        width: 100%;
        padding-left: 0;
        margin-bottom: 48px;
    }
    .tesonet-left {
        width: 100%;
        order: 2;
    }
    .home-custom-cards-col {
        width: 100%;
    }
    .features-news-section {
        padding: 110px 0 95px;
    }
    .pli-content-box a > span {
        top: 24px;
        right: 24px;
    }
    .open-positions-section {
        padding: 100px 0;
    }
    .open-positions-section .section-top {
        margin-bottom: 80px;
    }
} 

@media screen and (max-width:767px) {
    .referrals-box-links ul li {
        width: calc(50% - 24px);
        min-width: calc(50% - 24px);
    }
    .open-positions-hold ul.list li.lever-job {
        width: calc(50% - 24px);
        min-width: calc(50% - 24px);
    }
}

@media screen and (max-width:639px) {
    .contact-intro-section .title-160.tesonet-title {
        font-size: 16.6vw;
    }
    .newsletter-section .section-label span {
        display: inline;
        padding-left: 0;
    }
    .newsletter-section .section-label span:before  {
        top: 10px;
        left: -18px;
        transform: translateY(-50%);
    }
    .referrals-box-links ul li.design-image {
        margin-top: 16px;
        margin-bottom: 32px;
    }
    .referrals-box-links ul li a {
        gap: 24px;
    }
    .referrals-box-links .title-24 {
        /* font-size: 24px; */
        line-height: 1.48;
    }
    .copyrights {
        text-align: left;
    }
    .news-more-button {
        margin-top: 64px;
    }
    .open-positions-hold ul.list li.lever-job a {
        padding: 24px 28px;
        aspect-ratio: 1.61;
        border-radius: 16px;
    }
    #lever-jobs-filter {
        margin-bottom: 24px;
    }
    .open-positions-hold ul.list {
        width: 100%;
        margin-bottom: -16px;
    }
    .open-positions-hold ul.list li.lever-job {
        width: 100%;
        min-width: 100%;
        margin-right: 0;
        margin-bottom: 16px;
    }
    .form-element textarea, 
    .form-element textarea:focus {
        height: 200px;
        border-radius: 16px;
        padding: 16px 24px;
    }
    .single-content-form .title-48 {
        margin-bottom: 40px;
    }
    .mission-boxes-carousel-hold {
        padding: 0 8%;
    }
    .home-custom-cards-section {
        margin-bottom: 64px;
    }
    .home-custom-card-title {
        font-size: 32px;
        font-size: 8.5vw;
    }
    .home-custom-card-text {
        font-size: 14px;
        line-height: 1.56;
    }
    .home-custom-cards-mob-list ul li.double-w {
        padding: 22px 20px;
        width: calc(100% - 16px);
        min-width: calc(100% - 16px);
    }
    .home-custom-cards-mob-list ul li {
        width: calc(50% - 16px);
        min-width: calc(50% - 16px);
        margin-right: 16px;
        margin-bottom: 16px;
        border-radius: 16px;
        padding: 16px 14px;
    }
    .home-custom-cards-mob-list ul {
        width: calc(100% + 16px);
        margin-bottom: -16px;
    }
    .overlaping-cards-image {
        max-width: 1000px;
        width: 250%;
        margin-left: -46%;
        margin-right: 0;
    }
    .ca-carousel-hold:not(:last-child) {
        margin-bottom: 16px;
    }
    .ca-carousel-hold:nth-child(2n+1) {
        margin-left: -45%;
    }
    .ca-carousel-item .text-20 {
        padding-right: 0;
        font: 14px;
    }
    .ca-carousel-item {
        padding: 16px 20px;
    }
    .ca-carousel-hold {
        padding-right: 40%;
    }
    .careers-about-section {
        padding: 48px 0 98px;
    }
    .error-section .tesonet-title a img,
    .error-section .tesonet-title a svg {
        width: 36px;
    }
    .referrals-intro-section .tesonet-title a img,
    .referrals-intro-section .tesonet-title a svg {
        width: 23px;
    }
    .referrals-carousel-section {
        padding-bottom: 80px;
    }
    .carousel-content-item {
        padding: 24px 24px;
    }
    .referrals-sharing-section {
        padding: 80px 0 100px;
    }
    .btn-small-full,
    .btn-small-full:focus,
    .btn-small-full:active {
        width: 100%;
    }
    .form-submit {
        margin-top: 40px;
    }
    .form-element {
        margin-bottom: 16px;
    }
    .rfs-left {
        margin-bottom: 48px;
    }
    .form-elements-row .form-element {
        width: 100%;
    }
    .referrals-form-section {
        padding: 64px 0;
    }
    .referrals-box-links-gap {
        display: none;
    }
    .referrals-box-links-section {
        padding: 64px 0;
    }
    .referrals-box-links-image.rotate-clockwise {
        transform: rotate(5deg);
    }
    .referrals-box-links-image.rotate-counterclockwise {
        transform: rotate(-5deg);
    }
    .referrals-box-links-image {
        padding-bottom: 61.2%;
    }
    .referrals-box-links ul li a {
        padding: 28px 28px;
        aspect-ratio: 1.635;
        border-radius: 16px;
    }
    .referrals-box-links ul {
        width: 100%;
        margin-bottom: -16px;
    }
    .referrals-box-links ul li {
        width: 100%;
        min-width: 100%;
        margin-right: 0;
        margin-bottom: 16px;
    }
    .pli-image-box {
        transition-delay: 0s !important;
    }
    .policies-section {
        padding: 72px 0 80px;
    }
    .pli-image {
        padding-bottom: 78.29%;
    }
    .policies-list-item:nth-child(2n) .pli-content-box {
        order: 0;
    }
    .pli-image-box {
        width: 100%;
        margin-right: 0;
    }
    .policies-list-item {
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap:wrap;
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 16px;
    }
    .pli-content-box {
        width: 100%;
        margin-bottom: 16px;
        margin-right: 0;
    }
    .policies-section .title-160.tesonet-title {
        font-size: 17vw;
    }
    .policies-list {
        margin-top: 80px;
    }
    .single-content-form {
        margin-top: 48px;
    }
    .pt-120 {
        padding-top: 64px;
    }
    .alignright {
        float: right;
        width: calc(50% - 4px);
        margin-left: 4px;
        margin-bottom: 8px;
    }
    .alignleft {
        float: left;
        width: calc(50% - 4px);
        margin-right: 4px;
        margin-bottom: 8px;
    }
    .entry h2 {
        font-size: 24px;
    }
    .entry h3 {
        font-size: 20px;
    }
    .entry h4 {
        font-size: 18px;
    }
    .entry h5 {
        font-size: 16px;
    }
    .entry p + ol,
    .entry p + ul {
        margin-top: -1.56em;
    }
    .entry p.has-image:not(:first-child) {
        margin-top: 48px;
    }
    .entry p {
        margin-bottom: 1.56em;
    }
    .entry h2, .entry h3, .entry h4, .entry h5 {
        margin-bottom: 24px;
    }
    .entry h2:not(:first-child), .entry h3:not(:first-child), .entry h4:not(:first-child), .entry h5:not(:first-child) {
        margin-top: 40px;
    }
    .entry {
        font-size: 14px;
        line-height: 1.56;
        letter-spacing: -0.02em;
    }
    .entry h2, .entry h3, .entry h4, .entry h5, .entry ul, .entry p:not(.has-image) {
        max-width: 100%;
    }
    .entry p img {
        border-radius: 16px;
    }
    .single-content-attrs {
        margin-top: 28px;
    }
    .single-content-attr-item {
        margin-bottom: 16px;
    }
    .single-content-section {
        padding: 104px 0 80px;
    }
    .contact-intro-section {
        padding: 72px 0 80px;
    }
    .locations-cards ul {
        width: 100%;
        margin-bottom: -16px;
    }
    .locations-cards ul li {
        width: 100%;
        min-width: 100%;
        margin-right: 0;
        margin-bottom: 16px;
    }
    .contacts-half-links ul li a {
        padding-bottom: 100%;
    }
    .contacts-half-links ul {
        width: 100%;
    }
    .contacts-half-links ul li {
        width: 100%;
        min-width: 100%;
        margin-right: 0;
        margin-bottom: 16px;
    }
    .contacts-links-text {
        font-size: 16px;
        line-height: 1.68;
        letter-spacing: -0.01em;
    }
    .contacts-full-links ul {
        width: 100%;
    }
    .contacts-full-links ul li {
        width: 100%;
        min-width: 100%;
        margin-right: 0;
        margin-bottom: 16px;
    }
    .circular-carousel-card-icon {
        margin-bottom: 12px;
        height: 24px;
    }
    .title-72 {
        font-size: 40px;
        font-size: 10.7vw;
    }
    .nav-btn {
        top: calc(320px + 28px);
    }
    .circular-carousel {
        height: 400px;
    }
    .carousel-card {
        width: 80vw;
        height: 320px;
        padding: 24px 28px;
    }
    .open-positions-section .section-top {
        margin-bottom: 64px;
    }
    .open-positions-section {
        padding: 64px 0;
    }
    .tabbed-galleries-section {
        margin-bottom: 64px;
    }
    .carousel-item {
        width: calc(72vw + 16px);
        height: 72vw;
        padding: 0 8px;
    }
    .carousel-item.wider {
        width: calc(97vw + 16px);
    }
    .tabbed-galleries-tabs {
        margin-bottom: 24px;
    }
    .tabbed-galleries-tabs ul {
        border: none;
        padding: 0px;
        gap: 6px;
    }
    .tabbed-galleries-tabs ul li a {
        border: 1px solid rgba(28, 28, 28, 0.10);
        min-height: 38px;
        padding: 2px 15px;
    }
    .tabbed-galleries-tabs ul li a span {
        display: none;
    }
    .tabbed-galleries-section .tesonet-title.in-view a {
        width: 14vw;
    }
    .tabbed-galleries-section .tesonet-title a {
        height: 14vw;
    }
    .tabbed-galleries-section .title-160.tesonet-title {
        font-size: 18vw;
    }
    .career-benefits-section {
        margin-bottom: 80px;
    }
    .career-benefits-list ul li.object-fit {
        padding-bottom: 50%;
    }
    .career-benefits-list ul {
        width: 100%;
        margin-bottom: -16px;
    }
    .career-benefits-list ul li {
        width: 100%;
        min-width: 100%;
        margin-right: 0;
        margin-bottom: 16px;
        padding: 24px 28px;
        border-radius: 16px;
    }
    .curved-carousel-section {
        padding: 80px 0;
    }
    .testimonials-section {
        padding: 64px 0 75px;
    }
    .tesonet-section.v2 .tesonet-left .text-16 {
        max-width: 100%;
    }
    .tesonet-section.v2 {
        padding: 64px 0;
    }
    .team-section {
        margin-bottom: 48px;
    }
    .team-list-item-image > a:after, .team-list-item-image > span:after {
        background: url(../img/team-in.svg) no-repeat center center / 16px;
    }
    .team-list-item-image.b-24 {
        border-radius: 12px;
    }
    .team-list-item-image.b-24 > img{
        border-radius: 12px;
    }
    .team-list-item-image > a, .team-list-item-image > span {
        top: 10px;
        right: 10px;
        width: 18px;
        height: 18px;
        border-radius: 5px;
    }
    .team-list ul li {
        width: calc(50% - 15px);
        min-width: calc(50% - 15px);
        margin-right: 15px;
        margin-bottom: 16px;
    }
    .team-list ul {
        width: calc(100% + 15px);
        margin-bottom: -16px;
    }
    .team-section .section-top {
        margin-bottom: 24px;
    }
    .features-list.features-list-four .features-list-icon {
        margin-bottom: 40px;
    }
    .features-list.features-list-four ul li {
        width: 100%;
    }
    .overlaping-cards-section {
        padding: 80px 0;
    }
    .ci-img-pos-4,
    .ci-img-pos-5,
    .ci-img-pos-7,
    .ci-img-pos-9 {
        display: none;
    }
    .section-top-max-w.v2 {
        max-width: 100%;
    }
    .ci-img {
        width: 71px;
        height: 71px;
    }
    .mob-nav ul li a span {
        width: 24px;
        height: 24px;
        border-radius: 5px;
        font-size: 16px;
    }
    .home-intro-section {
        padding: 72px 0 0;
        margin-bottom: 64px;
    }
    .footer-box-icon svg {
        width: 20px;
        height: 20px;
    }
    .footer-nav-sec ul {
        -webkit-box-pack: justify;
        -moz-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }
    .link-circle-arrow span {
        width: 32px;
        height: 32px;
    }
    .link-circle-arrow, .link-circle-arrow:focus, .link-circle-arrow:active {
        font-size: 14px;
    }
    .link-grey, .link-grey:focus, .link-grey:active {
        font-size: 14px;
    }
    .mission-section .section-top {
        margin-bottom: 64px;
    }
    .mission-boxes:not(:last-child) {
        margin-bottom: 64px;
    }
    .mission-boxes ul li {
        width: 70%;
    }
    .mission-boxes ul {
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .features-section {
        margin-bottom: 64px;
    }
    .features-list ul {
        margin-bottom: -24px;
        width: 100%;
    }
    .mb-24 {
        margin-bottom: 16px;
    }
    .features-list-icon {
        height: 40px;
        margin-bottom: 40px;
    }
    .features-list-icon > span {
        width: 40px;
        height: 40px;
        border-radius: 8px;
    }
    .features-list-icon img {
        max-width: 26px;
        max-height: 26px;
    }
    .features-list ul li {
        width: 100%;
        margin-bottom: 48px;
        padding-right: 0;
    }
    .title-96 {
        font-size: 48px;
        font-size: 12.8vw;
    }
    .mission-section {
        padding: 64px 0;
    }
    .tesonet-title a img,
    .tesonet-title a svg {
        width: 16px;
    }
    .tesonet-title a {
        height: 15vw;
        border-radius: 12px;
    }
    .tesonet-title.in-view a {
        width: 15vw;
    }
    .tesonet-left {
        gap: 28px;
    }
    .title-160.tesonet-title {
        font-size: 19vw;
    }
    .text-16 {
        font-size: 14px;
        line-height: 1.56;
        letter-spacing: -0.02em;
    }
    .tesonet-left .text-16 {
        max-width: 100%;
    }
    .tesonet-section {
        padding: 64px 0;
    }
    .title-48 {
        font-size: 32px;
        font-size: 8.5vw;
    }
    .section-top-max-w {
        max-width: 100%;
    }
    .section-top-33 {
        margin-bottom: 16px;
    }
    .section-top {
        margin-bottom: 48px;
    }
    .clients-list ul li.double-w {
        width: calc(100% - 16px);
        min-width: calc(100% - 16px);
    }
    .clients-list-logo img {
        max-height: 22px;
    }
    .clients-list ul {
        width: calc(100% + 16px);
        margin-bottom: -16px;
    }
    .clients-list ul li {
        border-radius: 12px;
        min-height: 94px;
        width: calc(50% - 16px);
        min-width: calc(50% - 16px);
        margin-right: 16px;
        margin-bottom: 16px;
    }
    .clients-section {
        margin-bottom: 64px;
    }
    .features-news-section {
        padding: 64px 0 64px;
    }
    .features-news-item-image {
        margin-bottom: 16px;
    }
    .b-24,
    .b-24 > img {
        border-radius: 16px;
    }
    .features-news-item-link {
        margin-top: 10px;
    }
    .label-link-hold {
        margin-bottom: 24px;
    }
    .section-label span:before {
        width: 6px;
        height: 6px;
    }
    .section-label span {
        padding-left: 18px;
    }
    .section-label {
        font-size: 16px;
    }
    .newsletter-form-hold {
        margin: 40px auto 0;
    }
    .title-160 {
        font-size: 64px;
        font-size: 17vw;
        font-size: 62px;
        font-size: 16.6vw;
    }
    .mb-40 {
        margin-bottom: 24px;
    }
    .newsletter-section {
        padding: 64px 0 80px;
    }
    .footer-box-icon {
        top: 18px;
        right: 18px;
    }
    .footer-box-title {
        bottom: 18px;
        padding: 0 22px;
    }
    .title-20 {
        font-size: 16px;
    }
    .text-20 {
        font-size: 16px;
    }
    .footer-boxes ul {
        width: calc(100% + 15px);
    }
    .footer-boxes ul li {
        width: calc(50% - 15px);
        margin-right: 15px;
        margin-bottom: 16px;
    }
    .footer-grid-right {
        padding-left: 0;
    }
    .footer-boxes ul li:first-child {
        margin-left: 0;
        transform-origin: center center;
    }
    .footer-nav ul li {
        margin-bottom: 16px;
    }
    footer {
        padding: 28px 0 40px;
    }
    .grid-container {
        padding-left: 24px;
        padding-right: 24px;
    }
    .mob-nav {
        margin-top: 32px;
    }   
    .mob-nav ul li a {
        font-size: 14vw;
    }
	.entry iframe {
		max-width: 100%;
	}

} 