@charset "UTF-8";

/* CSS Document */


/* ================================================ Basic Structure ================================================ */

.page {
    overflow: hidden;
}

.container {
    margin: 0 auto !important;
    padding: 10px 0 10px;
    height: auto;
}

.container-fluid {
    margin: 0 auto !important;
}

.maxw {
    max-width: 1140px;
}

.whitebg {
    background-color: #FFF;
}

.lightbg {
    background-color: #EEE;
}

.medbg {
    background-color: #97cfca;
}

.darkbg {
    background-color: #0B294C;
    color: #FFF;
}

.darkbg h2,
.darkbg p {
    color: #FFF !important;
}

.white_bullet ul li:before {
    background-image: url(https://designcoup.com/wp-content/uploads/2024/06/flag_bullet_white.webp);    
}

.btn {
    border: none;
    border-radius: 4px;
    background-color: #61B46A;
    font-weight: 700;
    font-size: 0.8em;
    color: #FFF;
    margin-top: 1em;
    padding: 10px 20px;
}

.btn:hover {
    background-color: #4A8950;
    color: #FFF;
    text-decoration: none;
}

hr {
    border: none;
    height: 1px;
    background-color: #f86e57;
}

a:hover {
    color: #ff5a00;
    text-decoration: underline;
}

.callout {
    font-size: 2em;
    font-weight: 300;
}

.hidden {
    display: none;
}

.m_only {
    display: none;
}

.d_only {
    display: block;
}

.row > div.d_only {
    display: flex;
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

#wpadminbar {
    z-index: 0;
}


/* anchor offset to make up for sticky nav */

.anchordiv {
    position: relative;
    top: -100px;
    display: block;
    visibility: hidden;
}

.nopadding {
    padding: 0 !important;
}

.fourohfour {
    text-align: center;
}

.fourohfour h1, .fourohfour h2 {
    color: #fff !important;
}

.fourohfour h1 {
    font-size: 4em;
}



/* ================================================ Horizonal Scroll ================================================ */

.horiz_scroll {
    overflow: hidden;
    overflow-x: scroll;
}

.horiz_scroll .row {
    width: 425%;
    justify-content: flex-start !important;
}

/* ================================================ Accordions ================================================ */

.acc_wrapper {
    position: relative;  
    padding: 3vw 0;  
}

.acc_wrapper hr {
    width: 25%;
    margin: 5px 0 5px 12px;
    background-color: #000;
}

.acc_wrapper > div {
    border: solid transparent 2px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.acc_wrapper > div:hover,
.acc_wrapper > div:has(.on) {
/*    border: solid orangered 2px;*/
}

.open_button {
    cursor: pointer;
    display: block;    
    padding: 12px 25px 12px 0;    
    border-top: 1px solid #000;
}

.open_button:after {
    content: '+';
    position: absolute;
    right: 12px;
}

.open_button.on:after {
    content: '–';
    font-weight: bold;
}

.open_button,
.inside_content p {
    margin: 0;
    color: #000;
}

.open_button h3 {
    padding-right: 15px;
}

.inside_content {
    display: block;
    color: #000;
    padding: 12px;
}

/* ================================================ Custom Styles ================================================ */

.minigrid .row > div {
    padding: 0 15px 15px 0;
}

.minigrid .row > div:nth-child(1),
.minigrid .row > div:nth-child(3) {
    position: relative;
    top: -30px;
}

.minigrid figure {
    margin-bottom: 0;
}

.minigrid img {
    border-radius: 25px;
}

.minigrid .callout {
    background-color: #774896;    
    font-size: 1em;
    border-radius: 25px;
    padding: 30px !important;
}

.minigrid p {
    color: #FFF !important;
    margin: 0;
}

.minigrid .callout strong {
    font-size: 2.5em;
    font-family: source-serif-4, serif;
    margin-bottom: 0;
    font-weight: bold;
}

.story_slides {
/*    border: solid 2px red;*/
    overflow: hidden;
}

.privacy_terms :is(h2,h3) {
    font-family: gill-sans-nova, sans-serif;
    margin-top: 1em;
}

.privacy_terms h2 {
    font-size: 1.2em;    
}

.privacy_terms h3 {
    font-size: 1em;
}

/* ================================================ Footer ================================================ */

footer {
    padding: 20px 0;
    margin-bottom: 100px;
    text-align: center;
}

footer .disclaimer p {
    font-size: 0.8em;
    color: #303737;
}

footer .copyright {
    font-size: 0.6em;
    font-weight: bold;
}

footer a {
    color: #303737;
    text-decoration: underline;
}

/* Popup Contact Form */

.footer_form_wrapper {
    position: absolute;
    left: -10000px;
}

.contact_block .maxw {
    background-color: #000;
    padding: 3vw;
    border-radius: 4px;
}

.contact_block h2 {
    color: #FFF;
}



/* ================================================ Contact Forms ================================================ */

/* == Formidable Forms & Selectric (Dropdowns) == */

.form-field {
    margin-bottom: 0 !important;
}

.frm_primary_label {
    color: #333 !important;
    font-size: 1em;
    font-weight: normal;
}

.frm_form_field.frm_half {}

form input[type=text],
form input[type=email],
form input[type=tel],
form input[type=search],
form textarea,
.selectric {
    height: 70px !important;
    /*    border-radius: 23px !important;*/
    font-size: 1.25em !important;
    margin: 0 0 20px 0 !important;
    vertical-align: top;
    font-family: gill-sans-nova, sans-serif !important;
    font-weight: 600 !important;

/*    line-height: 80px;*/
}

form input[type=text],
form input[type=email],
form input[type=tel],
form textarea,
.selectric {
    border: 1px solid #c9c9c9 !important;
    border-radius: 0 !important;
    color: #333 !important;
    box-shadow: none !important;
    padding-left: 20px !important;
}

.selectric {
    padding-left: 12px !important;
}

.selectric .label {
    font-size: 1.5em !important;
    color: #0b1e61 !important;
    padding: 3px 0 0 !important;
}

.selectric .button {
    background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMTYuODggMTgzLjY5Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzQzNDM0NTt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmRyb3Bkb3duLWFycm93PC90aXRsZT48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNTMuMjYsMTgxLjU0bC0xNTAtMTUwYTExLjE4LDExLjE4LDAsMCwxLDAtMTUuODJMMTUuNzQsMy4yOGExMS4xOCwxMS4xOCwwLDAsMSwxNS44MiwwTDE1OC40NCwxMzAuMTYsMjg1LjMyLDMuMjhhMTEuMTgsMTEuMTgsMCwwLDEsMTUuODIsMEwzMTMuNiwxNS43NGExMS4xOCwxMS4xOCwwLDAsMSwwLDE1LjgybC0xNTAsMTUwQTcuMzMsNy4zMywwLDAsMSwxNTMuMjYsMTgxLjU0WiIvPjwvc3ZnPg==) !important;
    background-repeat: no-repeat;
    background-color: transparent !important;
    right: 0px !important;
    top: 15px !important;
    width: 38px !important;
    height: 13px !important;
}

.selectric .button:after {
    display: none;
}

.selectric-open .selectric {
    background-color: #7adfa9 !important;
    border-color: #7adfa9 !important;
}

.selectric-items li {
    font-size: 1.75em !important;
}

input[type=text]::placeholder,
input[type=tel]::placeholder,
textarea::placeholder,
input[type=email]::placeholder {
    color: #68bcc7 !important;
    font-weight: normal !important;
    font-family: gill-sans-nova, sans-serif;
    font-size: 1.25em !important;
    overflow: visible;
    height: 40px;
    line-height: 22px;
}

textarea {
    height: 100px !important;
    /*    border-radius: 23px !important;*/
    font-size: 1em;
    padding-top: 20px !important;
/*    background-image: url(../images/designcoup_pattern_5.png);*/
}

.frm_submit button {
    border: none !important;
    box-shadow: none !important;
    border-radius: 4px !important;
    background-color: #61B46A !important;
    font-weight: 700 !important;
    font-size: 0.8em !important;
    color: #FFF !important;
    margin-top: 1em !important;
    padding: 10px 20px !important;
}

.frm_label_float_top label {
    color: #E23C19 !important;
    font-weight: bold !important;
}

.frm_submit button:hover {
    background-color: #4A8950 !important;
    color: #FFF !important;
    text-decoration: none !important;
}


/* RECAPTCHA */

.g-recaptcha {
    margin: 20px 0;
}

/* Error Messaging */

.frm_error_style {
    /*    border-radius: 1000px !important;*/
    border: 2px solid #FFF !important;
    background-color: red !important;
    color: #FFF !important;
    font-size: 1em !important;
    line-height: 1em !important;
    font-weight: bold;
}

.thanks {
    max-width: 800px;
    padding: 100px;
    display: block;
    margin: 50px auto;
    background-color: #FFF;
    text-align: center;
}

/* ========== Fancybox =========== */

.fancybox-button {
    color: #FFF;
    background-color: #ea5428;
}

.fancybox-button--zoom {
    display: none !important;
}

.fancybox-content {
    background-color: transparent !important;
    max-width: 1400px !important;
}

.fancybox-button[disabled],
.fancybox-button[disabled]:hover {
    opacity: 0.25 !important;
}

/* Move Caption */
.fancybox-caption.caption--image {
   width: 100%;
   bottom: 0;
   padding: 10px;
   color: #fff;
   transform: translateY(100%);
   background-color: #ea5428;   
   font-size: 1em;
}

.fancybox-inner > .fancybox-caption {
    display: none;
}

.fancybox-caption:before {
    background-image: none;
}

/* ========== Slick Slides =========== */

.slick_slides li:before {
    background-image: none;
    padding: 0;
    margin: 0;
}

.slick-slide p {
    margin: 0 0 5px 0;
}

.slick-slide:hover {
    cursor: wait;
}

.slick-track {
  display: flex !important;
}

.slick-track .slick-slide {
    display: flex !important;
    height: auto;
/*    align-items: center;
    justify-content: center;*/
/*    text-align: center;*/
    flex-direction: column;
/*    background-color: lightcyan;*/
    padding: 0 30px;
}

.slick-dotted.slick-slider {
    margin-bottom: 0 !important;
}

.slick-dots {
/*    background-color: mediumorchid;*/
    height: 60px;
    width: fit-content;
    position: absolute;
    right: 0;
    bottom: 0px;
}

.slick-dots li button:before {
    font-size: 15px;
    color: #774896;
}


/* ================================================ Responsive Start ================================================ */

@media (min-width: 576px) {} /* xs */

@media (min-width: 768px) { /* sm */

    html {
        font-size: 2vw;
    }

    /* ================================================ Horizonal Scroll ================================================ */


    .horiz_scroll .row {
        width: 140%;
        justify-content: flex-end !important;
    }    

}

@media (min-width: 1200px) {
    html {
        font-size: 1.5vw;
    }
}

@media (min-width: 1400px) {
    html {
        font-size: 1.3vw;
    }
}

@media(min-width: 1600px) {
    .horiz_scroll .row {
        width: 100%;
        justify-content: center !important;

    }
    
}

@media (min-width: 2000px) {
    html {
        font-size: 20px;
    }
}
