/* === Red Barn Media Group - Global Styles - Thompson Heating === */

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

body {
    font-family: "source-sans-pro", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #000;
    background-color: #fff;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-family: rubik, sans-serif;
    font-weight: 700;
    font-style: normal;
    text-transform: uppercase;
}

.source-sans-pro-400, .source-sans-pro-600, .source-sans-pro-700 {
    font-family: "source-sans-pro", sans-serif;
    font-style: normal;
}

.source-sans-pro-400 { font-weight: 400; }
.source-sans-pro-600 { font-weight: 600; }
.source-sans-pro-700 { font-weight: 700; }

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

/* === Shared Transition Styles === */
.transition-0-25s {
    transition-duration: 0.25s;
}

/* === Menu Styles === */
.menu-container {
    background: #fff;
    margin-top: 0 !important;
    top: 0;
}

.menu-container,
.menu-container.shrink-menu,
.th-banner-menu-topper,
.shrink-menu .th-banner-menu-topper,
.th-banner-menu-topper .th-banner-menu-topper-col,
.shrink-menu .th-banner-menu-topper .th-banner-menu-topper-col,
.navbar-light .navbar-nav,
.menu-container .container-fluid.th-logo-row,
.menu-container.shrink-menu .container-fluid.th-logo-row {
    transition-duration: 0.25s;
}

.th-banner-menu-topper .th-banner-menu-topper-col {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.shrink-menu .th-banner-menu-topper .th-banner-menu-topper-col {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}

.navbar-light .navbar-nav {
    height: 75px;
}

.shrink-menu .navbar-light .navbar-nav {
    height: 65px;
}

.navbar-light .navbar-nav .nav-link {
    color: #000 !important;
    font-size: 1rem;
    font-weight: 600;
}

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

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

.dropdown-item {
    color: #000 !important;
    font-size: 0.85rem;
}

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

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

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

.dropdown-menu li {
    position: relative;
}

.navbar-expand-xxl .navbar-nav .dropdown-menu.main-dropdown {
    top: 2rem;
    background: #fff;
    padding-top:1rem;
    padding-left:0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    border: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    box-shadow: 0 3rem 3rem rgba(0, 0, 0, 0.175);
    transition-duration: 0.25s;
}
.shrink-menu .navbar-expand-xxl .navbar-nav .dropdown-menu.main-dropdown {
    top: 2rem;
    transition-duration: 0.25s;
}
.navbar-expand-xxl .navbar-nav .dropdown-menu.sub-dropdown {
    background: #fff;
    padding:0.5rem;
    border: 0;
    border-radius: 1rem;
    box-shadow: 0 3rem 3rem rgba(0, 0, 0, 0.175);
}

.menu-container .container-fluid .row .th-logo-place a.th-logo {
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    top: 0.75rem;
    z-index: 2;
    transition-duration: 0.25s;
}

.menu-container .container-fluid .row .th-logo-place a.th-logo {
    background: url(../img/th-logo-new.svg);
    width: 215px;
    height: 135px;
    transition-duration: 0.25s;
}

.menu-container.shrink-menu .container-fluid .row .th-logo-place a.th-logo {
    background: url(../img/th-logo-new.svg);
    width: 175px;
    height: 110px;
    transition-duration: 0.25s;
}

/* === Button Styles === */
.btn {
    padding: 0.75rem 1.25rem !important;
    font-family: source-sans-pro, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 1rem;
    border-radius: 50rem;
    transition-duration: 0.25s;
}

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

.btn.btn-sm { padding: 0.5rem .75rem !important; font-size: 0.85rem !important; }
.btn.btn-md { padding: 0.85rem 1.25rem !important; font-size: 1rem !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-danger {
    color: #fff;
    background: #c60505;
    border-color: #c60505;
}

.btn-danger:hover {
    background: #dd2b22;
}

.btn-primary {
    color: #fff;
    background: #01254c;
    border-color: #01254c;
}

.btn-primary:hover {
    background: #014894;
}

/* === Color Styles === */
.text-primary { color: #01254c !important; }
.bg-primary { background: #01254c !important; }
.border-primary { border-color: #01254c !important; }

.text-danger { color: #c60505 !important; }
.bg-danger { background: #c60505 !important; }
.border-danger { border-color: #c60505 !important; }
.text-666 { color: #666 !important; }
.th-plus-bg-pattern {
    background-color: #f8f9fa;
    background: radial-gradient(circle, transparent 20%, #f8f9fa 20%, #f8f9fa 80%, transparent 80%, transparent), radial-gradient(circle, transparent 20%, #f8f9fa 20%, #f8f9fa 80%, transparent 80%, transparent) 25px 25px, linear-gradient(#eeeeee 2px, transparent 2px) 0 -1px, linear-gradient(90deg, #eeeeee 2px, #f8f9fa 2px) -1px 0;
    background-size: 50px 50px, 50px 50px, 25px 25px, 25px 25px;
}
/* === Curved Top Block Styles === */
.curved-top-block {
    height: fit-content;
    clip-path: ellipse(200% 100% at 50% 100%);
    padding-top: 3rem;
    margin-top: -3rem;
}
/* === Footer Styles === */
footer {}
/* === Utility Styles === */
.form-control {
    background-color:#eeeeee;
    border: none;
}
em, u {
    text-decoration: none;
    font-style: normal;
    font-weight: 700;
}
.th-row-card.left {
  border-top-left-radius: 1rem;
  border-bottom-left-radius: 1rem;
}
.th-row-card.right {
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
tbody, td, tfoot, th, thead, tr {
    border-style: none !important;
}
/* === Media Queries === */
@media (max-width:1500px) {
    .navbar-light .navbar-nav .nav-link { font-size: 0.85rem; }
}

@media (max-width:1400px) {
    nav.navbar {
        height: fit-content;
        margin: 1rem 0;
    }

    .shrink-menu nav.navbar {
        margin: 0.5rem 0;
    }

    .navbar-light .navbar-nav .nav-link {
        font-size: 1.35rem;
        color: #da3a32 !important;
    }

    .btn.menu-btn { font-size: 1rem !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;
    }

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

    .th-row-card.left {
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    border-bottom-left-radius: 0rem;
  }
  .th-row-card.right {
    border-top-right-radius: 0rem;
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
  }
}

@media (max-width:767px) {
    .th-banner-menu-topper .th-banner-menu-topper-col h6 { font-size: 0.75rem; }
    /* === Curved Top Block Styles === */
    .curved-top-block {
        height: fit-content;
        clip-path: ellipse(300% 100% at 50% 100%);
    }
}

@media (max-width:700px) {
    nav.navbar { height: 60px; }
    .shrink-menu nav.navbar { height: 50px; }

    .menu-container .container-fluid .row .th-logo-place a.th-logo {
        background: url(../img/th-logo-new.svg);
        width: 175px;
        height: 110px;
        top: 2.65rem;
    }

    .menu-container.shrink-menu .container-fluid .row .th-logo-place a.th-logo {
        background: url(../img/th-logo-new.svg);
        width: 150px;
        height: 94px;
        top: 2.5rem;
    }
}

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

@media (max-width:500px) {
    .menu-container .container-fluid .row .th-logo-place a.th-logo {
        background: url(../img/th-logo-new.svg);
        width: 150px;
        height: 94px;
        top: 2.65rem;
    }

    .menu-container.shrink-menu .container-fluid .row .th-logo-place a.th-logo {
        background: url(../img/th-logo-new.svg);
        width: 125px;
        height: 78px;
        top: 2.5rem;
    }
}