/**
 * Theme Name: RedBay
 * Template:   twentytwentyone
 */

 :root {
    --primary: #A51C30;
    --secondary: #CCA5AA;
    --complimentary: #EEEEEE;
    --secondary-light: #FFCED5;
    --background: #FFFDFB;
    --body: #240000;
    --white: #FFF;
    --black: #000;
    --error: #E62D2D;
    --success: #78C51C;
    --validation: #F3C800;
    --font-awesome: 'Font Awesome 6 Pro';
    --font: 'Geologica', sans-serif;
}

* {
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    scroll-padding-top: 7.5rem;
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: var(--font);
    color: var(--body);
    background: var(--background);
}

a, 
a img {
    color: inherit;
    transition: all .3s;
}

a:hover {
    color: var(--secondary);
}

a:hover img {
    opacity: .8;
}

img {
    max-width: 100%;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-weight: 500;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    margin: 1rem 0 1.5rem;
}

h1, .h1 {
    font-size: 3.125rem;
    line-height: 120%;
}

h2, .h2 {
    font-size: 3.125rem;
    line-height: 110%;
}

h3, .h3 {
    font-size: 2.5rem;
    line-height: normal;
}

h3, 
.underlined {
    text-decoration: underline;
    text-decoration-color: var(--primary);
    text-decoration-thickness: 6%;
    text-underline-offset: 12%;
    text-underline-position: from-font;
}

h4, .h4 {
    font-size: 1.75rem;
    line-height: normal;
}

h5, .h5 {
    font-size: 1.5625rem;
    line-height: normal;
}

h6, .h6 {
    font-size: 1rem;
    line-height: normal;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1.6px;
}

p, ol, ul {
    margin: 0 0 1.5rem;
    font-weight: 300;
    font-size: 1.125rem;
    line-height: 150%;
}

p:last-of-type {
    margin-bottom: 0;
}

p strong {
    font-weight: 500;
}

.text_small {
    font-size: .875rem;
    line-height: 140%;
    font-weight: 300;
}

.text_medium {
    font-size: 1.5rem;
}

.text_large {
    font-size: 2.25rem;
}

.text_primary {
    color: var(--primary);
}

.text_secondary {
    color: var(--secondary);
}

.text_black {
    color: var(--black);
}

.text_white {
    color: var(--white);
}

.text_complimentary {
    color: var(--complimentary);
}

.text_uppercase {
    text-transform: uppercase;
}

.align_right, 
.align_end {
    text-align: right;
}

.align_center {
    text-align: center;
}

.align_left, 
.align_start {
    text-align: left;
}

.underline_none {
    text-decoration: none;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mt0 {
    margin-top: 0 !important;
}

.mb1 {
    margin-bottom: 1rem !important;
}

.mt1 {
    margin-top: 1rem !important;
}

.mb2 {
    margin-bottom: 2rem !important;
}

.mt2 {
    margin-top: 2rem !important;
}

.background_color_red h3, 
.background_color_red .h3 {
    text-decoration-color: var(--white);
}

.section {
    padding: 6.25rem 0;
}

.background_color_red {
    background-color: var(--primary);
    color: var(--white);
}

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

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

.background_color_grey {
    background-color: var(--complimentary);
    color: var(--black);
}

.background_image {
    background-size: cover;
    background-position: 50%;
    position: relative;
    z-index: 1;
}

.overlay:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    opacity: .6;
    z-index: 2;
    pointer-events: none;
}

.background_image.overlay > .container {
    z-index: 3;
}

.background_color_white.overlay:after {
    background-color: var(--white);
}

.background_color_red.overlay:after {
    background-color: var(--primary);
}

.background_color_black.overlay:after {
    background-color: var(--black);
}

.button, 
.wp-element-button {
    padding: 1rem 2rem;
    border-radius: 2rem;
    font-size: 1.125rem;
    font-weight: 300;
    font-family: var(--font);
    line-height: 150%;
    display: inline-block;
    text-decoration: none;
    background: var(--primary);
    color: var(--white);
    border: 2px solid var(--primary);
    transition: all .3s;
}

.button:hover, 
.wp-element-button:hover, 
form input[type="submit"]:hover {
    background: var(--white);
    color: var(--primary);
    text-decoration: none;
}

.button--white {
    background: var(--white);
    color: var(--primary);
    border-color: var(--white);
}

.button--white:hover {
    background: var(--primary);
    color: var(--white);
}

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

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

.button--circle {
    width: 3.5rem;
    height: 3.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.125rem 1rem;
}

.button--circle .icon {
    font-size: 2rem;
    transition: all .3s;
}

.button--circle:hover .icon {
    transform: rotate(-90deg);
}

.button--text {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-top: 2rem;
    margin-right: 4.25rem;
    height: 4rem;
    position: relative;
    display: flex;
    width: fit-content;
    align-items: center;
    transition: all .3s;
    font-weight: 500;
}

.button--text:hover {
    background: transparent;
    color: var(--white);
}

.button--text:after {
    content: '\e09f';
    position: absolute;
    font-family: var(--font-awesome);
    width: 3.375rem;
    height: 3.375rem;
    right: -4.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    border: 2px solid var(--white);
    color: var(--primary);
    border-radius: 50%;
    font-size: 2rem;
    font-weight: 300;
    transition: all .3s;
}

.button--text:hover:after {
    transform: rotate(90deg);
    background: transparent;
    color: var(--white);
}

.button span.icon {
    margin-right: .5rem;
}

.button--fluid {
    width: 100%;
    text-align: center;
}

.background_color_white .button--text {
    color: var(--black);
}

.background_color_white .button--text:after {
    background: var(--primary);
    color: var(--white);
}

.background_color_red .button:not(.button--text) {
    background-color: var(--white);
    color: var(--primary);
    border-color: var(--white);
}

.background_color_red .button:not(.button--text):hover {
    background-color: transparent;
    color: var(--white);
}

.container {
    max-width: 1280px !important;
    position: relative;
}

.container--large {
    max-width: 1440px !important;
}

.container--small {
    max-width: 1024px !important;
}

/* HEADER AND NAVIGATION */

header.header {
    margin-top: 4.625rem;
    z-index: 10;
    position: absolute;
    top: 0;
    width: 100%;
}

.header_inner {
    background-color: rgba(0, 0, 0, .24);
    border: 2px solid var(--primary);
    border-radius: 6.25rem;
    padding: 0 1.5rem;
    backdrop-filter: blur(6px);
    box-shadow: 0 0 8px 0 rgba(160, 160, 160, 0.50) inset, 0 2px 14px 8px rgba(0, 0, 0, 0.10);
    transition: border-radius 0s 0.3s, background-color .3s;
}

header.header .logo {
    display: block;
    line-height: 0;
}

header.header .logo img {
    max-height: 86px;
    line-height: 0;
    padding-left: .375rem;
}

.logo {
    display: block;
}

.header_red .header_inner {
    border-color: white;
    background-color: rgba(255, 255, 255, .15);
    box-shadow: 0 0 8px 0 rgba(160, 160, 160, 0.50) inset, 0 2px 14px 8px rgba(0, 0, 0, 0.10);
}

.header_red .header_inner .logo img {
    filter: brightness(0) invert(1);
}

.trigger {
    position: relative;
    width: 1.625rem;
    height: 1.625rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
}

.trigger span {
    display: block;
    height: 2px;
    width: 100%;
    background: var(--white);
    margin: .1875rem 0;
    transition: all .3s;
}

.trigger.open span:first-child {
    position: absolute;
    transform: rotate(45deg);
    top: 9px;
}

.trigger.open span:last-child {
    transform: rotate(-45deg);
    position: absolute;
    top: 9px;
}

nav.main_nav {
    width: 100%;
}

nav.main_nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
}

nav.main_nav ul li {
    margin: 0 1rem;
    cursor: pointer;
}

nav.main_nav ul li a {
    text-decoration: none;
    color: var(--white);
}

nav.main_nav ul li a:hover {
    color: var(--secondary);
}

.main_nav > ul > li:last-of-type {
    margin-left: auto;
    width: 25%;
    display: flex;
    justify-content: flex-end;
    margin-right: 0;
}

nav.main_nav ul li:first-child {
    margin-left: auto;
}

.main_nav > ul > li:last-of-type a {
    background: var(--white);
    border: 2px solid var(--white);
    padding: 1rem 2rem;
    border-radius: 2rem;
    color: var(--primary);
}

.main_nav > ul > li:last-of-type a:after {
    content: '\f061';
    font-family: var(--font-awesome);
    margin-left: .5rem;
    font-weight: 300;
}

.main_nav > ul > li:last-of-type a:hover {
    background: transparent;
    color: var(--white);
}

nav.main_nav > ul > li > ul.sub-menu {
    display: none;
}

header.header.open .header_inner {
    border-radius: 2.75rem;
    backdrop-filter: blur(6px);
    transition: border-radius 0s 0s, background-color .3s;
}

.main_nav .sub-menu-toggle {
    display: none;
}

.main_nav li.current-menu-item > a, 
.sub_nav li.current-menu-item > a  {
    color: var(--secondary);
}

.main_nav li.mega-menu {
    position: relative;
    padding-right: 2rem;
}

.main_nav li.mega-menu:after {
    content: '\f078';
    position: absolute !important;
    width: 2rem;
    height: 100%;
    top: 0;
    right: 0;
    font-family: var(--font-awesome);
    font-size: 1.125rem;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    transition: all .3s;
}

.main_nav li.mega-menu.open:after {
    transform: rotate(-180deg);
}

.sub_nav {
    max-height: 0;
    overflow: hidden;
    padding: 0 4.25rem;
    transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
}

.sub_nav.open {
    max-height: 500px;
    padding: 2rem 4.25rem;
}

.sub_nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    color: var(--white);
}

.sub_nav > ul > li.menu-item-has-children {
    width: 33.333%;
}

.sub_nav > ul > li {
    width: 100%;
}

.sub_nav > ul > li > a {
    font-size: 25px;
    margin-bottom: 1rem;
}

.sub_nav ul.sub-menu {
    display: block;
}

.sub_nav a {
    text-decoration: none;
    display: block;
}

.sub_nav .sub-menu a {
    font-size: .875rem;
}

.header_white nav.main_nav ul li a:hover, 
.header_white .sub_nav a:hover, 
.header_white .main_nav li.current-menu-item > a, 
.header_white .sub_nav li.current-menu-item > a {
    color: var(--primary);
}

.header_white .main_nav > ul > li:last-of-type a:hover {
    color: var(--white) !important;
}

.mobile_nav {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
}

.mobile_nav.open {
    max-height: fit-content;
}

.mobile_nav ul {
    color: var(--white);
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile_nav ul.sub-menu {
    max-height: 0;
    overflow: hidden;
    margin: 0 1rem;
    transition: max-height 0.3s ease-in-out, margin 0.3s ease-in-out;
}

.mobile_nav > ul {
    padding: 1rem 1rem 2rem;
}

.mobile_nav > ul > li {
    margin: .75rem 0;
}

.mobile_nav a {
    text-decoration: none;
}

.mobile_nav > ul > li:last-child a {
    display: block;
    width: fit-content;
    background: white;
    color: var(--primary);
    padding: .75rem 1.5rem;
    border-radius: 2rem;
    margin-top: 2rem;
}

.mobile_nav .sub-menu-toggle[aria-expanded="true"] ~ .sub-menu {
    max-height: 1000px;
    margin: 1.25rem 1rem 2rem;
}

.mobile_nav .sub-menu-toggle[aria-expanded="true"] ~ .sub-menu ul {
    max-height: 1000px;
}

.mobile_nav ul.sub-menu li.menu-item-has-children {
    margin: 0 0 1rem;
}

.mobile_nav ul.sub-menu ul.sub-menu li {
    margin: 0;
    font-size: .875rem;
}

.mobile_nav > ul > li > ul.sub-menu > li > a {
    font-size: 1.125rem;
    line-height: 1.2em;
    display: block;
    margin-bottom: 1rem;
}

.mobile_nav .sub-menu-toggle span.icon-plus svg,
.mobile_nav li.menu-item-has-children > a:after {
    display: none !important;
}

.mobile_nav .sub-menu-toggle .icon-minus {
    display: none;
}

.mobile_nav .sub-menu-toggle {
    background: transparent;
    border: none;
    width: 30px;
    height: 30px;
    color: var(--white);
}

.mobile_nav .sub-menu-toggle span.icon-plus:after {
    content: '\f078';
    font-family: 'Font Awesome 6 Pro';
    font-size: 1.125rem;
}

.mobile_nav .sub-menu-toggle[aria-expanded="true"] span.icon-plus:after {
    content: '\f077';
}

.mobile_nav li.current-menu-item > a {
    font-weight: 700;
    color: var(--secondary);
}

.mobile_nav li.current-menu-ancestor > ul {
    display: block;
}

.mobile_nav li.current-menu-ancestor > a {
    font-weight: 700;
}

/* FOOTER */

.footer {
    background: url('/wp-content/themes/twentytwentyone-child/images/redbay_footer_bg.png') var(--black) 50% 100% / 100% no-repeat;
    border-top: 2px solid var(--primary);
    color: var(--white);
    padding: 3.5rem 0;
}

.footer .strapline {
    margin: 3.75rem 0 4.5rem;
}

.footer .logo img {
    max-width: 34.5rem;
    width: 100%;
}

.footer .linkedin img {
    max-width: 6.25rem;
}

.footer_nav ul, 
.legal_nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer_nav a, 
.legal_nav a {
    text-decoration: none;
}

.footer_nav li {
    line-height: 1em;
}

.footer_nav a {
    margin-bottom: .75rem;
    display: block;
}

.footer_nav > ul > li > a {
    font-weight: 500;
    color: var(--primary);
}

.footer_nav ul.sub-menu a {
    font-size: .875rem;
}

.legal_nav ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    opacity: .6;
    margin-top: 1.25rem;
}

.legal_nav ul li {
    margin-right: 1rem;
    font-size: .875rem;
    line-height: 1em;
}

/* HERO */

.section.hero {
    padding: 36.875rem 0 3.75rem;
    margin-top: -10.625rem;
}

.home .hero h1 {
    font-size: 5.635rem;
    line-height: 6.25rem;
}

.hero h1 strong {
    color: var(--primary);
    font-weight: 500;
}

.hero.background_color_red h1 strong {
    color: var(--white);
}

/* LOGOS */

.logo_slider__logo img {
    max-height: 120px;
    max-width: 195px;
    padding: 1.5rem;
}

/* IMAGE + TEXT */

.image_text {
    margin-top: 5.75rem;
    background-image: url('/wp-content/themes/twentytwentyone-child/images/redbay_r.png');
    background-position: 0 50%;
    background-repeat: no-repeat;
    background-size: auto 100%;
}

.image_text__image {
    margin-top: -12rem;
    line-height: 0;
}

.before_image_text {
    padding-bottom: 12rem !important;
}

.before_image_text ~ .image_text {
    margin-top: 0;
    position: relative;
    z-index: 1;
}

/* COLUMN */

@media (min-width: 768px) {

    .column .col-12, 
    .column .container {
        padding: 0 2rem;
    }

    .column .row {
        margin-left: calc(var(--bs-gutter-x) * -1.25);
        margin-right: calc(var(--bs-gutter-x) * -1.25);
    }

}

/* STYLED LIST */

ul.list_items, 
ul.tick_list {
    list-style: none;
    padding: 0;
    margin: 0;
}

ul.list_items li, 
ul.tick_list li {
    position: relative;
    padding: 1.125rem 3.5rem 1.125rem 4.5rem;
    margin: 1.5rem 0;
    font-size: 1.5625rem;
    line-height: 1.2em;
    font-weight: 400;
    color: var(--white);
    border-radius: 2.5rem;
    border: 2px solid var(--black);
    background: rgba(0, 0, 0, .25);
    box-shadow: 0 0 20px 7px #1D0004 inset, 2px 2px 0.5px -2px #000 inset, -2px -2px 0.5px -2px #000 inset, 0 0 8px 0 rgba(160, 160, 160, 0.50) inset, 0 2px 10px 8px rgba(0, 0, 0, 0.10);
    backdrop-filter: blur(6px);
}

ul.list_items li:before, 
ul.tick_list li:before {
    content: '\f00c';
    position: absolute;
    font-family: var(--font-awesome);
    left: 2rem;
    color: var(--primary);
}

ul.list_items {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    margin-top: 4.25rem;
}

ul.list_items li {
    margin: .75rem;
}

.list .h3 {
    text-decoration: underline;
    text-decoration-color: var(--primary);
    text-decoration-thickness: 6%;
    text-underline-offset: 12%;
    text-underline-position: from-font;
}

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

.column ul li {
    padding-left: 2rem;
    position: relative;
    margin: .75rem 0;
}

.column ul li:before {
    content: '\f00c';
    font-family: var(--font-awesome);
    margin-right: 1rem;
    color: var(--primary);
}

.column ul li:last-of-type {
    margin-bottom: 0;
}

.background_color_red.column ul li:before {
    color: white;
}

/* SIGNPOSTS */

a.signpost {
    text-decoration: none;
    display: block;
    color: var(--white);
}

.signpost {
    position: relative;
    background: var(--primary);
    color: var(--white);
    padding: 1.25rem 5rem 3rem 1.25rem;
    border-bottom: .5rem solid var(--secondary);
    height: calc(100% - 1.5rem);
    margin: .75rem 0;
}

.signpost h3 {
    text-decoration: none;
}

.signpost h3.mb0 {
    margin-bottom: .5rem !important
}

.signpost .button {
    position: absolute;
    right: 1.25rem;
    bottom: 1.25rem;
    background: var(--white);
    border-color: var(--white);
    color: var(--primary);
}

.signpost .button:hover {
    background: transparent !important;
    color: var(--white) !important;
}

.signpost--image {
    padding: 21.75rem 5rem 3rem 1.25rem;
    position: relative;
}

.signpost--image:after {
    content: '';
    position: absolute;
    width: 100%;
    height: calc(100% - 19.75rem);
    background: url('/wp-content/themes/twentytwentyone-child/images/redbay_r_small.png') no-repeat 0% 50% / contain;
    bottom: 0;
    left: 0;
    pointer-events: none;
}

.signpost.signpost--image .button--circle .icon {
    font-size: 2.5rem;
}

.signpost__image {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 19.75rem;
    width: 100%;
    object-fit: cover;
}

.signpost__icon {
    filter: brightness(0) invert(1);
    max-width: 3.5rem;
    max-height: 3.5rem;
    margin-bottom: 1.25rem;
}

.background_color_red .signpost, 
.background_color_black .signpost {
    background: var(--white);
    color: var(--black);
}

.background_color_red .signpost {
    border-color: var(--secondary-light);
}

.background_color_red .signpost .h5, 
.background_color_black .signpost .h5 {
    color: var(--primary);
}

.background_color_red .signpost__icon, 
.background_color_black .signpost__icon {
    filter: none;
}

.background_color_red .signpost .button, 
.background_color_black .signpost .button {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: var(--white) !important;
}

.background_color_red .signpost .button:hover, 
.background_color_black .signpost .button:hover {
    background: transparent !important;
    color: var(--primary) !important;
}

.signpost.signpost--image .button {
    background: transparent !important;
    border: none !important;
    color: var(--white) !important;
    padding: 0;
    width: fit-content;
    height: fit-content;
}

.background_color_red .signpost.signpost--image .button, 
.background_color_black .signpost.signpost--image .button {
    color: var(--primary) !important;
}

.background_color_red .signpost--image:after, 
.background_color_black .signpost--image:after {
    background-image: url('/wp-content/themes/twentytwentyone-child/images/redbay_r_small_red.png');
}

/* FORMS */

.form_column {
    background: var(--primary);
    padding: 3.125rem;
    color: var(--white);
    margin-top: 2rem;
}

form.wpcf7-form input[type="text"], 
form.wpcf7-form input[type="email"], 
form.wpcf7-form input[type="tel"], 
form.wpcf7-form input[type="number"], 
form.wpcf7-form input[type="date"], 
form.wpcf7-form input[type="url"], 
form.wpcf7-form input[type="submit"], 
form input[type="submit"],
form input[type="search"], 
form.wpcf7-form textarea, 
form.wpcf7-form select, 
select, 
.wp-block-search__input {
    width: 100%;
    border: none;
    padding: .875rem 1.5rem;
    border-radius: 2rem;
    font-size: 1.125rem;
    font-family: var(--font);
    line-height: 150%;
    color: var(--black);
    background: var(--white);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}


form.wpcf7-form input[type="text"].wpcf7-not-valid, 
form.wpcf7-form input[type="email"].wpcf7-not-valid, 
form.wpcf7-form input[type="tel"].wpcf7-not-valid, 
form.wpcf7-form input[type="number"].wpcf7-not-valid, 
form.wpcf7-form input[type="date"].wpcf7-not-valid, 
form.wpcf7-form input[type="url"].wpcf7-not-valid, 
form.wpcf7-form textarea.wpcf7-not-valid, 
form.wpcf7-form select.wpcf7-not-valid {
    outline: 1px solid var(--error);
}

form.wpcf7-form input[type="submit"], 
form input[type="submit"] {
    max-width: fit-content;
    color: var(--primary);
    padding: .75rem 2rem;
    cursor: pointer;
    border: 2px solid var(--white);
    transition: all .3s;
}

form.wpcf7-form input[type="submit"]:hover, 
form input[type="submit"]:hover {
    background-color: transparent;
    color: var(--white);
}

form.wpcf7-form input[type="date"] {
    min-height: 3.5625rem;
}

input::-webkit-date-and-time-value {
    text-align: left !important;
}

form.wpcf7-form textarea {
    resize: none;
    max-height: 15rem;
    border-radius: 1.5rem;
}

form.wpcf7-form select {
    background: var(--white) url('/wp-content/themes/twentytwentyone-child/images/select_arrow.png') no-repeat calc(100% - 1.5rem) 50% / 1.25rem;
}

select {
    background: var(--primary) url('/wp-content/themes/twentytwentyone-child/images/select_arrow_w.png') no-repeat calc(100% - 1.5rem) 50% / 1.25rem;
    color: var(--white);
}

form.wpcf7-form input[type="file"] {
    font-size: 1rem;
    font-family: var(--font);
    width: 100%;
}

form.wpcf7-form input[type="file"]::-webkit-file-upload-button, 
form.wpcf7-form input[type="file"]::file-selector-button {
    border: 2px solid var(--white);
    padding: .75rem 1.5rem;
    border-radius: 2rem;
    font-size: 1.125rem;
    font-family: var(--font);
    line-height: 150%;
    background: var(--white);
    color: var(--black);
    margin-right: .5rem;
    cursor: pointer;
    transition: all .3s;
}

form.wpcf7-form input[type="file"]::-webkit-file-upload-button:hover, 
form.wpcf7-form input[type="file"]::file-selector-button:hover {
    background: transparent;
    color: var(--white);
}

form.wpcf7-form label, 
form label {
    display: block;
    margin-bottom: .25rem;
}

form.wpcf7-form br {
    display: none;
}

form.wpcf7-form .wpcf7-list-item {
    width: calc(100% - 1em);
    display: block;
}

form.wpcf7-form .wpcf7-list-item > label {
    position: relative;
    cursor: pointer;
}

form.wpcf7-form input[type="checkbox"],
form.wpcf7-form input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    margin: 0;
    width: 100%;
    height: 100%;
}

form.wpcf7-form .wpcf7-list-item-label {
    position: relative;
    padding-left: 1.75rem;
}

form.wpcf7-form .wpcf7-list-item-label:before {
    content: '';
    position: absolute;
    width: .875rem;
    height: .875rem;
    border: 1px solid white;
    left: 0;
    top: .125rem;
}

form.wpcf7-form .wpcf7-checkbox .wpcf7-list-item-label:before, 
form.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label:before {
    border-radius: .1875rem;
}

form.wpcf7-form .wpcf7-radio .wpcf7-list-item-label:before {
    border-radius: 50%;
}

form.wpcf7-form input[type="checkbox"]:checked + .wpcf7-list-item-label:after, 
form.wpcf7-form input[type="radio"]:checked + .wpcf7-list-item-label:after {
    content: '';
    position: absolute;
    width: .875rem;
    height: .875rem;
    left: 0;
    top: .125rem;
    border: 1px solid var(--white);
    background-color: var(--white);
    color: var(--primary);
    font-family: var(--font-awesome);
    font-size: .75rem;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
}

form.wpcf7-form input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
    content: '\f00c';
    border-radius: .1875rem;
}

form.wpcf7-form input[type="radio"]:checked + .wpcf7-list-item-label:after {
    content: '\f111';
    border-radius: 50%;
    font-size: .5rem;
    top: 2px;
    left: 0;
    width: .875rem;
    height: .875rem;
    line-height: .875rem;
}

form.wpcf7-form .wpcf7-not-valid-tip {
    background: var(--error);
    padding: .25rem 1.5rem;
    border-radius: 2rem;
    color: var(--white);
    margin-top: .5rem;
    font-size: .875rem;
    font-weight: 700;
}

.wpcf7-radio.wpcf7-not-valid {
    outline: 1px solid var(--error);
    padding: .5rem 0 .25rem;
    display: block;
    border-radius: 1.5rem;
}

.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output {
    display: block;
    padding: 1rem 1.5rem;
    font-size: .875rem;
    font-weight: 700;
    border-radius: 1.5rem;
    background: var(--validation);
    border-color: var(--validation);
    color: var(--black);
}

.wp-block-search__input, 
form input[type="search"] {
    background: rgba(204 165 170 / 25%);
    border: 2px solid rgba(204 165 170 / 25%);
}

.wp-block-search__label, 
form.search-form label {
    display: block;
    margin-bottom: 1rem;
    text-transform: uppercase;
    font-weight: 400 !important;
    letter-spacing: 1.6px;
}

form.search-form input[type="submit"] {
    background-color: var(--primary);
    color: var(--white);
    border-color: var(--primary);
    margin-top: 1rem;
}

form.search-form input[type="submit"]:hover {
    background-color: var(--white);
    color: var(--primary);
    border-color: var(--primary);
}

/* TESTIMONIALS */

.testimonials_slide {
    background: var(--primary);
    color: var(--white);
    padding: 2rem;
}

.testimonials_slide h3 {
    text-decoration-color: var(--white);
}

/* SLIDER */

.slider {
    padding: 3rem 6rem;
}

.slider .slick-arrow {
    position: absolute;
    top: calc(50% - 1.75rem);
    width: 3.5rem;
    height: 3.5rem;
    font-size: 0;
    border: 2px solid var(--primary);
    background: var(--primary);
    color: var(--white);
    border-radius: 50%;
    cursor: pointer;
    transition: all .3s;
}

.slider .slick-arrow:after {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-family: var(--font-awesome);
    font-weight: 300;
}

.slider .slick-arrow.slick-prev {
    left: 0;
}

.slider .slick-arrow.slick-prev:after {
    content: '\f060';
}

.slider .slick-arrow.slick-prev:hover:after {
    transform: translateX(-.125rem);
}

.slider .slick-arrow.slick-next {
    right: 0;
}

.slider .slick-arrow.slick-next:after {
    content: '\f061';
}

.slider .slick-arrow.slick-next:hover:after {
    transform: translateX(.125rem);
}

.slider .slick-arrow:hover {
    background: transparent;
    color: var(--primary);
}

ul.slick-dots {
    position: absolute;
    width: 100%;
    padding: 0;
    list-style: none;
    line-height: 0;
    margin: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

ul.slick-dots button {
    width: .75rem;
    height: .75rem;
    font-size: 0;
    border: none;
    background: var(--primary);
    border-radius: 50%;
    margin: 0 .25rem;
    opacity: .4;
    cursor: pointer;
}

ul.slick-dots li.slick-active button {
    opacity: 1;
    pointer-events: none;
}

/* ACCORDION */

.accordion {
    background: var(--primary);
    padding: 3.75rem;
    color: var(--white);
    margin-top: 3.75rem;
}

.accordion__title {
    margin: 0;
    font-size: 1.125rem;
    text-decoration: none;
    position: relative;
    cursor: pointer;
}

.accordion__title:after {
    content: '\f063';
    position: absolute;
    right: 0;
    top: .125rem;
    font-family: var(--font-awesome);
    font-weight: 300;
    transition: all .3s;
}

.accordion__title.active:after {
    transform: rotate(180deg);
    opacity: .6;
}

.accordion__container {
    padding-bottom: 1.25rem;
    margin-bottom: 1.25rem;
    border-bottom: 1px solid var(--secondary);
}

.accordion__content {
    display: none;
    padding-top: 1.25rem;
}

.accordion .accordion__container:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

/* TABS */

.tabs {
    position: relative;
    padding-top: 3.9375rem;
    margin-top: 3.75rem;
}

.tabs__nav {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 10px;
    max-width: calc(100% - 1.5rem);
    overflow-x: auto;
    position: absolute;
    left: 0;
    right: 1.5rem;
    top: 0;
}
  
.tabs__nav-item {
    padding: 1.125rem 2.5rem;
    cursor: pointer;
    background: var(--secondary);
    color: var(--white);
    margin: 0 !important;
    min-width: fit-content;
}
  
.tabs__nav-item.active {
    background:  var(--primary);
    font-weight: 600;
}
  
.tabs__content {
    display: none;
    padding: 2rem 4.75rem;
    background: var(--primary);
    color: var(--white);
    border-radius: 0;
}
  
.tabs__content.active {
    display: block;
}

/* STATISTICS */

.statistics {
    margin-top: 2.5rem;
}

.statistic {
    background: var(--primary);
    color: var(--white);
    padding: 2rem;
    margin: 0 .75rem;
    height: calc(100% - 2rem);
}

.statistic h3 {
    margin-top: 0;
}

.statistic h3 span {
    display: block;
    font-size: .875rem;
    font-weight: 400;
    margin-top: .5rem;
}

.statistics .dashicons {
    font-size: 2.25rem;
    height: 2.25rem;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    color: var(--secondary);
    margin-bottom: .75rem;
}

.statistics_slider.slider {
    padding: 3rem 5.25rem;
}

.statistics_slider.slider .slick-track {
    display: flex !important;
    align-items: stretch;
}

.statistics_slider.slider .slick-slide {
    display: flex !important;
    height: auto !important;
    flex: 1 0 auto;
    flex-direction: column;
    align-items: flex-start;
}

.statistics_slider.slider .slick-slide > div {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.slick-slider.slick-dotted:has(.statistic:only-child) .slick-dots {
    display: none;
}

/* TEAM */

.team_slider {
    margin-left: -.75rem;
    margin-right: -.75rem;
}

.team_slider {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
}

.team_card {
    background: var(--complimentary);
    padding: 1.25rem 1.25rem 3rem;
    border-bottom: 2px solid var(--primary);
    margin: 1.5rem .75rem 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: calc(25% - 1.5rem);
}

.team_card img {
    aspect-ratio: 1/1;
    object-fit: cover;
    width: 100%;
}

.team_card h3 {
    text-decoration: none;
    color: var(--primary);
    font-size: 1.125rem;
}

.team_card h4 {
    font-size: .875rem;
    font-weight: 400;
    opacity: .6;
}

.team_card p {
    font-size: .875rem;
    line-height: 140%;
}

.team_card a {
    display: inline-block;
    text-decoration: none;
}

a.team_card__linkedin {
    font-size: 2rem;
    color: #006699;
    line-height: 0;
    margin-top: 1rem;
    position: relative;
    width: 2rem;
    height: 2rem;
    display: block;
}

a.team_card__linkedin:before {
    content: '';
    position: absolute;
    background: var(--white);
    width: 80%;
    height: 80%;
    left: 4%;
    top: 12%;
    z-index: 1;
    transition: all .3s;
}

a.team_card__linkedin i {
    position: relative;
    z-index: 2;
}

a.team_card__linkedin:hover {
    color: var(--white);
}

a.team_card__linkedin:hover:before {
    background: #006699;
}

.team_member .section.hero ~ .section.image_text {
    margin-top: 0;
}

.team_member .section.hero {
    padding-bottom: 9.75rem;
}

/* BLOG */

ul.post_tags {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

ul.post_tags li {
    margin-right: 1.5rem;
    margin-bottom: .25rem;
}

ul.post_tags li a {
    text-decoration: none;
}

.single-post .section.hero > img {
    width: 100%;
    height: 100%;
    max-height: 50rem;
    object-fit: cover;
}

nav.navigation.pagination {
    margin-top: 4rem;
}

nav.navigation.pagination .page-numbers, 
ul.page-numbers .page-numbers {
    display: flex;
    width: 3rem;
    height: 3rem;
    background: var(--primary);
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: 2px solid var(--primary);
    border-radius: 50%;
    color: var(--white);
    margin-right: .75rem;
    font-weight: 500;
    font-size: 1.125rem;
}

ul.page-numbers {
    list-style: none;
    padding: 0;
    margin: 4rem 0 0;
}

nav.navigation.pagination .nav-links, 
ul.page-numbers {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
}

nav.navigation.pagination .page-numbers.current, 
ul.page-numbers .page-numbers.current {
    background: var(--black);
    border-color: var(--black);
    pointer-events: none;
}

nav.navigation.pagination .page-numbers:hover, 
ul.page-numbers .page-numbers:hover {
    background: transparent;
    color: var(--primary);
}

nav.navigation.pagination .page-numbers.next, 
nav.navigation.pagination .page-numbers .prev {
    font-size: 1.5rem;
    font-weight: 300;
}

/* NATIVE BLOCK SUPPORT */

div.alignwide, 
header.alignwide, 
.entry-content .wp-block-gallery, 
.entry-content .wp-block-heading, 
.entry-content > p, 
.entry-content .wp-block-list, 
.entry-content .wp-block-quote, 
.entry-content .wp-block-details, 
.entry-content .wp-block-pullquote, 
.entry-content .wp-block-table, 
.entry-content .wp-block-image, 
.entry-content .wp-block-media-text, 
.entry-content .wp-block-video, 
.entry-content .wp-block-search, 
div.default-max-width {
    max-width: 1280px !important;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--bs-gutter-x, .75rem);
    padding-left: var(--bs-gutter-x, .75rem);
}

.wp-block-gallery, 
.wp-block-list, 
.wp-block-quote, 
.wp-block-details, 
.wp-block-pullquote, 
.wp-block-table, 
.wp-block-image, 
.wp-block-media-text, 
.wp-block-video, 
.wp-block-search {
    padding: 3rem 0;
}

.wp-block-search {
    padding: 6.25rem;
}

.search-results article h2 {
    font-size: 1.5rem;
    line-height: 1.2em;
    margin-bottom: 0;
    margin-top: 0;
}

.search-results article {
    padding: 2rem;
    background: var(--complimentary);
    border-bottom: 4px solid var(--primary);
    border-radius: 0;
    width: calc(33.333% - 1.5rem);
    margin: .75rem;
}

.search-results header.page-header.alignwide, 
.search-results .search-result-count {
    width: 100%;
}

.search-results .search-result-count {
    margin-bottom: 2rem;
}

.search-results article .more-link {
    display: block;
    margin-top: .5rem;
}

.search-results article header.entry-header {
    display: flex;
    flex-direction: column;
}

.search-results article header.entry-header .entry-title {
    order: 2;
}

.search-results article header.entry-header figure.post-thumbnail {
    aspect-ratio: 5/4;
    border-radius: 0;
    overflow: hidden;
    position: relative;
    order: 1;
    width: calc(100% + 4rem);
    margin-left: -2rem;
    margin-right: -2rem;
    margin-top: -2rem;
    margin-bottom: 2rem;
}

.search-results article .post-thumbnail img {
    position: absolute;
    width: 100% !important;
    height: 100% !important;
    top: 0;
    left: 0;
    object-fit: cover;
}

.search-results article .entry-footer {
    display: none;
}

.search-results article .entry-content p {
    margin: 1rem 0 0;
    padding: .75rem;
}

/* RECAPTCHA */

.grecaptcha-badge {
    z-index: 20;
}

/* SITEMAP */

.sitemap * {
    display: block !important;
}

.sitemap a {
    color: var(--black) !important;
}

.sitemap a:hover {
    color: var(--primary) !important;
}

.sitemap ul.wp-block-navigation__submenu-container.wp-block-navigation-submenu {
    display: block !important;
    height: fit-content !important;
    visibility: visible !important;
    width: 100% !important;
    opacity: 1 !important;
    overflow: visible !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    border: none !important;
    background: transparent !important;
}

.sitemap {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.sitemap > ul > li {
    margin-bottom: 2rem;
}

.sitemap ul ul ul {
    padding-left: 1.5rem;
}

/* COOKIE CONTROL */

#cc--main {
    --cc-bg: var(--white);
    --cc-text: var(--black);
    --cc-btn-primary-bg: var(--black);
    --cc-btn-primary-text: var(--white);
    --cc-btn-primary-hover-bg: var(--primary);
    --cc-btn-secondary-bg: var(--primary);
    --cc-btn-secondary-text: var(--white);
    --cc-btn-secondary-hover-bg: var(--black);
    --cc-toggle-bg-off: #C0C0C0;
    --cc-toggle-bg-on: var(--black);
    --cc-toggle-bg-readonly: var(--black);
    --cc-toggle-knob-bg: #fff;
    --cc-toggle-knob-icon-color: #ecf2fa;
    --cc-block-text: var(--cc-text);
    --cc-cookie-category-block-bg: #F8F8F8;
    --cc-cookie-category-block-bg-hover: #F8F8F8;
    --cc-section-border: #f1f3f5;
    --cc-cookie-table-border: #e1e7f3;
    --cc-overlay-bg: rgba(230, 235, 255, .85);
    --cc-webkit-scrollbar-bg: #ebeff9;
    --cc-webkit-scrollbar-bg-hover: var(--black);
}

#show_cookie_settings {
    font-size: 0;
    width: 3.25rem;
    height: 3.25rem;
    padding: 0;
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    box-shadow: 0 0 10px rgba(255,255,255,.3);
    z-index: 3;
}

#show_cookie_settings:after {
    content: '\f564';
    font-size: 2rem;
    font-family: var(--font-awesome);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

/* RESPONSIVE */

@media (min-width: 1200px) {

    .signposts__intro.col-xl-5 {
        padding-right: 4rem;
    }

}

@media (min-width: 768px) {

    .image_text__image img {
        height: 100%;
        width: 100%;
        min-height: 40rem;
        max-height: 50rem;
        object-fit: cover;
    }

    .image_text__content {
        padding-bottom: 4rem;
    }

    .signposts__intro.col-md-5 {
        padding-right: 4rem;
    }

}

@media (max-width: 1400px) {

    .footer {
        padding: 3.5rem 0 5rem;
    }

}

@media (max-width: 1280px) {
    .entry-content .wp-block-search {
        margin-left: .75rem;
        margin-right: .75rem;
    }
}

@media (max-width: 1200px) {

    .main_nav > ul > li:last-of-type a {
        padding: 1rem 1.25rem;
    }

}

@media (max-width: 991px) {

    .main_nav > ul > li:last-of-type a {
        padding: .5rem .75rem;
    }

    .main_nav > ul > li:last-of-type a:after {
        display: none;
    }

    nav.main_nav ul li {
        margin: 0 .5rem;
    }

}

@media (max-width: 1024px) {

    .section.team, 
    .section.related_team {
        overflow-x: hidden;
        background-color: var(--complimentary);
    }

    .team_slider.slick-initialized .slick-track {
        display: flex !important;
        align-items: stretch;
    }

    .team_slider.team_slider_margin.slick-initialized {
        margin-right: calc(-25vw - 2rem) !important;
    }

    .team_slider.slick-initialized .slick-slide.team_card {
        background: transparent;
        padding: 0;
        border-bottom: none;
        justify-content: flex-start;
        width: 100%;
        margin: 0 .75rem;
    }

    .team_card .team_card__content {
        order: 2;
    }

    .team_card .team_card__linkedin {
        order: 1;
        margin-bottom: 1rem;
        margin-top: 0 !important;
    }

    .team_card span.linkedin--empty {
        display: block;
        height: 3rem;
    }

    .team_member span.linkedin--empty {
        height: 3rem;
    }

    :not(.slick-initialized) .team_card {
        width: calc(33.333% - 1.5rem);
        background: var(--white);
        justify-content: flex-start;
    }

    .search-results article {
        width: calc(50% - 1.5rem);
    }

}

@media (max-width: 767px) {

    h1, .h1 {
        font-size: 2.625rem;
    }

    h2, .h2 {
        font-size: 2.25rem;
    }

    h3, .h3 {
        font-size: 2rem;
    }

    h4, .h4 {
        font-size: 1.75rem;
    }

    h5, .h5 {
        font-size: 1.5625rem;
    }

    h6, .h6 {
        font-size: 1rem;
    }

    header.header {
        margin-top: 1.5rem;
    }

    header.header.open .header_inner {
        border-radius: 1.75rem;
    }

    header.header.open .header_inner {
        background: rgba(0,0,0,1);
    }

    header.header .logo img {
        max-height: 50px;
    }

    .footer .logo img {
        max-width: 14rem;
        margin-bottom: 2rem;
    }

    .footer_nav {
        margin-bottom: 2rem;
    }

    .legal_nav ul {
        margin-bottom: 1rem;
    }

    .legal_nav ul li {
        margin-bottom: .75rem;
    }

    .section {
        padding: 3.25rem 0;
    }

    .section.hero {
        padding: 19.875rem 0 3.75rem;
        margin-top: -10.625rem;
        min-height: 100vh;
        display: flex;
        align-items: flex-end;
    }

    .home .hero h1 {
        font-size: 3.125rem;
        line-height: 1em;
    }

    .image_text {
        background-size: 120% 80%;
    }

    .image_text__image {
        margin-bottom: 2rem;
    }

    .column_two .row > .col-12:nth-child(1) {
        margin-bottom: 2rem;
    }

    .testimonials_slider, 
    .statistics_slider.slider {
        padding: 3rem 3.5rem;
    }

    .slider .slick-arrow:after {
        font-size: 1.25rem;
    }

    .slider .slick-arrow {
        width: 2.25rem;
        height: 2.25rem;
        top: calc(50% - 1.125rem);
    }

    .tabs {
        padding-top: 3.6875rem;
    }

    .tabs__nav-item {
        padding: 1rem 1.5rem;
    }

    .tabs__content {
        padding: 2rem 1.5rem;
    }

    :not(.slick-initialized) .team_card {
        width: calc(50% - 1.5rem);
    }

    .image_text__image {
        margin-top: -6rem;
    }

    .before_image_text {
        padding-bottom: 6rem !important;
    }

}

@media (max-width: 576px) {

    .testimonials_slider, 
    .statistics_slider.slider {
        padding: 3rem 0 3rem;
        margin-top: 0;
    }

    .statistic {
        margin-left: 0;
        margin-right: 0;
    }

    .accordion {
        margin-left: var(--bs-gutter-x,-.75rem);
        margin-right: var(--bs-gutter-x,-.75rem);
        padding: 3.125rem 1.25rem;
    }

    ul.list_items {
        display: block;
    }

    ul.list_items li, 
    .column ul li {
        font-size: 1.25rem;
        padding: 1.125rem 2.5rem 1.125rem 3.5rem;
        border-radius: 2rem;
    }

    ul.list_items li:before, 
    .column ul li:before {
        left: 1rem;
    }

    .search-results article {
        width: calc(100% - 1.5rem);
    }

    .wp-block-search__inside-wrapper {
        display: block;
    }

    .wp-block-search__button {
        margin-left: 0;
        margin-top: 1rem;
    }

    .form_column {
        padding: 1.5rem;
    }

}