/* === Red Barn Media Group - Global Styles - American Comfort Experts === */
body {
    width: 100%;
    height: 100%;
    font-family: "Open Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    color: #333333;
    background-color: #fff;
}

html {
    width: 100%;
    height: 100%
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: #003366;
    text-transform: uppercase;
}

.open-sans {
    font-family: "Open Sans", system-ui;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;
}
.montserrat {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

.fs-7 {
    font-size: 0.85rem;
}

/* === Menu Styles :: BEGIN === */
.menu-container {
    background: transparent;
    transition-duration: 0.25s;
}

.menu-container.shrink-menu {
    background: rgba(0, 31, 61, 0.95);
    transition-duration: 0.25s;
}

.ace-menu-top-row {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.shrink-menu .ace-menu-top-row {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.menu-container .ace-menu-top-row p {
    font-size: 0.85rem;
    color: #fff;
    margin-bottom: 0;
    transition-duration: 0.25s;
}

.menu-container.shrink-menu .ace-menu-top-row p {
    font-size: 0.75rem;
    transition-duration: 0.25s;
}

.ace-menu-top-row p a {
    text-decoration: none;
    color: #fff;
}

.navbar-nav .nav-link {
    color: #fff !important;
    font-size: 1rem;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 600;
    transition-duration: 0.25s;
}

.shrink-menu .navbar-nav .nav-link {
    transition-duration: 0.25s;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:active {
    color: #cc3333 !important;
}

/* .dropdown-menu {
    background: rgba(255,255,255,0.85);
} */

li.nav-item.dropdown ul.dropdown-menu li.nav-item a {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.dropdown-item {}

.dropdown-item:focus,
.dropdown-item:hover {
    background-color: #fffef8 !important;
    color: black;
}

.dropdown-item:active {
    color: #cc3333 !important;
    background-color: #ccc !important;
}

.dropdown-toggle::after {
    display: none;
}

.dropend .dropdown-item::after {
    display: none;
}

.dropdown-menu li {
    position: relative;
}

.navbar-light .navbar-nav {
    height: 140px;
    transition-duration: 0.25s;
}

.shrink-menu .navbar-light .navbar-nav {
    height: 120px;
    transition-duration: 0.25s;
}

.menu-container a.ace-logo-place {
    display: none;
}

.menu-container a.ace-xxl-logo-place img.ace-logo {
    width: 300px;
    height: 125px;
    transition-duration: 0.25s;
}

.menu-container.shrink-menu a.ace-xxl-logo-place img.ace-logo {
    width: 240px;
    height: 100px;
    transition-duration: 0.25s;
}

/* === Menu Styles :: END === */
/* === Button Styles :: BEGIN === */
.btn {
    padding: 0.75rem 1.25rem !important;
    font-size: 1rem !important;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    transition-duration: 0.25s;
    border-radius: 0rem;
}

.btn.menu-btn {
    padding: 0.5rem 0.75rem !important;
    font-size: 0.85rem !important;
}

.btn.btn-sm {
    padding: 0.75rem 1rem !important;
    font-size: 0.85rem !important;
}

.btn.btn-lg {
    padding: 1rem 1.5rem !important;
    font-size: 1.25rem !important;
}

.btn.btn-xl {
    padding: 1.25rem 1.75rem !important;
    font-size: 1.75rem !important;
}

.btn-primary {
    color: #fffef8;
    background: #003366;
    border-color: #003366;
}

.btn-primary:hover {
    color: #fffef8;
    background: #171a44;
    border-color: #003366;
}

.btn-danger {
    color: #fffef8;
    background: #cc3333;
    border-color: #cc3333;
}

.btn-danger:hover {
    color: #fffef8;
    background: #f53030;
    border-color: #cc3333;
}

/* === Button Styles :: END === */
/* === Color Styles :: BEGIN === */
.text-primary {
    color: #003366 !important
}

.text-primary.gradient {
    /* Fallback: Set a background color. */
    background-color: #003366;

    /* Create the gradient. */
    background-image: linear-gradient(45deg, #003366, #0854a0);

    /* Set the background size and repeat properties. */
    background-size: 100%;
    background-repeat: repeat;

    /* Use the text as a mask for the background. */
    /* This will show the gradient as a text color rather than element bg. */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -moz-background-clip: text;
    -moz-text-fill-color: transparent;
}

.bg-primary {
    background: #003366 !important;
}

.bg-primary.gradient {
    background: #003366;
    background: linear-gradient(135deg, #003366 10%, #0854a0 80%) !important;
}

.border-primary {
    border-color: #003366 !important
}

.text-danger {
    color: #cc3333 !important
}

.text-danger.gradient {
    /* Fallback: Set a background color. */
    background-color: #cc3333;

    /* Create the gradient. */
    background-image: linear-gradient(45deg, #cc3333, #f53030);

    /* Set the background size and repeat properties. */
    background-size: 100%;
    background-repeat: repeat;

    /* Use the text as a mask for the background. */
    /* This will show the gradient as a text color rather than element bg. */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -moz-background-clip: text;
    -moz-text-fill-color: transparent;
}

.bg-danger {
    background: #cc3333 !important
}

.bg-danger.gradient {
    background: #cc3333;
    background: linear-gradient(135deg, #cc3333 10%, #f53030 80%) !important;
}

.border-danger {
    border-color: #cc3333 !important
}

.text-666 {
    color: #666 !important;
}

.text-platinum {
    color: #dcdcdc;
}

.text-gold {
    color: #ffd700;
}

.text-silver {
    color: #a9a9a9;
}

.text-bronze {
    color: #cd7f32;
}

/* === Color Styles :: END === */
/* === Footer Styles :: BEGIN === */
footer {background: #171a44;}
/* BBB torch, was the FA kit custom icon fa-kit fa-bbb (sized to match fa-xl) */
.ace-icon-bbb {height: 1.5em; width: auto; vertical-align: -.375em;}

/* === Footer Styles :: END === */
/* === Utility Styles :: BEGIN === */

/* === Utility Styles :: END === */
@media (max-width:1600px) {
    .navbar-light .navbar-nav .nav-link {
        font-size: 0.85rem;
    }
}

@media (max-width:1400px) {
    nav.navbar {
        height: fit-content;
        transition-duration: 0.25s;
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

    .shrink-menu nav.navbar {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
        transition-duration: 0.25s;
    }

    .menu-container a.ace-logo-place {
        display: block;
    }

    .menu-container a.ace-logo-place img.ace-logo {
        width: 240px;
        height: 100px;
        transition-duration: 0.25s;
    }

    .menu-container.shrink-menu a.ace-logo-place img.ace-logo {
        width: 215px;
        height: 90px;
        transition-duration: 0.25s;
    }

    .menu-container a.ace-xxl-logo-place img.ace-logo,
    .menu-container.shrink-menu a.ace-xxl-logo-place img.ace-logo {
        display: none;
    }

    .nav-fill .nav-item,
    .nav-fill>.nav-link {
        flex: 1 1 auto;
        text-align: left;
    }

    .navbar-light .navbar-nav .nav-link {
        font-size: 1.35rem;
        transition-duration: 0.25s;
    }

    .shrink-menu .navbar-light .navbar-nav .nav-link {}

    .btn.menu-btn {
        font-size: 1rem !important;
    }

    .rotate-at-mobile {
        transform: rotate(90deg);
    }
    
    .navbar-nav .nav-link {
        color: #003366!important;
    }
}

@media (max-width:991px) {
    .menu-container {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1030;
    }

    .navbar-collapse {
        background-color: #fff !important;
        border-radius: 0.25rem;
        z-index: 1;
    }

    .shrink-menu .navbar-collapse {
        background-color: #fff !important;
        border-radius: 0.25rem;
    }

    .navbar-light .navbar-nav .nav-link {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}

@media (max-width:767px) {
    .menu-container a.ace-logo-place img.ace-logo {
        width: 215px;
        height: 90px;
        transition-duration: 0.25s;
    }

    .menu-container.shrink-menu a.ace-logo-place img.ace-logo {
        width: 180px;
        height: 75px;
        transition-duration: 0.25s;
    }
}

@media (max-width:576px) {
    .menu-container a.ace-logo-place img.ace-logo {
        width: 180px;
        height: 75px;
        transition-duration: 0.25s;
    }
    
    .menu-container.shrink-menu a.ace-logo-place img.ace-logo {
        width: 120px;
        height: 50px;
        transition-duration: 0.25s;
    }
}

@media (max-width:500px) {}