/*
Theme Name: Beyondsoft JP
Description: Theme created by Leandro Berg (fullstack development - http://virtuemasters.com.br).
Version: 1.40
Author: VIRTUEMASTERS
Author URI: http://virtuemasters.com.br
*/

:root {
    --cyan: #3bb0c9;
    --cyan-2: #19788c;
    --blue: #09205c;
    --blue-2: #204D9C;
    --blue-3: #3a4d7d;
    --blue-4: #2f6eba;
    --blue-5: #4ca7ee;
    --gray: #b2b2b2;
    --gray-2: #333333;
}

@font-face { font-family: Yu Gothic Light; src: url('fonts/Yu Gothic Light.ttf'); font-weight: normal; }


@font-face {
    font-family: 'Signatie';
    src: url('fonts/Signatie.woff2') format('woff2'),
        url('fonts/Signatie.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* GENERAL */

body {
    font-family: Roboto;
    font-weight: 400;
    font-size: 18px;
    line-height: 24px;
}

body.overlay:before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,80%);
    z-index: 9;
}

p {
    margin-bottom: 26px;
}

p mark {
    text-decoration: underline;
    background: none;
}

p.has-medium-font-size {
    font-size: 24px !important;
    line-height: 28px;
    margin-bottom: 40px;
}

p.author {
    font-size: 12px;
    font-family: Lato;
}

p.author span {
    text-transform: uppercase;
}

mark {
    background: none;
}

.hide {
    display: none !important;
}

.justify-text {
    text-align: justify;
}

section {
    overflow: hidden;
    position: relative;
    padding-top: 150px;
    padding-bottom: 150px;
}

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

iframe,
video,
audio {
    max-width: 100%;
}

.cover {
    background-position: center;
    background-size: cover;
}

.min-height-100vh {
    min-height: 100vh;
}

a.permalink {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
}

strong {
    font-weight: 700;
}

.wrapper,
.wp-block-cover__inner-container,
.wp-block-group__inner-container,
.wp-block-group .wp-block-group .wp-block-group__inner-container {
    max-width: 1280px;
    padding: 0 20px;
    margin: 0 auto !important;
    position: relative;
}

.wrapper div:not(.alignfull) .wp-block-cover__inner-container,
.wrapper div:not(.alignfull) .wp-block-group__inner-container {
    padding: 0;
}

.wp-block-cover {
    padding: 0;
}

a.arrow {
    position: relative;
    cursor: pointer;
}

a.arrow:before {
    content: '______';
    display: block;
    font-weight: 700;
}

a.arrow:after {
    content: '';
    width: 20px;
    height: 20px;
    border: 2px solid var(--cyan);
    position: absolute;
    right: 2px;
    top: calc(50% - 4px);
    transform: rotate(45deg);
    border-left: none;
    border-bottom: none;
}

/* LINKS */

a {
    color: var(--cyan);
    display: inline-block;
    line-height: 0;
    text-decoration: none;
}

a:hover,
a:active,
a:focus {
    text-decoration: none;
    color: var(--cyan);
}

.current-menu-item a,
.current-page-ancestor a {
    font-weight: 700;
    color: var(--cyan);
}

/* COLORS */

.has-light-background-color {
    background-color: rgba(255,255,255,.5);
}

.has-dark-background-color {
    background-color: rgba(0,0,0,.5);
}

.has-blue-background-color {
    background-color: var(--blue);
}

.has-blue-2-background-color {
    background-color: var(--blue-2);
}

.has-cyan-background-color {
    background-color: var(--cyan);
}

.has-blue-color {
    color: var(--blue);
}

.has-blue-2-color {
    color: var(--blue-2);
}

.has-cyan-color {
    color: var(--cyan);
}

/* BUTTONS - block */

.wp-block-buttons {
    margin: 20px 0;
}

.wp-block-button {
    position: relative;
    margin-left: 40px !important;
    margin-right: 40px !important;
}

.wp-block-button:before {
    content: url(images/button-line.webp);
    position: absolute;
    left: -31px;
    bottom: -18px;
    transition: all .3s;
}

.wp-block-button:hover:before {
    bottom: -3px;
    left: -23px;
}

.wp-block-button__link {
    border-radius: 0;
    background-color: var(--cyan);
    color: white;
    position: relative;
    font-size: 20px;
    line-height: 40px;
    height: 40px;
    text-transform: uppercase;
    font-weight: 700;
    padding: 0 30px;
}

.wp-block-button__link:before,
.wp-block-button__link:after {
    content: '';
    width: 0px;
    height: 0;
    position: absolute;
    top: 0;
    left: -40px;
    border: 40px solid transparent;
    border-top: 40px solid var(--cyan);
    border-bottom: none;
}

.wp-block-button__link:after {
    left: auto;
    right: -40px;
    border-top: none;
    border-bottom: 40px solid var(--cyan);
}

.wp-block-button__link:hover {
    color: white;
}

/* BUTTON - has-small-font-size */

.wp-block-button.has-small-font-size {
    margin-left: 30px !important;
    margin-right: 30px !important;
}

.wp-block-button.has-small-font-size:before {
    left: -30px;
    bottom: -18px;
}

.wp-block-button.has-small-font-size:hover:before {
    bottom: -3px;
    left: -23px;
}

.wp-block-button.has-small-font-size .wp-block-button__link {
    font-size: 15px;
    line-height: 30px;
    height: 30px;
    padding: 0 20px;
}

.wp-block-button.has-small-font-size .wp-block-button__link:before,
.wp-block-button.has-small-font-size .wp-block-button__link:after {
    left: -30px;
    border-width: 30px;
}

.wp-block-button.has-small-font-size .wp-block-button__link:after {
    right: -30px;
    border-width: 30px;
    left: auto;
}

/* BUTTON - blue */

.wp-block-button .has-blue-background-color {
    background-color: var(--blue);
}

.wp-block-button .has-blue-background-color:before {
    border-top-color: var(--blue);
}

.wp-block-button .has-blue-background-color:after {
    border-bottom-color: var(--blue);
}

.wp-block-button.blue:before {
    content: url(images/button-line-blue.webp);
}

/* BUTTON - blue 2 */

.wp-block-button .has-blue-2-background-color {
    background-color: var(--blue-2);
}

.wp-block-button .has-blue-2-background-color:before {
    border-top-color: var(--blue-2);
}

.wp-block-button .has-blue-2-background-color:after {
    border-bottom-color: var(--blue-2);
}

.wp-block-button.blue-2:before {
    filter: invert(18%) sepia(45%) saturate(6001%) hue-rotate(480deg) brightness(85%) contrast(99%);
}


/* FORM */

form input::-webkit-input-placeholder,
form textarea::-webkit-input-placeholder {
    font-size: 14px;
    line-height: 26px;
    text-transform: uppercase;
    font-weight: 900;
    font-family: Lato;
}

form input:-moz-placeholder,
form textarea:-moz-placeholder {
    font-size: 14px;
    line-height: 26px;
    text-transform: uppercase;
    color: var(--cyan);
    font-weight: 900;
    font-family: Lato;
}

form input::-moz-placeholder,
form textarea::-moz-placeholder {
    font-size: 14px;
    line-height: 26px;
    text-transform: uppercase;
    color: var(--cyan);
    font-weight: 900;
    font-family: Lato;
}

form input:-ms-input-placeholder,
form textarea:-ms-input-placeholder {
    font-size: 14px;
    line-height: 26px;
    text-transform: uppercase;
    color: var(--cyan);
    font-weight: 900;
    font-family: Lato;
}

form label.error {
    display: none !important;
}

form .error {
    color: red;
}

form .error::-webkit-input-placeholder {
    color: red;
}

form .error:-moz-placeholder {
    color: red;
}

form .error::-moz-placeholder {
    color: red;
}

form .error:-ms-input-placeholder {
    color: red;
}

form input[type=search] {
    font-family: Roboto;
    font-size: 24px;
    color: black;
    border: none;
    padding: 15px;
}

/* clears the ‘X’ from Chrome */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
    display: none;
}

/* CHECKBOX */

.checkbox {
    text-transform: uppercase;
    position: relative;
    cursor: pointer;
}

.checkbox input {
    opacity: 0;
    margin: 0 25px;
}

.checkbox:before,
.checkbox:after {
    position: absolute;
    border-radius: 15px;
    left: 50%;
    transform: translate(-50%);
    transition: .3s;
}

.checkbox:before {
    content: '';
    width: 37px;
    height: 18px;
    background-color: black;
}

.checkbox:after {
    content: '';
    width: 14px;
    height: 14px;
    background-color: white;
    top: 2px;
    margin-left: -8px;
}

.checkbox.checked:after {
    margin-left: 8px;
}

/* WP CLASSES */

.alignfull {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw;
    padding: 0;
}

.alignwide {
    margin-left: -20%;
    margin-right: -20%;
}

.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 20px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

img.alignnone {
    margin: 5px 20px 20px 0;
}

img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

.alignwide iframe {
    width: 100%;
    height: 600px;
    margin: 15px 0;
}

/* HEADINGS */

h1 {
    font-size: 48px;
    line-height: 52px;
    text-transform: uppercase;
    color: var(--cyan);
    font-weight: 900;
    margin: 50px 0 0;
    display: flex;
    flex-direction: column;
    margin-bottom: 48px;
}

h1:before {
    content: attr(data-title);
    text-shadow: 0 0 2px var(--cyan);
    color: white;
    font-size: 120px;
    order: -2;
    margin-bottom: -55px;
    white-space: nowrap;
    overflow: hidden;
    height: 100px;
    line-height: 100px;
}

h1:after {
    content: '';
    height: 50px;
    background: linear-gradient(transparent, white);
    order: -1;
    margin-bottom: -40px;
}

h2 {
    font-size: 58px;
    line-height: 56px;
    font-weight: 700;
    margin-bottom: 64px;
}

h2 mark {
    font-family: Signatie;
    font-size: 90px;
    font-weight: 100;
    background: none;
}

h3 {
    font-size: 24px;
    line-height: 28px;
    font-weight: 700;
    color: var(--blue);
    margin-bottom: 15px;
}

h4 {
    font-size: 30px;
    line-height: 34px;
    margin-bottom: 30px;
}

h5 {
    font-size: 18px;
    line-height: 20px;
    font-weight: 700;
    margin-bottom: 15px;
}

h6 {
    font-size: 36px;
    font-weight: 100;
    line-height: 60px;
}

/* BLOCK - generals */

article b,
article strong {
    font-weight: bold;
}

article em {
    font-style: italic;
}

article del {
    text-decoration: overline;
}

/* BLOCK - list */

article ul {
    list-style-type: disc;
    padding: 0 15px 15px;
}

article ul li,
article ol li {
    padding: 15px 0;
}

article ul li a,
article ol li a {
    display: initial;
    line-height: initial;
}

article ol {
    list-style-type: decimal;
    list-style-position: outside;
    padding: 0 20px;
}

article ul ul,
article ol ul {
    list-style-type: circle;
    list-style-position: outside;
    margin-left: 15px;
}

article ol ol,
article ul ol {
    list-style-type: lower-latin;
    list-style-position: outside;
    margin-left: 15px;
}

/* BLOCK - image */

article img.alignnone {
    border-radius: 50px;
    position: relative;
    max-width: 100vw;
}

article .wp-block-image {
    margin-bottom: 22px;
}

/* BLOCK - media */

.wp-block-media-text {
    gap: 87px;
    padding: 40px 0;
}

.wp-block-media-text .wp-block-media-text__content {
    padding: 0;
}

.wp-block-media-text h2 {
    margin-bottom: 25px;
}

.wp-block-media-text:not(.custom) figure {
    position: relative;
}

.wp-block-media-text:not(.custom) .wp-block-media-text__media:before {
    content: '';
    position: absolute;
    top: -80px;
    left: -80px;
    transform: rotate(45deg);
    border: 80px solid transparent;
    border-right-color: white;
    z-index: 1;
}

.wp-block-media-text:not(.custom) .wp-block-media-text__media:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    right: 10px;
    top: -10px;
    background-image: url(images/corner-frame-top.webp);
    background-size: calc(100% + 15px) calc(100% + 15px);
}

.wp-block-media-text:not(.custom) img {
    min-height: 450px;
    object-fit: cover;
    width: 100%;
}

/* BLOCK - column */

article .wp-block-columns {
    gap: 75px;
    padding: 30px 30px 10px;
}

/* BLOCK - quote */

.wp-block-quote {
    margin: 60px 0;
}

.wp-block-quote:before {
    content: url(images/quote.webp);
    margin-bottom: 30px;
    display: block;
}

.wp-block-quote p {
    font-size: 24px;
    line-height: 36px;
    font-weight: 400;
    font-family: Lato;
    max-width: 100%;
}

.wp-block-quote cite {
    font-weight: 700;
    font-family: Lato;
    display: block;
    text-align: right;
}

.wp-block-quote cite:before {
    content: '';
    width: 100%;
    height: 1px;
    background-color: var(--cyan);
    display: inline-block;
}

.wp-block-quote cite mark {
    font-size: 14px;
    font-weight: 400;
    background: none;
}

/* QUOTES - shortcode
SECTORS - columns */

.quotes {
    margin: 100px 0;
}

.quotes h2:before {
    content: url('images/bg-quote.webp');
    display: inline-block;
    margin-right: 10px;
}

.quotes .item,
.sectors .wp-block-column {
    position: relative;
    border: 1px solid var(--gray);
    margin: 30px;
    padding: 30px;
    max-width: 278px;
    min-width: 278px;
}

.quotes .item:before,
.quotes .item:after,
.sectors .wp-block-column:before,
.sectors .wp-block-column:after {
    content: '';
    position: absolute;
    background-color: white;
    width: calc(100% + 24px);
}

.quotes .item:before,
.sectors .wp-block-column:before {
    content: url('images/quote-before.webp');
    top: -17px;
    left: -11px;
    height: 11px;
}

.quotes .item:after,
.sectors .wp-block-column:after {
    content: url('images/quote-after.webp');
    bottom: -11px;
    left: -11px;
    height: 71px;
}

.quotes .author {
    border-left: 2px solid var(--blue-2);
    padding-left: 15px;
    font-family: Roboto;
    font-size: 14px;
    font-weight: 300;
    position: relative;
    z-index: 1;
    text-transform: uppercase;
    margin: 0;
}

.quotes .author strong {
    display: block;
    color: var(--blue-2);
    text-transform: none;
    font-size: 18px;
}

/* SECTORS */

.sectors {
    margin: 40px 0 120px;
}

.sectors .wp-block-columns {
    justify-content: center;
}

.sectors .wp-block-column {
    margin: initial;
    min-width: initial;
}

.sectors .wp-block-column:before {
    content: '';
    background-image: url('images/quote-before.webp');
}

.sectors .wp-block-column:after {
    display: none;
}

/* HEADER */

header .wrapper,
header .menu-wrapper {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    z-index: 10;
}

header .mobile-menu {
    display: none;
}

/* LOGO */

header .custom-logo-link {
    margin-bottom: 5px;
}

/* MENU */

header nav.menu > ul {
    display: flex;
    align-items: center;
    font-family: Lato;
    font-size: 14px;
}

/* MENU - level 1 */

header nav.menu > ul > li {
    padding-bottom: 20px;
}

header nav.menu > ul > li:not(.custom),
header nav.utility .locations {
    position: relative;
}

header nav.menu > ul > li > a {
    text-transform: uppercase;
    font-weight: 700;
    transition: none;
    padding-top: 60px;
    padding-bottom: 20px;
    color: black;
    position: relative;
    background-size: 100% 100%;
}

header nav.menu > ul > li:hover > a,
header nav.menu > ul > li.current-menu-item > a,
header nav.menu > ul > li.current-menu-ancestor > a {
    color: white;
}

header nav.menu > ul > li.menu-item-has-children:hover > a:before,
header nav.utility .acessibility.active > a:before,
header nav.utility .search.active > a:before,
header nav.utility .locations.active > a:before {
    content: '';
    position: absolute;
    width: 30px;
    height: 30px;
    background-color: var(--cyan);
    transform: translate(-50%) rotate(45deg);
    left: 50%;
    bottom: -40px;
}

header nav.menu > ul > li:hover > ul {
    display: block;
}

header nav.menu > ul > li:nth-child(1) > a {
    padding-left: 60px;
    padding-right: 20px;
}

header nav.menu > ul > li:nth-child(1):hover > a,
header nav.menu > ul > li:nth-child(1).current-menu-item > a {
    background-image: url(images/bg-menu-1.webp);
}

header nav.menu > ul > li:nth-child(2) > a {
    padding-left: 32px;
    padding-right: 17px;
    margin-left: -27px;
}

header nav.menu > ul > li:nth-child(2):hover > a,
header nav.menu > ul > li:nth-child(2).current-menu-item > a,
header nav.menu > ul > li:nth-child(2).current-menu-ancestor > a {
    background-image: url(images/bg-menu-2.webp);
}

header nav.menu > ul > li:nth-child(3) > a {
    padding-left: 19px;
    padding-right: 21px;
    margin-left: -6px;
    margin-right: -12px;
}

header nav.menu > ul > li:nth-child(3):hover > a,
header nav.menu > ul > li:nth-child(3).current-menu-item > a,
header nav.menu > ul > li:nth-child(3).current-menu-ancestor > a {
    background-image: url(images/bg-menu-3.webp);
}

header nav.menu > ul > li:nth-child(4) > a {
    padding-left: 17px;
    padding-right: 46px;
    margin-right: -41px;
}

header nav.menu > ul > li:nth-child(4):hover > a,
header nav.menu > ul > li:nth-child(4).current-menu-item > a,
header nav.menu > ul > li:nth-child(4).current-menu-ancestor > a {
    background-image: url(images/bg-menu-4.webp);
}

header nav.menu > ul > li:nth-child(5) > a {
    padding-left: 22px;
    padding-right: 58px;
}

header nav.menu > ul > li:nth-child(5):hover > a,
header nav.menu > ul > li:nth-child(5).current-menu-item > a,
header nav.menu > ul > li:nth-child(5).current-menu-ancestor > a {
    background-image: url(images/bg-menu-5.webp);
}

/* MENU - level 2 */

header nav.menu > ul > li > ul,
header nav.utility .acessibility > ul,
header nav.utility .search > ul,
header nav.utility .locations > ul {
    position: absolute;
    left: -40px;
    top: 100px;
    background-color: var(--cyan);
    color: white;
    z-index: 1;
    display: none;
    box-shadow: 0px 10px 20px rgba(0,0,0,.3);
    padding: 10px;
    min-width: 300px;
}

header nav.menu > ul > li.custom > ul,
header nav.utility .acessibility > ul,
header nav.utility .search > ul {
    max-width: calc(100% - 320px);
    left: initial;
    right: 40px;
}

header nav.menu > ul > li > ul a,
header nav.utility .locations a {
    color: white;
    line-height: 1.2rem;
}

header nav.menu > ul > li > ul > li,
header nav.utility .acessibility > ul > li,
header nav.utility .search > ul > li,
header nav.utility .locations > ul > li {
    background-color: rgba(0,0,0,15%);
    padding: 15px;
    margin-bottom: 1px;
}

header nav.menu > ul > li > ul > li.menu-item-has-children {
    margin-bottom: 10px;
}

header nav.menu > ul > li > ul > li > a,
header nav.utility .locations a {
    font-weight: 900;
    text-transform: uppercase;
    font-size: 14px;
}

header nav.menu > ul > li > ul > li.menu-item-has-children > a,
header nav.utility .acessibility > ul > li > a,
header nav.utility .search > ul > li > a {
    font-size: 3rem;
    line-height: 3rem;
    text-transform: uppercase;
    font-weight: 100;
    font-family: Roboto;
    margin-bottom: 5px;
    color: white;
}

header nav.menu > ul > li > ul > li:hover,
header nav.menu > ul > li > ul > li.current-menu-item,
header nav.menu > ul > li > ul > li.current-menu-ancestor,
header nav.utility .locations li:hover {
    background-color: var(--blue);
}

header nav.menu > ul > li > ul > li > a:hover,
header nav.menu > ul > li > ul > li.current-menu-ancestor > a,
header nav.menu > ul > li > ul > li.current-menu-item > a,
header nav.utility .locations a:hover {
    color: var(--cyan) !important;
}

/* MENU - level 3 */

header nav.menu > ul > li > ul > li > ul {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 40px;
    margin: 10px 0;
}

header nav.menu > ul > li > ul > li > ul > li {
    padding-right: 40px;
}

header nav.menu > ul > li > ul > li > ul > li:not(:last-child) {
    border-right: 1px solid rgba(255,255,255,30%);
}

header nav.menu > ul > li > ul > li > ul > li > a {
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 10px;
}

header nav.menu > ul > li > ul > li > ul > li > a:hover,
header nav.menu > ul > li > ul > li > ul > li.current-menu-ancestor > a {
    color: var(--cyan);
}

/* MENU - level 4 */

header nav.menu > ul > li > ul > li > ul > li > ul > li:not(:last-child) {
    margin-bottom: 10px;
}

header nav.menu > ul > li > ul > li > ul > li > ul > li > a {
    font-size: 16px;
}

header nav.menu > ul > li > ul > li > ul > li > ul > li > a:hover {
    color: var(--cyan);
}

/* UTILITY */

header nav.utility {
    margin-bottom: 0px;
}

header nav.utility > ul {
    display: flex;
    gap: 25px;
    align-items: center;
}

header nav.utility > ul > li {
    padding-bottom: 25px;
}

header nav.utility .button {
    background-image: url(images/button-contact.webp);
    background-size: 100% 100%;
    padding: 13px 34px;
    text-transform: uppercase;
    font-family: Lato;
    font-weight: 400;
    font-size: 13px;
    color: white;
    position: relative;
}

header nav.utility .button:after {
    content: url(images/button-contact-line.webp);
    position: absolute;
    bottom: -10px;
    right: 0;
    transition: all .3s;
}

header nav.utility .button:hover:after {
    bottom: 0;
    right: 4px;
}

/* ACESSIBILITY */

header nav.utility .acessibility.active > ul,
header nav.utility .search.active > ul,
header nav.utility .locations.active > ul {
    display: block;
    width: auto;
}

header nav.utility .acessibility > a,
header nav.utility .search > a {
    position: relative;
}

header nav.utility .acessibility.active > a:before,
header nav.utility .search.active > a:before {
    bottom: -50px;
}

header nav.utility .acessibility > ul > li > form {
    font-weight: 700;
    font-size: 16px;
    line-height: 16px;
    text-transform: none;
    margin-top: 15px;
}

header nav.utility .acessibility > ul > li > form > label {
    display: block;
    padding: 17px 50px 12px 0;
}

header nav.utility .acessibility > ul > li > form > label:not(:last-child) {
    border-bottom: 1px solid rgba(255,255,255,30%);
}

header nav.utility .acessibility > ul > li > form > label:before {
    vertical-align: middle;
    margin-right: 15px;
}

header nav.utility .acessibility > ul > li > form > label:nth-child(1):before {
    content: url(images/icon-contrast.webp);
}

header nav.utility .acessibility > ul > li > form > label:nth-child(2):before {
    content: url(images/icon-font.webp);
}

header nav.utility .acessibility > ul > li > form > label > .checkbox {
    float: right;
}

/* LOCATIONS */

header nav.utility .locations > ul {
    top: 52px;
}

header nav.utility .locations:hover > a:before {
    bottom: -17px;
}

/* SEARCH */

header nav.utility .search form {
    position: relative;
    margin: 20px 0 40px;
}

header nav.utility .search input[type=search] {
    width: 870px;
    padding-right: 75px;
}

header nav.utility .search input[type=submit] {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translate(0, -50%);
    border: none;
    background-color: transparent;
    background-image: url(images/arrow.webp);
    width: 54px;
    height: 20px;
    cursor: pointer;
}

/* OUR ENGAGEMENT */

.our-engagement {
    position: relative;
    color: initial;
}

.our-engagement:before,
.our-engagement:after {
    content: '';
    position: absolute;
    left: 0;
    top: -100px;
    border: 100px solid transparent;
    border-left-color: white;
    z-index: 1;
    display: none;
}

.our-engagement:after {
    left: initial;
    top: initial;
    right: 0;
    bottom: -100px;
    min-height: auto;
    border: 100px solid transparent;
    border-right-color: white;
}

.our-engagement p {
    max-width: 800px;
    margin-left: initial !important;
}

.our-engagement h2 {
    margin-bottom: 30px;
}

.our-engagement .wp-block-columns {
    background-image: url(images/bg-engagement.webp);
    background-repeat: no-repeat;
    background-size: 100%;
    gap: 30px;
    padding: 50px;
    margin-left: -60px !important;
    margin-right: -60px !important;
    margin-top: 100px;
    overflow: auto;
}

.our-engagement .wp-block-column {
    background-image: url(images/bg-engagement-item.webp);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    padding: 30px;
    max-width: calc(25% - 30px);
    min-width: 240px;
}

.our-engagement .wp-block-column img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.our-engagement ul {
    list-style: none;
    padding: 0;
    margin: 20px 0 30px;
}

.our-engagement li {
    border-left: 2px solid var(--blue);
    margin-bottom: 20px;
    padding: 0 0 0 10px;
    font-size: 14px;
    line-height: 18px;
}

/* HOW WE DO IT */

.how-we-do-it .wp-block-cover__image-background {
    height: auto;
    top: initial;
}

.how-we-do-it h2 {
    margin-bottom: 30px;
}

.how-we-do-it h4 {
    max-width: 500px;
    margin-left: 0 !important;
}

.how-we-do-it .slicks {
    margin: 65px 0;
    display: flex;
    gap: 90px;
    align-items: center;
    background: linear-gradient(white, transparent);
    padding-bottom: 150px;
}

.how-we-do-it .slick-images,
.how-we-do-it .slick-images img {
    min-width: 700px;
    height: 440px;
    max-width: 700px;
}

.how-we-do-it .slick-images:before {
    content: url(images/bg-slick-images.webp);
    position: absolute;
    left: -10px;
    top: -10px;
}

.how-we-do-it .slick-images:after {
    content: '';
    border: 90px solid transparent;
    border-left-color: white;
    position: absolute;
    bottom: -100px;
    right: -100px;
    transform: rotate(45deg);
}

.how-we-do-it .slick-dots {
    position: absolute;
    right: 100px;
    bottom: 20px;
    display: flex;
    list-style: none;
    padding: 0;
}

.how-we-do-it .slick-dots li {
    padding: 0;
    background-image: url(images/slick-dot.webp);
    width: 25px;
    height: 18px;
    margin-left: -10px;
    cursor: pointer;
}

.how-we-do-it .slick-dots li.slick-active {
    background-image: url(images/slick-dot-active.webp);
}

.how-we-do-it .slick-dots li button {
    display: none;
}

.how-we-do-it .slick-texts {
    max-width: 400px;
    height: 388px;
    overflow: hidden;
}

.how-we-do-it .slick-texts:before,
.how-we-do-it .slick-texts:after {
    content: '';
    width: 100%;
    height: 60px;
    background: linear-gradient(white, transparent);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.how-we-do-it .slick-texts:after {
    background: linear-gradient(transparent, white);
    top: auto;
    bottom: 0;
}

.how-we-do-it .slick-texts h3 {
    font-size: 40px;
    line-height: 40px;
}

.how-we-do-it .slick-texts h3 strong {
    font-size: 60px;
}

.how-we-do-it .slick-texts .slick-slide {
    opacity: 0.5;
    transition: .3s;
    transform: scale(.5) translateX(-50%);
}

.how-we-do-it .slick-texts .slick-center {
    opacity: 1;
    transform: scale(1);
}

.how-we-do-it p {
    max-width: 400px;
    margin-left: 40px !important;
    margin-top: -215px;
    font-size: 11px;
    line-height: 14px;
    background: linear-gradient(to right, rgba(255,255,255,.5), transparent);
    padding: 30px;
    position: relative;
}

.how-we-do-it p:before {
    content: '*';
    position: absolute;
    left: 13px;
    top: 33px;
    font-size: 30px;
}

.how-we-do-it p:after {
    content: url(images/bg-slick-p.webp);
    position: absolute;
    left: -10px;
    bottom: -13px;
}

/* SERVICES */

.services > div > .wp-block-group {
    padding-top: 200px;
    margin-top: -228px;
    margin-bottom: -100px;
    position: relative;
    background-image: url(images/bg-gradient.webp);
    background-repeat: repeat-y;
    background-size: 1920px auto;
    background-position: center;
}

.services > div > .wp-block-group:after {
    content: '';
    width: 100%;
    height: 228px;
    background: white;
    position: absolute;
    bottom: 0;
}

.services > div .wp-block-media-text {
    position: relative;
    z-index: 1;
}

.services > div .wp-block-media-text .wp-block-buttons {
    margin-bottom: 280px;
}

.services > div .wp-block-media-text:last-child figure:before {
    border-left-color: white;
}

.services > div .wp-block-media-text img {
    min-height: 450px;
    object-fit: cover;
}

.services > div .wp-block-media-text figure {
    position: relative;
}

.services > div .wp-block-media-text figure:before {
    content: '';
    border: 80px solid transparent;
    border-left-color: var(--blue-2);
    position: absolute;
    bottom: -80px;
    right: -80px;
    transform: rotate(45deg);
}

.services > div .has-media-on-the-right figure:before {
    border: 80px solid transparent;
    border-top-color: var(--blue-2);
    right: initial;
    left: -80px;
}

.services > div > .wp-block-image {
    position: relative;
    z-index: 1;
}

.services > div .wp-block-media-text__media:after {
    content: '';
    background-image: url(images/corner-frame.webp);
    background-size: calc(100% + 10px) calc(100% + 20px);
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    right: 0;
    top: -10px;
    transform: scaleX(-1);
}

.services > div .has-media-on-the-right .wp-block-media-text__media:after {
    transform: scaleX(1);
}

/* SERVICE */

.single-service article > .wp-block-cover:nth-child(2) {
    margin-bottom: -150px;
}

.single-service article > .wp-block-cover:nth-child(2) h2 {
    margin-top: 80px;
}

.single-service .our-engagement .wp-block-column,
.home .our-engagement .wp-block-column {
    background-image: url(images/bg-engagement-item-left.webp);
}

.single-service .our-engagement .wp-block-cover__inner-container > p {
    max-width: 455px;
    font-size: 24px;
    line-height: 30px;
    color: white;
    border-left: 4px solid rgba(255, 255, 255, .5);
    padding-left: 20px;
    margin-bottom: 100px;
    margin-left: 0 !important;
}

/* OTHER SERVICES */

.other-services {
    margin-top: 160px;
    display: flex;
    align-items: center;
    gap: 40px;
    margin-left: -120px;
}

.other-services p {
    font-size: 24px;
    margin: 0;
    display: flex;
    align-items: center;
}

.other-services p:before {
    content: url(images/bg-other-services.webp);
    vertical-align: middle;
    margin-right: 20px;
}

.other-services ul {
    display: flex;
}

.other-services li:nth-child(1) {
    background-color: var(--blue-2);
}

.other-services li:nth-child(1):before {
    border-left-color: var(--blue-2);
}

.other-services li:nth-child(2) {
    background-color: var(--blue-4);
}

.other-services li:nth-child(2):before {
    border-left-color: var(--blue-4);
}

.other-services li:nth-child(3) {
    background-color: var(--cyan);
}

.other-services li:nth-child(3):before {
    border-left-color: var(--cyan);
}

.other-services li {
    position: relative;
}

.other-services li:before {
    content: '';
    border: 20px solid transparent;
    border-left-color: var(--blue);
    position: absolute;
    left: 0;
    bottom: -20px;
    z-index: 1;
}

.other-services li a {
    color: white;
    text-transform: uppercase;
    font-weight: 900;
    font-size: 24px;
    line-height: 24px;
    padding: 40px;
}

.other-services li a:hover {
    padding-left: 100px;
}

/* RELATED INSIGHTS & QUOTES */

.related-insights {
    margin-top: 200px;
}

.related-insights .title,
.quotes .title {
    display: flex;
}

.related-insights .arrows,
.quotes .arrows {
    margin-top: 13px;
    margin-left: 40px;
}

.related-insights .arrows a,
.quotes .arrows a {
    width: 37px;
    height: 37px;
    border: 1px solid var(--cyan);
    border-radius: 100%;
    position: relative;
    margin: 0 5px;
    cursor: pointer;
}

.related-insights .arrows a:before,
.quotes .arrows a:before {
    content: '';
    width: 25px;
    height: 25px;
    background-color: var(--cyan);
    border-radius: 100%;
    position: absolute;
    left: 6px;
    top: 6px;
}

.related-insights .arrows a:after,
.quotes .arrows a:after {
    content: '';
    width: 8px;
    height: 8px;
    border: 2px solid white;
    border-left: none;
    border-bottom: none;
    position: absolute;
    left: 12px;
    top: 13px;
    transform: rotate(45deg);
}

.related-insights .arrows a.left,
.quotes .arrows a.left {
    transform: rotate(180deg);
}

.related-insights .arrows a:hover,
.quotes .arrows a:hover {
    background-color: var(--blue);
    border-color: var(--blue);
    transform: scale(1.2);
}

.related-insights .arrows a.left:hover,
.quotes .arrows a.left:hover {
    transform: scale(1.2) rotate(180deg);
}

.related-insights .arrows a:hover:before,
.quotes .arrows a:hover:before {
    background-color: var(--blue);
}

.related-insights .insights .item {
    padding: 20px;
}

.related-insights .insights {
    margin: 15px -15px 0;
}

.related-insights .slick-track {
    margin-left: initial;
    margin-right: initial;
}

/* INSIGHTS */

.insights .item {
    position: relative;
    padding: 10px 10px 20px;
    border: 1px solid transparent;
}

.insights .item:after {
    content: '';
    width: 70px;
    height: 70px;
    border-left: 1px solid var(--blue-5);
    position: absolute;
    bottom: -36px;
    right: -36px;
    background-color: white;
    transform: rotate(45deg);
    display: none;
}

.insights figure {
    position: relative;
    margin-bottom: 30px;
}

.insights figure:before {
    content: '';
    background-image: url(images/mask-insights.webp);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.insights figure img {
    width: 100%;
    height: auto;
}

.insights h3 {
    color: var(--blue-2);
}

.insights .item:hover {
    border-color: var(--blue-5);
}

.insights .item:hover h3 {
    color: var(--blue-5);
}

.insights .item:hover:after {
    display: block;
}

/* LOAD MORE */

.load-more {
    position: relative;
    height: 110px;
    overflow: hidden;
}

.load-more:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    height: 1px;
    width: 100%;
    background-color: var(--cyan);
}

.load-more:after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    height: 1px;
    width: 100%;
    background-image:
        linear-gradient(to right, white, transparent 200px),
        linear-gradient(to left, white, transparent 200px)
}

.load-more a {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    width: 39px;
    height: 39px;
    background: var(--cyan);
    border-radius: 100%;
    color: white;
    text-transform: uppercase;
    font-weight: 700;
    padding: 20px;
    line-height: 20px;
    text-align: center;
    position: relative;
    bottom: 84px;
    border: 100px solid white;
    font-size: 18px;
}

.load-more a:before {
    content: url(images/icon-loading.webp);
    position: absolute;
    left: -19px;
    top: -15px;
}

.load-more a:hover:before,
.load-more.active a:before {
    animation: rotating 2s linear infinite;
}

.load-more.disabled {
    pointer-events: none;
    opacity: .5;
}

/* PARTNERS */

.partners figure {
    padding: 80px;
}

.partners figure {
    max-width: calc(100% / 4) !important;
}

/* BLOG */

.titlebar {
    display: flex;
    justify-content: flex-end;
    margin-top: -100px;
    margin-bottom: 100px;
}

.titlebar ul {
    list-style: none;
    padding: 0;
}

.titlebar .navbar ul {
    display: flex;
    align-items: flex-end;
}

.titlebar .navbar > ul > li {
    position: relative;
    text-transform: uppercase;
    padding: 0 30px;
    margin: 0 20px;
}

.titlebar .navbar > ul > li:before,
.titlebar .navbar > ul > li:after {
    content: '';
    width: 0;
    height: 0;
    position: absolute;
    top: -40px;
    left: -40px;
    border: 40px solid transparent;
    border-bottom: 40px solid;
}

.titlebar .navbar > ul > li:after {
    left: auto;
    top: 0;
    right: -40px;
    border-bottom: none;
    border-top: 40px solid;
}

/* li blog */

.titlebar .navbar > ul > li.blog {
    background-color: var(--blue);
    z-index: 1;
    transform: scale(1.2);
    margin-bottom: 4px;
    margin-right: 30px;
}

.titlebar .navbar > ul > li.blog > a {
    font-size: 20px;
}

.titlebar .navbar > ul > li.blog:before,
.titlebar .navbar > ul > li.blog:after {
    border: 40px solid transparent;
    border-top: 40px solid var(--blue);
    top: 0;
}

.titlebar .navbar > ul > li.blog:after {
    border: 40px solid transparent;
    border-bottom: 40px solid var(--blue);
    top: -40px;
}

/* li whitepaper */

.titlebar .navbar > ul > li.whitepaper {
    background-color: var(--blue-4);
}

.titlebar .navbar > ul > li.whitepaper:before,
.titlebar .navbar > ul > li.whitepaper:after {
    border-bottom-color: var(--blue-4);
}

.titlebar .navbar > ul > li.whitepaper:after {
    border-top-color: var(--blue-4);
}

/* li press-releases */

.titlebar .navbar > ul > li.press-releases {
    background-color: var(--blue-2);
}

.titlebar .navbar > ul > li.press-releases:before,
.titlebar .navbar > ul > li.press-releases:after {
    border-bottom-color: var(--blue-2);
}

.titlebar .navbar > ul > li.press-releases:after {
    border-top-color: var(--blue-2);
}

.titlebar .navbar > ul > li > a {
    color: white;
    font-size: 14px;
    line-height: 40px;
    font-weight: 700;
}

/* FILTERS */

nav.filters {
    position: relative;
    bottom: -4px;
    width: 400px;
    text-align: right;
    z-index: 9;
    border-bottom: 1px solid var(--cyan);
    height: 39px;
}

nav.filters:before {
    content: '';
    width: 200px;
    height: 1px;
    position: absolute;
    left: 0;
    top: 39px;
    background-image: linear-gradient(to right,white, transparent)
}

nav.filters > ul > li {
    background-color: var(--cyan);
    padding: 8px;
    position: relative;
    display: inline-block;
    line-height: 24px;
}

nav.filters > ul > li:before {
    content: '';
    width: 0;
    height: 0;
    position: absolute;
    top: -40px;
    left: -40px;
    border: 40px solid transparent;
    border-bottom: 40px solid var(--cyan);
}

nav.filters > ul > li > a {
    color: white;
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 700;
    position: relative;
    padding-right: 70px;
}

nav.filters > ul > li > a:before {
    content: url(images/icon-filters.webp);
    margin-right: 10px;
    vertical-align: -3px;
}

nav.filters > ul > li > a:after {
    content: '';
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-top-color: white;
    position: absolute;
    right: 0;
    top: 3px;
}

nav.filters.active > ul > li > a:after {
    transform: rotate(180deg);
    top: -3px;
}

/* FILTERS - submenu */

nav.filters > ul > li > ul {
    position: absolute;
    background-color: var(--cyan);
    text-align: left;
    padding: 20px;
    min-width: 300px;
    right: 0;
    top: 40px;
}

nav.filters:not(.active) > ul > li > ul {
    display: none;
}

nav.filters > ul > li > ul > li {
    font-size: 24px;
    text-transform: uppercase;
    color: white;
    font-weight: 250;
    padding: 0;
}

nav.filters > ul > li > ul > li > ul {
    margin: 15px 0 0;
}

nav.filters > ul > li > ul > li > ul > li {
    font-size: 14px;
    line-height: 16px;
    text-transform: uppercase;
    font-weight: 900;
    font-family: Lato;
    color: var(--cyan-2);
    position: relative;
    padding: 0 0 20px 25px;
    cursor: pointer;
}

nav.filters > ul > li > ul > li > ul > li.active {
    color: white;
}

nav.filters > ul > li > ul > li > ul > li:before {
    content: '';
    width: 15px;
    height: 15px;
    background-color: var(--cyan-2);
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

nav.filters > ul > li > ul > li > ul > li.active:before {
    background-color: black;
    background-image: url(images/icon-check.webp);
    background-repeat: no-repeat;
    background-position: center;
}

/* ARCHIVE - insights */

.archive .insights {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 80px 30px;
    margin-bottom: 100px;
}

/* TWO - insights */

.insights.two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 80px 40px;
}

/* BLOG - single */

.single-blog .title-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.single-blog .title-wrapper .back {
    border-bottom: 1px solid var(--cyan);
    width: 50%;
    text-align: right;
    margin-bottom: 60px;
    position: relative;
}

.single-employee .title-wrapper .back {
    display: none;
}

.single-blog .title-wrapper .back:before {
    content: '';
    width: 200px;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -1px;
    background-image: linear-gradient(to right,white, transparent);
}

.single-blog .title-wrapper .back a:before {
    content: url(images/arrow.webp);
    transform: rotate(180deg);
    display: inline-block;
    vertical-align: middle;
    margin-right: 15px;
}

.single-blog .title-wrapper p {
    margin-bottom: 20px;
}

.single-blog .post-wrapper {
    display: flex;
    gap: 80px;
}

.single-blog .content {
    width: 560px;
}

.single-blog .content h4 {
    font-weight: 700;
    margin-bottom: 10px;
    position: relative;
}

.single-blog .featured-image figure {
    position: relative;
}

.single-blog .featured-image figure:before {
    content: '';
    border: 80px solid transparent;
    border-top-color: white;
    position: absolute;
    bottom: -80px;
    left: -80px;
    transform: rotate(45deg);
}

.single-blog .featured-image figure:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    right: 0;
    top: -10px;
    transform: scaleX(1);
    background-image: url(images/corner-frame.webp);
    background-size: calc(100% + 10px) calc(100% + 15px);
}

.single-blog .featured-image figure img {
    height: auto;
    width: 100%;
}

.single-blog .share {
    display: flex;
    text-transform: uppercase;
    color: var(--cyan);
    font-weight: 700;
    font-size: 14px;
    margin-top: 50px;
}

.single-blog .share p {
    display: flex;
    align-items: center;
    margin: 0;
    gap: 15px;
}

.single-blog .share span {
    color: black;
    font-size: 28px;
    margin-bottom: 10px;
}

.single-blog .share .dashicons-linkedin {
    font-size: 26px;
}

.single-blog .share > div:not(:last-child) p:after {
    content: '';
    width: 40px;
    height: 1px;
    background-color: black;
    display: inline-block;
    opacity: .2;
    transform: rotate(-45deg);
    margin: 0 20px;
}

/* CUSTOMER STORIES */

.post-type-archive-customer-story .filters {
    width: 50%;
}

/* CONTACT US */

body.contact {
    background-image: url(images/bg-contact.webp);
    background-repeat: no-repeat;
    background-size: 1920px auto;
    background-position: center top;
}

body.contact h1:after {
    display: none;
}

form[name=contact] {
    display: flex;
    gap: 60px;
    margin-top: -70px;
}

form[name=contact] fieldset {
    width: 33.3%;
}

form[name=contact] fieldset:not(.active),
form[name=contact] fieldset.active .wp-block-button:not(.active) {
    opacity: .5;
    pointer-events: none;
}

form[name=contact] fieldset legend {
    font-size: 24px;
    line-height: 30px;
    font-weight: 700;
    margin-bottom: 30px;
    padding-top: 100px;
}

form[name=contact] fieldset legend:before {
    color: var(--cyan);
    opacity: 0.302;
    font-size: 90px;
    font-weight: 900;
    margin-right: -50px;
    position: relative;
    z-index: -1;
}

form[name=contact] fieldset:nth-child(1) legend:before {
    content: '1';
}

form[name=contact] fieldset:nth-child(2) legend:before {
    content: '2';
}

form[name=contact] fieldset:nth-child(3) legend:before {
    content: '3';
}

form[name=contact] fieldset:not(:last-child) {
    border-right: 1px solid var(--cyan);
    padding-right: 60px;
}

form[name=contact] label {
    display: block;
    font-size: 14px;
    line-height: 16px;
    text-transform: uppercase;
    font-weight: 900;
    font-family: Lato;
    margin-bottom: 15px;
    position: relative;
    cursor: pointer;
}

form[name=contact] label:before {
    content: '';
    width: 15px;
    height: 15px;
    background-repeat: no-repeat;
    background-position: center;
    background-color: black;
    display: inline-block;
    border-radius: 100%;
    margin-right: 10px;
    vertical-align: -2px;
    opacity: .3;
}

form[name=contact] label.active:before {
    background-image: url(images/icon-check.webp);
    opacity: 1;
}

form[name=contact] input[type=radio] {
    position: absolute;
    opacity: 0;
}

form[name=contact] .wp-block-button {
    margin-top: 40px;
}

form[name=contact] input[type=text],
form[name=contact] input[type=email],
form[name=contact] textarea {
    border: none;
    border-bottom: 1px solid rgba(0,0,0,.3);
    display: block;
    width: 100%;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 26px;
    text-transform: uppercase;
    font-weight: 900;
    font-family: Lato;
    background-color: transparent;
}

form[name=contact] input:disabled {
    display: none;
}

form[name=contact] input[type=submit] {
    position: absolute;
    left: -30px;
    top: 0;
    width: 150px;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* TEMPLATE - no title */

.page-template-no-title main {
    margin-top: 40px;
}

/* SLIDER TEXT */

.slide-text {
    position: relative;
    margin-bottom: 120px;
}

.slide-text .arrow {
    position: absolute;
    right: -25px;
    top: calc(50% - 35px);
    background-color: var(--blue-2);
    width: 50px;
    height: 50px;
    border-radius: 100%;
    z-index: 2;
}

.slide-text .arrow:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    z-index: 1;
    border: 20px solid rgba(255,255,255,.5);
    left: -20px;
    top: -20px;
}

.slide-text .arrow:after {
    border-color: white;
    right: calc(50% - 6px);
    top: calc(50% - 8px);
    width: 15px;
    height: 15px;
}

.slide-text.active {
    grid-template-columns: 50% 1fr;
}

.slide-text .wp-block-group,
.slide-text.active .wp-block-media-text__content {
    display: none;
}

.slide-text.active .wp-block-group {
    display: block;
}

.slide-text.active .wp-block-media-text__media {
    grid-column: 1;
}

.slide-text.active .arrow {
    left: -25px;
    right: auto;
    transform: rotate(180deg);
}

/* BANNER DEI */

.banner-dei {
    margin-top: -100px;
}

/* MAP */

.map {
    position: relative;
}

.map > img {
    width: 100%;
}

.map .pointer {
    position: absolute;
    overflow: initial;
}

.map .title {
    background-color: var(--blue);
    line-height: initial;
    color: white;
    font-weight: 700;
    font-size: 14px;
    padding: 5px 10px;
    position: relative;
    left: 11px;
    top: -14px;
}

.map .title:before {
    content: url('images/corner-pointer.webp');
    position: absolute;
    left: 0;
    top: 26px;
}

.map .box {
    position: absolute;
    width: 280px;
    background-color: var(--blue);
    padding: 20px 60px 20px 20px;
    top: -14px;
    left: 11px;
    display: none;
    z-index: 1;
    color: white;
    font-size: 14px;
    line-height: 18px;
    z-index: 9;
}

.map .box span {
    content: 'X';
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 20px;
    background-color: var(--cyan);
    border-radius: 100%;
    width: 15px;
    height: 15px;
    text-align: center;
    font-weight: 700;
    padding: 5px;
}

.map .pointer.active .box {
    display: block;
}

.map .pointer.left .title {
    margin-left: -100%;
}

.map .pointer.left .title:before {
    left: initial;
    right: 0;
    transform: scaleX(-1);
}

/* GLOBAL LOCATIONS */

.global-locations {
    display: flex;
    list-style: none;
    padding: 0;
    position: relative;
    left: 50px;
}

.global-locations li {
    list-style: none;
}

.global-locations > li > a {
    text-transform: uppercase;
    padding: 20px 70px;
    cursor: pointer;
    color: initial;
    border-bottom: 1px solid var(--blue);
    position: relative;
    display: flex;
    align-items: center;
    line-height: 20px;
    height: 40px;
}

.global-locations > li.active > a {
    background-color: var(--blue);
    color: white;
    font-weight: 700;
    border-bottom: none;
    bottom: -1px;
    padding: 20px 57px;
}

.global-locations > li.active > a:before,
.global-locations > li.active > a:after {
    content: '';
    width: 0px;
    height: 0;
    position: absolute;
    top: 0;
    left: -80px;
    border: 80px solid transparent;
    border-top: 80px solid var(--blue);
    border-bottom: none;
}

.global-locations > li.active > a:after {
    left: auto;
    right: -80px;
    border-top: none;
    border-bottom: 80px solid var(--blue);
}

.global-locations > li > ul {
    position: absolute;
    padding: 40px 0;
    left: -20px;
}

.global-locations > li:not(.active) > ul {
    display: none;
}

.global-locations > li > ul > li {
    font-weight: 700;
}

.global-locations > li > ul > li > ul {
    padding: 0;
    margin: 0;
}

.global-locations > li > ul > li > ul > li {
    padding: 0;
    font-weight: 400;
}

/* COPY - icon */

.copy {
    position: relative;
    padding-left: 35px;
    text-transform: uppercase;
    font-weight: 700;
}

.copy:before,
.copy:after {
    content: '';
    position: absolute;
    left: 0;
    top: -15px;
    width: 15px;
    height: 15px;
    border: 2px solid white;
    border-radius: 2px;
    background-color: var(--blue);
}

.copy:before {
    left: 7px;
    top: -7px;
}

/* COUNTRIES - mobile */

.mobile-countries {
    display: none;
}

/* BANNER */

.banner h2 {
    margin-bottom: 30px;
}

.banner p {
    max-width: 800px;
    margin: auto;
}

/* HOMESLIDER */

.homeslider {
    margin: 0 -40px;
}

.homeslider .wp-block-media-text {
    padding: 60px 40px;
}

/* SEARCH RESULTS */

.results .item {
    position: relative;
    margin-bottom: 40px;
}

.results .item:hover h3 {
    color: var(--cyan);
}
 
/* FOOTER */

footer {
    background-color: var(--blue);
    padding: 20px 0 0;
}

footer h3 {
    color: white;
    margin-bottom: 10px;
}

/* FOOTER - row 1 */

footer .wrapper > .wp-block-columns:nth-child(1) {
    gap: 110px;
}

footer .wrapper > .wp-block-columns:nth-child(1) .wp-block-column:nth-child(2) figure {
    position: relative;
    top: -86px;
}

footer .wrapper > .wp-block-columns:nth-child(1) .wp-block-column:nth-child(2) figure:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -85px;
    border: 85px solid transparent;
    border-left-color: var(--blue);
}

footer .wrapper > .wp-block-columns:nth-child(1) .wp-block-column:nth-child(2) figure:after {
    content: '';
    position: absolute;
    left: -10px;
    top: -10px;
    background-image:
        url(images/corner-figure-left.webp),
        url(images/corner-figure-right.webp);
    background-repeat: no-repeat;
    background-position:
        0 calc(100% - 55px),
        right top;
    width: calc(100% + 20px);
    height: calc(100% + 20px);
}

footer .wrapper > .wp-block-columns:nth-child(1) .wp-block-column:nth-child(2) figure img {
    object-fit: cover;
    width: 100%;
}

/* FOOTER - row 2 */

footer .wrapper > .wp-block-columns:nth-child(2) {
    gap: 60px;
}

footer .wrapper > .wp-block-columns:nth-child(2) > .wp-block-column {
    padding: 10px;
    position: relative;
}

footer .wrapper > .wp-block-columns:nth-child(2) > .wp-block-column:before,
footer .wrapper > .wp-block-columns:nth-child(2) > .wp-block-column:after {
    content: '';
    position: absolute;
    border: 1px solid rgba(255,255,255,.3);
    border-right: none;
    border-bottom: none;
    width: 10px;
    height: 10px;
    left: -10px;
    top: -10px;
}

footer .wrapper > .wp-block-columns:nth-child(2) > .wp-block-column:not(:last-child):after {
    border: 1px solid rgba(255,255,255,.3);
    border-right: none;
    border-top: none;
    left: -10px;
    top: auto;
    bottom: -10px;
}

footer .wrapper > .wp-block-columns:nth-child(2) .wp-block-columns {
    gap: 33px;
}

footer .wrapper > .wp-block-columns:nth-child(2) > .wp-block-column:nth-child(1) figure {
    margin: 20px 0;
}

footer .bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 80px;
}

footer nav.menu {
    background-color: var(--blue-3);
    display: inline-block;
    position: relative;
    padding: 3px 20px;
    margin-left: 30px;
}

footer nav.menu:before,
footer nav.menu:after {
    content: '';
    width: 0;
    height: 0;
    position: absolute;
    top: 0;
    left: -30px;
    border: 30px solid transparent;
    border-top: 30px solid var(--blue-3);
    border-bottom: none;
}

footer nav.menu:after {
    left: auto;
    right: -30px;
    border-top: none;
    border-bottom: 30px solid var(--blue-3);
}

footer nav.menu > ul {
    display: flex;
    gap: 20px;
    position: relative;
    z-index: 1;
}

footer nav.menu a {
    color: white;
    text-transform: uppercase;
    font-family: Lato;
    font-size: 13px;
    line-height: 13px;
}

footer nav.menu a:hover {
    color: var(--cyan);
}

footer .social {
    color: white;
    font-size: 13px;
    font-family: Lato;
    padding-right: 15px;
}

footer .social p {
    margin: 0;
}

footer .social a {
    position: relative;
    margin-left: 30px;
    margin-bottom: 6px;
    vertical-align: middle;
    color: white;
}

footer .social a:before,
footer .social a:after {
    content: '';
    width: 0;
    height: 0;
    position: absolute;
    top: 0;
    left: -30px;
    border: 30px solid transparent;
    border-top: 30px solid var(--blue-3);
    border-bottom: none;
}

footer .social a:after {
    left: auto;
    right: -30px;
    border-top: none;
    border-bottom: 30px solid var(--blue-3);
}

footer .social a:hover {
    color: var(--cyan);
}

footer .social span {
    position: relative;
    z-index: 1;
    width: 30px;
    padding-top: 4px;
}


/* New Changes */

body {
	font-family:Yu Gothic Light;
}

@media (min-width:801px)
{
.our-engagement .wp-block-column{
/* 	max-width : 242px !important; */
	max-width : 353px !important;
}
}

.second_row{
	margin-top:-70px !important;
	background-image:none !important;
}

#trp-floater-ls{
	right:100px !important;
}

#menu-item-1045407{
/* 	width:257px; */
}

.home_columns{
  justify-content: center;
}

.single-service h2:first-of-type{
	font-size:20px !important;
	line-height:22px !important;
}

.service_fix > div{
	align-self:normal !important;
}

.single-service article > .wp-block-cover:nth-child(2) h2{
	margin-top:0px !important;
}

.spacing_what_we_do{
	padding-top:80px !important; 
}

.single-service h1:first-of-type{
	margin-bottom:10px !important;
}

/* .custom-logo-link{
	max-width:80px;
} */

header nav.menu > ul > li:nth-child(4) > a {
		margin-left:-5px;
		padding-left: 20px;
    padding-right: 30px;
    margin-right: -10px;
}

header nav.menu > ul > li:nth-child(6) > a {
    padding-left: 22px;
    padding-right: 58px;
	margin-left : -20px;
}

header nav.menu > ul > li:nth-child(6):hover > a,
header nav.menu > ul > li:nth-child(6).current-menu-item > a,
header nav.menu > ul > li:nth-child(6).current-menu-ancestor > a {
    background-image: url(/wp-content/uploads/2024/04/bg-menu-6.png);
}

header nav.menu > ul > li:nth-child(5) > a {
		margin-left:-1px;
    padding-left: 22px;
    padding-right: 30px;
}

header nav.menu > ul > li:nth-child(5):hover > a,
header nav.menu > ul > li:nth-child(5).current-menu-item > a,
header nav.menu > ul > li:nth-child(5).current-menu-ancestor > a {
    background-image: url(/wp-content/uploads/2024/04/bg-menu-5.png);
}

header nav.menu > ul > li:nth-child(4):hover > a,
header nav.menu > ul > li:nth-child(4).current-menu-item > a,
header nav.menu > ul > li:nth-child(4).current-menu-ancestor > a {
    background-image: url(/wp-content/uploads/2024/04/bg-menu-4.png);
}

#menu-header > li > a{
	font-size:14px !important;
	line-height:inherit !important;
	text-align:center;
}

.utility > ul > li:nth-child(4) > a{
	
}

.elementor-1044969{
		margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 99vw;
    width: 99vw;
    padding: 0;
}

.elementor-1044969  .e-n-tabs-heading{
	border-bottom: 1px solid #a4aeb2;
}

.elementor-element-760abb4 a{
	color:#000;
}

#menu-item-1045427 {
	min-width:59px;
}

.lean_more_adjustment a{
	font-size:11px !important;
}

.footer_button_adjust {
	min-width:281px;
}

.footer_button_adjust > a{
	font-size:11px !important;	
}

.solutions_btn{
	font-size:12px !important;
}

header nav.utility > ul {
	gap: 10px !important;
}

header nav.utility .button {
/*     width: 117px; */
/* 	width: 127px; */
	font-size: 14px;
}

header nav.utility .button:hover:after {
    bottom: 0;
/*     right: 10px; */
}

#menu-header{
	max-width:795px;
	min-width:725px;
}

header .wrapper, header .menu-wrapper {
    align-items: center;
}

#menu-item-1045427 > a{
	height:48px;
	align-content:center;
}

#menu-item-1045408 >  a{
	height:48px;
	align-content:center;
}

#menu-item-1045407 >  a{
	height:48px;
	align-content:center;
}

header nav.menu > ul > li:nth-child(1) > a {
    padding-right: 33px;
}

header nav.menu > ul > li:nth-child(2) > a {
    padding-right: 28px;
}

header nav.menu > ul > li:nth-child(3) > a {
    padding-left: 19px;
    padding-right: 21px;
    margin-left: -6px;
    margin-right: -12px;
}

header nav.menu > ul > li:nth-child(4) > a {
    padding-left: 34px;
    padding-right: 33px;
}

header nav.menu > ul > li:nth-child(5) > a {
    padding-left: 28px;
    padding-right: 41px;
}

header nav.menu > ul > li:nth-child(6) > a {
    padding-left: 32px;
    padding-right: 65px;
}

header nav.menu > ul > li > a {
    padding-top: 30px;
}

header nav.utility > ul > li {
    padding-bottom: 0px;
}

header nav.menu > ul > li > ul > li > ul > li {
    padding-right: 20px;
}

header nav.menu > ul > li > ul > li > ul {
    gap: 20px;
}

.mobile-padding .wp-block-media-text.is-stacked-on-mobile{
	padding:15px;
}
@media screen and (max-width: 400px) {

.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link {
    font-size: 9px;
}

.lean_more_adjustment a{
	font-size:9px !important;
}
    
}