/*
Theme Name: spectra-fairsquare
Theme URI: https://wpspectra.com/
Author: Techtivo
Author URI: 
Description: FairSquare Theme
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 5.7
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: spectra-one
Text Domain: spectra-fairsquare
Tags: spectra, fairsquare
*/

/* STYLES */

@import url("https://use.typekit.net/gjl3mrk.css");
@import url("editor-style.css");

:root {
    --primary: #12075E;
    --secondary: #380DF9;
    --terciary: #C11EE1;
    --black: #000000;
    --transparent: rgba(255, 255, 255, 0);
    --white: rgba(255, 255, 255, 1);
    --body: #101F32;
    --graydarker: #3C4552;
    --graydark: #6D747D;
    --gray: #9DA2A9;
    --graylight: #ECECEC;
    --error: #CC0101;
    --link: #12075E;
    --hover: #380DF9;
    --overlay: rgba(0, 0, 0, 0.5);
    --second-soft: #ECE7FF;
    --terciary-soft: #F9E9FC;
    --shadow-nav: 0px 0px 30px 0px #12075E26;
    --shadow: 0px 0px 24px 0px #12075E26;
    --shadow-small: 0px 0px 16px -8px #12075e26;
    --shadow-hover: 0px 0px 24px 0px #12075E1A;
    --shadow-button: 0px 0px 24px 2px #12075E26;
    --back-modal: radial-gradient(100% 100% at 10% 8%, #F6DDFB, #E2DBFE, #FFFFFF 120%);
    --back-module: linear-gradient(180deg, #FFFFFF -5%, #ECE7FF 100%);
    --back-herohome: radial-gradient(140% 140% at 60% 120%, #ECE7FF 30%, #F9E9FC 50%, #FFFFFF 70%);
    --back-hero: radial-gradient(140% 140% at 50% 120%, #ECE7FF 30%, #F9E9FC 50%, #FFFFFF 70%);
    --back-intro: radial-gradient(170% 160% at 50% 120%, #FFFFFF 30%, #F9E9FC 50%, #ECE7FF 70%);
    --bento-box1: linear-gradient(180deg, #FFFFFF -4%, #ECE7FF 100%);
    --bento-box2: radial-gradient(105% 105% at 70% 90%, #ECE7FF, #F9E9FC 60%, #FFFFFF 110%);
    --back-timeline: linear-gradient(180deg, #380DF9, #C11EE1);
    --back-timeline-soft: linear-gradient(180deg, #ECE7FF, #F9E9FC);
    --back-logo: linear-gradient(90deg, #C80CFF 0%, #380DF3 50%, #12075E 100%);
    --hover-press: linear-gradient(360deg, #C11EE1, #380DF9, #12075E);
    --hover-border: linear-gradient(90deg, #C11EE1, #380DF9, #12075E);
    --hover-border-inv: linear-gradient(-90deg, #C11EE1, #380DF9, #12075E);
    --hover-tab: linear-gradient(-90deg, #C11EE1, #380DF9, #12075E);
    --hover-button: linear-gradient(180deg, #C11EE1 0%, #380DF9 30%, #12075E 60%, #12075E 100%);
    --font-default: 'articulat-cf', 'figtree', -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
    --font-display: 'roc-grotesk', -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
}


html {
    text-rendering: optimizeLegibility;
    font-variant-ligatures: common-ligatures;
    font-optical-sizing: none;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-default);
    color: var(--body);
    font-size: 16px;
    touch-action: manipulation;
    letter-spacing: 0.2px;
    font-weight: 400;
    line-height: 1.5;
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
    text-rendering: optimizeLegibility;
    padding: 0 !important;
}

body.page main .wp-block-post-featured-image,
body.page .section-comments {
    display: none;
}

section, figure {
    box-sizing: border-box;
}
sup, p sup {
    vertical-align: super;
    font-size: 10px;
    font-weight: 700;
    line-height: 10px;
    letter-spacing: normal;
    aspect-ratio: 1;
}
sub, p sub {
    vertical-align: sub;
    font-size: 10px;
    font-weight: 700;
    line-height: 10px;
    letter-spacing: normal;
    aspect-ratio: 1;
}
sup a,
sub a {
    vertical-align: inherit;
    font-size: 10px;
    font-weight: 700;
    line-height: 10px;
    letter-spacing: normal;
    background: var(--transparent);
    color: var(--primary);
    box-shadow: 0 0 0 1px var(--primary);
    border-radius: 10px;
    text-align: center;
    width: 12px;
    height: 12px;
    padding: 0.5px;
    display: inline-block;
    aspect-ratio: 1;
}
sup a:hover,
sub a:hover {
    background: var(--transparent);
    color: var(--secondary);
    box-shadow: 0 0 0 1px var(--secondary);
}

canvas, img, svg, video {
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
}

audio, canvas, iframe, img, svg, video {
    vertical-align: middle;
}

small {
    font-size: 12px;
    line-height: 18px;
    font-weight: 500;
}

*+address, *+dl, *+fieldset, *+figure, *+ol, *+p, *+pre, *+ul {
    margin-top: 16px;
}

address, dl, fieldset, figure, ol, p, pre, ul {
    margin: 0 0 16px 0;
}

ul>:nth-child(n+2) {
    margin-top: 8px;
}

:focus-visible {
    outline: 1px solid var(--secondary);
}

/* STYLES */

.back-white {
    background: var(--white) !important;
}
.back-hero-home {
    background-image: var(--back-herohome) !important;
}
.back-hero {
    background-image: var(--back-hero) !important;
}
.back-module {
    background-image: var(--back-module) !important;
}
.back-module-flat {
    background-color: var(--second-soft) !important;
}
.back-intro {
    background-image: var(--back-intro) !important;
}
.back-timeline {
    background-image: var(--back-timeline) !important;
}
.back-modal {
    background-image: var(--back-modal) !important;
}
.bento-box1 {
    background-image: var(--bento-box1) !important;
}
.bento-box2 {
    background-image: var(--bento-box2) !important;
}
.back-logo {
    background-image: var(--back-logo) !important;
}
.back-border {
    background-image: var(--hover-border) !important;
}

@media (min-width: 976px) {
    section.back-module, section.back-hero-home {
        padding-bottom: 20px !important;
    }
}
@media (min-width: 1441px) {
    section.back-module, section.back-hero-home {
        border-bottom-right-radius: 24px !important;
    }
}

/* colors */

.color-primary {
    color: var(--primary) !important;
}
.color-secondary {
    color: var(--secondary) !important;
}
.color-terciary {
    color: var(--terciary) !important;
}
.color-white {
    color: var(--white) !important;
}
.color-black {
    color: var(--black) !important;
}
.color-body {
    color: var(--body) !important;
}
.color-graydarker {
    color: var(--graydarker) !important;
}
.color-graydark {
    color: var(--graydark) !important;
}
.color-gray {
    color: var(--gray) !important;
}
.color-graylight {
    color: var(--graylight) !important;
}
.color-error {
    color: var(--error) !important;
}

/* ICONS BACKGROUNDS */

.square-left-top::before {
    content: '';
    background: url('assets/icons/brand-square-blue-left.svg') no-repeat;
    background-size: contain;
    width: 130px;
    height: 120px;
    position: absolute;
    left: -40px;
    top: 40px;
}
.square-right-top::after {
    content: '';
    background: url('assets/icons/brand-square-blue.svg') no-repeat;
    background-size: contain;
    width: 130px;
    height: 120px;
    position: absolute;
    right: -40px;
    top: 60px;
}
.square-left-bot::before {
    content: '';
    background: url('assets/icons/brand-square-blue-left.svg') no-repeat;
    background-size: contain;
    width: 130px;
    height: 120px;
    position: absolute;
    left: -40px;
    bottom: 120px;
}
.square-leftx2::before {
    content: '';
    background: url('assets/icons/brand-square-2left.svg') no-repeat;
    background-size: contain;
    width: 180px;
    height: 180px;
    position: absolute;
    left: -40px;
    top: 40px;
}
.square-leftx2-bot::before {
    content: '';
    background: url('assets/icons/brand-square-2left-bot.svg') no-repeat;
    background-size: contain;
    width: 180px;
    height: 180px;
    position: absolute;
    left: -40px;
    bottom: 20px;
}
.square-rightx2::after {
    content: '';
    background: url('assets/icons/brand-square-2.svg') no-repeat;
    background-size: contain;
    width: 180px;
    height: 180px;
    position: absolute;
    right: -40px;
    top: 40px;
}
.square-leftx2-alt::before {
    content: '';
    background: url('assets/icons/brand-square-2alt-left.svg') no-repeat;
    background-size: contain;
    width: 200px;
    height: 180px;
    position: absolute;
    left: -40px;
    top: 40px;
}
.square-rightx2-alt::after {
    content: '';
    background: url('assets/icons/brand-square-2alt.svg') no-repeat;
    background-size: contain;
    width: 200px;
    height: 180px;
    position: absolute;
    right: -40px;
    top: 40px;
}

@media (min-width: 767px) {
    .square-right-top::after, .square-left-bot::before, .square-left-top::before {
        width: 72px;
        height: 72px;
    }
    .square-leftx2-alt::before, .square-rightx2-alt::after,
    .square-leftx2::before, .square-leftx2-bot::before, .square-rightx2::after {
        width: 90px;
        height: 90px;
    }
    .square-rightx2::after, .square-leftx2::before {
        top: 40px;
    }
    .square-leftx2::before, .square-leftx2-bot::before,.square-leftx2-alt::before,
    .square-left-top::before,.square-left-bot::before,.square-left-bot::before {
        left: -30px;
    }
    .square-rightx2-alt::after, .square-rightx2::after, .square-right-top::after {
        right: -30px;
    }
}
@media (min-width: 1080px) {
    .square-right-top::after, .square-left-bot::before, .square-left-top::before {
        width: 80px;
        height: 80px;
    }
    .square-right-top::after, .square-left-top::before {
        top: 30px; 
    }
    .square-leftx2-alt::before, .square-rightx2-alt::after,
    .square-leftx2::before, .square-leftx2-bot::before, .square-rightx2::after {
        width: 100px;
        height: 100px;
    }
    .square-leftx2-alt::before, .square-left-top::before, .square-rightx2-alt::after,
    .square-rightx2::after, .square-leftx2::before {
        top: 40px;
    }
}
@media (min-width: 1280px) {
    .square-right-top::after, .square-left-bot::before, .square-left-top::before {
        width: 100px;
        height: 100px;
    }
    .square-leftx2-alt::before, .square-rightx2-alt::after,
    .square-leftx2::before, .square-leftx2-bot::before, .square-rightx2::after {
        width: 120px;
        height: 120px;
    }
    .square-leftx2-alt::before, .square-left-top::before, .square-rightx2-alt::after {
        top: 60px;
    }
    .square-rightx2::after, .square-leftx2::before {
        top: 60px;
    }
}
@media (min-width: 1441px) {
    .square-right-top::after, .square-left-bot::before, .square-left-top::before {
        width: 120px;
        height: 120px;
    }
    .square-leftx2-alt::before, .square-rightx2-alt::after,
    .square-leftx2::before, .square-leftx2-bot::before, .square-rightx2::after {
        width: 140px;
        height: 140px;
    }
    .square-leftx2::before, .square-leftx2-bot::before,.square-leftx2-alt::before,
    .square-left-top::before,.square-left-bot::before,.square-left-bot::before {
        left: -24px;
    }
    .square-rightx2-alt::after, .square-rightx2::after, .square-right-top::after {
        right: -24px;
    }
    .square-leftx2-alt::before, .square-left-top::before, .square-rightx2-alt::after {
        top: 80px;
    }
}

@media (max-width: 767px) {
    .square-right-top::after, .square-left-bot::before, .square-left-top::before {
        width: 70px;
        height: 70px;
    }
    .square-leftx2::before, .square-leftx2-bot::before, .square-rightx2::after {
        width: 80px;
        height: 80px;
    }
    .square-leftx2-alt::before, .square-rightx2-alt::after {
        width: 90px;
        height: 90px;
    }
    .square-left-top::before {
        top: 20px; 
    }
    .square-left-bot::before {
        bottom: 60px;
    }
    .square-rightx2::after, .square-leftx2::before {
        top: 0;
    }
    .square-leftx2::before, .square-leftx2-bot::before,.square-leftx2-alt::before,
    .square-left-top::before,.square-left-bot::before,.square-left-bot::before {
        left: -24px;
    }
    .square-rightx2-alt::after, .square-rightx2::after, .square-right-top::after {
        right: -24px;
    }
}
@media (max-width: 640px) {
    .square-right-top::after, .square-left-bot::before, .square-left-top::before {
        width: 60px;
        height: 60px;
    }
    .square-leftx2-alt::before, .square-rightx2-alt::after {
        width: 80px;
        height: 80px;
    }
    .square-rightx2-alt::after {
        top: 0;
    }
    .square-leftx2::before, .square-right-top::after, .square-left-top::before {
        top: 40px;
    }
    .square-leftx2-bot::before, .square-rightx2-alt::after {
        display: none;
    }
}
@media (max-width: 480px) {
    .square-right-top::after, .square-left-bot::before, .square-left-top::before {
        width: 56px;
        height: 56px;
    }
    .square-leftx2-alt::before, .square-rightx2-alt::after,
    .square-leftx2::before, .square-leftx2-bot::before, .square-rightx2::after {
        width: 72px;
        height: 72px;
    }
    .square-rightx2::after {
        display: none;
    }
}
@media (max-width: 370px) {
    .square-right-top::after, .square-leftx2-bot::before {
        display: none;
    }
}


/* MAIN */

main {
    width: 100%;
    max-width: 1440px;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
}

main section {
    position: relative;
}

@media (min-width: 1441px) {
    main {
        max-width: none;
        margin: auto;
        overflow: visible !important;
    }
    main section {
        margin: 0 auto !important;
        width: calc(100% - 80px) !important;
        max-width: 1600px !important;
    }
    section.back-hero, section.back-hero+section.back-intro, section.back-intro {
        max-width: none !important;
        width: 100% !important;
    }
    section.back-hero .section-container, section.back-intro>.section-head,
    section.back-hero+section.back-intro .section-container {
        width: calc(100% - 80px) !important;
        max-width: 1600px !important;
        margin: auto;
    }
}

:root :where(body) {
    font-size: 16px;
    line-height: 1.45;
    letter-spacing: 0.2px;
}


/* ARTICLE */

body.page-template-default main article.page-content {
    padding: 48px 20px 32px;
}

@media (min-width: 420px) {
    body.page-template-default main article.page-content {
        padding: 64px 24px 32px;
    }
}
@media (min-width: 580px) {
    body.page-template-default main article.page-content {
        padding: 64px 32px 32px;
    }
}
@media (min-width: 768px) {
    body.page-template-default main article.page-content {
        padding: 64px 40px 40px;
    }
}
@media (min-width: 976px) {
    body.page-template-default main article.page-content {
        padding: 80px 40px 40px;
    }
}
@media (min-width: 1080px) {
    body.page-template-default main article.page-content {
        padding: 80px 48px 40px;
    }
}
@media (min-width: 1280px) {
    body.page-template-default main article.page-content {
        padding: 80px 64px 48px;
    }
}
@media (min-width: 1441px) {
    body.page-template-default main article.page-content {
        padding: 100px 80px 64px;
    }
}


/* SITE HEADER & NAV */

body .site-header {
    padding: 16px 20px;
    background: #FFFFFF;
    position: relative !important;
}
.site-header.swt-sticky-header-active {
    box-shadow: var(--shadow-nav);
    position: sticky !important;
    top: 0;
}
body .site-header .nav-container {
    max-width: 1440px;
    margin: auto !important;
    align-items: center;
    justify-content: space-between;
}
body .site-header .logo-img {
    flex: none;
    width: fit-content !important;
    line-height: 1;
    z-index: 100001;
    align-self: center !important;
    justify-content: left;
}
body .site-header .logo-img img {
    object-position: left center;
    width: auto;
    max-width: none;
}
.logo-img a {
    display: inline-block;
}
.logo-img figure {
    margin: 0 !important;
}
.nav-item.current-menu-item {
    color: var(--hover);
    font-weight: 500;
}
.nav-button {
    width: auto !important;
    z-index: 100001;
}
.nav-button .wp-block-button {
    white-space:nowrap;
}

body .site-header .wp-block-navigation__responsive-container.is-menu-open {
    padding: 16px 16px 24px 20px;
    bottom: auto;
    box-shadow: var(--shadow-nav);
}
body .site-header .wp-block-navigation__responsive-container.is-menu-open>div {
    margin-left: 0;
}

nav.nav-bar .wp-block-navigation__responsive-container-close svg,
nav.nav-bar .wp-block-navigation__responsive-container-open svg {
    width: 32px;
    height: 32px;
    opacity: 0;
}
nav.nav-bar .wp-block-navigation__responsive-container-close {
    right: 0;
    top: 3px;
}
nav.nav-bar .wp-block-navigation__responsive-container-close {
    background: url('assets/nav/nav-close.svg') no-repeat center center;
}
nav.nav-bar .wp-block-navigation__responsive-container-open {
    background: url('assets/nav/nav-toggle.svg') no-repeat center center;
}

@media (min-width: 767px) {
    body .site-header {
        padding: 16px 32px 16px 40px;
    }
    body .site-header .nav-container {
        gap: 32px;
    }
    .nav-button .is-style-fill .wp-element-button {
        height: 46px;
        padding: 0 24px;
        line-height: 46px;
    }
    body .site-header .wp-block-navigation__responsive-container.is-menu-open {
        padding: 16px 16px 24px 32px;
    }
}
@media (min-width: 841px) {
    nav.nav-bar {
        flex: auto;
    }
}
@media (min-width: 976px) {
    body .site-header {
        padding: 16px 40px;
    }
}
@media (min-width: 1080px) {
    body .site-header {
        padding: 16px 48px;
    }
    body .site-header .logo-img img {
        max-height: 30px;
    }
    nav.nav-bar ul.wp-block-navigation__container {
        gap: 24px;
    }
    .nav-button .is-style-fill .wp-element-button {
        height: 48px;
        padding: 0 24px;
        line-height: 48px;
    }
}
@media (min-width: 1280px) {
    body .site-header {
        padding: 16px 64px;
    }
    nav.nav-bar ul.wp-block-navigation__container {
        gap: 32px;
    }
}
@media (min-width: 1400px) {
    nav.nav-bar ul.wp-block-navigation__container {
        gap: 40px;
    }
    body .site-header .nav-container {
        max-width: 1320px;
    }
}
@media (min-width: 1441px) {
    body .site-header {
        padding: 16px 80px;
    }
    body .site-header .nav-container {
        max-width: 1440px;
    }
}
@media (max-width: 840px) {
    body .site-header .logo-img {
        flex: auto;
    }
    body .site-header .nav-container {
        gap: 32px;
    }
    body .site-header .logo-img img {
        max-height: 26px;
        z-index: 100000;
    }
    nav.nav-bar .wp-block-navigation__responsive-dialog ul.wp-block-navigation__container {
        gap: 0;
        justify-content: left;
        align-items: flex-start;
        align-self: flex-start;
        width: 100%;
        margin: 0;
    }
    nav.nav-bar .wp-block-navigation__responsive-dialog ul.wp-block-navigation__container li {
        line-height: 1;
        width: 100%;  
    }
    nav.nav-bar .wp-block-navigation__responsive-dialog ul.wp-block-navigation__container li a {
        display: block;
        font-size: 18px;
        font-weight: 500;
        line-height: 48px;
        width: 100%;
    }
    .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
        display: none;
    }
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: block;
    }
    .wp-block-navigation__responsive-container-open svg {
        width: 32px;
        height: 32px;
    }
    nav.nav-bar {
        width: auto !important;
        order: 1;
        align-self: center;
        gap: 0;
    }
}
@media (max-width: 767px) {
    body .site-header {
        padding: 16px 32px;
    }
    body .site-header .nav-container {
        gap: 24px;
    }
    .nav-button .is-style-fill .wp-element-button {
        height: 40px;
        padding: 0 20px;
        line-height: 40px;
    }
    body .site-header .wp-block-navigation__responsive-container.is-menu-open {
        padding: 16px 24px 24px 32px;
    }
}
@media (max-width: 580px) {
    body .site-header {
        padding: 16px 24px;
    }
    body .site-header .logo-img img {
        max-height: 25px;
    }
    body .site-header .nav-container {
        gap: 20px;
    }
    body .site-header .wp-block-navigation__responsive-container.is-menu-open {
        padding: 16px 24px 24px;
    }
    nav.nav-bar .wp-block-navigation__responsive-container-open {
        margin-right: -4px;
    }
    nav.nav-bar .wp-block-navigation__responsive-container-close {
        right: -4px;
        top: 3px;
    }
}
@media (max-width: 480px) {
    body .site-header {
        padding: 16px 18px 16px 24px;
    }
    body .site-header .logo-img img {
        max-height: 24px;
    }
    body .site-header .wp-block-navigation__responsive-container.is-menu-open {
        padding: 16px 16px 24px 24px;
    }
}
@media (max-width: 420px) {
    body .site-header {
        padding: 16px 18px 16px 20px;
    }
    body .site-header .nav-container {
        gap: 16px;
    }
    body .site-header .logo-img img {
        max-height: 22px;
    }
    body .site-header .wp-block-navigation__responsive-container.is-menu-open {
        padding: 16px 16px 16px 20px;
    }
    body .site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        padding-top: 48px;
    }
}
@media (max-width: 370px) {
    body .site-header {
        padding: 12px 16px 12px 18px;
    }
    body .site-header .nav-container {
        gap: 12px;
        margin-right: -2px !important;
    }
    body .site-header .logo-img img {
        max-height: 21px;
    }
    .nav-button .is-style-fill .wp-element-button {
        padding: 0 14px;
        font-size: 12px;
    }
    body .site-header .wp-block-navigation__responsive-container.is-menu-open {
        padding: 12px 16px 16px 18px;
    }
}

/* SITE FOOTER */

.site-footer {
    padding: 20px;
    max-width: 1600px;
    margin: 0 auto;
    width: 100%;
}
.site-footer .nav-social {
    gap: 16px;
    justify-content: left;
}
.site-footer .nav-head {
    margin: 0;
}
.site-footer .nav-social .wp-social-link {
    color: var(--secondary);
    color: var(--secondary);
}
.site-footer .nav-social .wp-social-link:hover {
    color: var(--terciary);
}
.site-footer .nav-social .wp-social-link svg {
    width: 28px;
    height: 28px;
}
.site-footer .foot-legal {
    justify-content: space-between;
    flex-direction: row;
    display: flex;
}
.site-footer .foot-legal>.row-legal {
    flex: auto !important;
    width: auto !important;
    justify-content: right;
}
.site-footer .foot-legal>.row-legal.legal-copy {
    gap: 4px;
    justify-content: left;
}
.site-footer .nav-legal {
    text-align: right;
    justify-content: flex-end;
}
.site-footer .nav-foot ul {
    width: 100%;
}
.site-footer .nav-foot ul li a {
    color: var(--link);
    line-height: 32px;
    font-weight: 500;
}
.site-footer .nav-foot ul li a:hover {
    color: var(--hover);
}
.site-footer .nav-foot ul li.current-menu-item a {
    color: var(--hover);
    font-weight: 600;
}
.site-footer .nav-legal ul {
    display: flex;
    flex-direction: row;
    gap: 16px;
}
.site-footer .nav-legal ul li a {
    color: var(--link);
    text-decoration: underline;
    letter-spacing: 0.3px;
    text-decoration-color: inherit;
    text-decoration-thickness: 1.5px;
    text-underline-offset: 3px;
    font-weight: 600;
}
.site-footer .nav-legal ul li a:hover, .site-footer .nav-legal ul li a:hover span {
    color: var(--hover);
    text-decoration: underline;
    text-decoration-color: var(--hover);
    text-decoration-thickness: 1.5px;
}
.site-footer .wp-block-uagb-separator {
    max-width: none !important;
}

@media (min-width: 767px) {
    .site-footer {
        padding: 0 32px;
    }
    footer section .foot-navigation {
        max-width: none;
        flex: auto;
    }
}
@media (min-width: 976px) {
    .site-footer {
        padding: 0 40px;
    }
}
@media (min-width: 1080px) {
    .site-footer {
        padding: 0 48px;
    }
    footer section.foot-container .foot-logo {
        flex: none;
        width: 380px !important;
    }
    .site-footer .nav-legal ul {
        gap: 24px;
    }
}
@media (min-width: 1280px) {
    .site-footer {
        padding: 0 64px;
    }
    footer section .foot-container {
        justify-content: space-between;
    }
    footer section .foot-navigation {
        max-width: 840px;
    }
}
@media (min-width: 1400px) {
    .site-footer {
        max-width: none;
    }
}
@media (min-width: 1440px) {
    .site-footer {
        padding: 0 64px;
    }
}
@media (min-width: 1441px) {
    .site-footer {
        padding: 0;
        max-width: 1440px;
    }
}
@media (max-width:767px) {
    .site-footer {
        padding: 0 32px;
    }
    footer section .foot-navigation {
        display: flex;
        flex-direction: row !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        flex: auto;
    }
}
@media (max-width:640px) {
    .site-footer {
        padding: 0 24px;
    }
    .site-footer .foot-legal {
        flex-direction: column-reverse;
        flex-wrap: wrap;
        gap: 32px !important;
    }
    .site-footer .foot-legal>.row-legal {
        justify-content: left;
    }
}
@media (max-width:580px) {
    .site-footer {
        padding: 0 24px;
    }
    footer section .foot-navigation {
        flex-wrap: wrap !important;
        gap: 40px 0 !important;
    }
    footer section .foot-navigation .nav-panel {
        width: 50% !important;
        max-width: none !important;
        flex: auto;
    }
    .site-footer .nav-social .wp-social-link svg {
        width: 30px;
        height: 30px;
    }
}
@media (max-width:480px) {
    footer section .foot-navigation {
        flex-direction: column !important;
    }
    footer section .foot-navigation .nav-panel {
        width: 100% !important;
    }
    .site-footer .nav-legal ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }
}
@media (max-width:420px) {
    .site-footer {
        padding: 0 20px;
    }
}

/* FOOTER > NEWSLETTER */

section .news-panel.form-panel form {
    max-width: 540px;
}
section .news-panel .form-news button,
section .news-panel .form-news input[type="email"]  {
    height: 48px !important;
}
section .news-panel .form-legal {
    max-width: 80%;
}
section .news-panel .form-legal .legal-text small  {
    line-height: 18px;
    display: block;
}
section .news-panel .form-legal .legal-text small a {
    text-decoration: underline;
}
section.foot-newsletter .ff-message-success {
    color: var(--secondary);
}

@media (max-width: 480px) {
    section .news-panel .form-legal {
        margin-top: 16px;
    }
    section .news-panel .form-news button {
        width: 120px;
        height: 46px !important;
        min-width: auto !important;
        margin-right: auto !important;
        margin-left: 0 !important;
        line-height: 6px !important;
        font-size: 14px;
    }
}

/* BLOCKS - NAVIGATION */

nav.nav-bar.wp-block-navigation ul {
    gap: 16px;
}

nav.nav-bar.wp-block-navigation ul li,
.wp-block-navigation ul, .wp-block-navigation ul li {
    margin: 0;
}

nav.nav-bar.wp-block-navigation ul .nav-item a {
    color: var(--primary);
    font-weight: 500;
    font-size: 16px;
    white-space: nowrap;
    letter-spacing: normal;
}
nav.nav-bar.wp-block-navigation ul .nav-item.current-menu-item a {
    color: var(--hover);
    font-weight: 600;
}
nav.nav-bar.wp-block-navigation ul .nav-item a:hover {
    color: var(--hover);
}

@media (min-width: 976px) {
    nav.nav-bar.wp-block-navigation ul {
        gap: 32px;
        flex-wrap: nowrap;
    }
    nav.nav-bar.wp-block-navigation ul .nav-item a {
        letter-spacing: 0.25px;
    }
}
@media (min-width: 1280px) {
    nav.nav-bar.wp-block-navigation ul .nav-item a {
        font-size: 18px;
        letter-spacing: 0.5px;
    }
}


/* EDITORIAL STYLES */

/* HEADINGS */

h1, h2, h3, h4, h5, h6 {
    margin: 0 0 16px 0;
    font-family: var(--font-display);
    letter-spacing: -0.2px;
    line-height: 1.1;
    font-weight: 500;
    word-break: keep-all;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    font-family: inherit;
    font-weight: inherit;
}
h1 {    /* from 72px 1440px to 48px 767px*/
    line-height: 1;
    font-size: 3rem;
    font-size: clamp(3rem, 1.2904903417533433rem + 3.566121842496285vw, 4.5rem) !important;
}
h2 {    /* from 52px 1440px to 40px 767px*/
    font-size: 2.5rem;
    font-size: clamp(2.5rem, 1.6452451708766715rem + 1.7830609212481425vw, 3.25rem) !important;
    line-height: 1;
}
h3 {    /* from 40px 1440px to 32px 767px*/
    font-size: 2rem;
    font-size: clamp(2rem, 1.4301634472511144rem + 1.188707280832095vw, 2.5rem) !important;
    line-height: 1;
}
h4 {    /* from 32px 1440px to 24px 767px*/
    font-size: 1.5rem;
    font-size: clamp(1.5rem, 0.9301634472511144rem + 1.188707280832095vw, 2rem) !important;
    letter-spacing: 0;
}
h5 {    /* from 24px 1440px to 20px 767px*/
    font-size: 1.25rem;
    font-size: clamp(1.25rem, 0.9650817236255572rem + 0.5943536404160475vw, 1.5rem) !important;
    letter-spacing: 0;
}
h6 {    /* from 18px 1440px to 16px 767px*/
    font-size: 1rem;
    font-size: clamp(1rem, 0.8575408618127787rem + 0.2971768202080238vw, 1.125rem) !important;
    letter-spacing: 0;
}

@media (max-width:370px) {
    h1 {
        font-size: 42px !important;
    }
    h2 {
        font-size: 32px !important;
    }
    h3 {
        font-size: 28px !important;
    }
    h4 {
        font-size: 22px !important;
    }
}

/* CONTENT > IMAGES */

.wp-block-image, :where(figure) {
    margin: 0;
}

.wp-block-image img {
    vertical-align: middle;
    margin: 0;
    padding: 0;
}

/* BLOCK > INFOBLOCK */

.wp-block-uagb-info-box {
    background: var(--white);
    border-radius: 20px !important;
    height: auto;
}
.wp-block-uagb-info-box .uagb-ifb-title-prefix {
    font-family: var(--font-default);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    font-weight: 700;
    line-height: 1;
}
.wp-block-uagb-info-box .uagb-ifb-title {
    font-family: var(--font-display);
    line-height: 1;
}
.wp-block-uagb-info-box .uagb-ifb-image-content {
    line-height: 1;
}

@media (max-width: 640px) {
    .wp-block-uagb-info-box .uagb-ifb-title-prefix {
        font-size: 12px;
    }
}


/* CONTENT > HEADING */

.wp-block-heading, .wp-block-uagb-advanced-heading {
    line-height: 1;
}


/* PARAGRAPH > CUSTOM BLOCKS */

.is-style-badgetext {
    background: var(--primary);
    font-family: var(--font-default);
    color: var(--white);
    border-radius: 40px;
    padding: 8px 18px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.25px;
    margin: 0;
}

.is-style-captiontext {
    font-family: var(--font-default);
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: var(--graydark);
    letter-spacing: 0.2px;
    margin: 0;
}

.is-style-small {
    font-family: var(--font-default);
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    color: var(--body);
    letter-spacing: 0.2px;
    margin: 0;
}

@media (max-width:976px) {
    .is-style-badgetext {
        font-size: 12.5px;
        line-height: 1.3;
        padding: 8px 16px;
    }
}
@media (max-width:768px) {
    .is-style-small {
        font-size: 12px;
        line-height: 1.5;
    }
    .is-style-captiontext {
        font-size: 12px;
        line-height: 1.5;
    }
    .is-style-badgetext {
        font-size: 12px;
        line-height: 1.25;
    }
}

/* PARAGRAPH > EYEBROW */

.site-eyebrow,.is-style-eyebrow {
    position: relative;
    display: inline-flex;
    text-align: center;
    gap: 8px;
    line-height: 1;
    align-items: center;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.2px;
    margin: 4px;
    width: auto !important;
}

.site-eyebrow::before,.is-style-eyebrow::before,
.site-eyebrow::after,.is-style-eyebrow::after {
    content: '';
    background: url('assets/icons/icon-eyebrow.svg') no-repeat center center;
    background-size: contain;
    display: flex;
    width: 10px;
    height: 10px;
    line-height: 1;
    align-self: center;
}

.site-eyebrow strong,.is-style-eyebrow strong {
    font-weight: 700;
    line-height: 1.3;
}

@media (min-width:767px) {
    .site-eyebrow,.is-style-eyebrow {
        letter-spacing: 1.5px;
        font-size: 12.5px;
    }
}

@media (min-width:1080px) {
    .site-eyebrow,.is-style-eyebrow {
        font-size: 14px;
    }
}

@media (min-width:1320px) {
    .site-eyebrow,.is-style-eyebrow {
        font-size: 16px;
    }
}


/* PARAGRAPH > INTRO */

.is-style-intro {
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    margin: 0;
}

@media (min-width:840px) {
    .is-style-intro {
        font-size: 17px;
        line-height: 23px;
    }
}
@media (min-width:1080px) {
    .is-style-intro {
        font-size: 18px;
        line-height: 24px;
    }
}
@media (min-width:1280px) {
    .is-style-intro {
        line-height: 26px;
    }
}

/* PARAGRAPH > METATEXT */

.is-style-metatext {
    text-transform: uppercase;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 1.2px;
    margin: 0;
}

@media (min-width:370px) {
    .is-style-metatext {
        font-size: 12px;
    }
}
@media (min-width:767px) {
    .is-style-metatext {
        font-size: 12.5px;
    }
}
@media (min-width:1200px) {
    .is-style-metatext {
        font-size: 14px;
    }
}

/* PARAGRAPH > LOGO */

.is-style-logo {
    text-transform: capitalize;
    font-size: 16px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0;
}

@media (min-width:767px) {
    .is-style-logo {
        font-size: 18px;
    }
}
@media (min-width:1200px) {
    .is-style-logo {
        font-size: 24px;
    }
}
@media (max-width:420px) {
    .is-style-logo {
        font-size: 14px;
    }
}

/* BLOCKS - GROUP */

section .section-grid {
    display: flex;
}
section .section-container .flex-container {
    max-width: none !important;
    width: auto !important;
    flex: auto;
}

.wp-block-group {
    background: transparent;
    margin: 0;
}

/* BLOCKS - BOXES */

.info-box {
    border-radius: 20px !important;
    justify-content: start !important;
    flex: auto;
}
.info-box p {
    margin: 0;
}
.info-box:not(.back-module) {
    box-shadow: var(--shadow-small) !important;
}
.info-icon {
    z-index: 1;
}
.wp-block-uagb-team {
    align-items: center;
}

/* FLIPBOX */

.flipbox-card {
    position: relative;
    width: 300px !important;
    padding: 20px;
    max-width: 300px;
    height: 140px;
    perspective: 1000px;
    box-sizing: border-box;
}
.flipbox-card>.card {
    box-sizing: border-box;
    box-shadow: var(--shadow);
    position: absolute !important;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    border-radius: 15px;
    background: #ffffff;
    text-align: center;
    backface-visibility: hidden;
    transition: transform .5s ease-in-out;
    transform-style: preserve-3d;
}
.flipbox-card .flipbox-back,.flipbox-card .flipbox-front {
    padding: 20px !important;
    max-width: none !important;
    width: 100% !important;
}
.flipbox-card>.flipbox-front {
    transform: rotateY(0deg);
}
.flipbox-card>.flipbox-back {
    transform: rotateY(180deg);
}
.flipbox-card:hover>.flipbox-front {
    transform: rotateY(-180deg);
}
.flipbox-card:hover>.flipbox-back {
    transform: rotateY(0deg);
}


@media (min-width:767px) {
    .flipbox-card .flipbox-back,.flipbox-card .flipbox-front {
        padding: 24px 32px !important;
    }
}
@media (max-width:767px) {
    .flipbox-card {
        width: 35vw !important;
    }
    .flipbox-card .flipbox-front {
        padding: 24px 24px 24px 32px !important;
    }
    .flipbox-card .flipbox-back {
        padding: 24px 32px !important;
    }
}
@media (max-width:640px) {
    .flipbox-card {
        width: 45% !important;
        flex: none;
    }
    .flipbox-card .flipbox-back, .flipbox-card .flipbox-front {
        padding: 24px !important;
    }
}
@media (max-width:580px) {
    .flipbox-card {
        width: 80% !important;
    }
    .flipbox-card .flipbox-back,.flipbox-card .flipbox-front {
        padding: 20px 24px !important;
    }
}
@media (max-width:420px) {
    .flipbox-card .flipbox-back,.flipbox-card .flipbox-front {
        padding: 20px !important;
    }
}

/* BLOCKS - BUTTONS */

*[role="button"] {
    font-family: var(--font-display);
    font-weight: 600;
}

.wp-block-button .wp-element-button {
    font-family: var(--font-display);
    border: 0;
    border-radius: 10px;
    letter-spacing: 0.5px;
    height: 48px;
    transition: all 0.25s ease-out;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    padding: 16px 24px;
    text-shadow: none;
    display: block;
}

.is-style-fill .wp-element-button {
    background: var(--secondary);
    color: var(--white);
    white-space: nowrap;
}

.is-style-fill .wp-element-button:hover {
    background: var(--primary);
    color: var(--white);
    box-shadow: var(--shadow);
}

.is-style-button-primary .wp-element-button {
    background-color: var(--primary);
    background-image: linear-gradient(180deg, var(--terciary) 0%, var(--secondary) 30%, var(--primary) 70%, var(--primary) 80%);
    background-position: 0 100%;
    background-size: 200% 200%;
    color: var(--white);
    transition: all 0.25s ease-out;
    white-space: nowrap;
    border-radius: 10px;
}

.is-style-button-primary .wp-element-button:hover {
    background-position: 0 0;
    color: var(--white);
    box-shadow: var(--shadow);
}

.is-style-outline .wp-element-button, .is-style-secondary .wp-element-button {
    border: 0 !important;
    background: transparent;
    color: var(--primary);
    box-shadow: inset 0 0 0 2px var(--primary);
    white-space: nowrap;
    border-radius: 10px;
    height: 48px;
}

.is-style-outline .wp-element-button:hover,.is-style-secondary .wp-element-button:hover {
    background: transparent;
    box-shadow: inset 0 0 0 2px var(--secondary);
    color: var(--secondary);
}

@media (max-width: 1080px) {
    .wp-block-button .wp-element-button {
        font-size: 14px;
        height: 46px;
    }
    .is-style-outline .wp-element-button {
        height: 46px;
        font-size: 14px;
    }
}
@media (max-width: 640px) {
    .is-style-outline .wp-element-button {
        padding: 16px 20px;
        height: 45px;
    }
}
@media (max-width:370px) {
    .wp-block-button .wp-element-button {
        font-size: 12.5px;
        letter-spacing: 0.2px;
    }
}


/* LINK ARROW */

#preload-hover { background: url('assets/icons/icon-arrow-hover.svg') no-repeat; }

.link-arrow>* {
    line-height: 1;
    letter-spacing: 0.5px;
}
.link-arrow a {
    position: relative;
}
.link-arrow a, .link-arrow a span {
    color: var(--body);
}
.link-arrow a:hover, .link-arrow a:hover span {
    color: var(--hover);
}
.link-arrow a::after {
    content: '';
    background: url('assets/icons/icon-arrow-black.svg') no-repeat;
    background-size: contain;
    display: inline-block;
    width: 10px;
    height: 10px;
    vertical-align: baseline;
    margin-left: 4px;
    line-height: 1;
}
.link-arrow a:hover::after {
    background: url('assets/icons/icon-arrow-hover.svg') no-repeat;
}


/* BUTTON LINK */

.wp-block-button.is-style-button-link .wp-element-button, .button-link a {
    padding: 0;
    border-radius: 0;
    font-size: 16px;
    line-height: 24px;
    background: transparent;
    color: var(--primary);
    position: relative;
    height: 24px;
    display: flex;
    flex-direction: row;
    align-items: center !important;
    gap: 6px;
    white-space: nowrap;
}
.wp-block-button.is-style-button-link .wp-element-button::after, .button-link a:after {
    content: '';
    background: url('assets/icons/icon-arrow-black.svg') no-repeat;
    background-size: contain;
    width: 12px;
    height: 12px;
    flex: none;
}
.wp-block-button.is-style-button-link .wp-element-button:hover, .button-link a:hover {
    color: var(--hover);
}
.wp-block-button.is-style-button-link .wp-element-button:hover::after, .button-link a:hover::after {
    background: url('assets/icons/icon-arrow-hover.svg') no-repeat;
    background-size: contain;
    width: 12px;
    height: 12px;
    flex: none;
}

@media (max-width: 767px) {
    .wp-block-button.is-style-button-link .wp-element-button, .button-link a {
        font-size: 14px;
        line-height: 20px;
    }
}


/* MODAL */

.site-modal.uagb-popup-builder {
    background: rgba(0, 0, 0, 0.5);
}

.site-modal .uagb-popup-builder__container {
    background: var(--back-modal);
    padding-bottom: 0;
}
.site-modal .wp-block-uagb-info-box {
    background: var(--transparent);
}

@media (min-width: 976px) {
    .site-modal .uagb-popup-builder__container {
        justify-content: center;
    }
}

/* SPECTRA SLIDER STYLES */

.slider-container.uagb-slider-container {
    padding-right: 0;
}

.swiper-wrapper {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch !important;
}
.swiper-slide {
    flex: none;
    height: auto;
}
.swiper-content {
    display: flex;
    height: 100%;
}
.uagb-slider-container .swiper-pagination.swiper-pagination-bullets {
    max-width: 1200px;
    margin: auto;
    left: auto;
    text-align: left;
    bottom: 12px;
}
.swiper-pagination-bullet {
    background: var(--graydark) !important;
    opacity: 0.5;
}
.swiper-pagination-bullet-active {
    background: var(--terciary) !important;
    opacity: 1;
}
.uagb-slider-container .swiper-button-prev {
    left: auto !important;
    right: calc(0% + 100px);
    top: auto;
    bottom: 0;
    border: 2px solid var(--primary);
    width: 48px !important;
    height: 48px !important;
    background: transparent;
}
.uagb-slider-container .swiper-button-next {
    right: 0 !important;
    bottom: 0;
    top: auto;
    border: 2px solid var(--primary);
    width: 48px !important;
    height: 48px !important;
    margin-right: 40px;
    background: transparent;
}
.uagb-slider-container .swiper-button-next::after {
    content: '';
    background: url('assets/icons/icon-right-arrow.svg') no-repeat top;
    width: 32px;
    height: 32px;
    background-size: 32px;
}
.uagb-slider-container .swiper-button-prev::after {
    content: '';
    background: url('assets/icons/icon-left-arrow.svg') no-repeat top;
    width: 32px;
    height: 32px;
    background-size: 32px;
}
.uagb-slider-container .swiper-button-next:hover,
.uagb-slider-container .swiper-button-prev:hover {
    border-color: var(--terciary);
}
.uagb-slider-container .swiper-button-next:hover::after,
.uagb-slider-container .swiper-button-prev:hover::after {
    background-position: bottom;
}

@media (min-width: 768px) {
    .slider-container.uagb-slider-container {
        padding-left: 40px;
    }
    .uagb-slider-container .swiper-button-prev {
        right: calc(0% + 40px + 48px + 16px);
    }
    .uagb-slider-container .swiper-button-next {
        margin-right: 40px;
    }
}
@media (min-width: 976px) {
    .slider-container.uagb-slider-container {
        padding-left: 48px;
    }
    .uagb-slider-container .swiper-button-prev {
        right: calc(0% + 80px + 48px + 16px);
    }
    .uagb-slider-container .swiper-button-next {
        margin-right: 80px;
    }
}
@media (min-width: 1080px) {
    .slider-container.uagb-slider-container {
        padding-left: 64px;
    }
}
@media (max-width: 767px) {
    .slider-container.uagb-slider-container {
        padding-left: 32px;
        padding-right: 0;
    }
    .uagb-slider-container .swiper-button-prev {
        right: calc(0% + 32px + 48px + 16px);
    }
    .uagb-slider-container .swiper-button-next {
        margin-right: 32px;
    }
}
@media (max-width: 580px) {
    .uagb-slider-container .swiper-button-prev {
        right: calc(0% + 24px + 48px + 16px);
    }
    .slider-container.uagb-slider-container {
        padding-left: 24px;
        padding-right: 0;
    }
    .uagb-slider-container .swiper-button-next {
        margin-right: 24px;
    }
}
/* FORMS */

form fieldset {
    display: flex;
    flex-direction: column;
    gap: 0;
}

form .form-container {
    margin-bottom: 0 !important;
}
form .form-container.ff-column-container {
    gap: 16px;
    align-items: flex-start;
}
form .form-controls.ff-el-group,form .form-controls .ff-el-group,
form .form-container .form-controls,.fluentform .ff-el-group {
    margin-bottom: 0;
}
form .ff-el-group.ff-el-form-top {
    margin-top: 16px;
}
form .form-controls .ff-el-input--label {
    margin: 4px;
    line-height: 1;
}
form .ff-el-group.wp-block-button {
    margin: 0;
}

::-webkit-input-placeholder,::placeholder,
:not([value])::-webkit-input-placeholder,
:not([value])::placeholder {
    color: var(--gray);
    font-size: 16px;
}
form .form-controls label {
    font-size: 10px;
    line-height: 14px;
    font-weight: 700;
    font-family: var(--font-default);
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
}
form input, form textarea, form select,
form .form-controls .ff-el-input--content input,
form .form-controls .ff-el-input--content input.ff-el-form-control,
form .form-controls .ff-el-input--content textarea.ff-el-form-control,
form .form-controls .ff-el-input--content select.ff-el-form-control {
    border: 1px solid var(--graydarker);
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 16px;
    color: var(--body);
    font-family: var(--font-default);
    letter-spacing: 0.1px;
    height: 46px;
    line-height: 1;
    appearance: none;
}
form .form-controls .ff-el-input--content textarea.ff-el-form-control {
    height: auto;
    line-height: 1.25;
    min-height: auto;
}
form .form-controls .ff-el-input--content select.ff-el-form-control {
    background: var(--white) url('assets/form/select-down.svg') no-repeat;
    background-position-y: center;
    background-position-x: calc(100% - 8px);
}
form .form-controls .ff-el-input--content select.ff-el-form-control:not([size]):not([multiple]) {
    min-height: 46px;
    height: 46px;
}
form input:focus, form textarea:focus, form select:focus,
form .form-controls .ff-el-input--content input:focus,
form .form-controls .ff-el-input--content input.ff-el-form-control:focus,
form .form-controls .ff-el-input--content textarea.ff-el-form-control:focus,
form .form-controls .ff-el-input--content select.ff-el-form-control:focus {
    border: 1px solid var(--primary);
    color: var(--body);
}

form .form-controls .ff-el-form-check {
    margin: 16px 0;
}
form  input[type=checkbox],
form .form-controls input[type=checkbox] {
    width: 22px;
    height: 22px;
    appearance: none;
    background: var(--white);
    border: 1.5px solid var(--graydark);
    border-radius: 4px;
    top: 0 !important;
    padding: 0;
}
form  input[type=checkbox]:checked {
    width: 22px;
    height: 22px;
    appearance: none;
    background: var(--terciary) url('assets/form/checkbox-checked.svg') no-repeat center center;
    border-color: var(--terciary);
    border-radius: 4px;
    top: 0 !important;
    padding: 0;
}
form input[type=radio],
form .form-controls input[type=radio] {
    width: 22px;
    height: 22px;
    appearance: none;
    background: var(--white);
    border: 1.5px solid var(--graydark);
    border-radius: 22px;
    top: 0 !important;
    padding: 0;
}
form input[type=radio]:checked {
    width: 22px;
    height: 22px;
    appearance: none;
    background: var(--terciary) url('assets/form/radio-checked.svg') no-repeat center center;
    border-color: var(--terciary);
    border-radius: 22px;
    top: 0 !important;
    padding: 0;
}
form .form-controls .ff-el-tc label.ff_tc_label {
    display: flex;
    align-items: flex-start;
    justify-content: left;
    line-height: 20px;
    font-size: 14px;
    font-weight: 500;
    gap: 8px;
    color: var(--graydarker);
    text-transform: inherit;
    letter-spacing: 0.2px;
}
form .form-controls .ff-el-tc label.ff_tc_label a {
    text-decoration: underline;
    text-underline-offset: 2px;
}
form .form-controls .ff-el-tc label.ff_tc_label>span {
    padding: 0 !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    width: auto;
    display: inline-flex;
    flex: none;
}
form .error.text-danger, form .ff-el-is-error .ff-el-form-check-label a {
    font-family: var(--font-default);
    color: var(--error) !important;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.1px;
    margin: 2px 4px !important;
}

button[type=submit] {
    font-family: var(--font-display);
    font-size: 16px;
    border: 0;
    letter-spacing: 0.5px;
    height: 48px;
    background: var(--primary);
    color: var(--white);
    transition: all 0.25s ease-out;
    white-space: nowrap;
    border-radius: 50px;
    font-weight: 600;
    line-height: 1;
    padding: 16px 32px;
    text-shadow: none;
    display: block;
    cursor: pointer;
    margin: 16px auto 0 !important;
}
button[type=submit]:hover {
    background: var(--secondary);
    color: var(--white);
}

@media (min-width: 976px) {
    form .form-container.ff-column-container {
        gap: 24px;
    }
    button.ff-btn.ff-btn-submit {
        margin: 16px auto !important;
    }
}
@media (max-width: 767px) {
    form .form-container.ff-column-container {
        gap: 16px;
        display: flex;
    }
    button[type=submit] {
        font-size: 14px;
        height: 46px;
    }
}
@media (max-width: 640px) {
    form .form-controls .ff-el-input--label label {
        font-size: 10px;
        line-height: 1.5;
        text-transform: uppercase;
    }
    form .form-controls .ff-el-input--content input,
    form .form-controls .ff-el-input--content input.ff-el-form-control,
    form .form-controls .ff-el-input--content select.ff-el-form-controll:not([size]):not([multiple]) {
        height: 42px;
    }
}
@media (max-width: 380px) {
    form .form-container.ff-column-container {
        flex-direction: column;
        gap: 0;
        max-width: none;
    }
    form .form-container.ff-column-container>* {
        flex: auto;
        width: 100%;
    }
}

/* KILL ARROWS IN NUMBER INPUTS */

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    opacity: 1;
}

/* CONTACT US MODAL */


.modal-container section {
    max-width: 540px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.modal-container .modal-info {
    gap: 4px;
}
.modal-container .modal-info .msn-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.modal-container .modal-info p {
    line-height: 1.4;
    font-weight: 500;
    margin: 0;
}
.modal-container .modal-info h2 {
    margin: 0;
}
.modal-container .form-container {
    max-width: 520px;
}

@media (min-width:767px) {
    .modal-container section {
        margin-bottom: 16px;
    }
}
@media (min-width:976px) {
    .modal-container section {
        margin-bottom: 24px;
    }
    .modal-container .modal-info {
        gap: 8px;
    }
}
@media (max-width:976px) {
    .modal-container .modal-info h2 {
        font-size: 40px !important;
    }
    .modal-container .modal-info p {
        font-size: 14px;
    }
}
@media (max-width:767px) {
    .modal-container section {
        margin-bottom: 16px;
    }
    .site-modal .modal-container {
        top: -8px;
    }
}

.ff-message-success {
    border: 0;
    padding: 16px 0;
    box-shadow: none;
}

.wp-element-button.uagb-popup-builder__close {
    position: relative;
    display: block;
    padding: 16px 24px;
    border-radius: 50px;
    right: auto;
    left: auto;
    top: 20px;
    width: max-content;
    margin: auto;
}


/* TABS */

main .uagb-tab, main .uagb-tab a {
    font-family: var(--font-display);
    font-weight: 500 !important;
    line-height: 1;
    font-size: 16px;
}
main .uagb-tab {
    margin: 0 !important;
}
.uagb-tabs__wrap .uagb-tabs__body-wrap:hover,
.uagb-tabs__wrap .uagb-tabs__body-wrap:focus,
.uagb-tabs__wrap .uagb-tabs__body-wrap:active {
    border-color: transparent !important;
}
.uagb-tabs__wrap .uagb-tabs__body-container {
    padding: 0;
}


/* VERTICAL TABS */

.tabs-vertical {
    gap: 24px;
    align-items: flex-start;
}
.tabs-vertical .uagb-tab a {
    width: 100%;
    padding: 12px !important;
}

@media (min-width:976px) {
    .tabs-vertical {
        gap: 32px;
        align-items: flex-start;
    }
    .tabs-vertical .uagb-tab a {
        padding: 12px 16px !important;
    }
}

