/*!
 * Opal - Master CSS
 * Copyright 2024 Punchmark
 */
 
/* =======================
    General
======================= */

.display-1 {
    font-weight: 150 !important;
    margin-bottom: 1rem !important;    
}

.display-2 {
    font-weight: 170 !important;
    margin-bottom: 1rem !important;    
}

.display-3 {
    font-weight: 190 !important;
    margin-bottom: 1rem !important;    
}

.display-4 {
    font-weight: 210 !important;
    margin-bottom: 1rem !important;    
}

.display-5 {
    font-weight: 230 !important;
    margin-bottom: 1rem !important;    
}

.display-6 {
    font-weight: 250 !important;
    margin-bottom: 0.3125rem !important;    
}

body {
    background: var(--bs-section-default-bg) !important;
}

.btn-light:hover,
.btn-light:focus,
.btn-light:focus-visible {
    color: var(--bs-primary) !important;
}

.btn-link {
    min-height: auto !important;
}

section.alt {
    background: var(--bs-primary) !important;
    /* var(--bs-section-default-bg) is used for the dull-purple color */
}

/* ======================
    Icons
====================== */ 

section[data-pagebuilder="section"] .widget-image-icon {
    max-width: 60px !important;
    margin-left: auto !important; 
    margin-right: auto !important;
    margin-bottom: 10px !important;
    height: auto !important;
}

/* =======================
    Column Helpers
======================= */

[data-pagebuilder="column"].d-flex.align-items-center [data-pagebuilder="widget"],
[data-pagebuilder="column"].d-flex.align-items-center [data-pagebuilder="widget"] > [data-widget-url],
[data-pagebuilder="column"] [data-pagebuilder="widget"] > [data-widget-url].max-width-100.px-20 {
    height: auto !important;
}

/* =======================
    Alert
======================= */

.alert-global {
    background: var(--bs-secondary) !important;
}

.alert-global,
.alert-global a {
    color: var(--bs-dark) !important;
}

.alert-global .btn-close-white {
    filter: none !important;
}

/* =======================
    Toolbar
======================= */

.toolbar.top {
    display: none !important;
}


/* =======================
    Header
======================= */

header {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    
}

header .main-content > .row > .col {
    min-height: 80px;
}

header a#logo {
    position: static !important;
    transform: none !important;
    margin: 0 auto 0 0 !important;
    padding: 0 !important;
    padding-left: 0.625rem !important;
}

header a#logo img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}

header .navbar-toggler {
    padding-left: 0.3125rem !important;
    padding-right: 1.25rem !important;
}

header .content-toolbar.left {
    display: none !important;
}

header .content-toolbar.right {
    display: flex !important;
    padding-left: 0.625rem !important;
    padding-right: 0.625rem !important;
}

header .content-toolbar .content-toolbar-inner > ul > li > a > i,
header .content-toolbar .content-toolbar-inner > ul > li > a > i::before {
    width: 24px !important;
    height: 24px !important;
    font-size: 22px !important;
}

header .content-toolbar .content-toolbar-inner > ul > li > a > i::before {
    -webkit-text-stroke-width: 0.5px !important;
    -webkit-text-stroke-color: inherit !important;
}

header .content-toolbar .content-toolbar-inner > ul > li > a > i + span {
    display: none !important;
    font-size: 13px !important;
}

@media (max-width: 767px){
    header {
        padding-bottom: 40px !important;
    }
    header .content-toolbar .content-toolbar-inner > ul > li.toolbar-item.d-block.item-search-inline {
        position: absolute !important;
        top: auto !important;
        bottom: -40px !important;
        left: -1px !important;
        right: 0 !important;
        width: calc(100% + 2px) !important;
        height: 40px !important;
        padding: 0 !important;
        background: var(--bs-section-default-alt) !important;
        border: 0 !important;
    }
    header .content-toolbar .content-toolbar-inner > ul > li.toolbar-item.d-block.item-search-inline .input-group {
        border: 0 !important;
        border-radius: 0 !important;
        width: 100% !important;
        padding-top: 1px !important;
    }
    header .content-toolbar .content-toolbar-inner > ul > li.toolbar-item.d-block.item-search-inline .input-group .form-control {
        font-size: 18px !important;
        font-weight: 400 !important;
        letter-spacing: 0.04rem !important;
        padding-left: 1.25rem !important;
        border: 0 !important;
    }
    header .content-toolbar .content-toolbar-inner > ul > li.toolbar-item.d-block.item-search-inline .input-group .form-control::placeholder {
        font-size: 16px !important;
        font-weight: 300 !important;
        color: rgba(0,0,0,0.3) !important;
    }
    header .content-toolbar .content-toolbar-inner > ul > li.toolbar-item.d-block.item-search-inline .input-group .form-control + .input-group-btn .btn {
        padding-right: 1.2rem !important;
        border: 0 !important;
    }
}

@media (min-width: 768px) {
    header .main-content > .row > .col {
        min-height: 120px;
    }
    header .content-toolbar .content-toolbar-inner > ul > li > a > i + span {
        display: block !important;
    }
}

@media (min-width: 992px) {
    header .navbar-toggler {
        padding-left: 0.625rem !important;
    }
}

@media (min-width: 1200px) {
    header .navbar-toggler {
        padding-left: 0.875rem !important;
    }
}

/* =======================
    Main Navigation
======================= */

nav.navbar #main-navigation {
    background: var(--bs-input-bg-color) !important;
}

nav.navbar #main-navigation .mobile-container .btn-close {
    width: 100% !important;
    padding: 0 !important;
    background-color: transparent !important;
    background-position: right 1.2rem center !important;
    opacity: 1 !important;
    box-shadow: none !important;
    min-height: 50px !important;
}

nav.navbar #main-navigation .mobile-container .btn-close:hover,
nav.navbar #main-navigation .mobile-container .btn-close:focus {
    opacity: 0.5 !important;
}

nav.navbar #main-navigation .mobile-bottom,
nav.navbar #main-navigation .mobile-top .nav-top-buttons {
    display: none !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-search {
    padding: 0 !important;
    background: var(--bs-section-default-bg) !important;
}

nav.navbar #main-navigation .btn-close + .mobile-top .mobile-top-search,
nav.navbar .navbar-nav .nav-item.dropdown .dropdown-menu:not(.dropdown-menu-wide) .dropdown-item, 
nav.navbar .navbar-nav .nav-item.dropdown .dropdown-menu:not(.dropdown-menu-wide) .dropdown-submenu, 
nav.navbar .navbar-nav .nav-item.dropdown .dropdown-menu:not(.dropdown-menu-wide) .mobile-dropdown {
    border-color: var(--bs-input-border-color) !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-search .input-group {
    border: 0 !important;
    border-radius: 0 !important;
    height: 50px !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-search .input-group:focus-within {
    background: var(--bs-input-border-color) !important;
    /*height: 70px !important;*/
    height: 50px !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-search .input-group .form-control {
    font-size: 18px !important;
    font-weight: 300 !important;
    letter-spacing: 0.075rem !important;
    padding-left: 1.25rem !important;
    color: var(--bs-dark) !important;    
}

nav.navbar #main-navigation .mobile-top .mobile-top-search .input-group .form-control::placeholder {
    letter-spacing: 0.05rem !important;
    font-weight: 300 !important;
    opacity: 0.65 !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-search .results-dropdown .dropdown-menu {
    border-radius: 0 !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links {
    background: var(--bs-section-default-bg) !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav {
    border: 0 !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item {
    padding: 0 !important;
    border-color: var(--bs-input-border-color) !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item .nav-link,
nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-item {
    color: var(--bs-p-color) !important;
    font-size: 21px !important;
    font-weight: 300 !important;
    letter-spacing: 0.125rem !important;
    text-transform: uppercase !important;
    padding: 0 !important;
    padding-top: 2px !important;
    padding-left: 1.25rem !important;
    height: auto !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-item {
    color: var(--bs-p-color) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 0.05rem !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-item:not(.dropdown-item-parent) {
    padding-left: 1.875rem !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item .nav-link:hover,
nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item .nav-link:focus,
nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item.dropdown-is-open .nav-link {
    color: var(--bs-primary) !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item > .nav-link-and-plus-wrap .dropdown-plus > i, 
nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item > .nav-link-and-plus-wrap .dropdown-plus > i::before,
nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-plus > i, 
nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-plus > i::before {
    height: auto !important;
    width: 50px !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item .nav-link-and-plus-wrap,
nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-item {
    height: 50px !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item > .nav-link,
nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item > .nav-link-and-plus-wrap {
    height: 70px !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item .dropdown-menu {
    background: var(--bs-input-bg-color) !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar {
    background: var(--bs-input-bg-color) !important;
    border-bottom: 1px solid var(--bs-input-border-color) !important;
    padding: 0 !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item,
nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item > a {
    padding: 0 !important;
    min-height: 50px !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item > a {
    padding-left: 1.25rem !important;
    font-size: var(--bs-p-size) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05rem !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item > a > i {
    display: inline-flex !important;
    width: 25px !important;
    height: 25px !important;
    font-size: 14px !important;
    border: 1px solid var(--bs-input-border-color) !important;
    border-radius: 50% !important;
    margin-right: 0.625rem !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item > a:hover,
nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item > a:focus, 
nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item > a:hover > i,
nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item > a:focus > i {
    color: var(--bs-primary) !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item + .toolbar-item {
    border-top: 1px solid var(--bs-input-border-color) !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item > a > span:not(.sr-only) {
    display: flex !important;
    flex: 1 !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item > a.dropdown-toggle::after {
    width: 50px !important;
}

nav.navbar #main-navigation .mobile-top-toolbar .toolbar-item .dropdown-menu {
    width: 100% !important;
    min-width: 100% !important;
    border-radius: 0 !important;
    border: 0 !important;
    padding-top: 0 !important;
}

nav.navbar #main-navigation .mobile-top-toolbar .toolbar-item .dropdown-menu > .px-10 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

nav.navbar #main-navigation .mobile-top-toolbar .toolbar-item.item-wishlist, 
nav.navbar #main-navigation .mobile-top-toolbar .toolbar-item.item-premium-global-cart-toggle {
    display: block !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item.item-currency-switcher .currency-switcher-country {
    font-size: var(--bs-p-size) !important;
    font-weight: 500 !important;
    letter-spacing: 0.05rem !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item.item-currency-switcher .currency-switcher-value {
    font-size: var(--bs-p-size) !important;
    font-weight: 300 !important;
    letter-spacing: 0.05rem !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item.item-currency-switcher .dropdown-toggle img {
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
    min-height: 25px !important;    
    overflow: hidden !important;
    border-radius: 50% !important;
    margin-right: 0.625rem !important;
    object-fit: cover !important;
    border: 1px solid var(--bs-p-color) !important;
    outline-offset: -2px !important;
    outline: 1px solid var(--bs-section-default-bg) !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item.item-currency-switcher .menu-currency-switcher .dropdown-item {
    padding-left: 0.625rem !important;
    padding-right: 0.625rem !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item.item-currency-switcher .menu-currency-switcher .dropdown-item.active {
    background: var(--bs-input-border-color) !important;
    color: var(--bs-p-color) !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item.item-currency-switcher .menu-currency-switcher .dropdown-item img {
    max-width: 32px !important;
    margin-right: 0.3125rem !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item > .nav-link-and-plus-wrap .dropdown-plus > i::before,
nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item.dropdown .dropdown-menu .dropdown-plus > i::before,
nav.navbar #main-navigation .mobile-top .mobile-top-toolbar .toolbar-item > a.dropdown-toggle::after {
    content: var(--bs-icon-desc) !important;
    -webkit-text-stroke-width: 0 !important;
    color: var(--bs-p-color) !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item.has-a-plus > .nav-link-and-plus-wrap > .dropdown-plus > i.icon-plus,
nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item.has-a-plus > .dropdown-menu .dropdown.dropdown-submenu > .nav-link-and-plus-wrap > .dropdown-plus > i.icon-plus,
nav.navbar #main-navigation .mobile-top-toolbar .toolbar-item.dropdown .dropdown-toggle::after {
    transform: rotate(0deg) !important;
}

nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item.has-a-plus.show > .nav-link-and-plus-wrap > .dropdown-plus > i.icon-plus,
nav.navbar #main-navigation .mobile-top .mobile-top-nav-links .navbar-nav .nav-item.has-a-plus > .dropdown-menu .dropdown.dropdown-submenu.show > .nav-link-and-plus-wrap > .dropdown-plus > i.icon-plus,
nav.navbar #main-navigation .mobile-top-toolbar .toolbar-item.dropdown.show .dropdown-toggle::after, 
nav.navbar #main-navigation .mobile-top-toolbar .toolbar-item.dropdown.menu-open .dropdown-toggle::after {
    transform: rotate(180deg) !important;
}

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

footer {
    background: var(--bs-section-default-bg) !important;
    padding: 0 !important;
}

footer > .container,
footer > .footer-section > .container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
}

footer > .footer-section > .container-fluid.px-0 {
    background: var(--bs-input-bg-color) !important;
    border-top: 1px solid var(--bs-input-border-color) !important;
    border-bottom: 1px solid var(--bs-input-border-color) !important;
}

footer .logo {
    max-width: 120px !important;
    margin-top: 2.5rem !important;
    margin-bottom: 0px !important;
}

footer .logo img {
    display:inline-block;
    filter: none !important;
}

footer h6, 
footer .h6 {
    letter-spacing: 0.075rem !important;
    color: var(--bs-dark) !important;
}

footer p, 
footer p *, 
footer address,
footer address * {
    color: var(--bs-dark) !important;
}

footer .footerlinks li {
    padding-right: 1.25rem !important;
}

footer .footerlinks li > a {
    font-size: 13px !important;
    display: inline-flex !important;
    align-items: flex-start !important;
    margin: 6px 0 !important;
    color: var(--dark) !important;
    text-transform: none !important;
    opacity: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05rem !important;
    line-height: 1.1 !important;
}

footer .footerlinks > li > a:hover,
footer .footerlinks > li > a:focus {
    color: var(--dark) !important;
    text-decoration: underline !important;
    opacity: 1 !important;
}

footer .footerlinks > li > a > i {
    margin-top: 0.2rem !important;
    margin-right: 8px !important;
}

footer .footerlinks.two-columns {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
}

footer p.copyrights {
    display: block !important;
    justify-content: flex-start !important;
    text-align: left !important;
    padding: 1.25rem 0 0 0 !important;
    border-top: 1px solid var(--bs-input-border-color) !important;
}

footer .required-links li a {
    color: var(--dark) !important;
}

footer .social-networks {
    margin-top: 10px !important;
}

footer .social-networks .network {
    margin-right: 1rem !important;
    margin-bottom: 1rem !important;
}

footer .social-networks .network a, 
footer .social-networks .network i {
    color: var(--dark) !important;
    opacity: 1;
    transition: opacity 0.15s linear;
}

footer .social-networks .network:hover, 
footer .social-networks .network:focus, 
footer .social-networks .network:hover i, 
footer .social-networks .network:focus i {
    color: var(--dark) !important;
}

footer .social-networks .network:hover i, 
footer .social-networks .network:focus i {
    opacity: 0.75 !important;
}

footer .subscribe-widget-xl {
    padding: 1.875rem 1.25rem !important;
}

footer .subscribe-widget-xl form[action="/newsletter-subscription"] {
    margin-top: 0 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

footer .subscribe-widget-xl form[action="/newsletter-subscription"] .input-group .input-group-btn .btn {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
    width: 100% !important;
    height: 50px !important;
    color: var(--bs-dark) !important;
    border-color: var(--bs-secondary-500) !important;
    background: var(--bs-secondary-500) !important;
}

footer .subscribe-widget-xl form[action="/newsletter-subscription"] .input-group .input-group-btn .btn:hover,
footer .subscribe-widget-xl form[action="/newsletter-subscription"] .input-group .input-group-btn .btn:focus {
    border-color: var(--bs-secondary-400) !important;
    background: var(--bs-secondary-400) !important;
}

footer .subscribe-widget-xl form[action="/newsletter-subscription"] .form-control {
    border: 1px solid var(--bs-input-border-color) !important;
    background: var(--bs-section-default-bg) !important;
    padding-left: 1.25rem !important;
}

footer .subscribe-widget-xl form[action="/newsletter-subscription"] .form-control:focus,
footer .subscribe-widget-xl form[action="/newsletter-subscription"] .form-control:focus-visible {
    background: var(--bs-input-border-color) !important;
}

footer .subscribe-widget-xl form[action="/newsletter-subscription"] label {
    display: block !important;
    text-align: left !important;
    margin: 0 !important;
    margin-bottom: 0.625rem !important;
    position: static !important;
}

footer .subscribe-widget-xl form[action="/newsletter-subscription"] label + p {
    display: block !important;
    text-align: left !important;
    margin: 0 !important;
    margin-bottom: 1rem !important;
    position: static !important;
    font-size: var(--bs-p-size) !important;
    line-height: 1.25 !important;
}

@media(max-width: 600px) {
    footer .subscribe-widget-xl form[action="/newsletter-subscription"] .input-group {
        flex-direction: column !important;
    }
    footer .subscribe-widget-xl form[action="/newsletter-subscription"] .input-group .form-control {
        width: 100% !important;
    }
    footer .subscribe-widget-xl form[action="/newsletter-subscription"] .input-group .input-group-btn {
        width: 100% !important;
        margin-top: 0.3125rem !important;
    }
    footer .subscribe-widget-xl form[action="/newsletter-subscription"] .input-group .input-group-btn .btn {
        width: 100% !important;
        height: 50px !important;
    }
}

@media (min-width: 768px) {    
    footer .subscribe-widget-xl form[action="/newsletter-subscription"] label,
    footer .subscribe-widget-xl form[action="/newsletter-subscription"] label + p {
        margin: 0 !important;
        padding-right: 1.25rem !important;
    }
}

@media (min-width: 992px) {
    footer .footerlinks.two-columns {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (min-width: 1200px) {
    footer .subscribe-widget-xl form[action="/newsletter-subscription"] {
        max-width: 1100px !important;
    }
}

@media (min-width: 1400px) {
    footer .subscribe-widget-xl form[action="/newsletter-subscription"] {
        max-width: 1280px !important;
    }
}

/* =======================
    Opal Banners
======================= */

section[data-pagebuilder="section"].opal-banners,
section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

section[data-pagebuilder="section"].opal-banners,
section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"],
section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="row"] {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].image-column,
section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].align-items-stretch {
    display: flex !important;
    align-items: stretch !important;
}

section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].image-text,
section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].align-items-center {
    display: flex !important;
    align-items: center !important;
}

section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].image-text [data-pagebuilder="widget"] .content-block,
section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].align-items-center [data-pagebuilder="widget"] .content-block {
    padding: 1.25rem !important;
}

@media (min-width: 400px) {
    section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].image-text [data-pagebuilder="widget"] .content-block,
    section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].align-items-center [data-pagebuilder="widget"] .content-block {
        padding: 1.875rem !important;
    }
}

@media (min-width: 768px) {
    section[data-pagebuilder="section"]#section-1.opal-banners {
        margin-top: -120px !important;
    }    
    section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].image-text,
    section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].align-items-center {
        padding-top: calc(120px - 5vw) !important;
    }
    section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].image-text [data-pagebuilder="widget"] .content-block,
    section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].align-items-center [data-pagebuilder="widget"] .content-block {
        padding: 5vw !important;
    }
}

@media (min-width: 992px) {    
    section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].image-text [data-pagebuilder="widget"] .content-block,
    section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].align-items-center [data-pagebuilder="widget"] .content-block {
        padding: 6.25vw !important;
    }
}

@media (min-width: 1200px) {
    section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].image-text [data-pagebuilder="widget"] .content-block,
    section[data-pagebuilder="section"].opal-banners [data-pagebuilder="section-container"] [data-pagebuilder="column"].align-items-center [data-pagebuilder="widget"] .content-block {
        padding: 7.5vw !important;
    }
}

/* =======================
    Two Color Background
======================= */

section[data-pagebuilder="section"].section-two-colors {
    background: var(--bs-secondary) !important;
    position: relative !important;
    overflow: visible !important;
}

section[data-pagebuilder="section"].section-two-colors::after {
    content: '';
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    top: auto;
    height: 50%;
    width: 100%;
    background: var(--bs-section-default-alt) !important;
}

section[data-pagebuilder="section"].section-two-colors [data-pagebuilder="section-container"] {
    position: relative !important;
    z-index: 2 !important;
}

@media(min-width:768px){
    section[data-pagebuilder="section"].section-two-colors::after {
        height: 100%;
        width: 50%;
        bottom: auto;
        top: 0;
    }
    section[data-pagebuilder="section"].section-two-colors.py-30.py-md-60 [data-pagebuilder="section-container"].py-20 [data-pagebuilder="widget"].pull-image-down {
        transform: translateY(100px);
    }
}

/* =======================
    Widget product grid
======================= */

section[data-pagebuilder="section"].section-widget-product-grid .grid-container {
    padding-top: 1.25rem !important;
}

section[data-pagebuilder="section"].section-widget-product-grid .grid .grid-item .color-overlay {
    display: none !important;
}

section[data-pagebuilder="section"].section-widget-product-grid {
    border-bottom: 50px solid var(--bs-section-default-bg) !important;
}

@media(min-width:768px){
    section[data-pagebuilder="section"].section-widget-product-grid .grid-container {
        padding-top: 0 !important;
    }
}

/* ======================
   Testimonials carousel
====================== */

section[data-pagebuilder="section"].section-testimonials-overlay .widget-testimonials-content {
    margin-bottom: 40px !important;
}

section[data-pagebuilder="section"].section-testimonials-overlay .widget-testimonials-content .owl-carousel .owl-nav {
    display: none !important;
}

section[data-pagebuilder="section"].section-testimonials-overlay .widget-testimonials-content .owl-carousel .owl-dots {
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin-top: 1.25rem !important;
}

section[data-pagebuilder="section"].section-testimonials-overlay .widget-testimonials-content .owl-carousel .owl-dots .owl-dot {
    width: 10px !important;
    height: 10px !important;    
}

section[data-pagebuilder="section"].section-testimonials-overlay .widget-testimonials-content .owl-carousel .owl-dots .owl-dot span {
    background: rgba(var(--bs-primary-rgb), 0.4) !important;
    border-radius: 20px !important;
    width: 10px !important;
    height: 10px !important;
    margin: 0 !important;
}

section[data-pagebuilder="section"].section-testimonials-overlay .widget-testimonials-content .owl-carousel .owl-dots .owl-dot.active span {
    background: var(--bs-primary) !important;
}

section[data-pagebuilder="section"].section-testimonials-overlay .widget-testimonials-content .owl-carousel .owl-dots .owl-dot + .owl-dot {
    margin-left: 0.625rem !important;
}

section[data-pagebuilder="section"].section-testimonials-overlay .widget-testimonials-content .star-rating {
    color: var(--bs-secondary) !important;
    margin-top: 1.25rem !important;
}

section[data-pagebuilder="section"].section-testimonials-overlay .widget-testimonials-content .star-rating i {
    font-size: 28px !important;
    margin: 0 0.3125rem !important;
    -webkit-text-stroke-width: 1px !important;
    -webkit-text-stroke-color: var(--bs-dark) !important;
}

section[data-pagebuilder="section"].section-special-overlay [data-widget-element="widgetBgImageSrc"],
section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] {
    padding: 10vw !important;
}

section[data-pagebuilder="section"].section-special-overlay [data-widget-element="widgetBgImageSrc"] img.opacity-on.placeholder-shown,
section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] img.opacity-on.placeholder-shown {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

section[data-pagebuilder="section"].section-special-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay,
section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay {
    position: relative !important;
    z-index: 900 !important;
    background: var(--bs-section-default-bg) !important;
    max-width: 800px !important;
    padding: 2.5rem !important;
    margin: 0 auto !important;
}


section[data-pagebuilder="section"].section-special-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay [data-widget-element="widgetHeader"],
section[data-pagebuilder="section"].section-special-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay [data-widget-element="widgetParagraph"],
section[data-pagebuilder="section"].section-special-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay .link-container,
section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay [data-widget-element="widgetHeader"],
section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay [data-widget-element="widgetParagraph"],
section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay .widget-testimonials-content,
section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay .link-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
section[data-pagebuilder="section"].section-special-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay [data-widget-element="widgetHeader"],
section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay [data-widget-element="widgetHeader"] {
    padding-top: 2.5rem !important;
}
section[data-pagebuilder="section"].section-special-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay .link-container,
section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay .link-container {
    padding-bottom: 2.5rem !important;
    margin-bottom: 0 !important;
}

@media(min-width:575px){
    section[data-pagebuilder="section"].section-special-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay [data-widget-element="widgetHeader"],
    section[data-pagebuilder="section"].section-special-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay [data-widget-element="widgetParagraph"],
    section[data-pagebuilder="section"].section-special-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay .link-container,
    section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay [data-widget-element="widgetHeader"],
    section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay [data-widget-element="widgetParagraph"],
    section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay .widget-testimonials-content,
    section[data-pagebuilder="section"].section-testimonials-overlay [data-widget-element="widgetBgImageSrc"] .widget-text-overlay .link-container {
        padding-left: 2.5rem !important;
        padding-right: 2.5rem !important;
    }
}

section[data-pagebuilder="section"].section-testimonials-overlay [data-pagebuilder="widget"].widget .widget-image-wrapper {
    position: static !important;
}

/* =========================
    Display Grid - Override Isotope (Not needed after PB3 is merged)
========================= */

section[data-pagebuilder="section"] .grid-container {
    margin: 0 !important;
    padding: 0 0.625rem !important;
}

section[data-pagebuilder="section"] .grid {
    position: relative !important;
    overflow: visible !important;
    height: auto !important;
    display: grid !important;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 0.625rem !important;
    /* align grid center */
}

section[data-pagebuilder="section"] .grid .grid-sizer {
    display: none !important;
}

section[data-pagebuilder="section"] .grid .grid-item {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
    padding-bottom: 0px !important;
}

section[data-pagebuilder="section"] .grid .grid-item.grid-item-double-width {
    grid-column: span 2 !important;
    padding-bottom: 0px !important;
}

section[data-pagebuilder="section"] .grid .grid-item.grid-item-double-height {
    grid-row: span 2 !important;
}

section[data-pagebuilder="section"] .grid .grid-item .widget,
section[data-pagebuilder="section"] .grid .grid-item.grid-item-double-width .widget {
    height: 100% !important;
    padding: 0 !important;
}

section[data-pagebuilder="section"] .grid .grid-item .widget .content-block {
    align-items: flex-start !important;
}

section[data-pagebuilder="section"] .grid .grid-item .widget .content-block > .align-self-center {
    align-self: auto !important;
}

section[data-pagebuilder="section"] .grid .grid-item .widget .widget-inner.h-auto {
    height: auto !important;
}

section[data-pagebuilder="section"] .grid .grid-item .widget .widget-inner.widget-text-overlay {
    top: auto !important;
    bottom: -40px !important;
}

section[data-pagebuilder="section"] .grid .grid-item.grid-item-double-width .widget .widget-inner.widget-text-overlay {
    top: auto !important;
    bottom: 0px !important;
}

section[data-pagebuilder="section"] .grid .grid-item.grid-item-double-width .widget .widget-inner.widget-text-overlay .content-block {
    padding: 1.25rem 1.75rem !important;
}

section[data-pagebuilder="section"] .grid .grid-item.grid-item-double-width .widget .widget-inner.widget-text-overlay .content-block .btn {
    font-size: 24px !important;
    font-weight: 600 !important;
    position: relative !important;
}

section[data-pagebuilder="section"] .grid .grid-item .widget .content-block .link-container.text-center.mt-0 {
    margin-top: 0 !important;
}

section[data-pagebuilder="section"] .grid .grid-item .widget .content-block .link-container.text-center.mt-0 .btn {
    height: auto !important;
    min-height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-transform: none !important;
}

section[data-pagebuilder="section"] .grid .grid-item .widget .content-block .link-container.text-center.mt-0 .btn::after {
    display: none !important;
}

section[data-pagebuilder="section"] .grid .grid-item.grid-item-double-width .widget .widget-inner.widget-text-overlay .content-block .btn::after {
    content: var(--bs-icon-desc) !important;
    font-family: var(--bs-icon-font) !important;
    display: inline-block !important;
    width: 1rem !important;
    height: 1rem !important;
    font-size: 1rem !important;
    background: none !important;
    opacity: 1 !important;
    position: absolute !important;
    left: auto !important;
    right: -1.25rem;  
    top: 50% !important;
    transform: translateY(-50%) rotate(270deg) !important;
    -webkit-text-stroke-width: 1px !important;
    -webkit-text-fill-color: inherit !important;
    -webkit-text-stroke-color: inherit !important;
}

/* Trigger the animation on hover */
section[data-pagebuilder="section"] .grid .grid-item.grid-item-double-width .widget .widget-inner.widget-text-overlay .content-block .btn:hover::after {
    animation: bounce 400ms infinite ease-in-out !important;
}

/* Keyframes now start from the resting position */
@keyframes bounce {
    0%, 50%, 100% {
        right: -1.25rem;
    }
    50% {
        right: -1.75rem;
    }
}

section[data-pagebuilder="section"] .grid[data-grid-mobile-cols="1"] {
    grid-template-columns: repeat(1, 1fr);
}
section[data-pagebuilder="section"] .grid[data-grid-mobile-cols="2"] {
    grid-template-columns: repeat(2, 1fr);
}
section[data-pagebuilder="section"] .grid[data-grid-mobile-cols="3"] {
    grid-template-columns: repeat(3, 1fr);
}
section[data-pagebuilder="section"] .grid[data-grid-mobile-cols="4"] {
    grid-template-columns: repeat(4, 1fr);
}
section[data-pagebuilder="section"] .grid[data-grid-mobile-cols="5"] {
    grid-template-columns: repeat(5, 1fr);
}
section[data-pagebuilder="section"] .grid[data-grid-mobile-cols="6"] {
    grid-template-columns: repeat(6, 1fr);
}

@media (min-width: 768px) {
    section[data-pagebuilder="section"] .grid[data-grid-cols="1"] {
        grid-template-columns: repeat(1, 1fr);
    }    
    section[data-pagebuilder="section"] .grid[data-grid-cols="2"] {
        grid-template-columns: repeat(2, 1fr);
    }
    section[data-pagebuilder="section"] .grid[data-grid-cols="3"] {
        grid-template-columns: repeat(3, 1fr);
    }
    section[data-pagebuilder="section"] .grid[data-grid-cols="4"] {
        grid-template-columns: repeat(4, 1fr);
    }
    section[data-pagebuilder="section"] .grid[data-grid-cols="5"] {
        grid-template-columns: repeat(5, 1fr);
    }
    section[data-pagebuilder="section"] .grid[data-grid-cols="6"] {
        grid-template-columns: repeat(6, 1fr);
    }
    section[data-pagebuilder="section"] .grid[data-grid-cols="7"] {
        grid-template-columns: repeat(7, 1fr);
    }
    section[data-pagebuilder="section"] .grid[data-grid-cols="8"] {
        grid-template-columns: repeat(8, 1fr);
    }
    section[data-pagebuilder="section"] .grid[data-grid-cols="9"] {
        grid-template-columns: repeat(9, 1fr);
    }
    section[data-pagebuilder="section"] .grid[data-grid-cols="10"] {
        grid-template-columns: repeat(10, 1fr);
    }
    section[data-pagebuilder="section"] .grid[data-grid-cols="11"] {
        grid-template-columns: repeat(11, 1fr);
    }
    section[data-pagebuilder="section"] .grid[data-grid-cols="12"] {
        grid-template-columns: repeat(12, 1fr);
    }
}

/* =========================
    Image Icons
========================= */

section[data-pagebuilder="section"] [data-widget-element="widgetBgImageSrc"].bg-half {
    background-size: auto 60% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

section[data-pagebuilder="section"] [data-widget-element="widgetBgImageSrc"].bg-contain {
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

section[data-pagebuilder="section"] [data-widget-element="widgetBgImageSrc"].bg-contain.max-width-100,
section[data-pagebuilder="section"] [data-widget-element="widgetBgImageSrc"].bg-contain.max-width-200 {
    max-width: 42px !important;
}

