/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

* {
    box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
/* ol,
ul, */
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol li,
ul li {
    margin-bottom: 1rem;
}
ol li:last-child,
ul li:last-child {
    margin-bottom: 0;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}


/* custom reset */
img {
    display: inline-block;
    vertical-align: middle;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}


ol.menu,
ul.menu {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}


/*--------------------------------

    STYLE SET 1: GLOBAL STYLES

----------------------------------*/

:root {
    --section-border-radius: 60px;
    --tile-border-radius: 40px;
}

@media screen and (max-width: 500px) {
    :root {
        --section-border-radius: 45px;
        --tile-border-radius: 25px;
    }
}

html {
    background: #071e33;
}

body {
    color: #666666;
    background: #fefefe;

    font-family: "Figtree", sans-serif!important;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    line-height: 1.4;
}

/* bootstrap adjustments */
@media (min-width: 1400px) {
    .container {
        max-width: 1350px;
    }
}
@media (max-width: 991px) {
    .container {
        max-width: 100%;
        padding-left:3rem;
        padding-right: 3rem;
    }
}
@media (max-width: 550px) {
    .container {
        max-width: 100%;
        padding-left:1.5rem;
        padding-right: 1.5rem;
    }
}

/* global styles */
p {
    margin-bottom: 1em;
}
p.subtitle {
    margin-bottom: 1em;
}

/* efiling */
.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
    font-family: "Figtree", sans-serif !important;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    line-height: 1.4;
}

/* utility */
.text-center {
    text-align: center;
}
.col.shrink {
    flex: 0 0 auto;
    width: auto;
}


/* --------------------------------

STYLE SET 2: TITLES

-------------------------------- */

h1,
h2,
h3,
h4,
h5,
.h1,
.h2,
.h3,
.h4,
.h5,
.subtitle,
.title {
    font-family: "Figtree", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    line-height: 1.2;
    margin-bottom: .5em;
    color: #000000;
}

h2 {
    font-weight: 800;
}

h1 {
    font-weight: 900;
}

.has-subtitle {
    margin-bottom: .1em;
}

.alt h1,
.alt h2,
.alt h3,
.alt h4,
.alt h5,
.alt .h1,
.alt .h2,
.alt .h3,
.alt .h4,
.alt .h5,
.alt .title,
h1.alt,
h2.alt,
h3.alt,
h4.alt,
h5.alt,
.h1.alt,
.h2.alt,
.h3.alt,
.h4.alt,
.h5.alt,
.title.alt {
    color: #ffffff;
}

.subtitle {
    color: #000000;
    line-height: 1.2rem;
}


#hero h1 {
    font-size: 3.2rem;
}

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

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

-content-simple h2,
h3,
.h3 {
    font-size: 1.5rem;
}

.page-content-simple h3,
h4,
.h4 {
    font-size: 1.3rem;
}

.page-content-simple, h4,
h5,
.h5 {
    font-size: 1.1rem;
}

.page-content-simple h5,
h2+.subtitle {
    font-weight: 600;
    font-size: 1.1rem;
}

@media screen and (max-width: 1350px) {
    .hero h1 {
        font-size: 2.7rem;
    }
}

@media screen and (max-width: 800px) {
    .hero h1 {
        font-size: 2rem;
    }
}

@media screen and (max-width: 500px) {
    .hero h1 {
        font-size: 2rem;
    }
}

@media screen and (max-width: 39.9375em) {

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

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

    .page-content-simple h2,
    h3,
    .h3 {
        font-size: 1.4rem;
    }

    .page-content-simple h3,
    h4,
    .h4 {
        font-size: 1.2rem;
    }

    .page-content-simple h4,
    h5,
    .h5,
    h2+.subtitle {
        font-size: 1.1rem;
    }
}

@media screen and (max-width: 400px) {

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

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

    .page-content-simple h2,
    h3,
    .h3,
    h2+.subtitle {
        font-size: 1.2rem;
    }

    .page-content-simple h3,
    h4,
    .h4 {
        font-size: 1.1rem;
    }

    .page-content-simple h4
    h5,
    .h5,
    h2+.subtitle {
        font-size: 1rem;
    }
}

/* spacing for blocks of content e.g blog posts */
.content-block h1,
.content-block h2,
.content-block h3,
.content-block h4,
.content-block h5,
.content-block .h1,
.content-block .h2,
.content-block .h3,
.content-block .h4,
.content-block .h5,
.content-block .title {
    margin-top: 1em;
}
.content-block h1,
.content-block h2,
.content-block h3,
.content-block h4,
.content-block h5,
.content-block .h1,
.content-block .h2,
.content-block .h3,
.content-block .h4,
.content-block .h5,
.content-block .title {
    margin-bottom: .2em;
}
.content-block h1:first-child,
.content-block h2:first-child,
.content-block h3:first-child,
.content-block h4:first-child,
.content-block h5:first-child,
.content-block .h1:first-child,
.content-block .h2:first-child,
.content-block .h3:first-child,
.content-block .h4:first-child,
.content-block .h5:first-child,
.content-block .title:first-child {
    margin-top: 0;
}


/* --------------------------------

STYLE SET 3: CONTENT TYPES

-------------------------------- */

/* -------------
    LINKS
-----------------*/
a {
    font-weight: 600;
    text-decoration: none;
    transition: .4s ease color;
}
a:hover {
    text-decoration: none;
}

/* -------------
    BUTTONS
-----------------*/
button {
    outline: 2px solid transparent;
    transition: all .4s ease, outline .2s ease;
}
button:focus {
    outline-color: #111111;
    box-shadow: none;
}

button:focus:not(:focus-visible) {
    outline-color: transparent;
    box-shadow: none;
}

.btn {
    border-radius: 1000px;
    padding: .6rem 1.7rem;
    line-height: 1;
    font-weight: 600;
}

.btn:focus {
    outline-color: transparent;
    box-shadow: none!important;
}
.btn:focus-visible {
    outline: 2px solid #111111;;
    box-shadow: none;
}

.btn-primary,
.btn-primary:visited {
    background-color: #0C4DA2;
    border-color: #0C4DA2;
    color: #ffffff;
}
.btn-primary:hover {
    background-color: #033F8E;
    border-color: #033F8E;
    color: #ffffff;
}

/* -------------
    LISTS
-----------------*/

ul.tick-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
ul.tick-list li {
    padding-left: 1.7rem;
    position: relative;
    margin: 1rem 0;
}
ul.tick-list li:after {
    content: '';
    position: absolute;
    left: 0;
    top: .2em;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    /* background-color: #f47d67;
    background-image: url('/assets/custom/files/icons/white-tick.svg');
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center 54%; */

    background-image: url('/assets/custom/files/icons/tick-icon.png');
    background-size: contain;
    background-repeat: no-repeat;

}

ul.tick-list:last-child li:last-child {
    margin-bottom: 0;
}

/* -----------------
    TILES
-------------------*/

.tile {
    padding: 3rem 3rem 2.5rem;
    border-radius: var(--tile-border-radius);
    background: #f1f5f7;
}

/* blue section */
.blue .tile {
    background: #ddeaf1;
}
/* red section */
.red .tile {
    background: #ffffff;
    box-shadow: 0 0 25px 0 rgba(192, 192, 204, .55);
}

.padding-sm {
    padding: 1rem;
}
.padding-lg {
    padding: 4rem;
}

@media screen and (max-width: 970px) {
    .tile {
        padding: 2rem 2rem 1.5rem;
    }
    .padding-lg {
        padding: 3rem;
    }
}


/* tile row */
.tile-row > .tile {
    padding: 1rem;
}


/* package tiles */
.package-tile {
    height: 100%;
}
.package-tile h3 {
    font-size: 1.2rem;
    color: #f47d67;
    margin: 0;
}
.package-tile .pricing-row {
    margin: 0 -10px;
}
.package-tile .pricing-row > .col {
   padding: 10px;
}

.package-tile .pricing-row > .col {
    font-size: .9rem;
    font-weight: 600;

}
.package-tile .pricing-row > .col.price {
    font-size: 3rem;
    font-weight: 800;
    color:  #000000;
    line-height: 1;
}

.package-tile .description {
    font-weight: 600;
    font-size: 1.1rem;
}

.package-tile .btn {
    margin: 1.5rem 0;
    display: block;
}

.package-tile .tick-list li {
        color: #666666;
}

@media screen and (max-width: 800px) {
    .package-tile {
        padding: 2rem;
    }
    .package-tile .pricing-row {
        margin: .7rem 0;
    }
    .package-tile .pricing-row > .col {
        padding: 0;
        width: 100%;
        margin: 0!important;
        text-wrap: balance;
    }
}
@media screen and (max-width: 720px) {
    .package-table > .col-sm-6 {
        width: 100%;
        max-width: 100%;
        margin-bottom: 2rem;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    }
    .package-table > .col-sm-6:last-child {
        margin-bottom: 0;
    }
}


/* review tiles */
.review-tile {
    padding: 2rem 2rem;
}
.review-tile .name {
    margin-bottom: .3rem;
    margin-top: 2rem;
    color: #666666;
    font-weight: 600;
}
.review-tile .company {
    margin: 0;
}

.review-tile .stars {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    background-image: url('/assets/custom/files/icons/five-star-rating-square-one-digital.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center right;
    height: 2.1rem;
    width: 100%;
}

.review-tile footer {
    background: none!important;
}

.review-tile blockquote {
    position: relative;
    padding-top: 4rem;
}
.review-tile blockquote:before {
    content: '';
    height: 1.9rem;
    width: 3rem;
    position: absolute;
    top: .1rem;
    left: 0;
    background-image: url('/assets/custom/files/icons/quote-mark.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}

@media screen and (max-width: 600px) {
    .review-tile .name {
        margin-top: 1.5rem;
    }
    .review-tile blockquote:before {
        height: 1.6rem;
        width: 2rem;
    }
    .review-tile .stars {
        height: 1.7rem;
    }
}
@media screen and (max-width: 450px) {
    .review-tile blockquote {
        padding-top: 3rem;
    }
    .review-tile blockquote:before {
        height: 1.3rem;
        width: 2rem;
    }

    .review-tile .stars {
        height: 1.4rem;
    }
}
@media screen and (max-width: 380px) {
    .review-tile {
        padding: 1rem;
    }
    .review-tile .name {
        margin-top: 1rem;
    }
    .review-tile blockquote {
        padding-top: 0;
    }

    .review-tile blockquote:before,
    .review-tile .stars {
        position: static;
        display: block;
        margin-bottom: .5rem;
        background-position: center left;
    }

    .review-tile .stars {
        margin-left: -4px;
    }
}


/* -----------------
    SLIDERS
-------------------*/


.swiper {
    width: 100%;
}
.swiper-wrapper {
    box-sizing: border-box;
    height: auto;
}
.swiper-slide {
  height: -webkit-max-content!important;
  height: -moz-max-content!important;
  height: max-content!important;
}

/* slider controls */
.swiper-button-prev,
.swiper-button-next {
    /* background: #fef7f6;
    border: 1px solid #fcd9d3;
    box-shadow: 0 0 0 6px #fef7f6;
    color: #f47d67; */
    background: #fce6e2;
    height: 55px;
    width: 55px;
    border-radius: 50%;
    text-align: center;
    transition: .4s ease opacity;


    /* transition: .4s ease background-color, .4s ease opacity, .4s ease box-shadow, .4s ease border-color; */
}

.swiper-button-prev:after,
.swiper-button-next:after {
    content: '';
    position: absolute;
    inset: 0;
    background-size: contain;
    background-position: center center;
    background-image: url('/assets/custom/files/icons/slider-full-button-4.svg');
    background-repeat: no-repeat;
    transition: .4s ease opacity;
    opacity: .7;
    
}

.swiper-button-next:after {
    transform: rotatez(180deg);
}
/* .swiper-button-prev:after {}
.swiper-button-next:after {
    transform: translate(-40%, -50%) rotateZ(-180deg);
    content: '';
} */

.swiper-button-prev:hover:after,
.swiper-button-next:hover:after {
    /* background: #fcd9d3; */
    /* box-shadow: 0 0 0 6px #fcd9d3; */
    /* border-color: #fcd9d3; */
    opacity: 1;
}
.swiper-button-prev {
    left: 1rem;
}
.swiper-button-next {
    right: 1rem;
}

/* slider pagination */
.swiper-pagination {

}
.swiper-pagination-bullet {
    background: #d7b9b6;
    opacity: 1;
    width: 14px;
    height: 14px;
    margin: 3px!important;
}
.swiper-pagination-bullet-active {
    background: #f47d67;
    opacity: 1;
}

@media screen and (max-width: 430px) {
    .swiper {
        text-align: center;
    }
    .swiper-slide {
        text-align: left;
    }
    .swiper-button-prev,
    .swiper-button-next {
        position: relative;
        inset: auto;
        display: inline-block;
        margin: 0;;
    }

    .swiper-pagination {
        position: static;
        margin-top: 1.5rem;
    }
    .swiper-pagination-bullet {
        width: 15px;
        height: 15px;
        margin: 4px!important;
    }

}

/* --------------------------------

STYLE SET 4: NAV BAR

-------------------------------- */

.navbar {
    background: #e7f2f7
}

.navbar .navbar-brand img {
    max-height: 50px;
}

.navbar .navbar-nav {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.navbar .nav-item {
    font-family: "Figtree", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    border: 0;
    padding: .5rem;
    margin: 0 .5rem;
    color: #000000;
}

.navbar .loginBtn {
    margin-left: 1rem;
}

@media screen and (max-width: 991px) {
    .navbar .navbar-nav {
        padding-top: 1rem;
    }
    .navbar .loginBtn {
        margin-top: .5rem;
        margin-bottom: 1rem;
    }
}


/* --------------------------------

STYLE SET 5: CONTENT

-------------------------------- */

/* ------------
    PAGE SECTIONS
-------------*/
.page-section {
    margin: 6rem auto;
}

.section-intro {
    text-wrap: balance;
    margin-bottom: 2rem;
}

@media screen and (max-width: 1060px) {
    .page-section {
        margin: 3rem auto;
    }
}
@media (max-width: 500px) {
    .page-section {
        margin: 1.5rem auto;
    }
}
@media (max-width: 550px) {
    .section-intro p.subtitle {
        margin-bottom: 0;
    }
}



/* ------------
    HEADERS
------------*/

header.hero {
    margin-top: 4rem;
}

header.hero .hero-inner {
    padding: 8rem 8rem 6rem;
    background: teal;
    border-radius: var(--section-border-radius);
    background-image: url('/assets/custom/files/img/Hero.png');
    background-size: cover;
    background-position: center center;
}
header.hero .hero-inner h1 {
    color: #f1f5f7;   
    margin-bottom: 1rem;
}
header.hero .hero-inner p {
    color: #d9e2e8;
    font-size: 1rem;
    margin: 1rem 0;
}

header.hero .ef-company-name-search {
    margin: 5rem 0 0;
    -webkit-box-align: normal;
    -ms-flex-align: normal;
    align-items: normal;
    border-radius: 100px;
    transition: .4s ease outline;
    outline: 2px solid transparent;
}
header.hero .ef-company-name-search:focus-within {
    outline: 2px solid #0069d9;
}
header.hero .ef-company-name-search input {
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    height: 44.5px;
    border: 0;
    padding-left: 1.2rem;
    margin: 0;
    transition: .4s ease background-color;
}
header.hero .ef-company-name-search input:hover {
    background: #eeeeee;
}
header.hero .ef-company-name-search input:focus-within,
header.hero .ef-company-name-search input:focus {
    outline: none;
    border: none;
}
header.hero .ef-company-name-search .btn  {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

@media screen and (max-width: 422px) {
    header.hero .ef-company-name-search input {
        padding-left: 0.5rem;
    }
}


header.hero .hero-inner .hero-content {
    max-width: 410px;
    text-wrap: balance;
    padding: 15px;
    box-shadow: 0 0 25px 25px rgba(7, 30, 51, 0.5);
    background: rgba(7, 30, 51, 0.5);
    border-radius: 10px;
}

input::placeholder {
    font-family: "Figtree", sans-serif;
    font-optical-sizing: auto;
    font-weight: 550;
    font-style: normal;
    line-height: 1.4;
    color: #4d4d4d;
}

/* regular headers */
header.page-header {
    margin: 6rem 0;    
    text-align: center;
}
header.page-header .page-header-inner {
    background: #f1f5f7;
    border-radius: var(--section-border-radius);
    padding: 6rem;
}
header.page-header .page-header-inner .subtitle {
    font-size: 1.2rem;
}
header.page-header h1:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
    header.hero .hero-inner {
        padding: 5rem 5rem 4rem;
    }
    header.page-header {
        margin: 5rem 0;
    }
    header.page-header .page-header-inner {
        padding: 4rem;
    }
}
@media screen and (max-width: 750px) {
    header.hero .hero-inner {
        padding: 3rem;
    }
    header.hero .hero-inner .hero-content {
        max-width: 280px;
    }
    header.hero .ef-company-name-search {
        margin-top: 2rem;
    }
    header.page-header {
        margin: 4rem 0;
    }
    header.page-header .page-header-inner {
        padding: 3rem;
    }
}
@media screen and (max-width: 515px) {
    header.hero .hero-inner {
        background-position: -170px center;
        text-align: center;
    }
    header.hero .hero-inner .hero-content {
        max-width: 100%;
    }
    header.page-header {
        margin: 3rem 0;
    }
}
@media screen and (max-width: 470px) {
    header.hero .hero-inner {
        padding: 2rem 2rem 2.5rem;
    }
    header.hero .hero-inner {
        background-position: -100px center;
        text-align: center;
    }
    header.hero .ef-company-name-search {
        margin-top: 0;
    }

        header.page-header .page-header-inner .subtitle {
        font-size: 1rem;
    }
}




/* ------------
    BLOCK SECTIONS
---------------*/
.block-bg-section-inner {
    padding: 6rem;
    border-radius: var(--section-border-radius);
    background: #f1f5f7;
}

@media screen and (max-width: 1199px) {
    .block-bg-section-inner {
        padding: 4rem;
    }
}
@media screen and (max-width: 550px) {
    .block-bg-section-inner {
        padding: 2rem;
    }
}

.block-bg-section-inner.blue {
    background: #f1f5f7;
}
.block-bg-section-inner.red {
background: rgba(244, 126, 103, .3);
background: linear-gradient(90deg, rgba(244, 126, 103, 0.15) 0%, rgba(244, 126, 103, 0.3) 100%);
}
.block-bg-section-inner.light-red {
background: #fef7f6;
}



/* ------------
    Packages Table
---------------*/
.package-table {
    max-width: 850px;
    margin: 0 auto;
}
@media screen and (max-width: 992px) {
    .package-table {
        margin: 0 -15px;
    }
}


/* ------------
    REVIEWS
---------------*/
.reviews-inner {
    overflow: hidden;
}
.reviews .review-slider {
    margin: -2rem -6rem -2rem;
    padding: 3rem 6rem 3.5rem;
    width: calc(100% + 12rem);
    height: auto;
}

@media screen and (max-width: 1199px) {
    .reviews .review-slider {
        margin: -2rem -4rem -2rem;
        padding: 3rem 3rem 3.5rem;
        width: calc(100% + 8rem);
    }
}
@media screen and (max-width: 550px) {
    .reviews .review-slider {
        margin-left: -2rem;
        margin-right: -2rem;
        margin-bottom: 1rem;
        padding-bottom: 4rem;
        width: calc(100% + 4rem);
        overflow: visible;
    }
}

@media screen and (max-width: 430px) {
    .reviews .review-slider {
        padding-bottom: 0;
    }

}
@media screen and (max-width: 370px) {
    .reviews .review-slider {
        padding-top: 1rem;
        padding-left: 1rem;
        padding-right: 1rem;
        margin-bottom: 0;
    }
}



/* ------------
    IMAGE CONTENT SPLIT
---------------*/
.image-content-split .content-col:first-child {
    padding-right: 6rem;
}
.image-content-split .content-col:last-child {
    padding-left: 6rem;
}
.image-content-split img {
    border-radius: var(--tile-border-radius);
}

@media screen and (max-width: 1199px) {
    .image-content-split .content-col:first-child {
        padding-right: 3rem;
    }
    .image-content-split .content-col:last-child {
        padding-left: 3rem;
    }
}
@media screen and (max-width: 955px) {
    .image-content-split .col {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
        flex: 0 0 40%;
        max-width: 40%;
    }
    .image-content-split .content-col {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 60%;
        flex: 0 0 60%;
        max-width: 60%;
    }
}
@media screen and (max-width: 825px) {
    .image-content-split {
        gap: 2rem;
    }
    .image-content-split .col {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .image-content-split .content-col {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0 15px!important;
    }
}
@media screen and (max-width: 450px) {
    .image-content-split {
        gap: 1rem;
    }
}

/* ------------
    ACCORDIONS
---------------*/
.accordion {}
.accordion .accordion-item {
    margin-bottom: 1rem;
}
.accordion .accordion-item .accordion-header {
    
}
.accordion .accordion-item .accordion-header .heading {
    font-size: 1.2rem;
}
.accordion .accordion-item .accordion-header button {
    display: block;
    width: 100%;
    text-align: left;
    padding: 2rem 7rem;
    cursor: pointer;
    position: relative;

    border: none;
    background: #0b4da1;
    color: #ffffff;
    
    border-radius: calc(var(--tile-border-radius) / 2);
    
    font-size: 1.2rem;
    font-weight: 800;

    transition: .4s ease background-color, .4s ease color, .4s ease outline;
    text-wrap: balance;
}
.accordion .accordion-item .accordion-header button img {
    position: absolute;
    left: 3rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2.3rem;
}

.accordion .accordion-item .accordion-header button:after,
.accordion .accordion-item .accordion-header button:before {
    content: '';
    position: absolute;
    right: 3rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.6rem;
    height: 1.6rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: .4s ease opacity;
}
.accordion .accordion-item .accordion-header button:before {
    background-image: url('/assets/custom/files/icons/plus.svg');
    opacity: 0;
}
.accordion .accordion-item .accordion-header button:after {
    background-image: url('/assets/custom/files/icons/up-arrow.svg');
    opacity: 1;
}
 
.accordion .accordion-item .accordion-header button.collapsed:before {
    opacity: 1;
}
.accordion .accordion-item .accordion-header button.collapsed:after {
    opacity: 0;
}


.accordion .accordion-item .accordion-content {
    padding: 1.5rem 7rem 1.5rem 7rem;
}

.accordion .accordion-item .accordion-header button.collapsed {
    background: #f1f5f7;
    color: #000000; 
}
.accordion .accordion-item .accordion-header button.collapsed:hover {
    background: #e1e9ec;
}

@media screen and (max-width: 720px) {
    .accordion .accordion-item .accordion-content {
        padding-left: 4rem;
        padding-right: 4rem;
    }
}
@media screen and (max-width: 470px) {
    .accordion .accordion-item .accordion-header button:before,
    .accordion .accordion-item .accordion-header button:after {
        right: 1.5rem;
    }
    .accordion .accordion-item .accordion-header button img {
        left: 1.5rem;
    }
    .accordion .accordion-item .accordion-header button {
        padding-left: 5rem; 
        padding-right: 5rem; 
    }
    .accordion .accordion-item .accordion-content {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}
@media screen and (max-width: 330px) {
    .accordion .accordion-item .accordion-header button {
        padding-left: 1.5rem;
        padding-right: 3.5rem;
    }
    .accordion .accordion-item .accordion-header button img {
        position: static;
        display: block;
        transform: none;
        margin-bottom: .5rem;
    }
    .accordion .accordion-item .accordion-header button:before,
    .accordion .accordion-item .accordion-header button:after {
        right: 1.5rem;
        width: 1.3rem;
        height: 1.3rem;
    }
}


/* ------------
    PARTNERS
---------------*/
.partners-row > .col {
    padding: 15px;
}
.partners-row > .col > .tile {
    height: 100%;
}
.partners-row img {
    height: 80px;
    width: 172px;
}

/* partner logo sizing fix */
.partners-row img.pad {
    padding: 1rem;
}

@media screen and (max-width: 580px) {
    .partners-row>.col {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .partners-row>.col>.tile {
        padding: 1rem;
    }
}
@media screen and (max-width: 360px) {
    .partners-row {
        margin: 0;
    }
    .partners-row>.col {
        padding: 0;
        border-radius: 0;
    }
    .partners-row>.col>.tile {
        padding: 10px;

        border-radius: 0;
        background: none;
    }
}

/* --------------------------------

STYLE SET 6: FOOTER

-------------------------------- */

.footer {
    background: #071e33;
    color: #ffffff;
}
.upper-footer {
    background: #032b44;
    padding: 6rem 0;
    overflow: hidden;
}

.upper-footer h3 {
    display: inline-block;
    padding-bottom: 8px;
    position: relative;
}
.upper-footer h3:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: 5px;
    background: #0b4da1;
}
.upper-footer .main-row {
    margin: -3rem;
}
.upper-footer .inner-row > .inner-col {
    padding: 3rem;
}

.upper-footer .logo {
    display: block;
}



.upper-footer .contact-info {
    color: #cdd5da;
}
.upper-footer .contact-info address {
    margin-bottom: 1rem;
}
.upper-footer .contact-info .phone {
    font-weight: 700;
    color: #cdd5da;
    font-size: 1.1rem;
}
.upper-footer .contact-info .phone:hover {
    color: #ffffff;
}




.upper-footer .page-menu li {
    padding: .2rem 0;
    margin: 0;
}
.upper-footer .page-menu li a {
    color: #cdd5da;
}
.upper-footer .page-menu li a:hover {
    color: #ffffff;
}


@media screen and (max-width: 885px) {
    .footer .upper-footer .main-row > .col {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0;
    }
    .footer .upper-footer .main-row > .col > .inner-row {
        -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }
    .footer .upper-footer .main-row > .col:nth-child(1) {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
    .footer .upper-footer .main-row > .col:nth-child(2) {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
}
@media screen and (max-width: 500px) {
    .upper-footer .main-row {
        margin: 0;
    }
    .footer .upper-footer .main-row .logo {
        text-align: center;
        margin-bottom: 2rem;
    }
    .footer .upper-footer .main-row > .col .inner-col {
        padding: 1.5rem;
    }
    .footer .upper-footer .main-row > .col:nth-child(1) .inner-col {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media screen and (max-width: 340px) {
    .footer .upper-footer .main-row>.col>.row {
        margin: 0;
    }
    .footer .upper-footer .main-row>.col .inner-col {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
        text-align: center;
        padding: 1.5rem;
    }
}


.lower-footer {
    background: #071e33;
    padding: 1rem 0;
    color: #cdd5da;
}

.lower-footer a {
    color: #cdd5da;
    font-weight: 700;
}
.lower-footer a:hover {
    color: #ffffff;
}
@media (max-width: 575px) {
    .lower-footer {
        text-align: center;
    }
    .lower-footer .text-right {
        text-align: center!important;
        margin-top: .5rem;
    }
}
