/* Fonts import */
@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-SemiBold.woff2') format('woff2'),
        url('../fonts/Inter-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Medium.woff2') format('woff2'),
        url('../fonts/Inter-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/Inter-Regular.woff2') format('woff2'),
        url('../fonts/Inter-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Reset */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

a:not([class]) {
    text-decoration-skip-ink: auto;
}

img,
figure,
picture,
iframe {
    display: block;
    max-width: 100%;
    height: auto;
    width: auto;
}

input,
button,
textarea,
select {
  font: inherit;
}

/* Neccessary WP Classes */
.wp-caption {
	font-size: inherit;
}

.wp-caption-text {
	font-size: inherit;
}

.alignfull {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: 100vw !important;
	width: 100vw !important;
}

.wp-block-image,
figure.wp-caption,
img[class^="wp-image"] {
	margin: 1.25rem 0;
    border-radius: 10px;
}

figure.wp-caption img,
.wp-block-image img {
    margin-bottom: 0;
}

.wp-block-image figcaption,
.wp-block-table figcaption,
figure.wp-caption .wp-caption-text {
    font-size: 0.75rem;
    margin-top: 0.625rem;
    color: var(--color-text-grey);
}

.wp-block-image figure,
.wp-block-image figcaption {
    display: block !important;
}

.wp-block-gallery figure.wp-block-image figcaption {
    position: relative !important;
    text-shadow: none !important;
    color: var(--color-text-dark) !important;
    background: none !important;
}

.wp-block-pullquote {
    padding: 1.5rem 1.75rem;
    margin: 2.5rem 0;
    border-radius: 10px;
    background-color: #FFFBD9;
}

.wp-block-pullquote blockquote {
    text-align: left;
    font-size: 1.125rem;
}

.wp-block-pullquote cite {
    font-style: normal;
    font-size: 1.125rem;
    margin-top: 0.75rem;
}

.wp-block-pullquote *:not(cite) {
    font-size: 1.125rem;
    font-style: italic;
}

.wp-block-pullquote blockquote p:last-of-type {
    margin-bottom: 0;
}

.wp-block-media-text {
    margin: 3rem 0;
    gap: 1.25rem 3rem;
}

.wp-block-media-text > .wp-block-media-text__content {
    padding: 0;
}

.wp-block-group {
    margin-block: 2.25rem;
}

.wp-block-group.group-bg-light-gray .wp-block-group__inner-container .wp-block-media-text  {
    margin: 0;
}

.wp-block-group.group-bg-light-gray .wp-block-group__inner-container .wp-block-media-text + .wp-block-media-text {
    margin-top: 3rem;
}

.wp-block-media-text img {
    margin: 0;
}

@media (max-width: 767px) {
    .wp-block-media-text.is-stacked-on-mobile {
        grid-template-columns: 100% !important;
    }

    .wp-block-media-text.is-stacked-on-mobile > * {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
}

/* Global Variables */
:root {
    --color-primary-25: #F0F8F9;
    --color-primary-50: #D9EEF1;
    --color-primary-100: #CAE7F5;
    --color-primary-200: #B0DAF6;
    --color-primary-400: #1DADDE;
    --color-primary-500: #548DB2;
    --color-primary-700: #266B8F;
    --color-primary-800: #145778;
    --color-primary-900: #004462;
    --color-gray-300:      #E4E3E3;
    --color-gray-400:      #C3C3C3;
    --color-gray-500:      #A5A5A5;
    --color-gray-600:      #7C7C7C;
    --color-gray-800:      #484848;
    --color-black:        #23282C;
    --color-white:        #ffffff;

    --color-body-bg:        var(--color-primary-25);
    --color-text-light:     var(--color-white);
    --color-text-dark:      var(--color-black);

    --font-family-base:         'Inter', sans-serif;  
    --font-family-headings:     'Inter', sans-serif;  

    --font-color-base:          var(--color-black);  
    --font-color-headings:      var(--color-black);
    
    --font-size-base:           1.25rem;   
    --font-size-h1:             3rem;
    --font-size-h2:             1.875rem;
    --font-size-h3:             1.25rem;
    --font-size-h4:             1.25rem;
    --font-size-h5:             1.25rem;
    --font-size-h6:             1.25rem;
    --font-size-sm:             1rem;
    --font-size-xl:             4rem;

    --font-size-base-mobile:    1rem; 
    --font-size-h1-mobile:      2rem;
    --font-size-h2-mobile:      1.625rem;
    --font-size-h3-mobile:      1.25rem;
    --font-size-h4-mobile:      1rem;
    --font-size-h5-mobile:      1rem;
    --font-size-h6-mobile:      1rem;
    --font-size-xl-mobile:      2rem;

    --line-height-base:         1.4;
    --line-height-headings:     1.1;

    --font-weight-base:         400;
    --font-weight-headings:     600;

    --container-width-xs:   100%;
    --container-width-sm:   100%;
    --container-width-md:   100%;
    --container-width-lg:   960px;
    --container-width-xl:   1328px;
    --container-width-xxl:  1328px;

    --row-gap-global:     2rem;
    --column-gap-global:  2.5rem;

    --theme-header-height:          88px;
    --theme-header-height-mobile:   88px;

    --border-radius:        1.5rem;
    --border-radius-sm:     0.625rem;

    --spacing-sm:           2.5rem;
    --spacing-md:           3.5rem;
    --spacing-lg:           6.5rem;
    --section-spacing:      var(--spacing-sm);

    --transition-default:   250ms;
    --transition-slow:      400ms;   
}

@media (min-width: 768px) {
    :root {
        --section-spacing: var(--spacing-md);
    }
}

@media (min-width: 992px) {
    :root {
        --section-spacing: var(--spacing-lg);
    }
}

/* Global Styles */
html {
    scroll-behavior: smooth;
    scroll-padding-top: calc(var(--theme-header-height-mobile) + 1rem);
}

html[data-slot-site-review] {
    scroll-padding-top: calc(var(--theme-header-height-mobile) + 72px);
}

@media (min-width: 992px) {
    html {
        scroll-padding-top: calc(var(--theme-header-height) + 1rem);
    } 
    
    html[data-slot-site-review] {
        scroll-padding-top: calc(var(--theme-header-height) + 72px);
    }
}

body {
    --admin-bar-height: 0;

    background-color: var(--color-body-bg);
    color: var(--font-color-base, inherit);
    overflow-x: hidden;
}

body.admin-bar {
    --admin-bar-height: 32px;
}

@media (max-width: 782px) {
    body.admin-bar {
        --admin-bar-height: 46px;
    }
}

body.overlay-active {
    overflow: hidden;
}

.site {
    overflow-x: hidden;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

@supports (overflow: clip) {
    .site {
        overflow: clip;
    }
}

.content-wrapper {
    flex-grow: 1;
}

.content-wrapper .site-main {
    padding: var(--spacing-sm) 0;
}

@media (min-width: 768px) {
    .content-wrapper .site-main {
        padding: var(--spacing-md) 0;
    }
}

@media (min-width: 992px) {
    .content-wrapper .site-main {
        padding: var(--spacing-lg) 0;
    }
}

.content-wrapper--single .site-main {
    padding-top: 0;
}

/* Global Typography */
body {
    font-family: var(--font-family-base);
    font-size: var(--font-size-base-mobile);
    line-height: var(--line-height-base);
    font-weight: var(--font-weight-base);
    color: var(--font-color-base);
}

@media (min-width: 768px) {
    body {
        font-size: var(--font-size-base);
    }
}

strong {
    font-weight: 700;
}

.pretitle {
    font-size: 1.125rem;
    text-transform: uppercase;
    color: var(--color-primary-400);
    font-weight: 600;
    margin-bottom: 1.25rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-family-headings);
    line-height: var(--line-height-headings);
    font-weight: var(--font-weight-headings);
    color: var(--font-color-headings)
}

h1,
.fs-h1 {
    font-size: var(--font-size-h1-mobile);
}

@media (min-width: 992px) {
    h1,
    .fs-h1 {
        font-size: var(--font-size-h1);
    }
}

h1 {
    margin: 3rem 0 1.5rem;
}

h2,
.fs-h2 {
    font-size: var(--font-size-h2-mobile);
}

@media (min-width: 992px) {
    h2,
    .fs-h2 {
        font-size: var(--font-size-h2);
    }
}

h2 {
    margin: 3rem 0 1.5rem;
}

h3,
.fs-h3 {
    font-size: var(--font-size-h3-mobile);
}

@media (min-width: 992px) {
    h3,
    .fs-h3 {
        font-size: var(--font-size-h3);
    }
}

h3 {
    margin: 2.5rem 0 1.25rem;
}

h4,
.fs-h4 {
    font-size: var(--font-size-h4-mobile);
}

@media (min-width: 992px) {
    h4,
    .fs-h4 {
        font-size: var(--font-size-h4);
    }
}

h4 {
    margin: 1.75rem 0 1rem;
}

h5,
.fs-h5 {
    font-size: var(--font-size-h5-mobile);
}

@media (min-width: 992px) {
    h5,
    .fs-h5 {
        font-size: var(--font-size-h5);
    }
}

h5 {
    margin: 1.5rem 0 1rem;
}

h6,
.fs-h6 {
    font-size: var(--font-size-h6-mobile);
}

@media (min-width: 992px) {
    h6,
    .fs-h6 {
        font-size: var(--font-size-h6);
    }
}

.fs-xl {
    font-size: var(--font-size-xl-mobile);
}

@media (min-width: 992px) {
    .fs-xl {
        font-size: var(--font-size-xl);
    }
}

h6 {
    margin: 1.25rem 0 1rem;
}

.pretitle + h1,
.pretitle + h2,
.pretitle + h3 {
    margin-top: 0;
}

* > h1:first-child,
* > h2:first-child,
* > h3:first-child,
* > h4:first-child,
* > h5:first-child,
* > h6:first-child,
* > p:first-child {
    margin-top: 0;
}

h1 > a,
h2 > a,
h3 > a,
h4 > a,
h5 > a,
h6 > a {
    color: inherit;
}

h1 > strong,
h2 > strong,
h3 > strong,
h4 > strong,
h5 > strong,
h6 > strong {
    font-weight: 800;
}

* > p:last-child {
    margin-bottom: 0;
}

a {
    transition: all 250ms ease;
    color: inherit;
    text-decoration: none;
}

p {
    margin-bottom: 1rem;
}

mark {
    background-color: var(--color-cyan);
}

sup {
    vertical-align: middle;
}

ul:not([class]),
ol:not([class]) {
    padding-left: 20px;
}

ul:not([class]) li + li,
ol:not([class]) li + li {
    margin-top: 0.75rem;
}

ul:not([class]):last-child {
    margin-bottom: 0;
}

/* Grid */
.container {
    --padding-x: 1.5rem;

    padding-inline: 1.5rem;
    margin-inline: auto;
    max-width: var(--container-width-xs);
    width: 100%;
}

@media (min-width: 576px) {
    .container {
        max-width: var(--container-width-sm);
    }
}

@media (min-width: 768px) {
    .container {
        max-width: var(--container-width-md);
    }
}

@media (min-width: 992px) {
    .container {
        max-width: var(--container-width-lg);
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: var(--container-width-xl);
    }
}

@media (min-width: 1740px) {
    .container {
        max-width: var(--container-width-xxl);
    }
}

@media (min-width: 992px) {
    .container--narrow {
        max-width: 960px;
    }    
}

.container .container--narrow {
    padding-inline: 0;
}

.flex-grid {
    --columns: 1;
    --gap: 2.5rem;
    
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
}

@media (min-width: 992px) {
    .flex-grid {
        --columns: 2;
        --gap: 3.75rem;
    }   

    .flex-grid.c3 {
        --columns: 3;
    } 

    .flex-grid.c4 {
        --columns: 4;
    }   
}

@media (min-width: 1200px) {
    .flex-grid.c4 {
        --columns: 4;
    }   
}

.flex-grid > * {
    flex: 0 1 calc((100% - calc(var(--columns) - 1) * var(--gap)) / var(--columns));
    min-width: 0;
}

.ssltd-blocks-block:not(.alignfull) > .container {
    padding: 0;
}

/*
* Global Form and Input Styling
*/
form {
    --input-font-size: 1rem;
    --input-text-color: var(--font-color-base);
    --input-placeholder-color: var(--color-gray-800);
    --input-bg-color: var(--color-white);
    --input-border-width: 1px;
    --input-border-color: var(--color-gray-400);
    --input-border-radius: 0.5rem;
    --input-padding-x: 1.25rem;
    --input-padding-y: 0.5rem;
    --form-label-color: var(--color-gray-800);
}

input,
textarea,
select {
    font-size: var(--input-font-size);
    background-color: var(--input-bg-color);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="password"],
input[type="date"],
input[type="url"],
textarea,
select {
    border: var(--input-border-width) solid var(--input-border-color);
    border-radius: var(--input-border-radius);
    height: 50px;
    line-height: 50px;
    font-weight: 600;
    color: var(--input-text-color);
    background: var(--input-bg-color);
    padding: var(--input-padding-y) var(--input-padding-x);
    width: 100%;
}

select option {
    color: var(--color-text-dark);
}

::placeholder {
    color: var(--input-placeholder-color);
}

textarea {
    height: 100px;
    line-height: 1.3;
    padding: 1.25rem;
}

form label,
form legend {
    color: var(--form-label-color);
    font-size: 0.75rem;
    margin-bottom: 0.5rem;
}

fieldset {
    padding: 0;
    border: none;
}

input[type="checkbox"] {
    accent-color: var(--color-primary-400);
}

.form-fields-wrapper {
    display: grid;
    gap: 1rem;
}

@media (min-width: 768px) {
    .form-fields-wrapper {
        grid-template-columns: 1fr 1fr;
    }  

    .form-fields-wrapper > .full-width {
        grid-column: 1 / -1;
    }
}

.cf7 .form-fields-wrapper label {
    margin: 0;
}

.wpcf7-form-control-wrap {
    display: block;
    margin-top: 0.375rem;
}

.form-submit-wrapper {
    margin-top: 1.25rem;
}

/* Module - Collapse */
.collapse__btn {
    --icon-color: currentColor;

    appearance: none;
    background: none;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 1rem;
    width: 100%;
    padding: 0;
    font-weight: 700;
    cursor: pointer;
    color: var(--color-text-dark);
    text-decoration: none;
}

.collapse__btn::after,
.more-link::after {
    content: "";
    display: inline-block;
    background-color: var(--icon-color);
    -webkit-mask-image: url(/wp-content/themes/allslotsites-wp-theme/assets/img/icon-chevron-down.svg);
    mask-image: url(/wp-content/themes/allslotsites-wp-theme/assets/img/icon-chevron-down.svg);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% 100%;
    -webkit-mask-size: 100% 100%;
    mask-position: center;
    -webkit-mask-position: center;
    width: 13px;
    height: 8px;
    background-size: 100% 100%;
    margin-left: auto;
    transition: all 0.3s ease-in-out;
}

.more-link::after {
    transform: rotate(-90deg);
    height: 6px;
    width: 10px;
}

.collapse.with-plus-icon .collapse__btn::after {
    -webkit-mask-image: url(/wp-content/themes/allslotsites-wp-theme/assets/img/icon-plus.svg);
    mask-image: url(/wp-content/themes/allslotsites-wp-theme/assets/img/icon-plus.svg);
    width: 10px;
    height: 10px;
}

.collapse__btn[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

.collapse.with-plus-icon .collapse__btn[aria-expanded="true"]::after {
    -webkit-mask-image: url(/wp-content/themes/allslotsites-wp-theme/assets/img/icon-minus.svg);
    mask-image: url(/wp-content/themes/allslotsites-wp-theme/assets/img/icon-minus.svg);
    width: 10px;
    height: 2px;
}

.collapse .collapse__panel {
    display: none;
    padding-bottom: 1.5rem;
}

.collapse[data-expanded="true"] .collapse__panel {
    display: block;
}

/* Module - Tabs */
.bighc-tabs__list {
    display: flex;
    justify-content: center;
    position: relative;
    isolation: isolate;
    min-width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0 2rem;
    overflow-x: auto;
    overflow-y: hidden;
}

@media (min-width: 992px) {
    .bighc-tabs__list {
        gap: 0 4rem;
    }
}

.bighc-tabs__list::after {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-gray-500);
}

.bighc-tabs__list a {
    display: inline-block;
    padding: 0.875rem 0;
    text-decoration: none;
    border-bottom: 3px solid transparent;
    color: var(--color-gray-600);
    font-size: 1rem;
    white-space: nowrap;
}

.bighc-tabs__list a[aria-selected="true"] {
    font-weight: 600;
    color: var(--color-black);
    border-color: currentColor;
}

.bighc-tabs__panel {
    padding-top: 1.25rem;
}

@media (min-width: 768px) {
    .bighc-tabs__panel {
        padding-top: 2rem;
    }   
}

/* Header Styles */
.site-header {
    --header-bg-color: var(--color-body-bg);
    --menu-links-color: var(--color-text-dark);
    --menu-links-underline: var(--color-primary-500);

    background-color: var(--header-bg-color);
    min-height: var(--theme-header-height-mobile);
}

@media (min-width: 992px) {
    .site-header {
        min-height: var(--theme-header-height);
    }   
}

.site-header > .container {
    display: flex;
    align-items: center;
    gap: 0 2rem;
    min-height: var(--theme-header-height-mobile);
    padding-block: 1rem;
}

@media (min-width: 992px) {
    .site-header > .container {
        min-height: var(--theme-header-height);
    } 
}

@media (min-width: 1600px) {
    .site-header > .container {
        gap: 0 3.25rem;
    } 
}

.site-header__brand .brand img {
    position: relative;
    left: -10px;
    height: 36px;
    width: 136px;
}

.site-header__nav {
    height: 100%;
    display: none;
}

@media (min-width: 1200px) {
    .site-header__nav {
        display: block;
    }
}

.site-header__menu {
    display: flex;
    gap: 2rem;
    height: 100%;
}

@media (min-width: 1600px) {
    .site-header__menu {
        gap: 3.25rem;
    }
}

.site-header__nav .menu-item  {
    position: relative;
}

@media (min-width: 992px) {
    .site-header__nav .menu-item  {
        display: flex;
        align-items: center;
    }
}

.site-header__nav .menu-item a {
    position: relative;
    display: inline-block;
    color: var(--menu-links-color);
    font-size: var(--font-size-sm);
    font-weight: 600;
    padding: 0.5rem 0;
    text-decoration: none;
}

.site-header__menu > .menu-item > a::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background: var(--menu-links-underline);
    left: 0;
    bottom: 0;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 300ms ease;
}

@media (hover) {
    .site-header__menu > .menu-item > :hover::after,
    .site-header__menu > .current-menu-item > a::after {
        transform: scaleX(1);
    }
}

.mobile-nav .current-menu-item a {
    color: var(--color-light-blue);
}

.site-header__menu .sub-menu {
    position: absolute;
    top: 100%;
    z-index: 2;
    background-color: var(--header-bg-color);
    min-width: 215px;
    padding: 0.75rem 1.25rem 1.25rem;
    border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.4s ease;
    box-shadow: 0px 10px 11px rgba(0, 0, 0, 0.223);
}

.site-header__menu .sub-menu::after {
    content: "";
    height: 8px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: var(--color-light-blue);
}

.site-header__menu .menu-item.menu-item-has-children:hover .sub-menu,
.site-header__menu .menu-item.menu-item-has-children:focus-within .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: initial;
}

.site-header__menu .sub-menu a:hover,
.site-header__menu .sub-menu a:focus {
    color: var(--color-light-blue);
}

.site-header__cta {
    display: none;
    gap: 1rem;
    margin-left: auto;
}

@media (min-width: 1200px) {
    .site-header__cta {
        display: flex;
    }
}

/* Mobile Navigation */
#hamb-icon {
    position: relative;
    display: inline-block;
    margin-left: auto;
    height: 18px;
    width: 20px;
    cursor: pointer;
    background: none;
    border: none;
}

@media (min-width: 1200px) {
    #hamb-icon {
        display: none;
    }
}

#hamb-icon span.bar {
    position: absolute;
    left: 0;
    height: 2px;
    width: 20px;
    background: var(--menu-links-color);
    transform: translateY(-50%);
}

#hamb-icon span.bar:first-child {
    top: calc(50% - 6px);
}

#hamb-icon span.bar:nth-child(2) {
    top: 50%;
}

#hamb-icon span.bar:nth-child(3) {
    top: calc(50% + 6px);
}

.mobile-menu {
    display: block;
}

@media (min-width: 1200px) {
    .mobile-menu {
        display: none;
    }
}

.mobile-menu {
    position: fixed;
    isolation: isolate;
    z-index: 9999;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    pointer-events: none;
    visibility: hidden;
    transition: all 400ms ease;
    opacity: 0;
}

.mobile-menu[data-menu-active="true"] {
    visibility: visible;
    pointer-events: initial;
    opacity: 1;
}

.mobile-menu .mobile-menu__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem 0;
}

.mobile-menu .mobile-menu__header img {
    height: 34px;
}

.mobile-menu .mobile-menu__close {
    background: none;
    border: none;
    padding: 0;
    color: var(--font-color-base);
}

.mobile-menu .mobile-menu__close svg {
    height: 24px;
    width: 24px;
}

.mobile-menu .mobile-menu__main {
    transform: translateX(-100%);
    transition: transform 400ms ease;
    min-height: 100vh;
    max-width: 550px;
    width: 100%;
    background-color: var(--color-white);
    z-index: 1;
    padding: 0 1.5rem;
}

.mobile-menu[data-menu-active="true"] .mobile-menu__main {
    transform: translateX(0);
}

.mobile-menu .mobile-menu__nav {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    justify-content: space-between;
    height: calc(100vh - 82px);
    overflow-y: auto;
    padding-bottom: 1.25rem;
}

.mobile-menu .mobile-menu__nav li {
    margin: 0.5rem 0;
}

.mobile-menu .mobile-menu__nav a {
    padding: 0.75rem 0;
    text-decoration: none;
    font-weight: 600;
}

.mobile-menu__nav li.menu-item-has-children {
    position: relative;
    display: grid;
    align-items: center;
    grid-template-columns: 1fr auto;
    gap: 0 1.25rem;
}

.mobile-menu__nav li.menu-item-has-children a {
    grid-column: 1 / -1;
    grid-row: 1;
}

.mobile-menu__nav li.menu-item-has-children::after {
    grid-column: 2;
    grid-row: 1;
}

.mobile-menu__nav li.menu-item-has-children .sub-menu {
    grid-column: 1 / -1;
    grid-row: 2;
    max-height: 0;
    overflow: hidden;
    pointer-events: none;
    transition: max-height 0.4s ease;
}

.mobile-menu__nav li.menu-item-has-children.is-active .sub-menu {
    max-height: 500px;
    pointer-events: initial;
}

.mobile-menu__nav li.menu-item-has-children::after {
    content: "";
    background-image: url(../img/icon-chevron-down.svg);
    display: inline-block;
    width: 13px;
    height: 8px;
    transition: transform 0.3s ease;
    pointer-events: none;
}

.mobile-menu__nav li.menu-item-has-children.is-active::after {
    transform: rotate(180deg);
}

.mobile-menu__nav li.menu-item-has-children .sub-menu a {
    padding-left: 1.25rem;
}

.mobile-menu__cta {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mobile-menu .mobile-menu__overlay {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: rgba(0, 0, 0, .3);
    height: 100vh;
    width: 100%;
}

.mobile-menu__menu a {
    display: block;
    padding: 0.35rem 0;
}

/* Breadcrumbs */
.site-breadcrumbs {
    padding: 1.5rem 0;
    color: var(--color-dark-blue);
}

@media (min-width: 992px) {
    .site-breadcrumbs {
        padding: 1.75rem 0;
    }   
}

.site-breadcrumbs a {
    text-decoration: none;
}

@media (hover) {
    .site-breadcrumbs a:hover {
        text-decoration: underline;
    }
}

.site-breadcrumbs .breadcrumb_last {
    font-weight: 700;
}

.site-breadcrumbs .separator {
    margin: 0 0.35rem;
}

/* Global Blocks Styling */
.block-header,
.section-header {
	max-width: 100%;
    margin-bottom: 1.75rem;
}

@media (min-width: 768px) {
    .block-header,
    .section-header {
        margin-bottom: 2.5rem;
    }
}

.block-title,
.section-title {
    font-size: var(--font-size-h1-mobile);
}

@media (min-width: 992px) {
    .block-title,
    .section-title {
        font-size: var(--font-size-h1);
    }
}

.block-header.centered {
    text-align: center;
}

/* Buttons global */
.btn,
.wp-block-button .wp-block-button__link {
    --btn-text-color: var(--color-text-light);
    --btn-bg-color: var(--color-primary-900);
    --btn-text-color-hover: var(--color-text-light);
    --btn-bg-color-hover: var(--color-primary-800);

    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 50px;
    padding: 0.75rem 1.5rem;
    line-height: 1;
    border-radius: 0.5rem;
    font-size: var(--font-size-sm);
    font-weight: 600;
    transition: all var(--transition-default) ease;
    text-align: center;
    background-color: var(--btn-bg-color);
    color: var(--btn-text-color);
    border: none;
    cursor: pointer;
}

.btn:hover,
.btn:focus,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus {
    text-decoration: none;
    background-color: var(--btn-bg-color-hover);
    color: var(--btn-text-color-hover);
}

.btn--secondary {
    --btn-text-color: var(--color-text-dark);
    --btn-bg-color: var(--color-primary-100);
    --btn-text-color-hover: var(--color-text-dark);
    --btn-bg-color-hover: var(--color-primary-200);
}

.btn--link {
    --btn-text-color: var(--color-text-dark);
    --btn-bg-color: transparent;
    --btn-text-color-hover: var(--color-text-dark);
    --btn-bg-color-hover: transparent;

    appearance: none;
    background: none;
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
}

.bg-primary-900 .btn--link {
    --btn-text-color: var(--color-primary-100);
    --btn-text-color-hover: var(--color-primary-100);
}

.btn--link:hover {
    text-decoration: underline;
}

.btn[disabled] {
    opacity: 0.8;
    cursor: initial;
}

.btns-wrapper,
.content-wrapper .wp-block-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1.25rem;
}

.btns-wrapper {
    margin-top: 2.25rem;
}

.wp-block-buttons {
    margin: 1.5rem 0;
}

/* Global Cards styling */
.card {
    border-radius: var(--border-radius);
    padding: 1.25rem;
}

@media (min-width: 992px) {
    .card {
        padding: 2.5rem;
    }

    .card--lg {
        padding: 4rem;
    }
}

/* Utility classes */
.bg-primary-50 {
    background-color: var(--color-primary-50) !important;
}

.bg-primary-400 {
    background-color: var(--color-primary-400) !important;
    color: var(--color-text-light);
}

.bg-primary-800 {
    background-color: var(--color-primary-800) !important;
    color: var(--color-text-light);
}

.bg-primary-900 {
    background-color: var(--color-primary-900) !important;
    color: var(--color-text-light);
}

.bg-primary-400 *:not(.btn):not(svg):not(svg *):not(.pretitle),
.bg-primary-800 *:not(.btn):not(svg):not(svg *):not(.pretitle),
.bg-primary-900 *:not(.btn):not(svg):not(svg *):not(.pretitle) {
    color: var(--color-text-light);
}

.text-white,
.text-white *:not(.btn):not(svg):not(svg *) {
    color: var(--color-text-light) !important;
}

.rounded {
    border-radius: 1.5rem !important;
}

.pt-0 {
    padding-top: 0 !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.btn-unstyled {
    background: none;
    padding: 0;
    border: none;
}

.screenreader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}

.block-spacing,
.section-spacing {
    margin-top: var(--section-spacing);
	margin-bottom: var(--section-spacing);
}   

.block-padding,
.section-padding {
    padding-top: var(--section-spacing);
    padding-bottom: var(--section-spacing);
}

.page-header {
    margin-bottom: 3rem;
}

.page-header__title {
    color: var(--color-text-dark);
}

/*
* Splide slider global.
*/
/* .splide__list {
    transition: height .2s;
}

.splide .splide__arrow,
.wp-block-splide-carousel .splide__arrows .splide__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    box-shadow: none;
    padding: 0.5rem 1rem;
    cursor: pointer;
    color: var(--color-light-blue);
}

@media (min-width: 992px) {
    .splide .splide__arrow,
    .wp-block-splide-carousel .splide__arrows .splide__arrow {
        padding: 0;
        background-color: var(--color-light-blue);
        color: var(--color-white);
        border-radius: 50%;
        height: 40px;
        width: 40px;
        display: inline-grid;
        place-items: center;
    }   
}

.splide .splide__arrow[disabled],
.wp-block-splide-carousel .splide__arrows .splide__arrow[disabled] {
    pointer-events: none;  
    color: var(--color-gray);
    opacity: 1;
}

@media (min-width: 992px) {
    .splide .splide__arrow[disabled],
    .wp-block-splide-carousel .splide__arrows .splide__arrow[disabled] {
        background-color: var(--color-gray);
        color: var(--color-white);
    }  
}

.splide .splide__arrow--prev {
    left: 0;
    padding-left: 0;
}

.wp-block-splide-carousel .splide__arrows .splide__arrow--prev {
    left: -50px;
}

.splide .splide__arrow--next {
    right: 0;
    padding-right: 0;
}

.wp-block-splide-carousel .splide__arrows .splide__arrow--next {
    right: -50px;
}

.splide .splide__arrow svg {
    height: 13px;
    width: auto;
}

.wp-block-splide-carousel .splide__arrows .splide__arrow svg {
    fill: var(--color-white);
}

.splide .splide__arrow--prev svg {
    transform: rotate(180deg);
}

.splide .bottom-navigation {
    margin-top: 1.75rem;
}

.splide .bottom-navigation .splide__pagination {
    margin-top: 0;
}

.splide .splide__pagination {
    --dot-size: 12px;
    --dot-color: var(--color-gray);
    --dot-color-active: var(--color-light-blue);

    display: flex;
    gap: 0.75rem;
    align-items: center;
    justify-content: center;
    margin-top: 1.5rem;
}

.wp-block-splide-carousel .splide__pagination {
    position: relative;
    bottom: unset;
    margin-top: 2rem;
}

.splide.splide__pagination li {
    height: var(--dot-size);
    width: var(--dot-size);
}

.splide .splide__pagination button {
    display: block;
    padding: 0;
    margin: 0;
    border: none;
    box-shadow: none;
    background: none;
    height: var(--dot-size);
    width: var(--dot-size);
    background-color: var(--dot-color);
    border-radius: 50%;
    cursor: pointer;
}

.splide .splide__pagination button.is-active {
    background-color: var(--dot-color-active);
}

.splide .bottom-navigation .splide__arrows {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.splide .bottom-navigation .splide__arrow {
    position: unset;
    transform: unset;
    background: none;
    color: var(--color-light-blue);
} */

/* Footer Styles */
.site-footer {
    padding: 2.5rem 0;
}

.site-footer ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

.site-footer a {
    text-decoration: none;
}

.site-footer * {
    font-size: 0.875rem;
}

.site-footer a:hover {
    text-decoration: underline;
}

.site-footer > .container {
    display: flex;
    flex-direction: column;
    gap: 1rem 2rem;
}

@media (min-width: 992px) {
    .site-footer > .container {
        flex-direction: row;
        justify-content: space-between;
        align-items: end;
        gap: 1rem 4rem;
    }   
}

.site-footer__main {
    display: flex;
    flex-direction: column;
    gap: 1rem 2rem;
}

@media (min-width: 992px) {
    .site-footer__main {
        flex-direction: row;
        align-items: end;
        gap: 1rem 4rem;
    }   
}

.site-footer__text p {
    margin-bottom: 0;
}

.site-footer__text p:not(:last-child) {
    margin-bottom: 0.375rem;
}

.site-footer .footer-menu {
    display: flex;
    flex-direction: column;
    gap: 1rem 2rem;
}

@media (min-width: 992px) {
    .site-footer .footer-menu {
        flex-direction: row;
        align-items: center;
        gap: 1rem 4rem;
    }
}

.site-footer .footer-menu a {
    text-decoration: underline;
}

.site-footer .footer-menu a:hover {
    text-decoration: none;
}

.site-footer__socials .site-footer__social {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.site-footer__socials .site-footer__social:hover {
    text-decoration: none;
}

.site-footer__socials .site-footer__social svg {
    height: 24px;
    width: 24px;
}

/**
* Blocks styling.
*
*/

.bighc-blocks-block {
    position: relative;
    isolation: isolate;
}

/* Hero block */
.bighc-blocks-block--hero {
    --padding-top: 2.5rem;
    --padding-bottom: 2.5rem;

    min-height: 600px;
    margin-bottom: var(--section-spacing);
}

@media (min-width: 992px) {
    .bighc-blocks-block--hero {
        --padding-top: 5rem;
        --padding-bottom: 5rem;
    }
}

.bighc-blocks-block--hero.has-image {
    --padding-bottom: 140px;
}

@media (min-width: 600px) {
    .bighc-blocks-block--hero.has-image {
        --padding-bottom: 180px;
    }
}

@media (min-width: 768px) {
    .bighc-blocks-block--hero.has-image {
        --padding-bottom: 250px;
    }
}

@media (min-width: 992px) {
    .bighc-blocks-block--hero.has-image {
        --padding-bottom: 300px;
    }
}

.bighc-blocks-block--hero__content {
    position: relative;
    z-index: 2;
    isolation: isolate;
    background-color: var(--color-primary-900);
    overflow: hidden;
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.bighc-blocks-block--hero__content::before,
.bighc-blocks-block--hero__content::after {
    content: "";
    position: absolute;
    z-index: -1;
    background-color: var(--color-primary-400);
    filter: blur(120px);
    border-radius: 50%;
    pointer-events: none;
}

.bighc-blocks-block--hero__content::before {
    top: -23%;
    left: 6%;
    width: 250px;
    aspect-ratio: 494 / 295;
}

.bighc-blocks-block--hero__content::after {
    bottom: -57%;
    right: -22%;
    width: 600px;
    aspect-ratio: 1086 / 649;
}

@media (min-width: 992px) {
    .bighc-blocks-block--hero__content::before {
        width: 494px;
    }

    .bighc-blocks-block--hero__content::after {
        width: 1086px;
    }
}

.bighc-blocks-block--hero__content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.bighc-blocks-block--hero .letter-b {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    z-index: -1;
}

.bighc-blocks-block--hero__content > .container {
    max-width: 880px;
}

.bighc-blocks-block--hero__cta {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 2.25rem;
}

@media (min-width: 600px) {
    .bighc-blocks-block--hero__cta {
        flex-direction: row;
        justify-content: center;
    }   
}

.bighc-blocks-block--hero__content .btn--link {
    --btn-text-color: var(--color-primary-100);
    --btn-text-color-hover: var(--color-primary-100);
}

.bighc-blocks-block--hero.home-hero .bighc-blocks-block--hero__content .btn--link {
    position: relative;
}

.bighc-blocks-block--hero.home-hero .bighc-blocks-block--hero__content .btn--link::before {
    content: "";
    display: inline-block;
    height: 24px;
    width: 24px;
    background-size: 100% 100%;
    background-image: url(../img/icon-play.svg);
}

.bighc-blocks-block--hero__image {
    position: relative;
    z-index: 3;
    margin-top: calc(calc(var(--padding-bottom) * -1) + 2.5rem);
}

.bighc-blocks-block--hero__image > .container {
    display: flex;
    justify-content: center;
}

.bighc-blocks-block--hero__image img {
    max-height: 350px;
    max-width: 70vw;
}

@media (min-width: 992px) {
    .bighc-blocks-block--hero.home-hero .bighc-blocks-block--hero__image img {
        margin-right: 10rem;
    }
}

/* Text Media Slider block */
.text-media-slider {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--row-gap-global) calc(var(--column-gap-global) * 2);
}

@media (min-width: 992px) {
    .text-media-slider {
        grid-template-columns: 1fr 1fr;
    }
}

.text-media-slider__tabs {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.text-media-slider__tab {
    position: relative;
    padding: 1.125rem 0 1.125rem 2.25rem;
}

.text-media-slider__tab::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 8px;
    border-radius: 0.25rem;
    background-color: var(--color-gray-300);
}

.text-media-slider__tab.is-active::after {
    background-color: var(--color-primary-400);
}

.text-media-slider__tab-title {
    margin: 0;
}

.text-media-slider__tab-trigger  {
    display: block;
    width: 100%;
    cursor: pointer;
    text-align: left;
}

.text-media-slider__tab-text {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    visibility: hidden;
    transition: grid-template-rows 0.4s ease, opacity 0.4s ease, visibility 0s 0.4s;
}

.text-media-slider__tab-text-inner {
    overflow: hidden;
}

.text-media-slider__tab-text-inner :first-child {
    margin-top: 1.5rem;
}

.text-media-slider__tab.is-active .text-media-slider__tab-text {
    grid-template-rows: 1fr;
    opacity: 1;
    visibility: visible;
    transition: grid-template-rows 0.4s ease, opacity 0.4s ease, visibility 0s 0s;
}

/* Tabs block */
.bighc-blocks-block--tabs {
    max-width: 1150px;
    margin-inline: auto;
}

.bighc-blocks-block--tabs__tab-inner {
    display: grid;
    gap: var(--row-gap-global) var(--column-gap-global);
}

@media (min-width: 992px) {
    .bighc-blocks-block--tabs__tab-inner {
        align-items: center;
        grid-template-columns: 1fr 1fr;
    }   
}

.bighc-blocks-block--tabs__tab-button {
    margin-top: 1.5rem;
}

/* CTA block */
.bighc-blocks-block--cta.contained .bighc-blocks-block--cta__inner {
    position: relative;
    isolation: isolate;
    border-radius: var(--border-radius);
}

.bighc-blocks-block--cta__content {
    text-align: center;
    padding-inline: 1.25rem;
}

@media (min-width: 992px) {
    .bighc-blocks-block--cta__content {
        padding-inline: 2rem;
    }
}

.bighc-blocks-block--cta__title {
    text-wrap: balance;
}

.bighc-blocks-block--cta__description {
    max-width: 850px;
    margin-inline: auto;
}

.bighc-blocks-block--cta__content .btns-wrapper {
    justify-content: center;
}

.circles {
    position: absolute;
    bottom: 0;
    left: 30px;
    height: 156px;
    width: 312px;
    z-index: -1;
    pointer-events: none;
}

.has-circles-top .circles {
    bottom: unset;
    top: 0;
    transform: rotate(180deg);
}

.has-circles-left .circles {
    bottom: unset;
    top: 50%;
    left: 0;
    transform: translate(-25%, -50%) rotate(90deg);
}

/* Testimonials block */
.bighc-blocks-block--testimonials__testimonials {
    display: grid;
    gap: var(--row-gap-global) var(--column-gap-global);
}

@media (min-width: 768px) {
    .bighc-blocks-block--testimonials__testimonials {
        grid-template-columns: 1fr 1fr;
    }   
}

.bighc-blocks-block--testimonials__testimonial {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2.25rem;
}

.bighc-blocks-block--testimonials__author {
    display: flex;
    gap: 1.5rem;
    align-items: center;
}

.bighc-blocks-block--testimonials__thumbnail {
    height: 80px;
    width: 80px;
    border-radius: 50%;
    overflow: hidden;
}

.bighc-blocks-block--testimonials__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bighc-blocks-block--testimonials__name,
.bighc-blocks-block--testimonials__position {
    font-size: 1rem;
    font-weight: 500;
}

.bighc-blocks-block--testimonials__name {
    margin-bottom: 0.5rem;
}

.bighc-blocks-block--testimonials__position {
    color: var(--color-primary-200) !important;
}

/* Contact block */
.bighc-blocks-block--contact__inner {
    display: grid;
    gap: var(--row-gap-global) var(--column-gap-global);
}

@media (min-width: 992px) {
    .bighc-blocks-block--contact__inner {
        grid-template-columns: 5fr 7fr;
        align-items: center;
    }
}

.big-letters {
    position: absolute;
    top: 0;
    left: 0;
    height: 134px;
    width: 444px;
}

/* Accordion block */
.wp-block-accordion {
    margin-top: 1.25rem;
    margin-bottom: 2.25rem;
}
.wp-block-accordion:not(.is-style-with-chevron) .wp-block-accordion-item {
    border-bottom: 1px solid var(--color-border);
}

.wp-block-accordion .wp-block-accordion-heading {
    margin: 0;
}

.wp-block-accordion .wp-block-accordion-heading__toggle {
    gap: 2rem;
    padding-block: 1.25rem;
}

.wp-block-accordion .wp-block-accordion-heading__toggle-icon {
    position: relative;
    flex: 0 0 1rem;
    height: 1rem;
    font-size: 0;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
    text-decoration: none;
}

.wp-block-accordion .wp-block-accordion-panel {
    padding-bottom: 1.5rem;
}

.wp-block-accordion .wp-block-accordion-panel :first-child {
    margin-top: 0;
}

.wp-block-accordion .wp-block-accordion-panel :last-child {
    margin-bottom: 0;
}

.wp-block-accordion-item .wp-block-accordion-heading__toggle-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background-image: url(../img/icon-plus-blue.svg);
    background-size: 100% 100%;
    background-position: center center;
    height: 1rem;
    width: 1rem;
}

.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
    transform: none;
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon::before {
    background-image: url(../img/icon-minus-blue.svg);
}

/* Accordion block - Chevron variant */ 
.wp-block-accordion.is-style-with-chevron {
    margin-top: 2.25rem;
    padding: 0.25rem 1.5rem;
    background-color: var(--color-light-gray);
}

.wp-block-accordion.is-style-with-chevron .wp-block-accordion-item .wp-block-accordion-heading__toggle-icon::before {
    background-image: url(../img/icon-chevron-down-blue.svg);
    width: 1rem;
    height: auto;
    aspect-ratio: 13 / 8;
}

.wp-block-accordion.is-style-with-chevron .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon::before {
    transform: rotate(180deg);
}