body {
    font-size: 14px;
    padding: 0;
    background-color: #fff;
    color: #58595b;
    font-family: "proxima-nova", sans-serif;
    font-weight: normal;
    line-height: 1.55;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    color: #58595b;
    font-family: "proxima-nova", sans-serif;
    font-weight: 400;
}
h3.contentHeadline {
    font-size: 1.5em;
    color: #58595b;
    font-weight: normal;
    margin: 15px 0;
    font-family: "Roboto", sans-serif;
}
h3.promotionHeadline {
    margin-top: 0;
}
/* LINKS */
a {
    color: #0000ee;
}
a:hover {
    text-decoration: underline;
    cursor: pointer;
    color: #0000ee;
}
a:focus {
    /*text-decoration: underline;
	outline: 5px dashed red;*/
    outline: none;
}
a.underlineLink {
    text-decoration: underline;
    line-height: 2.5em;
}
a.undecorated {
    text-decoration: none;
    color: #58595b;
}
/* LINKS END */

label {
    font-weight: normal !important;
}
hr {
    margin: 20px 0 30px 0;
    border-color: #e5e5e5;
}

/*
.form-control {
	box-shadow:none !important;
}*/
/*
input, select, textarea {
	border:1px solid #004fa3 !important;
	padding:5px !important;
	border-radius: 1px !important;
	outline:0 !important;
}*/

input.errorBorder {
    border: 1px solid #ff484f !important;
}
option[disabled="disabled"] {
    color: silver !important;
}
.buttonBlue {
    background-color: #395979 !important;
    color: #fff !important;
    border-color: #395979 !important;
}

.buttonBlue:hover {
    background-color: #344e6f !important;
    color: white;
}

/* TAGS END*/

.partnershipLogos {
    min-height: 140px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
}

.partnershipLogos img {
    width: 140px;
    max-height: 140px;
}

.pressHeadline a {
    color: #4a96fe;
    font-weight: 400 !important;
    margin-right: 5px;
}
.pressMoreLink a {
    text-decoration: underline;
}
#Breadcrumb div,
.specialDisplayContainer div,
.container {
    margin: 0 auto;
    max-width: 1199.98px;
}
#HeaderMobile {
    padding: 10px 15px;
}
.media img {
    margin-bottom: 20px;
}
.media-heading {
    font-size: 18px;
    color: #4a96fe;
    font-weight: 400;
}
.media-news small {
    font-size: 10px;
    color: #000;
    font-weight: normal;
    white-space: nowrap;
}
.media-tweet small {
    font-size: 14px;
    color: #959595;
    margin-left: 10px;
    font-weight: normal;
}
.arrow {
    border: 6px solid #ccc;
    font-size: 2px;
    line-height: 0;
    height: 0;
    padding: 0;
    margin: 0;
}
.arrow.down {
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
}
.arrow.up {
    border-top-color: transparent;
    border-right-color: transparent;
    border-left-color: transparent;
}
.arrow.left {
    border-top-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent;
}
.arrow.right {
    border-top-color: transparent;
    border-right-color: transparent;
    border-bottom-color: transparent;
}
.arrow_box_right {
    position: relative;
    background: #fff;
    border-right: 5px solid #f2f2f2;
}
.arrow_box_right:after,
.arrow_box_right:before {
    left: 95%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}
.arrow_box_right:after {
    border-color: rgba(97, 139, 189, 0);
    border-left-color: #4a96fe;
    border-width: 5px;
    top: 50%;
    margin-top: -5px;
}
.arrow_box_right:before {
    border-color: rgba(97, 139, 189, 0);
    border-left-color: #4a96fe;
    border-width: 5px;
    top: 50%;
    margin-top: -5px;
}

.padding0 {
    padding: 0 !important;
}
.padding10px {
    padding: 10px !important;
}
.paddingTop0 {
    padding-top: 0 !important;
}
.paddingBottom0 {
    padding-bottom: 0 !important;
}
.paddingTop5px {
    padding-top: 5px !important;
}
.paddingTop15px {
    padding-top: 15px !important;
}
.padding015 {
    padding: 0 15px !important;
}
.padding150 {
    padding: 15px 0 !important;
}
.paddingRight0 {
    padding-right: 0 !important;
}
.paddingRight5px {
    padding-right: 5px !important;
}
.paddingRight13px {
    padding-right: 13px !important;
}
.paddingRight15px {
    padding-right: 15px !important;
}
.paddingLeft0 {
    padding-left: 0 !important;
}
.paddingLeft10px {
    padding-left: 10px !important;
}
.paddingLeft13px {
    padding-left: 13px !important;
}
.paddingLeft15px {
    padding-left: 15px !important;
}
.margin0 {
    margin: 0 !important;
}
.marginTop0 {
    margin-top: 0 !important;
}
.marginTop5px {
    margin-top: 5px !important;
}
.marginTop2px {
    margin-top: 2px !important;
}
.marginTop4px {
    margin-top: 4px !important;
}
.marginTop10px {
    margin-top: 10px !important;
}
.marginTop15px {
    margin-top: 15px !important;
}
.marginTop20px {
    margin-top: 20px !important;
}
.marginTop26px {
    margin-top: 26px !important;
}
.marginTop27px {
    margin-top: 27px !important;
}
.marginTop30px {
    margin-top: 30px !important;
}
.marginTopN5px {
    margin-top: -5px !important;
}
.marginBottom10px {
    margin-bottom: 10px !important;
}
.marginBottom15px {
    margin-bottom: 15px !important;
}
.marginBottom20px {
    margin-bottom: 20px !important;
}
.marginBottom0 {
    margin-bottom: 0 !important;
}
.marginLeft2px {
    margin-left: 2px !important;
}
.marginLeft5px {
    margin-left: 5px !important;
}
.marginLeft10px {
    margin-left: 10px !important;
}
.marginLeft15px {
    margin-left: 15px !important;
}
.marginRight5px {
    margin-right: 5px !important;
}
.marginRight10px {
    margin-right: 10px !important;
}
.marginRight25px {
    margin-right: 25px !important;
}
.clearContent {
    clear: both !important;
}
.alert {
    border-radius: 0;
}
.textCenter {
    text-align: center !important;
}
.textLeft {
    text-align: left !important;
}
.textRight {
    text-align: right !important;
}
.uppercase {
    text-transform: uppercase !important;
}
.promotionPriceColor {
    color: #ad0006 !important;
}
.colorUnionRed {
    color: #ad0006 !important;
}
.colorLightBlue {
    color: #4a96fe !important;
}
.colorBlue {
    color: #1a73e8;
}
.colorDarkBlue {
    color: #004fa3 !important;
}
/*.colorGreen {color:#31b370 !important;}*/
.colorGreen {
    color: #1c5e3d !important;
}
.colorStandard {
    color: #58595b !important;
}
.colorSilver {
    color: silver !important;
}
.colorYellow {
    color: rgb(255, 203, 0) !important;
}
.backgroundLightBlue {
    background-color: #d9edf7 !important;
}
.backgroundD7222B {
    background-color: #d7222b !important;
}
.backgroundD0E6FE {
    background-color: #d0e6fe !important;
}
.normal {
    font-weight: 400 !important;
}
.semibold {
    font-weight: 600 !important;
}
.bold {
    font-weight: 700 !important;
}
.italic {
    font-style: italic !important;
}
.pointer {
    cursor: pointer !important;
}
.width100 {
    width: 100% !important;
}
.maxwidth150px {
    max-width: 150px;
}
.crossedOut {
    text-decoration: line-through;
}
.borderTop1pxE5E5E5 {
    border-top: 1px solid #e5e5e5;
}
.borderTop2pxE5E5E5 {
    border-top: 2px solid #e5e5e5;
}
.border1pxE1E1E1 {
    border: 1px solid #e1e1e1;
}
.border2pxBlack {
    border: 2px solid black !important;
}
.fontSize10px {
    font-size: 10px !important;
}
.fontSize12px {
    font-size: 12px !important;
}
.fontSize14px {
    font-size: 14px !important;
}
.fontSize16px {
    font-size: 16px !important;
}
.fontSize18px {
    font-size: 18px !important;
}
.fontSize20px {
    font-size: 20px !important;
}
.fontSize21px {
    font-size: 21px !important;
}
.displayInline {
    display: inline !important;
}
.buttonBig {
    width: 100%;
    height: 45px;
}
.buttonBigWide {
    width: 100%;
    height: 45px;
}
.linkBig {
    width: 100%;
    min-width: 170px;
    padding: 12px 0;
}
.FreeTrialButton {
    position: relative;
    display: inline-block;
    width: 100%;
    min-width: 170px;
    padding: 12px 0;
    background-color: #199BCF;
    color: #fff;
    border: 2px solid #199BCF;
    text-align: center;
    overflow: hidden;
    cursor: pointer;

}

.FreeTrialButton::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: #68c9f0;
    z-index: 0;
    transition: none;
}

.FreeTrialButton:hover::before {
    animation: fill-horizontal 0.8s ease forwards;
}

.FreeTrialButton::after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0) 100%
    );
    z-index: 1;
    transition: none;
}

.FreeTrialButton:hover::after {
    animation: shine-horizontal 0.6s ease forwards;
}

@keyframes fill-horizontal {
    0% {
        left: -100%;
    }
    100% {
        left: 0;
    }
}

@keyframes shine-horizontal {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

/* Text stays on top of both effects */
.FreeTrialButton > * {
    position: relative;
    z-index: 2;
}
.bigButton {
    width: 100%;
    min-width: 170px;
    padding: 12px 0;
}
.buttonCenter {
    display: flex;
    justify-content: center;
}
.btn-groupBigLeft {
    width: 80%;
    padding: 12px 0;
}
.btn-groupBigRight {
    width: 20%;
    padding: 12px 0;
}
.wordBreak {
    overflow-wrap: break-word;
}
.largeInput {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    height: auto !important;
}
.contrastBlue {
    color: #0157d0;
}
.noLinkEffect {
    color: #58595b;
}
.noLinkEffect:hover,
.noLinkEffect:hover {
    text-decoration: none;
}
@media only screen and (min-width: 768px) {
    .buttonBig {
        max-width: 300px;
    }
}
.centerItemsInsideHorizontal {
    display: flex;
    justify-content: center;
}
/* HEADER */
/* Header facelift */
/* General Header Styling */
.header-navigation{
    width: 100%;
    background-color: white;
    position: sticky;
    top: 0;
    z-index: 2000;
    transition: height 0.3s ease;
}

#Header {
    display: flex;
    flex-direction: column;
    max-width: 1199.98px;
    margin: 0 auto;
    height: 10em;
    padding-top: 0.8em;
    position: relative;
    transition: height 0.3s ease, padding-top 0.3s ease;
}
.headerFirstRow {
    display: flex;
    justify-content: space-around;
    align-items: center;
    z-index: 1000;
    background-color: #FFF;

}
.headerLogo {
    padding-bottom: 0.7em;
}
.headerLogo-mobile{
    display: none;
}
.SearchForm {
    display: flex;
    width: 80%;
    background-color: #e6e6e8;
    margin: 0 auto;
    border-radius: 2em;
    overflow: hidden;
}

.header-icons {
    display: flex;  
    justify-content: space-around;
    align-items: center;
}

.header-icons > * {
    position: relative;
    width: 3em;
    height: 3em;
}
#newslettericon{
    margin-top: 2px;
}
.header-icons > *:focus-within {
    border: 2px solid #004fa3;
    border-radius: 5px;
}
.headerMobileSearchToggle {
    display: none;
}
.icon-count {
    position: absolute;
    bottom: -1px;
    right: -0.5px;
    background-color: grey;
    color: white;
    border-radius: 50%;
    padding: 4px 8px;
    font-size: 12px;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}

.headerSecondRow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0;
    padding: 0;
    padding-top: 0.5em;
    position: relative;
    width: 1199.98px; 
    max-width: 100vw; 

}

/* Header Links */
.headerSecondRow-navlinks {
    display: flex;
    margin: 0;
    font-size: 1em;
    color: black;
    text-decoration: none;
    list-style: none;
    padding-inline-start: 0;
}

.headerSecondRow-navlinks li {
    list-style-type: none;
    padding: 1em;
    margin: 0;
}

/* Nav Categories */
.nav-categories {
    visibility: hidden;
    margin-top: 0;
    padding-top: 0;
    top: 100%;
    left: 0;
    position: absolute;
    background-color: white;
    opacity: 1;
    width: 100%;
    min-height: min(435px, 50vh);
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 2;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: auto; 
    flex-wrap: nowrap;
    color: rgb(25, 36, 64);
    border-radius: 0.4em;
}

.second-level-list{
    display: flex;
    align-items: stretch;
    padding: 20px;
    box-sizing: border-box;
    align-self: flex-start;
    background-color: white;
    border-right: 1px solid #e0e0e0;
    min-height: 100%;
}
.second-level-list > li {
    max-width: 220px;
}
/* First-Level Items */
.headerSecondRow-dropdown-header {
    cursor: pointer;
    padding: 0 16px;
    font-size: 1.2em;
}
.headerSecondRow-dropdown-header a {
    color: black
}
.headerSecondRow-dropdown-header ul {
    padding-inline-start: 0;
    
}

/* Hover Effects */
.headerSecondRow-dropdown-header:hover,
.headerSecondRow-dropdown-header:focus-within,
.headerSecondRow-dropdown-header.active {
    background-color: rgb(25,36, 64);
    color: white;
    border-radius: 0.4em;
}
.headerSecondRow-dropdown-header:hover > a,
.headerSecondRow-dropdown-header:focus-within > a,
.headerSecondRow-dropdown-header.active > a {
    color: white;
}
.headerSecondRow-dropdown-links.active,
.headerSecondRow-dropdown-links:focus-within {
    border-bottom: 1px solid #e5e5e5;
    border-top: 1px solid #e5e5e5;
}

.nav-categories li:hover,
.nav-categories li:focus-within {
    border-bottom: 1px solid #e5e5e5;
    border-top: 1px solid #e5e5e5;
    
}

.nav-categories li {
    padding: 12px 16px;
}
.headerSecondRow-dropdown-links a {
    color: rgb(25, 36, 64);
    font-size: 20px;
    text-decoration: underline;
    text-decoration-color: transparent; 
    text-underline-offset: 4px;
}
.headerSecondRow-dropdown-links a:focus-within {
    color:  rgb(25,36, 64);
    text-decoration-color: rgb(25, 36, 64);
}
/* Second-Level Dropdowns */
.second-level-dropdown-container {
    visibility: hidden;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    height: 100%;
    width: 70%;
    border-left: 1px solid #e5e5e5;
    opacity: 0;
    transition: all 0.2s ease 0.2s;
}
.second-level-dropdown-container.active,
.second-level-dropdown-container:focus-within {
    display: block;
    visibility: visible;
    opacity: 1;
    flex-wrap: nowrap;         
    max-height: 100%;          
}

.second-level-dropdown {
    width: 100%;
    max-height: 15em;
    padding-bottom: 3em; 
    line-height: 1.5em;
    box-sizing: border-box;
}


.second-level-list-scroll {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: flex-start;
    height: min(420px, 48vh);
    gap: 5px 40px;
    overflow: hidden;
    transition: max-width 0.5s ease;
    flex-shrink: 0;
}

.second-level-list-scroll.expanded {
    overflow: visible;
}
.second-level-list-scroll > li {
    width: 260px;           
    flex: 0 0 auto;         
    list-style: none;
}
.show-more-btn {
    display: none;
    position: absolute;
    bottom: 10%;
    left: 75%;
    transform: translateX(-50%);
    cursor: pointer;
    background: #fff;
    border: 1px solid #ccc;
    padding: 10px 28px;
    font-weight: bold;
    border-radius: 2em;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    white-space: nowrap;
    z-index: 3;
}
/* About dropdown background */
.headerSecondRow-dropdown-header.header-dropdown-about:hover .nav-categories,
.headerSecondRow-dropdown-header.header-dropdown-about.active .nav-categories,
.headerSecondRow-dropdown-header.header-dropdown-about:focus-within .nav-categories {
    background-image: 
        url('/_images/homepage/topCategories/Support_Banner_877x204px.png');
    background-size: cover;
    background-position: right center;
}
/* Support dropdown background */
.headerSecondRow-dropdown-header.header-dropdown-support:hover .nav-categories,
.headerSecondRow-dropdown-header.header-dropdown-support.active .nav-categories,
.headerSecondRow-dropdown-header.header-dropdown-support:focus-within .nav-categories {
    background-image: 
        url('/_images/homepage/topCategories/Company_Banner_877x204px.png');
    background-size: cover;
    background-position: right center;
}

/* When the header is active */
.headerSecondRow-dropdown-header.active  .nav-categories,
.headerSecondRow-dropdown-header:focus-within .nav-categories,
.nav-categories.active,
.nav-categories:focus-within {
    visibility: visible;
}

/* When the dropdown link is active */
.headerSecondRow-dropdown-links.active .second-level-dropdown-container,
.headerSecondRow-dropdown-links:focus-within .second-level-dropdown-container {
    visibility: visible;
    opacity: 1;
    display: block;
}

.second-level-dropdown.active {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    max-height: 15em;
}

/* Mobile header */
/* Hamburger menu */
.hamburger-menu {
    display: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}
@media (max-width: 1024px) {
    .hamburger-menu {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 26px;
        height: 18px;
        cursor: pointer;
        flex-shrink: 0;
    }
}

.hamburger-menu .line {
    width: 100%;
    height: 2px;
    background-color: #03203b;
    border-radius: 2px;
    transform-origin: center;
    transition: transform 0.28s ease, opacity 0.2s ease, background-color 0.2s ease;
}

.hamburger-menu:hover .line {
    background-color: #1a6699;
}

.open .line1 {
    transform: translateY(8px) rotate(45deg);
}

.open .line2 {
    opacity: 0;
}

.open .line3 {
    transform: translateY(-8px) rotate(-45deg);
}
.header-links-mobile-hidden{
    display: none;
}
@media (max-width: 1024px) { 
    #SearchContainer{
        display: none;
    }
    .header-icons>*:not(.headerCart):not(.headerMobileSearchToggle):not(#LanguageSelectorContainer) {
        display: none;
    }
    .headerMobileSearchToggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 3em;
        height: 3em;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
    }
    .headerMobileSearchToggle img {
        width: 100%;
        height: 100%;
        display: block;
    }
    .headerMobileSearchToggle[aria-expanded="true"] {
        background: rgba(8, 32, 65, 0.06);
        border-radius: 8px;
    }
    .headerSecondRow{
        display: none;
    }
    #Header{
        height: 10em;
    }
    /* Mobile search swaps the logo for the inline #SearchContainer so the
       header keeps its height and does not jump. */
    .header-navigation.is-mobile-search-open #SearchContainer {
        display: flex;
        flex-grow: 2;
        align-items: center;
    }
    .header-navigation.is-mobile-search-open .headerLogo-mobile {
        display: none;
    }
    .headerFirstRow{
        justify-content: space-between;
        align-items: center;
        height: 100%;
        margin-inline: 1em;
    }
    .headerLogo {
        display: none;
    }
    .headerLogo-mobile{
        display: block;
    }
    .header-links-mobile-hidden {
        /* Hidden state uses visibility (not display) so the slide transition
           can actually run; height subtracts the 10em header so the menu
           bottom stays on screen instead of overflowing the viewport. */
        display: block;
        visibility: hidden;
        top: 10em;
        position: fixed;
        background-color: #fff;
        width: 100%;
        height: calc(100% - 10em);
        box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
        z-index: 1;
        overflow-y: auto;
        overscroll-behavior: contain;
        transition: transform 0.3s ease, visibility 0s linear 0.3s;
        transform: translateX(-100%);
        text-align: left;
        margin: 0;
        list-style: none;
        padding: 0 0 64px;
    }
    .header-links-mobile-hidden > li {
        list-style: none;
        margin: 0;
        padding: 20px 24px 0;
        border-top: 1px solid rgba(8, 32, 65, 0.07);
        font-size: 1em;
        font-weight: 800;
        letter-spacing: 0.09em;
        text-transform: uppercase;
        color: #94a3b8;
    }
    .header-links-mobile-hidden > li:first-child {
        border-top: none;
        padding-top: 10px;
    }

    /* Sub-item list */
    .header-links-mobile-hidden ul {
        list-style: none;
        margin: 10px 0 16px;
        padding: 0;
    }
    .header-links-mobile-hidden ul li {
        list-style: none;
        margin: 0;
        font-size: 1.2em;
        font-weight: 400;
        letter-spacing: 0;
        text-transform: none;
        color: #1e293b;
    }
    .header-links-mobile-hidden ul li a {
        display: block;
        padding: 11px 16px;
        color: #1e293b;
        text-decoration: none;
        border-radius: 8px;
        transition: background 0.15s ease;
    }
    .header-links-mobile-hidden ul li a:hover,
    .header-links-mobile-hidden ul li a:active {
        background: rgba(8, 32, 65, 0.05);
        color: #082041;
    }
    .header-links-mobile {
        visibility: visible;
        transform: translateX(0);
        transition: transform 0.3s ease;
    }

    /* Raise the sticky header's stacking context above the fixed TrustedSite
       trustmark badge (inline z-index: 1000003 !important) while the mobile
       menu is open, otherwise the badge sits on top of the menu and blocks
       scrolling/taps near the bottom-left corner. */
    .header-navigation.is-mobile-nav-open {
        z-index: 1000010;
    }

}

/* Search Form */
#SearchContainer {
    flex-grow: 2;
}

.SearchForm input {
    width: 100%;
    height: 2.4em;
    margin: 0 auto;
    background-image: url('/_images/homepage/homepage_icon_search_dark.svg');
    background-position: left 0px center, right 5px center;
    background-size: 3em 3em;
    background-repeat: no-repeat;
    text-indent: 2.5em;
    background-color: #e6e6e8;
    border: none;
}

.speech-btn {
    background-color: #e6e6e8;
    border: none;
    background-image: url('/_images/homepage/homepage_icon_microphone.svg');
    background-repeat: no-repeat;
    background-size: 3em 3em;
    width: 2.2em;
    height: 2.2em;
    padding-right: 2em;
}
.speech-btn.hidden {
    display: none !important;
}

/* Audio Feedback */
#audioFeedbackContainer {
    display: flex;
    background-color: #e6e6e8;
    justify-content: center;
    align-items: baseline;
}

.boxContainer {
    display: none;
    justify-content: space-between;
    height: 2.2em;
    align-items: center;
    justify-content: center;
}

.box {
    height: 0.5em;
    width: 0.1em;
    background: #094ad7;
    margin: 0 0.1em;
    animation: waveloader 0.5s linear alternate infinite;
    border-radius: 8px;
}

@keyframes waveloader {
    to {
        height: 2.2em;
    }
}

.box:nth-child(1) {
    animation-delay: 0s;
}

.box:nth-child(2) {
    animation-delay: 0.2s;
}

.box:nth-child(3) {
    animation-delay: 0.4s;
}

.box:nth-child(4) {
    animation-delay: 0.6s;
}

.box:nth-child(5) {
    animation-delay: 0.8s;
}
.header-contact{
    display: flex;
    align-items: center;
    font-size: 1.2em;
    justify-content: space-around;
}
.header-contact > i{
    padding-inline-end: 0.5em;
}


/* HEADER END */

/* HomeTeaser */

.teaser-carousel {
    max-width: 1199.98px;
    height: 434px;
    margin: 0.5em auto 0;
    position: relative;
    border-radius: 0.4em;
    border: 1px solid #e8eef5;
    overflow: hidden;
}
.teaser-carousel .slides {
    height: 100%;
    position: relative;
}

.teaser-carousel .slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    transition: 200ms opacity ease-in-out;
    transition-delay: 200ms;
    z-index: 0;

}
.teaser-carousel .slide.active {
    display: block;
    transition-delay: 0ms;
    opacity: 1;
    pointer-events: auto;
    z-index: 1;

}
.teaser-carousel .carousel-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.carousel-radio-btn{
    display: none;
}
.carousel-nav-btns{
    position: absolute;
    cursor: pointer;
    top: 50%; 
    left: 0;
    width: 100%;
    z-index: 1;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;

}
.carousel-nav-btns span {
    height: 150px;
    display: flex;
    padding: 0;
    margin: 0;
    
}
.carousel-nav-btns span>* {
    height: 150px;
    display: flex;
    padding: 0;
    margin: 0;
    overflow: hidden; 
    
}
@media (max-width: 1024px) { 

    .teaser-carousel {
        width: calc(100% - 30px);
        max-width: calc(100% - 30px);
        height: auto; 
        border-top: none;
        box-sizing: border-box;
    }
    .teaser-carousel .slides,
    .teaser-carousel .slide {
        position: relative;
        width: 100%;
        height: 230px;
    }
    .teaser-carousel .slide {
        display: none;
    }
    .teaser-carousel .slide.active {
        display: block;
    }
    .teaser-carousel .teaserSlide {
        display: block;
        width: 100%;
        height: 100%;
    }
    .teaser-carousel .carousel-img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .carousel-prev, .carousel-next {
        width: 10em;
    }
    .carousel-prev img, .carousel-next img {
        left:3em;
        
    }

}

.mission-text{
    font-size: 2em;
    display: flex;
    padding: 3em;
    margin-left: 3em;
    max-height: fit-content;
}
@media only screen and (max-width: 600px) {
    .mission-text {
        font-size: 1.5em;
        margin-block-start: 1em;
        margin-block-end: 1em;
        margin-inline-start: 0px;
        margin-inline-end: 0px;
        unicode-bidi: isolate;
    }
}




/* ACCOUNT FLYOUT MENU */

.AccountFlyOutMenu,
.AboutUsFlyoutMenu {
    margin: 0;
    padding: 0 15px;
    list-style: none;
}
.AccountFlyOutMenu li,
.AboutUsFlyoutMenu li {
    border-top: none;
    padding: 5px 0;
}
.AccountFlyOutMenu li.active,
.AboutUsFlyoutMenu li.active {
    background-color: #f2f2f2;
    color: #4a96fe;
}
.AccountFlyOutMenu li.linkLoginListElement {
    background-color: transparent;
}
.AccountFlyOutMenu li a,
.AboutUsFlyoutMenu li a {
    text-decoration: none;
    color: #58595b;
}
.AccountFlyOutMenu a:hover,
.AboutUsFlyoutMenu a:hover,
.AccountFlyOutMenu a:focus,
.AboutUsFlyoutMenu a:focus {
    color: #4a96fe !important;
    text-decoration: underline;
}
.AccountFlyOutMenu li a.linkLogin {
    color: #58595b !important;
}
.AccountFlyOutMenu li a.linkLogin:hover {
    color: #4a96fe !important;
}

/* ACCOUNT FLYOUT MENU END */

/* SIDE MENU */

.SideMenu {
    list-style: none;
    padding: 0;
    margin-top: 10px;
}
.SideMenu li {
    padding: 2px 0;
}
.SideMenu a {
    text-decoration: none !important;
    color: #58595b;
}
.SideMenu a:hover {
    /*color:#4a96fe;*/
    color: #0000ee;
}
.SideMenu a:focus {
    color: #0000ee !important;
    text-decoration: underline;
}
.SideMenu .doubleLineHeight {
    line-height: 2.5em;
}
.SideMenu .onSaleLink {
    /*	color:#ff484f;*/
    color: #ad0006;
    font-weight: 700;
}
.SideMenu .onSaleLink.active {
    /*	color:#ff484f;*/
    color: #ad0006;
}
.SideMenu .newLink {
    /*	color:#31b370;*/
    color: #1c5e3d;
    font-weight: 700;
}
.SideMenu .newLink.active {
    /*	color:#31b370;*/
    color: #1c5e3d;
}
.SideMenu .parentLink {
    color: #58595b;
    font-weight: 700;
}
.SideMenu .childLink {
    color: #58595b;
    font-weight: 400;
}
.SideMenu .childLink:hover {
    color: #0000ee;
}
.SideMenu .active {
    color: #0000ee;
}
.SideMenu .refinementBottomBorder {
    border-bottom: 1px solid #e5e5e5;
}
.searchFilterHeadline {
    border-radius: 4px;
    cursor: pointer;
    padding: 3px 5px 3px 0;
    margin: 15px 0;
    color: #58595b;
    text-align: left;
    display: flex;
    justify-content: space-between;
}
.searchFilterList {
    display: none;
}
#CategoryFilterList,
#PriceFilterList {
    padding: 3px 10px;
}
/* SIDE MENU END */

/* BREADCRUMB */
.specialDisplayContainer {
    color: #fff;
    padding: 5px 0;
}
.specialDisplayContainer.bgRed {
    background-color: #ff484f;
}
.specialDisplayContainer.bgGreen {
    background-color: #31b370;
}
#Breadcrumb {
    background-color: #e5e5e5;
    color: #959595;
    margin-bottom: 5px;
}
.breadcumbAlign {
    min-height: 30px;
    display: flex;
    align-items: center;
}
#Breadcrumb ul.breadcrumb {
    background-color: #e5e5e5;
    list-style: none;
    padding: 0;
    margin: 0;
}
#Breadcrumb a {
    color: #474747;
}
#Breadcrumb a.previousLink:before {
    content: "\00ab\00a0";
}
#Breadcrumb a.nextLink:after {
    content: "\00a0\00bb";
}
#Breadcrumb a.nextLink:hover,
#Breadcrumb a.previousLink:hover {
    color: #004fa3;
    text-decoration: none;
}
#Breadcrumb ul.breadcrumb > li + li:before {
    padding: 0 5px;
    color: #959595;
    content: "|";
}
#Breadcrumb ul.breadcrumb > li.active a {
    color: #0000ee !important;
}
/* BREADCRUMB END */

/* PAGINATION / IPP */

#Pagination .pagination {
    border-radius: 0;
    padding: 0;
    margin: 0;
}
#Pagination .pagination li a,
#Pagination .pagination li span {
    border: none;
    color: #58595b;
    padding: 3px 6px;
}
#Pagination .pagination li.active a,
#Pagination .pagination li.active span {
    color: #004fa3;
    background-color: #fff;
    font-weight: bold;
}
#ItemsPerPage a {
    color: #58595b;
}
#ItemsPerPage a.active {
    color: #004fa3;
    font-weight: bold;
}

/* PAGINATION / IPP END */

/* TABNAVIGATION */

.tabNavigation {
    border-bottom: 1px solid #e1e1e1;
    margin-bottom: 15px;
    padding: 3px 0 0 0;
}
.textHeadlineOnly {
    /*color:#004fa3;*/
    font-weight: normal;
    font-size: 20px;
}
.tabNavigation .tabs {
    color: #58595b;
    background-color: #e1e1e1;
    padding: 5px 10px;
    margin: 3px 3px 0 0;
    float: left;
}
.tabNavigation .tabs a {
    color: #58595b;
}
.tabNavigation .tabs:hover {
    color: #fff;
    background-color: #4a96fe;
}
.tabNavigation .tabs:hover a {
    color: #fff;
    text-decoration: none;
}
.tabNavigation .tabs.active {
    color: #fff;
    /*background-color:#4a96fe;*/
    background-color: #0157d0;
}
.tabNavigation .tabs.active a {
    color: #fff;
}
/* TABNAVIGATION END */

/* PRODUCTS */
#ProductHeadContainer {
    /*border-bottom:1px solid #f2f2f2;*/
}
#ProductImageContainer .bgNewTriangle {
    width: 0px;
    height: 0px;
    -webkit-transform: rotate(360deg);
    border-style: solid;
    border-width: 35px 35px 0 0;
    border-color: #31b370 transparent transparent transparent;
    margin-left: 15px;
    position: absolute;
    z-index: 5000;
    cursor: pointer;
}
#ProductImageContainer .bgNew {
    color: #fff;
    background-color: #31b370;
    padding: 8px 15px;
    margin-left: 15px;
    height: 36px;
    position: absolute;
    z-index: 5000;
}
#ProductImageContainer .bgClearance {
    color: #fff;
    background-color: #ff484f;
    padding: 8px 0;
    height: 36px;
    position: absolute;
    z-index: 5000;
}

#ProductInformationContainer {
    background-color: #f2f2f2;
    padding-bottom: 10px;
    padding-top: 10px;
}
#ProductMedia {
    margin: 25px 0;
}
#ProductMedia .downloadLinkImage {
    margin-right: 5px;
    vertical-align: text-top;
}
.productHeadline {
    color: #58595b;
    font-weight: default;
    font-size: 150%;
    margin: 10px 0;
    padding: 0 15px;
}
.productPriceHeadline {
    color: #004fa3;
    font-weight: default;
    font-size: 14px;
    margin: 20px 0;
    display: flex;
    align-items: center;
    gap: 20px;
}
.ProductPriceFormatted {
    font-size: 200%;
    /* flex-grow: 1; */
    /* max-width: 50%; */
    display: flex;
    align-items: center;
    gap: 5px;
    
    
}
.DiscountedPrice{
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;

}
.DiscountedPrice .PriceAmount,
.DiscountedPrice [itemprop="priceCurrency"] {
    background-color: #e4002b;
    color: #fff;
    padding-inline: 5px;
     
}
.Savings{
    margin: 10px;
    color: #e4002b;
    font-weight: bold;
    font-size: 16px;
}
.OriginalPrice{
    color: #616161 ;
    margin-left: 15px;
    font-size: 16px;
}
.VATText{
    color: #949494;
    font-size: 14px;
    text-decoration: underline;
}
.TotalInfoContainer {
    display: flex;
    margin-top: 8px;
}
.TotalSavings{
    color: #616161 ;
    font-size: 16px;
    margin-inline: 5px;
}
.TotalPrice{
    color: #616161 ;
    font-size: 16px;
    margin-left: 5em;
}
.ProductPriceFormatted .PriceAmount {
    font-weight: bold;
}
.productInformation {
    font-size: 13px;
}
hr.productInformationDevider {
    border-color: #fff;
    margin: 10px 0;
}
hr.productInformationDeviderDark {
    border-color: #ddd;
    margin: 10px 0;
}
#QuantityPricingContainer,
#QuantitySubscriptionOrderPricingContainer {
    color: #fff;
    background-color: #fe7b5f;
    padding: 6px 15px 10px 15px;
    border-radius: 4px;
}
#QuantityPricingContainer .QuantityPricingHeadline,
#QuantitySubscriptionOrderPricingContainer .QuantityPricingHeadline {
    color: #fff;
    line-height: 20px !important;
    text-decoration: underline;
}
#QuantityPricingContainer .QuantityPricingItem,
#QuantitySubscriptionOrderPricingContainer .QuantityPricingItem {
    color: #fff;
    line-height: 10px !important;
}
#promoProductPageNote {
    padding-left: 15px;
    padding-right: 15px;
}
#promoProductPageNote div {
    background-image: linear-gradient(30deg, #00abba, #51d0b9);
    color: white;
    padding: 10px;
    border-radius: 4px;
}
.mountingInstruction {
    width: 100%;
    display: flex;
    justify-content: center;
}
.mountingInstruction video {
    width: 100%;
}
@media (min-width: 768px) {
    .mountingInstruction video {
        width: 50%;
    }
    #promoProductPageNote {
        padding-left: 0px;
        padding-right: 0px;
    }
}
@media (min-width: 1000px) {
    .mountingInstruction video {
        width: 40%;
    }
}
.pdpContentElement__left {
    position: relative;
    width: 50%;
    float: left;
}

.dragWrapper {
    position: -webkit-sticky; 
    position: sticky;
    top: 10px;
    max-height: calc(100vh - 20px); 
    overflow-y: auto;
}
.pdpContentElement__right {
    position: relative;
    width: 50%;
    float: left;
}

.fixedWrapper {
    position: -webkit-sticky;
    position: sticky;
    top: 10px;
}
#USPContainer {
    margin: 0 0 20px 0;
    border-radius: 4px;
    background-color: #ffffff;
    padding: 0;
    border-bottom: 1px solid #e9ebee;
}
.manufacturer-info {
    position: relative;
    list-style: none;
    cursor: pointer;
    margin-bottom: 15px;
    padding-left: 6px;
}

.info-checkbox {
    display: none; 
}

.info-label {
    cursor: pointer;
    font-weight: bold;
    display: block;
    padding: 10px 0;
    padding-left: 40px; 
    position: relative;
}

/* Arrow styling */
.info-label::before {
    content: "\e080"; 
    font-family: "Glyphicons Halflings";
    font-size: 14px;
    color: #1a73e8;
    position: absolute;
    left: 0; 
    top: 50%;
    transform: translateY(-50%) rotate(0deg); 
    transition: transform 0.3s ease; 
}

.info-checkbox:checked + .info-label::before {
    transform: translateY(-50%) rotate(90deg);
}

/* Manufacturer and EU Rep info content */
.manufacturer-info-content {
    display: none; 
    margin-top: 10px;
    padding: 10px;
    border: 1px solid #ccc;
    background-color: #f9f9f9;
}
.info-checkbox:checked + .info-label + .manufacturer-info-content {
    display: block;
}




.USPContainerHeadlineWrapper {
    background-color: #fff;
    z-index: 1000;
    position: sticky;
    top: 11px;
}

.USPContainerHeadlineWrapper::after {
    content: "";
    display: block;
    height: 12px;
    background-color: #fff; /* Matching the background color */
    position: absolute;
    left: 0;
    right: 0;
    top: -12px; /* Positioned above the headline */
    z-index: -1; /* Place it behind the actual content */
}

.USPContainerHeadline {
    font-size: 16px;
    padding: 19px 15px;
    height: 60px;
    background-color: #EFF1F8;
    z-index: 1000;
    border: 1px solid #e9ebee;
    border-bottom: none;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.USPContainerContent {
    padding: 15px;
    position: relative; 
    border-left: 1px solid #e9ebee;
    border-right: 1px solid #e9ebee;
    border-top: 1px solid #e9ebee;
}

.USPContainerContent > ul {
    padding-left: 23px !important;
    margin: 15px 0 10px 0;
    border-top: 1px solid #e9ebee;
    padding-top: 10px;
}

.USPContainerContent > ul > li {
    display: block;
    margin: 0 0 15px 0;
    padding: 0 0 0 23px;
}

.USPContainerContent > ul > li:before {
    content: "\e080";
    font-family: "Glyphicons Halflings";
    font-size: 14px;
    padding: 0 23px 0 0;
    margin-left: -40px;
    color: #1a73e8;
    position: relative;
    top: 2px;
}


.pdpBottomBorder {
    border-bottom: 1px solid #e9ebee;
}

.pdpDownloadsBox {
    border-top: 1px solid #e9ebee;
}
#SecurityIconsContainer {
    display: flex;
    justify-content: space-around;
    align-items: center;
    border: 1px solid #4b95fe;
    padding: 20px 0;
    border-radius: 4px;
    margin: 0 0 20px 0;
}
@media (min-width: 768px) {
    #USPContainer {
        margin: 0 15px 20px 15px;
    }
}
/* PRODUCT VIEW TYPE LIST */
.productListItem h2 {
    margin: 0;
    font-size: 16px;
    font-weight: normal;
    color: #58595b;
}
.productListItem h2 a {
    text-decoration: none;
    color: #58595b;
}
.productListItem a.moreInformationLink {
    color: #0000ee;
    font-style: italic;
}
.productListItem a.addToWishList {
    color: #4a96fe;
    font-size: small;
}
.productListItem a.addToQuote {
    color: #31b370;
    font-size: small;
}
.productListItem img {
    margin-bottom: 10px;
}
.productListItem .descriptionText {
    color: #58595b;
}
.productListItem .priceText {
    color: #004fa3;
    font-weight: normal;
    margin: 5px 0;
}
.productListItem .itemText {
    color: #58595b;
    font-size: 12px;
    font-weight: normal;
    margin: 5px 0;
}
.productGridItem {
    margin: -1px 0 0 -1px;
    padding: 0;
    background-color: white;
}
/* PRODUCT VIEW TYPE GRID */
.productGridItem h2 {
    margin: 10px 0 0 0;
    font-size: 16px;
    font-weight: normal;
}
.productGridItem h2 a {
    text-decoration: none;
    color: #58595b;
}
.productGridItem .priceText {
    color: #004fa3;
    font-weight: normal;
    margin: 0;
    font-size: 14px;
}
.productGridItem small {
    color: #58595b;
}
.productGridItem a.addToWishList {
    color: #4a96fe;
    font-size: small;
}
.productGridItem a.addToQuote {
    color: #31b370;
    font-size: small;
}
.productGridItem__feat-wrapper {
    display: flex;
    flex-direction: column;
}
.productGridItem__feat-basicOrderFour {
    order: 4;
}
#productGridItem__feat-pushOrderTwo {
    order: 2;
}
.productGridItem__feat-basicOrderthree {
    order: 3;
}
#productGridItem__feat-pushOrderOne {
    order: 1;
}
.alsoViewedContainer {
    margin-top: 10px;
    font-weight: normal;
    border-radius: 10px;
    border: 1px solid #e9ebee;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.alsoViewedContainer div:not(:first-child) {
    padding: 0 10px;
}
.alsoViewedContainer img {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.alsoViewedContainer div:last-child {
    color: #004fa3;
}
.alsoViewedContainer a {
    color: #004fa3;
}
.categoryGridContainer {
    padding: 0 15px;
}
.categoryGridContainer hr {
    margin-bottom: 0;
}
.categoryGridContainer .bgClearance {
    /*
	color:#fff;
	background-color:#ff484f;
	padding:2px 5px;
*/
    color: #ff484f;
    /* border-bottom: 1px solid #e5e5e5; */
    height: 23px;
}
.categoryGridContainer .bgNew {
    /*
	color:#fff;
	background-color:#31b370;
	padding:2px 5px;
*/
    color: #31b370;
    border-bottom: 1px solid transparent;
    height: 23px;
}

.contentFilterHeader {
    position: absolute;
    top: 45%;
    left: 0;
    width: 100%;
    height: 229px;
    text-align: center;
    color: white;
    font-size: 26px;
}

.bgNewSearch {
    border-bottom: 1px solid transparent;
    height: 23px;
}
.categoryGridContainer .height31px {
    height: 31px;
}
.categoryGridContainer .height33px {
    height: 33px;
}
.categoryImageContainer {
    position: relative;
    width: 100%; /* for IE 6 */
}
.categoryImageContainer span {
    display: none;
}
.categoryHeadline {
    border-bottom: 2px solid #e5e5e5;
}
.categoryHeadline h1 {
    font-size: 24px;
    margin-left: 17px;
    margin-top: 10px;
}

.categorySearchHeadline h1 {
    font-size: 18px;
    font-weight: 800;
    margin-top: 19px;
	float: left;
}

#CategoryDescriptionContainer {
    padding-bottom: 10px;
}
.categoryItemContainer {
    /*	margin-top:10px;*/
    padding: 0 0 5px 0;
    margin: -1px 0 0 -1px;
    height: 325px;
    /*overflow:hidden;*/

    transform: scale(1);
    transition: all 0.3s;
    border: 1px solid lightgray;
    background-color: white;
}
.categoryItemContainer .categoryItemHeadline {
    padding: 0 5px !important;
}
.categoryItemHeadline h2 {
    color: #58595b;
    font-size: 14px;
    margin: 0;
}
.categoryItemHeadline {
    position: relative;
    min-height: 16px;
}
.bgNew.categoryItemHeadline h2,
.bgClearance.categoryItemHeadline h2 {
    color: #fff;
}
.categoryItemContainer .bgClearance {
    color: #fff;
    background-color: #ad0006;
    height: auto;
    padding: 7px 0 !important;
}
.categoryItemContainer .bgNew {
    color: #fff;
    background-color: #31b370;
    height: auto;
    padding: 7px 0 !important;
}
.categoryItemContainer .categoryItemPrice {
    color: #4a96fe;
    margin-bottom: 10px;
}
/*	.categoryItemContainer .categoryItemImage {
	margin-bottom:10px;
}*/
.categoryItemContainer a {
    color: #58595b;
}
.categoryItemContainer a:hover {
    text-decoration: none;
}
.categoryItemContainer:focus-within {
    z-index: 10;
}
.categoryItemContainer:focus-within .gridBackground {
    transform: scale(1.1);
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
}
.categoryItemContainer:focus-within .contentFilterHeader p {
    text-decoration: underline;
}
.addToCartSummaryContainer {
    width: 360px;
    background-color: #fff;
    position: absolute;
    top: 10px;
    right: 0;
    z-index: 5000;
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

/* PRODUCTS END */

.stepContainer {
    margin-bottom: 20px;
}
.stepHeadline {
    border-bottom: 1px solid #e5e5e5;
}
.stepHeadline a {
    color: #959595;
}
.stepHeadline span {
    color: #004fa3;
    font-weight: 700;
}
.stepHeadline img {
    margin: 0 10px 3px 0;
}
.stepContent {
    padding: 0 35px;
}
.stepContent form {
    margin: 30px 0;
}
.progressStepHeader {
    color: #4a96fe;
}
.progressStepHeader img {
    vertical-align: text-top;
    padding-top: 2px;
}
.progressStepContent {
    padding-left: 14px;
    margin: 5px 0 5px 6px;
}
.progressStepContent.borderBlue {
    border-left: 2px solid #4a96fe;
}
.progressStepContent.borderGreen {
    border-left: 2px solid #31b370;
}
.progressStepContent.borderGrey {
    border-left: 2px solid #e5e5e5;
}

/* TABLES */

.cartTable {
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 5px;
}
.cartTable .deleteCartItem {
    margin-top: 50%;
}
.cartTable a {
    color: #004fa3;
    font-size: 90%;
}
.cartTable thead {
    color: #004fa3;
    background-color: #e5e5e5;
}
.cartTable thead th,
.cartTable tbody td {
    border: none !important;
}
.cartTable tbody {
    border: none;
}
.cartTable tbody tr td {
    padding-top: 15px;
    padding-bottom: 15px;
}
.cartTableLinks > span + span:before {
    color: #004fa3;
    content: "\00a0\0399\00a0\00a0";
}
.shortCartTable tbody {
    border-top: 1px solid #e5e5e5;
}
.shortCartTable tbody tr td {
    border: none;
    padding: 10px 0 0 0;
}
.shortCartTable.shortCartTableTotal tbody tr td {
    border: none;
    padding: 3px 0 3px 0;
}
.placeOrderTable {
    margin-top: 20px;
}
.placeOrderTable thead th,
.placeOrderTable tbody td,
.placeOrderTable tfoot td {
    border: none !important;
}
.placeOrderTable thead th {
    color: #004fa3;
    font-weight: 600;
}
.placeOrderTable tfoot {
    border-top: 2px solid #e5e5e5;
}
.placeOrderTable tfoot tr.totalRow > td:nth-of-type(1) {
    color: #004fa3;
    font-weight: 600;
}
.promotionTable tbody td {
    border: none !important;
}

.unavailableProductMessage {
    color: #ad0006;
}
.unavailableProduct,
.unavailableProduct a {
    color: #575757;
}
.cartTable .unavailableProduct a {
    font-size: 90%;
}
.unavailableProduct a:hover {
    text-decoration: none;
    cursor: default;
}
/*
.promotionTable form input[type="text"] {
	border-color:#004fa3 !important;
}
.promotionTable form button {
	font-weight:400 !important;
}*/
table.fitokiTable {
    border: 1px solid #dddddd;
    border-collapse: collapse;
    font-size: 12px;
}
table.fitokiTable td {
    border: 1px solid #dddddd;
    vertical-align: top;
    padding: 3px;
}
table.fitokiTable td:nth-child(5),
table.fitokiTable td:nth-child(6) {
    text-align: right;
}
table.productDetailPageTable {
    border: 1px solid #dddddd;
    border-collapse: collapse;
    font-size: 12px;
    overflow: scroll;
}
table.productDetailPageTable td {
    border: 1px solid #dddddd;
    vertical-align: top;
    padding: 3px;
}
/* TABLES END */

/* FOOTER */

/* FOOTER FACELIFT */
#Footer{
    margin-bottom: 2em;
    margin-top: 2em;
    background-color: #f5f5f6;
}
#Footer div:not(.footer-end):not(.footerContentLinksContainer.mobile) {
    max-width: 1199.98px;
    margin: 0 auto;
}
.newsletter-signup{
    display: flex;
    align-items: center;
    padding-top: 5em;
    padding-bottom: 5em;
    text-align: center;
}
.emailSignUpHeadline{
    color: black;
    font-size: 1.3em;
    width: 30%;
    text-align: left;
    align-self: center;
    margin: 0;
}
.newsletter-input{
    width: 70%;
    white-space: nowrap;
}
.newsletter-input input{
    background-color: #fff;
    border: 1px solid rgba(8, 32, 65, 0.2);
    border-radius: 999px;
    padding: 10px 16px;
    width: 70%;
    margin-inline-start: 10em;
    margin-inline-end: 1em;
}
.newsletter-input button{
    background-color: #082041;
    color: #ffffff;
    border: none;
    border-radius: 999px;
    padding: 11px 20px;
    font-weight: 800;
    font-size: 1em;
    box-shadow: 0 10px 20px rgba(8, 32, 65, 0.16);
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.newsletter-input button:hover{
    transform: translateY(-2px);
}
.footerContentLinksContainer{
    display: flex;
    line-height: 1.3em;
    padding-bottom: 6em;
}
.footerContentLinksContainer.mobile{
    display: none;
}
.footerContentLinksColumn {
    text-align: start;
    flex-grow: 1;
}
.footerContentLinksColumn h4,
.footerContentLinksColumn a,
.footerContentLinksColumn ul {
    font-size: 1.2em;
    color: black;
    text-decoration: none;
    list-style: none;
    padding-inline-start: 0;
}
.footerContentLinksColumn h5{
    font-size: 0.8em;
    line-height: 2em;
    color: #808080;
    font-weight: 300;
    
}
.footerContentLinksColumn a:hover {
    text-decoration: none;
}
.footerContentLinksColumn h4 a:hover {
    
    text-decoration: none;
}
.smedia-and-language-container{
    display: flex;
    justify-items: space-around;
    border-bottom: 1px gray solid;
    padding-bottom: 0.75em;
}
.smedia-icons-container{
    width: 50%;
    
}
.smedia-icons-container a:hover{
    text-decoration: none;
}
.smedia-icons-container img{
    width: 30px;
    height: 30px;
}
.country-selector{
    width: 50%;
    text-align: end;
}
.country-selector a:hover{
    text-decoration: none;
}
.footer-end{
    padding-top: 2em;
    width: 100%;
    height: 14em;
    background-color: #f5f5f6;
    
}
.footer-end.mobile {
    display: none
    
}
.footer-end-links{
    display: flex;
    flex-wrap: wrap;      /* allow a second line instead of cramming */
    gap: 0.75em 1.75em;   /* min row/column gutter so items never touch */
    justify-content: space-between;
}
.footer-end-links a{
    text-decoration: none;
    all:initial;
    cursor: pointer;
    color: #58595b;
    font-size: 1.3em;
    font-weight: 300;
    font-family: "proxima-nova-light", sans-serif ;
    
}

        /* Footer Facelift Media Queries */

        /* Laptop */
@media (max-width: 1366px) {

    #Footer div:not(.footer-end):not(.footerContentLinksContainer.mobile)  {
        max-width: 960px; 
        margin: 0 auto;
    }
    .emailSignUpHeadline{
        font-size: 1.1em;
    }
    .newsletter-input input{
        margin-inline-start: 5em;
        margin-inline-end: 1em;
    }

}
        /* mobile */
@media (max-width: 1024px) {
    #Footer div:not(.footer-end):not(.footerContentLinksContainer.mobile):not(.newsletter-input):not(.smedia-and-language-container):not(.footer-end-links)  {
        margin-inline: 1em;
    }
    #Footer{
        display: flex;
        flex-direction: column;
    }
    .newsletter-signup{
        flex-direction: column;
        justify-content: space-around;
    }
    .emailSignUpHeadline{
        font-size: 1.3em;
        width: 100%;
        text-align: left;
        
    }
    .newsletter-input{
        width: 100%;
        margin: 0;
    }
    #EmailSignUpFooterForm{
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        height: 7em;
        margin-inline: 0;
    }
    .newsletter-input input{
        width: 100%;
        margin: 0;
        
        
    }
    .footerContentLinksContainer {
        display: none;
    }
    .footerContentLinksContainer.mobile {
        display: flex;
        flex-direction: column;
        width: 100%;
        
    }
    .footerContentLinksColumn{
        display: flex;
        flex-direction: column;
        width: 90%;
        border-top: 1px solid black;
        text-align: center;
    }
    #bottom-footercolumn{
        border-bottom: 1px solid black;
    }
    .label-container{
        width: 100%;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
    }
    .label-container label{
        margin: 0 .5em 0 0;
    }
    .footerContentLinksColumn h4, a, ul{
        font-size: 1em;
        color: black;
    
    }
    .footerContentLinksColumn h5{
        font-size: 1em;

    }
    .drawer-menu {
        display: none;
        justify-content: center;
        width: 60%;
        
    }
    .menu-toggle:checked ~ .drawer-menu {
        display: block;
    }
    .menu-toggle:checked + .menu-icon .label-text::before {
        content: '-'; 
    }
    .menu-icon .label-text::before {
        content: '+'; 
    }
    .menu-icon {
        cursor: pointer;
        font-size: 1.8em;
        margin-right: 0.5em;
    }
    .menu-toggle {
        display: none;
    }
    .label-container:has(> input:checked) {
        flex-direction: column;
    }
    .smedia-and-language-container{
        height: 10em;
        width: 60%;
        flex-direction: column-reverse;
        justify-content: space-between;
        align-items: center;
        align-self: center;
        padding-bottom: 2em;
    }
    .country-selector{
        width: 100%;
        text-align: center;

    }
    .smedia-icons-container{
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .smedia-icons-container a:hover{
        text-decoration: none;
    }

    .country-selector a:hover{
        text-decoration: none;
    }
    .footer-end {
        display: none;

    }
    .footer-end.mobile {
        display: flex;
        width: 100%;
        background-color: #ffffff;
        align-self: center;
        
    }
    .footer-end-links{
        display: flex;
        flex-direction: column;
        justify-content: space-around;

    }
    .footer-end-links a{
        font-size: 1em;

    }
    .copyright{
        align-self: center;
    }
    .copyright a{
        font-size: 1.3em;
    }
    .other-links{
        display: flex;
        justify-content: space-around;
        flex-direction: row;
        flex-wrap: wrap;
        align-self: center;
        width: 90%;
        
    }
    .other-links > *{
        margin: 1em;
    }

}

/* FOOTER END */

.inputErrorBorder {
    border-color: #ff484f !important;
}
.catalogEmailContainer {
    padding: 5px 10px;
    background-color: #e5e5e5;
    margin-top: 20px;
}

.callUsContainer {
    font-size: 16px;
    margin-top: 20px;
    background-color: #4a96fe;
}
.callUsContainer a div {
    color: #fff;
    padding: 10px 0;
}
.callUsContainer img {
    margin-left: 10px;
}
.PromotionTeaserPromoCodeBox {
    padding: 5px;
    font-size: 16px;
    text-shadow: 1px 1px rgba(0, 0, 0, 0.15);
}
.homepageTileContainer a {
    text-decoration: none;
}
.homepageTileContainer h3 {
    color: #fff;
    font-weight: 400;
    font-size: 14px;
    padding: 2px 0;
    margin: 0;
}
.homepageTileContainer .tabNavigation {
    margin-bottom: 0;
}
.homepageTradeshows {
    position: absolute;
    margin: 0 10px;
    width: 85%;
    font-size: 14px;
    font-weight: 400;
}
.homepageTradeshows a {
    font-size: 16px;
    color: #004fa3;
    font-weight: 400;
}
.homepageTradeshows a:hover {
    text-decoration: underline;
}
/* GSA Start */
.refinementControls {
    display: none;
}
.paddingLeftSm0Xs015 {
    padding-left: 15px !important;
}
.paddingRightSm15Xs0 {
    padding: 0 !important;
}
/* GSA End */
.carousel-control.left,
.carousel-control.right {
    display: block;
}
.paymentIcons {
    margin-bottom: 10px;
}

.paymentIcons img {
    margin-top: 10px;
    margin-right: 10px;
    height: 36px;
}
#shoppingCartItemsMobile hr:last-child {
    margin-bottom: 10px !important;
}

.paymentIconsFooter img {
    margin-top: 5px;
    margin-left: 6px;
    height: 25px;
}
    .SearchForm input[type="text"] {
        padding: 4px 0;
    }
    .headerSecondRow {
        height: 60px;
    }
    .categoryGridContainer {
        padding: 0 !important;
    }
    .categoryImageContainer span {
        display: block;
        position: absolute;
        left: 0;
        background: rgba(255, 255, 255, 0.7);
        padding: 10px 0;
        font-weight: 600;
    }
    .categoryItemContainer {
        border: 1px solid lightgrey;
    } /*
	.categoryItemContainer:hover {

	}*/
    /*.productGridItem {
		margin: -1px 0 0 -1px;
		padding: 0;
	}*/
    #CategoryHeadlineContainer {
        padding: 0;
    }
    #CategoryDescriptionContainer {
        padding: 0 15px 10px 0;
    }
    .productHeadline {
        padding: 0;
    }
    .productListItem img {
        margin-bottom: 0;
    }
    /* GSA Start */
    .refinementControls {
        display: block;
    }
    .paddingLeftSm0Xs015 {
        padding-left: 0 !important;
    }
    .paddingRightSm15Xs0 {
        padding-right: 15px !important;
    }
    /* GSA End */
    /*
	.productGridItem {
		min-height:260px;
	}*/
    .categoryGridElement h2 {
        font-size: 24px;
    }
    .paymentIcons {
        margin-bottom: 20px;
    }
    #shoppingCartItemsMobile hr:last-child {
        margin-bottom: 30px !important;
    }
    .pull-right-sm {
        float: right !important;
    }
    .paddingLeft0sm {
        padding-left: 0 !important;
    }
    #MarketingMaterialDetailPage .modal-dialog {
        width: 768px !important;
    }
    .modal-sm {
        width: 400px;
    }
    .minHeightControl {
        min-height: 300px;
    }
    #ArticleNumberContainer {
        padding-left: 0;
        padding-right: 0;
    }
    #USPContainer {
        margin-left: 0;
        margin-right: 0;
    }
    #SecurityIconsContainer {
        margin-left: 0;
        margin-right: 0;
    }
    .productInformation {
        position: absolute;
        top: 460px;
    }

    .partnershipLogos {
        min-height: 300px;
    }

    .partnershipLogos img {
        width: 250px;
        max-height: 300px;
    }
@media screen and (min-width: 768px) {
    #FacetsContainer {
        float:left;
    }
    #FacetsContainer.stick {
        position:sticky;
        top:25px;
    }
}
@media screen and (min-width: 900px) {
    /*real mom, control stacking of layers*/
    .minHeightControl {
        min-height: 340px;
    }
}
@media screen and (min-width: 980px) {
    #ProductInformationContainer,
    #ProductInformationContainerBVersion {
        height: 500px;
    }
    .carousel-control.left,
    .carousel-control.right {
        display: none;
    }
    #MarketingMaterialDetailPage .modal-dialog {
        width: 900px !important;
    }
    .productInformation {
        position: absolute;
        top: 470px;
    }
}
/* START: 3B Smart Anatomy PopUp for Amazon Orders*/
#amazonOrderModal .modal-header {
    background-color: #3276b1 !important;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    border: none;
}
#amazonOrderModal .modal-header .modal-title {
    color: white !important;
}
#amazonOrderModal input {
    border: 1px solid transparent;
    border-radius: 17px;
    outline-style: none;
    box-shadow: none;
    background-color: rgba(229, 231, 244, 0.6);
}
#amazonOrderModal select {
    border: none;
    border-radius: 17px;
    outline-style: none;
    box-shadow: none;
    background-color: rgba(229, 231, 244, 0.6);
}
#amazonOrderModal textarea {
    border: none;
    border-radius: 17px;
    outline-style: none;
    box-shadow: none;
    background-color: rgba(229, 231, 244, 0.6);
}
#amazonOrderModal button {
    border-radius: 17px;
    outline-style: none;
}
/* END: 3B Smart Anatomy PopUp for Amazon Orders*/
/* START: 3B Smart Anatomy PopUp */
.popUpBotton {
    color: white;
    font-size: 20px;
    background-color: rgb(216, 0, 91);
    border: none;
    width: 100%;
    margin-top: 20px;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.6);
}
.popUpBotton:hover {
    background-color: rgba(216, 0, 91, 0.7);
    color: white;
}
.popUpBotton:active {
    box-shadow: none;
    color: white;
}
.popUpBotton:focus {
    background-color: rgba(216, 0, 91, 0.9);
    outline-style: none;
    color: white;
}
#exampleModal .close {
    color: gray !important;
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 10;
}
@media only screen and (max-width: 576px) {
    body.modal-open {
        margin-right: 0;
    }
}
/* END: 3B Smart Anatomy PopUp */
/* START: iSimulate FooterPage */
.cardWrapper {
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
    padding: 15px;
    height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.cardImage {
    display: flex;
    justify-content: center;
}
.cardImage img {
    border: 3px solid white;
    border-radius: 50%;
}
.cardContent {
    min-height: 250px;
    text-align: center;
    color: white;
    background-color: #15587a;
}
.cardBackgroundWrapper {
    position: absolute;
    padding: 0 15px;
    width: 100%;
    bottom: 0;
    left: 0;
    height: 400px;
    z-index: -1;
}
.cardBackground {
    width: 100%;
    height: 100%;
    background-color: #15587a;
}
/* END: iSimulate FooterPage */
/* START: 3B Smart Anatomy FooterPage */
#faqTable td:nth-child(even) {
    background-color: lightgray;
}
#faqTable th {
    background-color: rgba(229, 231, 244, 0.6);
    text-align: center;
    font-size: 18px;
}
.faqTableData {
    vertical-align: top;
    padding: 3px;
}
.showModelsButton {
    color: white;
    background-color: rgb(216, 0, 91);
    border: none;
    width: 100%;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.29);
    font-weight: bold;
}
.showModelsButton:hover {
    color: white;
    background-color: rgba(216, 0, 91, 0.7);
}
.showModelsButton:active {
    color: white;
    box-shadow: none;
}
.showModelsButton:focus {
    color: white;
    background-color: rgba(216, 0, 91, 0.4);
    outline-style: none;
}
.smartAnatomyFooterVideo {
    position: relative;
    padding-bottom: 56.25%; /* ratio 16x9 */
    height: 0;
    overflow: hidden;
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}
.smartAnatomyFooterVideo iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.smallCaps {
    font-variant: small-caps;
}
.marginTop20 {
    margin-top: 20px;
}
.smartBackground {
    background-color: rgba(229, 231, 244, 0.6);
    padding-bottom: 15px;
}
.scaleSmartAImg {
    border-radius: 5px;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.29);
    transform: scale(1);
    transition: transform 0.5s;
}
.centerFaqImg {
    margin: auto;
    display: block;
}
@media only screen and (min-width: 576px) {
    #exampleModal .close {
        display: none;
    }
    .scaleSmartAImg:hover {
        transform: scale(1.05);
    }
    .centerSingleItem {
        display: flex;
        align-items: center;
    }
    .centerImage {
        display: flex;
        align-items: center;
    }
    .centerItems {
        display: flex;
        justify-content: center;
    }
}
@media only screen and (min-width: 768px) {
    .smartAImgFirst {
        position: relative;
        top: -20px;
    }
    .smartAImgSecond {
        position: relative;
        bottom: -70px;
    }
    .marginTop100px {
        margin-top: 50px;
    }
}
@media only screen and (min-width: 1100px) {
    .marginTop100px {
        margin-top: 100px;
    }
}
@media only screen and (min-width: 1224px) {
    .smartAnatomyRegistrationBanner {
        position: relative;
        top: -50px;
        z-index: -1;
    }
}
/* END: 3B Smart Anatomy FooterPage */
/* START: Homepage Category and Press Layout */
.homepagePressTeaser {
    position: relative;
    top: -10px;
}
.homepagePressTeaserImage {
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.6);
    border-radius: 3px;
}
.homepageGridElement {
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
}
.homepageCategoryImage {
    border-radius: 3px;
}
.homepageGridElementContainer {
    /*overflow: hidden;*/
    border-radius: 3px;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
}
@media only screen and (min-width: 576px) {
    .homepageCategoryImage {
        transform: scale(1);
        transition: transform 1s;
    } /*
	.homepageCategoryImage:hover {
		transform: scale(1.2);
		overflow: hidden;
	}*/
    .homepagePressTeaserImage {
        min-height: 120px;
        object-fit: cover;
        object-position: left;
    }
}
/* END: Homepage Category and Press Layout */
/* START: Responsive Iframe */
.responsiveIframe {
    position: relative;
    padding-bottom: 56.25%; /* ratio 16x9 */
    height: 0;
    overflow: hidden;
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}
.responsiveIframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* END: Responsive Iframe */
/* START: 3B Scientific News Overview Layout */
.newsGridItem {
    height: 450px;
    padding: 0;
    margin: 0 0 15px 0;
    overflow: hidden;
}
.newsGridItem__ImageWrapper--image {
    width: 100%;
    height: 300px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    object-fit: cover;
    object-position: center;
}
.newsGridItem__overlayWrapper {
    width: 100%;
    padding: 0;
    height: 300px;
    position: absolute;
    top: 0;
    left: 0;
}
.newsGridItem__ImageWrapper--overlay {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    background-color: rgba(21, 79, 144, 0.2);
    width: 100%;
    height: 100%;
}
.newsGridItem__DetailsWrapper {
    height: 150px;
    padding-bottom: 15px;
    background-color: rgba(160, 200, 220, 0.12);
    display: flex;
    flex-flow: row wrap;
    align-content: space-between;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}
.newsGridItem__DetailsWrapper--headline {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px;
    opacity: 1;
    transition: all 0.5s;
}
.newsGridItem__DetailsWrapper--headline p {
    text-align: left;
    margin-bottom: 0 !important;
}
.newsGridItem__DetailsWrapper--headline a {
    color: #58595b;
    text-decoration: none;
    font-size: 20px;
    width: 100%;
    text-decoration: none;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.newsGridItem__DetailsWrapper--headline a:focus-visible,
.newsGridItem__DetailsWrapper--moreLink a:focus-visible {
    outline: 2px solid #004fa3;
    outline-offset: 3px;
}
.newsGridItem__DetailsWrapper--summary {
    width: 100%;
    padding: 5px;
    text-decoration: none;
    overflow: hidden;
    color: #58595b;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.newsGridItem__DetailsWrapper--moreLink {
    margin-top: 10px;
    width: 100%;
    text-align: center;
}
.newsGridItem__DetailsWrapper--moreLink a {
    text-decoration: none;
    padding: 10px 30px;
    border-radius: 4px;
    color: white;
    background-color: rgba(21, 79, 144, 0.7);
}
.newsGridItem__DetailsWrapper--moreLink a:active {
    background-color: #2a6496;
}
@media only screen and (min-width: 576px) {
    .newsOverviewWrapper {
        padding: 0;
    }
    #newsPadding {
        padding: 0 15px;
    }
    .newsGridItem {
        padding: 0 5px;
        transform: scale(1);
        transition: transform 0.2s;
    }
    .newsGridItem__overlayWrapper {
        padding: 0 5px 0 5px;
    }
    .newsGridItem:hover {
        transform: scale(1.02);
        overflow: hidden;
        cursor: pointer;
    }
}
/* END: 3B Scientific News Overview Layout */

/* START: PressDetail */
.articleNotFound {
    display: flex;
    flex-wrap: wrap-reverse;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
.stanQuote {
    padding: 10px;
    max-width: 300px;
    height: 200px;
    background-color: rgba(21, 79, 144, 0.1);
    border-right: 3px solid rgb(21, 79, 144);
    display: flex;
    align-items: center;
}
.stanQuote h2 {
    margin: 0;
    text-align: right;
}
.articleNotFound img {
    max-width: 380px;
}
.notFoundBack {
    width: 100%;
    display: flex;
    justify-content: center;
}
.newsDetailHeader {
    margin: 0 auto;
    max-width: 1199.97px;
    height: 300px;
    display: flex;
    justify-content: center;
}
.newsDetailHeaderOld {
    margin: 0 auto;
    max-width: 1199.97px;
    height: 300px;
    display: flex;
    justify-content: center;
}
.newsDetailHeader img {
    width: 380px;
    object-fit: cover;
    object-position: left;
}
.newsDetailHeadline {
    background-image: linear-gradient(30deg, #70cad1, #154f90);
    width: 100%;
    padding: 0 25px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.newsDetailHeadlineOld {
    width: 100%;
    padding: 0 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: linear-gradient(30deg, #70cad1, #154f90);
}
.newsDetailHeadline h1 {
    max-width: 400px;
    color: white;
    text-align: left;
}
.newsDetailHeadlineOld h1 {
    color: white;
    text-align: center;
}
.headerPressDetailImageOld {
    max-width: 300px;
    margin: 0 20px 20px 0;
    float: left;
}
.headerPressDetailImageOld img {
    width: 100%;
}
.newsDetail__socialMedia {
    font-weight: 600;
    color: #2c5c6d;
    background-color: white;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    position: relative;
    bottom: 0;
}
.newDetail_socialMedia--iconWrapper {
    width: 72px;
    height: 72px;
    position: relative;
    top: 0;
    transition: all 0.3s;
    cursor: pointer;
}
.newsDetail__socialMedia img {
    width: 32px;
    margin: 20px;
    border-radius: 50%;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.3);
}
.newsDetail__Fulltext--backLink {
    margin-top: 15px;
    width: 100%;
    text-align: left;
    padding-left: 15px;
}
.newsDetail__Fulltext--backLink a {
    text-decoration: none;
    padding: 10px 30px;
    border-radius: 4px;
    color: white;
    background-color: rgba(21, 79, 144, 0.7);
}
.newsDetail__Fulltext--backLink a:active {
    background-color: #2a6496;
}
.newsDetail__moreArticles--headline {
    display: flex;
    justify-content: center;
}
.newsDetail__moreArticles--headline h3 {
    margin-bottom: 20px;
}
hr.newsDetail__moreArticles--hr {
    margin: 35px 0 0 0;
    border: 0;
    height: 1px;
    background-image: linear-gradient(
        to right,
        rgba(0, 0, 0, 0),
        #e5e5e5,
        rgba(0, 0, 0, 0)
    );
}
.newsDetailFulltext__content {
    padding: 0 15px;
}
@media only screen and (min-width: 768px) {
    .newsDetailHeader {
        padding: 0 15px;
    }
    .newsDetailHeaderOld {
        padding: 0 15px;
    }
    .newsDetailHeadline {
        justify-content: flex-end;
        padding: 0;
    }
    .newsDetailHeadline h1 {
        text-align: right;
        margin-right: 100px;
    }
    .newsDetailHeadline {
        padding: 0;
    }
    .newsDetailFulltext {
        box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
        padding: 20px 50px;
    }
    .newsDetailFulltext__content {
        min-height: 370px;
        padding: 0;
    }
    .newsDetail__Fulltext--backLink {
        padding: 0;
    }
    .newsDetail__socialMedia {
        flex-direction: column;
        padding-top: 20px;
        position: inherit;
        box-shadow: none;
    }
    .newsDetail__socialMedia .newDetail_socialMedia--iconWrapper:hover {
        position: relative;
        top: -10px;
    }
}
/* END: PressDetail */
/* START: TradeShow */
.tradeShowBanner {
    padding: 0;
}
.tradeShowBanner img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    object-position: center;
}
.tradeShowText {
    line-height: 2;
    word-spacing: 3px;
    padding-top: 10px;
}
.tradeShowLink:focus {
    text-decoration: none;
}
.tradeShowLink:visited {
    text-decoration: none;
}
.tradeShowLink:hover {
    text-decoration: none;
}
.tradeShowItemWrapper {
    padding: 10px 15px;
    transform: scale(1);
    transition: transform 0.3s;
    height: 300px;
    margin-bottom: 15px;
}
.tradeShowItem {
    height: 300px;
    padding: 10px;
    box-shadow: 0 4px 6px 0 hsla(0, 0%, 0%, 0.2);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    background-color: white;
    border-top: 3px solid #d8005b;
}
.tradeShowItem h2 {
    text-align: center;
    margin: 0;
}
.tradeShowItem__eventDate {
    color: rgba(88, 89, 91, 0.7);
    font-size: 14px;
}
.createIcs {
    cursor: pointer;
    color: #154f90;
}
.tradeShowItem__location {
    text-align: center;
    color: #154f90;
    min-height: 42px;
    z-index: 2;
}
.mapMarkerColor {
    color: #154f90;
}
.tradeShowItem__location a {
    color: rgba(88, 89, 91, 0.7);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.tradeShowItemWrapper .showDetails {
    position: relative;
    top: 6px;
    font-size: 24px;
    color: #154f90;
    cursor: pointer;
    transform: scale(1);
}
.tradeShowItemWrapper .showDetailsPlaceholer {
    position: relative;
    top: 6px;
    font-size: 24px;
    color: white;
    transform: scale(1);
}
.hideDetails {
    position: absolute;
    top: 10px;
    right: 25px;
    font-size: 24px;
    color: #d8005b;
    cursor: pointer;
    animation: moveCursor 0.7s;
    animation-iteration-count: 3;
    animation-delay: 1s;
}
@keyframes moveCursor {
    from {
        opacity: 1;
        top: 10px;
        right: 25px;
    }
    to {
        top: 10px;
        right: 50px;
        opacity: 0;
    }
}
.tradeShowItem__details {
    position: absolute;
    top: 9px;
    left: 0;
    height: 300px;
    width: 100%;
    background-color: white;
    padding: 0 15px;
    background-clip: content-box;
    display: none;
    overflow: auto;
    z-index: 2;
}
.tradeShowItem__details p {
    background-color: white;
    width: 100%;
    border-radius: 4px;
    padding: 45px 10px 10px 10px;
    color: rgba(88, 89, 91, 0.9);
}
.tradeShowItem__details a {
    color: #d8005b;
}
.tradeShowItem__details--slideIn {
    display: block;
}
.backgroundTradeshowItem {
    width: 100%;
    height: 65px;
    background-color: rgba(229, 229, 229, 0.3);
    position: relative;
    top: -65px;
}
@media only screen and (min-width: 768px) {
    .tradeShowBanner {
        padding: 0 15px;
    }
    .tradeShowBanner img {
        height: auto;
    }
    .tradeShowItemWrapper:hover {
        transform: scale(1.03);
    }
}
/* END: TradeShow */
/* START: iSimulate Footer Page*/
.iSimulateHeaderImage {
    width: 100%;
    background-image: url(/_images/homepage/isim-BG-realiti.png);
    background-repeat: no-repeat;
    background-size: cover;
    height: 450px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.iSimulateHeaderImage__one {
    height: 100px;
}
.iSimulateHeaderImage__two {
    max-height: 300px;
}
/* END: iSimulate Footer Page*/
/* START: cardionics Footer Page*/
.bhsImages {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    margin-bottom: 20px;
}
.bhsImages__one,
.bhsImages__two,
.sam3GImage__one {
    padding: 0;
    object-fit: cover;
    object-position: center;
    width: 100%;
}
.cardContentCardionics {
    min-height: 250px;
    text-align: center;
    color: white;
    background-color: #2b3c90;
}

.cardBackgroundCardionics {
    width: 100%;
    height: 100%;
    background-color: #2b3c90;
}
.cardionicsDescription {
    width: 100%;
    position: relative;
    display: flex;
    justify-content: center;
}
.cardionicsDescription__text--one,
.cardionicsDescription__text--two,
.cardionicsDescription__text--three {
    position: absolute;
    bottom: 0;
    height: 30px;
    background-color: rgba(43, 60, 144, 0.7);
    width: 70%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    color: white;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
}
.sam3GImage {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
    .bhsImages__one,
    .bhsImages__two,
    .sam3GImage__one {
        width: 50%;
    }
    .cardionicsDescription__text--one,
    .cardionicsDescription__text--two,
    .cardionicsDescription__text--three {
        height: 0;
        overflow: hidden;
        transition: all 0.3s;
    }
    .bhsImages__one:hover .cardionicsDescription__text--one {
        height: 30px;
    }
    .bhsImages__two:hover .cardionicsDescription__text--two {
        height: 30px;
    }
    .sam3GImage__one:hover .cardionicsDescription__text--three {
        height: 30px;
    }
}
/* END: cardionics Footer Page*/
/* START: COVID19 Footer Page*/
.customModalBackground {
    width: 100%;
    height: 100%;
    padding: 10px;
    background-color: rgba(51, 51, 51, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    display: none;
    overflow: hidden;
}
.customModalBody {
    max-width: 500px;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: white;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
}
.showCustomModal {
    display: flex;
}
#closeModal {
    position: absolute;
    top: -10px;
    right: 25px;
    font-size: 24px;
    cursor: pointer;
}
#openCustomModal {
    text-decoration: none;
    padding: 10px 30px;
    border-radius: 4px;
    color: white;
    background-color: rgba(21, 79, 144, 0.7);
    border: none;
}
.openCustomModal {
    width: 100%;
    display: flex;
    justify-content: center;
}
.backButton a {
    text-decoration: none;
    padding: 10px 30px;
    border-radius: 4px;
    color: white;
    background-color: rgba(21, 79, 144, 0.7);
}
.covidScenarioImages {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap-reverse;
    justify-content: space-between;
    margin-bottom: 20px;
    min-height: 400px;
    padding: 10px;
    align-items: center;
}
.covidImages {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap-reverse;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    min-height: 400px;
}
.covidImages img {
    width: 100%;
    border-radius: 5px;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.29);
}
.covidScenarioImages video {
    width: 100%;
    border-radius: 5px;
    background-color: white;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.29);
}
.covidScenarioContent,
.covidContent {
    width: 100%;
}
.covidContent {
    margin-top: 20px;
}
.covidScenarioTables {
    margin-bottom: 10px;
}
.covidScenarioTables__row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.covidScenarioTables__row--first {
    width: 30%;
}
.covidScenarioTables__row--second {
    width: 70%;
}
.covidVideoWrapper {
    width: 100%;
    display: flex;
    justify-content: center;
}
.noMinHeight {
    min-height: 0 !important;
}
@media screen and (min-width: 768px) {
    /*.covidImages {
		align-items: flex-end;
	}*/
    .covidImages img {
        width: 35%;
    }
    .imageLeft img {
        padding-left: 0;
        padding-right: 20px;
    }
    .covidScenarioImages video {
        width: 35%;
    }
    .covidScenarioContent {
        width: 65%;
        padding-left: 20px;
    }
    .reversePaddingRight {
        padding-left: 0;
        padding-right: 20px;
    }
    .covidContent {
        margin-top: 0;
        width: 65%;
        padding-left: 20px;
    }
    .reverseItems {
        display: flex;
        flex-direction: row-reverse;
    }
}
/* END: COVID19 Footer Page*/
/* START: Distributor */
.marketingMaterialThumb {
    width: 220px;
    height: 200px;
}
.marketingMaterialThumb img,
.marketingMaterialBigPic img {
    display: block;
    margin: 0 auto;
}
.marketingMaterialBigPic {
    width: 360px;
    height: 500px;
}
#MarketingMaterialInformationContainer {
    min-height: 500px;
    background-color: #f2f2f2;
    padding: 15px;
}
hr.marketingMaterialInformationDevider {
    border-color: #fff;
    margin: 10px 0;
}
.marketingMaterialInformation {
    font-size: 13px;
}

.marketingMaterialSmall {
    font-size: 13px;
}

#MarketingMaterialResultList {
    position: relative;
    min-height: 40px;
}

#MarketingMaterialResultList .stepHeadline {
    font-size: 18px;
}

.loading {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    opacity: 0.85;
}

.loading img {
    display: block;
    margin: 0 auto;
}
/* END: Distributor */
/* GSA Start */
.refinementContainer ul {
    margin-bottom: 0 !important;
}
#sayt-menu {
    font-size: 10px;
    max-width: 389px;
    width: 90%;
}
.ui-autocomplete-category {
    margin-left: 2px;
    color: #004fa3 !important;
    font-weight: bold;
}
.refinementContainer div.checkbox {
    margin: 0 auto !important;
}
.searchResultItemGSA:first-child {
    margin-top: 20px;
}
.searchResultItemGSA {
    margin-top: 10px;
}
.searchResultItemGSA H2 {
    font-weight: normal !important;
}
/* GSA End */
/*START: Searchandiser*/
.searchResultPriceFilter {
    margin-top: 20px;
    width: inherit;
    display: flex;
    flex-direction: column;
}
#PriceFilterGO {
    font-size: 18px;
    position: relative;
    top: -10px;
}
.searchandiserFormWrapper__item {
    height: 45px;
    width: 60%;
}
.searchandiserForm:focus ~ .searchandiserFormPlaceholder,
.searchandiserForm:not(:focus):valid ~ .searchandiserFormPlaceholder {
    top: -45px;
    left: 0px;
    opacity: 1;
    font-size: 11px;
    color: #154f90;
    font-weight: bold;
}
.searchandiserForm {
    width: 100%;
    padding-left: 0px;
    height: 28px;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid lightgray;
    font-size: 16px;
    color: #555555;
    outline: none;
}
.searchandiserFormPlaceholder {
    position: relative;
    pointer-events: none;
    left: 5px;
    top: -25px;
    font-size: 14px;
    transition: 0.2s ease all;
}
.clearSearchField {
    align-items: center;
    background-color: #e6e6e8;
    border: none;
    color: #58595b;
    display: flex;
    height: 2.4em;
    justify-content: center;
    line-height: 1;
    padding: 0;
    width: 2.4em;
}
.clearSearchField.hidden {
    display: none !important;
}
.clearSearchField:hover {
    color: #58595b;
    cursor: pointer;
}
/*END: Searchandiser*/
/* Carousel arrows */
.carousel-control {
    top: 40%;
}
.carousel-control.left,
.carousel-control.right {
    background: none;
    border: none;
    max-width: 36px;
    max-height: 80px;
    width: 5%;
    height: 30%;
    background-color: rgba(0, 0, 0, 1);
}
.carousel-control.left img,
.carousel-control.right img {
    margin-left: auto;
    margin-right: auto;
    margin-top: 50%;
    max-width: 8px;
    max-height: 48px;
    width: 50%;
    height: 55%;
}

/* Carousel arrows END */
.text2Lines {
    height: 3.1em;
    line-height: 1.55em;
    overflow: hidden;
}
.containerClosed {
    max-height: 4.4em;
    overflow: hidden;
}
.categoryImageContainer .categoryHeadline {
    position: absolute;
    bottom: 0px;
    line-height: 150%;
    border-bottom: none;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.82);
}
.textMax3Lines {
    position: relative;
}
.resizeSwitch {
    position: absolute;
    bottom: 0;
    right: -10px;
}
.resizeSwitch img {
    transition: transform 0.1s;
    transform: rotate(90deg);
    border: 2px solid white;
    border-radius: 5px;
    margin-top: -7px;
}

.resizeSwitch.rotateUp img {
    transform: rotate(-90deg) !important;
}

.resizeSwitch a:focus-visible img {
    border: 2px solid #004fa3;
}

.visible-xs .headerLogo img {
    height: 35px;
}

.headerLogo {
    border: 2px solid white;
    border-radius: 5px;
    margin: -2px !important;
}

.headerLogo:focus-within {
    border: 2px solid #004fa3;
    border-radius: 5px;
}

#EmailSignUpHeader a {
    color: #58595b;
    padding: 10px;
}
#EmailSignUpHeader a:hover {
    text-decoration: none;
    cursor: pointer;
    color:  rgb(25,36, 64);
}

.searchFilterHeadline span {
    font-weight: 600 !important;
}
.bx-wrapper {
    margin: 0px !important;
}
/* Fix for comodo overlay*/
#tl_popupCL1 {
    z-index: 1000000 !important;
}
.productInformationIcons img {
    margin-right: 10px;
}
/*.linkWishlist, .linkAskAQuestion,*/
.linkLeasing {
    color: #004fa3;
}
.linkLeasing {
    font-size: 16px;
}
.productIconText {
    color: #ff484f;
}
#MarketingMaterialFilter .bs-actionsbox .btn {
    border-color: rgb(204, 204, 204) !important;
}
hr.smallMargin {
    margin: 5px 0 10px 0 !important;
    border-color: #e5e5e5;
}
#OrderList .panel-title {
    font-size: 14px;
}
.OrderAddressLabel {
    color: #888888;
}
.orderHistoryHeader {
    margin-top: 10px;
    padding-left: 15px;
    padding-right: 15px;
}
.productAttributeIcon .tooltip-inner {
    width: 200px !important;
}
.productAttributeIcon {
    display: inline !important;
    margin-left: 5px;
}
.newForm input,
.newForm select,
.newForm textarea {
    border: 1px solid #e1e1e1 !important;
}
.newForm .form-control {
    border-radius: 0px;
    font-size: 16px !important;
}
.newForm .form-group {
    position: relative;
}
.inlineErrorMarker {
    position: absolute;
    top: 10;
    right: 10;
}
input.borderUnionRed,
textarea.borderUnionRed,
select.borderUnionRed {
    border-color: #ff484f !important;
}

div.borderUnionRed {
    color: #ff484f !important;
}
.newsletterSignUpWrapper {
    margin-top: 15px;
    padding: 15px;
    box-shadow: 0 4px 6px 0 hsla(0, 0%, 0%, 0.2) !important;
    border-radius: 10px;
    min-height: 100px;
}

/*START: tradeshow signup form*/
.newsletterWrapper {
    margin-top: 15px;
    box-shadow: 0 4px 6px 0 hsla(0, 0%, 0%, 0.2) !important;
    border-radius: 10px;
}
.mailingGroupPadding {
    padding-left: 0 !important;
}
.newsletterFormFooterWrapper {
    padding: 0 15px;
}
.newsletterFormFooter {
    min-height: 75px;
    background-color: rgba(160, 200, 220, 0.12);
}
.newsletterFormFooter .checkbox {
    padding-left: 0;
}
.newsletterFormFooter__signUp {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding-top: 15px;
}
.newsletterFormFooter__signUp--button {
    width: 100%;
}
.newsletterFormFooter__signUp button {
    height: 45px;
    width: 100%;
}
.newsletterHeadline h3 {
    margin: 20px 0 40px 0;
    padding-left: 15px;
    text-align: center;
}
.newsletterFormWrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.newsletterFormWrapper__item {
    height: 60px;
    width: 300px;
}
.newsletterForm:focus ~ .newsletterFormPlaceholder,
.newsletterForm:not(:focus):valid ~ .newsletterFormPlaceholder {
    top: -45px;
    left: 5px;
    opacity: 1;
    font-size: 11px;
    color: #154f90;
    font-weight: bold;
}
.newsletterForm {
    width: 100%;
    padding-left: 5px;
    height: 28px;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid lightgray;
    font-size: 16px;
    color: #555555;
    outline: none;
}
.newsletterFormPlaceholder {
    position: relative;
    pointer-events: none;
    left: 5px;
    top: -25px;
    font-size: 16px;
    transition: 0.2s ease all;
}
.newsletterBottomBackground {
    height: 100px;
    width: calc(100% - 30px);
    position: absolute;
    left: 15px;
    bottom: 0;
    background-color: rgba(160, 200, 220, 0.12);
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    z-index: -1;
}

.customizedCheckmarkWrapper {
    width: 100%;
    height: 100%;
    padding: 15px 0;
    display: flex !important;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    overflow-x: visible;
    margin-bottom: 12px;
    cursor: pointer;
    user-select: none;
}
.customizedCheckmarkWrapper span {
    margin-right: 10px;
}
.newsletterForm__groupName {
    width: 270px;
}
.customizedCheckmarkWrapper input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.customizedCheckmarkWrapper input:checked + .checkmark .innerCheckmark {
    background-color: rgba(21, 79, 144, 0.7);
    animation: growingCheckmark 0.1s ease-in;
}
.newsletterForm__mailingHeadline {
    padding: 0 15px;
}
@keyframes growingCheckmark {
    from {
        transform: scale(0);
    }
    to {
        transform: scale(1);
    }
}
@media only screen and (min-width: 768px) {
    .newsletterFormFooter__signUp {
        justify-content: flex-end;
    }
    .newsletterFormFooter__signUp--button {
        width: 200px;
        margin-left: 15px;
    }
    .newsletterHeadline h3 {
        text-align: left;
    }
    .customizedCheckmarkWrapper div {
        width: auto;
    }
    .customizedCheckmarkWrapper {
        padding: 0;
    }
}
/*END: tradeshow signup form*/

/* Product Detail Page B-Version */
#ProductInformationContainerBVersion {
    padding-bottom: 10px;
    padding-top: 10px;
}
/*
.tab-content {
	font-size: 16px;
}*/
.tab-content h2 {
    font-size: 18px;
}
.productGridPrice {
    color: #004fa3;
}
#specs {
    padding: 10px 10px 10px 7px;
}
/*
.productQuantityLabel {
	display:inline !important;
	font-size:12px;
	font-weight:normal !important;
	margin-right:10px;
}*/

/* TODO: find out which element needs to have this height
.form-control {
	height:34px !important;
}*/
#AddProductToCartForm label,
#ProductPropertyForm label {
    font-size: 14px;
}

tr:first-child td {
    border-top: 0 !important;
}

.tab-pane {
    padding: 0 15px 0 15px;
}

.table {
    margin-bottom: 0px !important;
}
#ContactFormModal,
#CatalogFormModal,
#LoginFormModal,
#EnquiryFormModal,
#QuickshopFormModal,
#FitokiSoftwareModal {
    /*z-index:100000;*/
}
#ContactFormModal .modal-header,
#CatalogFormModal .modal-header,
#LoginFormModal .modal-header,
#EnquiryFormModal .modal-header,
#QuickshopFormModal .modal-header,
#SubscriptionOrderInfo .modal-header,
#FitokiSoftwareModal .modal-header,
#AcupunctureQuickShopModal .modal-header,
#AcupunctureQuickShopConfirmModal .modal-header,
#AddedToCartModal .modal-header {
    background-color: #3276b1 !important;
    text-transform: uppercase !important;
}
#ContactFormModal .modal-header .modal-title,
#CatalogFormModal .modal-header .modal-title,
#LoginFormModal .modal-header .modal-title,
#EnquiryFormModal .modal-header .modal-title,
#QuickshopFormModal .modal-header .modal-title,
#SubscriptionOrderInfo .modal-header .bootstrap-dialog-title,
#FitokiSoftwareModal .modal-header .modal-title,
#AcupunctureQuickShopModal .modal-header .modal-title,
#AcupunctureQuickShopConfirmModal .modal-header .modal-title,
#selectiSimulateScreen .modal-header .modal-title,
#AddedToCartModal .modal-header .modal-title {
    color: white !important;
}

#CompleteAnatomyEduFormModal .modal-header {
    background-color: #3276b1 !important;
}

#selectiSimulateScreen .modal-header {
    background-color: #3276b1 !important;
}

.bootstrap-dialog .modal-dialog:not(.modal-sm) {
    width: 90% !important;
    max-width: 600px !important;
}

@media only screen and (min-width: 820px) {
    #selectiSimulateScreen .largeModal {
        width: 800px;
    }
}

#CompleteAnatomyEduFormModal .modal-header .modal-title {
    color: white !important;
}

#SubscriptionOrderInfo .modal-content {
    border-right-width: 0px !important;
}

#SearchText,
.SearchText {
    outline: 0 !important;
}
.bx-wrapper .bx-controls-direction a.bx-prev:focus,
.bx-wrapper .bx-controls-direction a.bx-next:focus {
    outline: 1px dotted black;
}
.bx-wrapper .bx-prev {
    left: -10px !important;
}
@media only screen and (min-width: 1230px) {
    .bx-wrapper .bx-prev {
        left: -20px !important;
    }
}
.ui-autocomplete {
    z-index: 2147483647;
}
.close {
    color: #fff !important;
    opacity: 1 !important;
}
.modal {
    z-index: 10040 !important;
}
/*
.paymentIcons img {
	border: 1px solid #E1E1E1;
}
*/
.paymentIcons img[alt="PayPal"],
.paymentIcons img[alt="mc"] {
    border: 1px solid #e1e1e1;
}

.popover-title {
    background-color: #3276b1;
    text-transform: uppercase;
    color: white;
}
.shoppingCartSummaryItem {
    line-height: 1em !important;
}
.shoppingCartSummaryItem a {
    color: #004fa3;
}
.shoppingCartSummaryItem .itemPrice {
    margin-top: -18px;
    font-size: 18px;
}
.shoppingCartSummaryItem--hasWarranty .itemPrice {
    margin-top: -18px;
    margin-bottom: 4px;
}
.shoppingCartSummaryWarranty {
    clear: both;
    display: block;
    position: relative;
    padding-right: 74px;
    line-height: 1.2;
    width: 100%;
    overflow-wrap: anywhere;
}
.shoppingCartSummaryWarranty .pull-right {
    position: absolute;
    right: 0;
    bottom: 0;
    float: none;
    white-space: nowrap;
}
.shoppingCartSummaryItem hr {
    margin-bottom: 20px !important;
}
.cartTable tbody td {
    height: 1px; /* enables height: 100% on flex child wrappers */
}
.cart-cell-flex {
    display: flex;
    flex-direction: column;
    /*height: 100%;*/
}
.cart-cell-flex__product {
    flex: 1;
}
.cart-warranty-inline {
    margin-left: 7em;
    padding-top: 6px;

}
.cart-warranty-inline__name {
    font-size: 13px;
    display: block;
}
.cart-warranty-inline__remove {
    font-size: 11px;
}
.cart-warranty-inline__qty {
    padding-top: 6px;
    font-size: 13px;
    text-align: center;
}
.cart-warranty-inline__price {
    padding-top: 6px;
    font-size: 13px;
    text-align: right;
}
.popover-title a {
    text-decoration: none;
    color: white;
}
.popover-title {
    margin-left: -1px;
    margin-top: -1px;
    margin-right: -1px;
}
#ShoppingCartSummary.enquiry {
    min-width: 400px;
}
.searchResultGrid {
    padding-left: 3px;
    padding-top: 20px;
    padding-bottom: 20px;
}
.searchResultGridItemContent__title {
    text-align: center;
    padding: 0 5px;
    margin-top: 15px;
}
.searchResultGridItemContent__title a {
    width: 100%;
    text-decoration: none;
    overflow: hidden;
    color: #58595b;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.productGridItem__content--title {
    text-align: center;
    padding: 0 5px;
    margin-top: 10px;
}
.productGridItem__content--title a {
    width: 100%;
    text-decoration: none;
    overflow: hidden;
    color: #58595b;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.productGridItem {
    transform: scale(1);
    transition: all 0.3s;
    border: 1px solid lightgray;
}
.lSSlide {
    padding-top: 1px;
    padding-left: 1px !important;
}
.productGridItem__content {
    min-height: 250px;
    position: relative;
    overflow: hidden;
}
.productGridTestBtn {
    width: 100%;
    height: 35px;
    border: none;
    background-color: #5cb85c;
    color: white;
    outline-style: none;
}
.productGridBtn {
    width: 100%;
    padding: 12px 0;
    border: none;
    background-color: #5cb85c;
    color: white;
    outline-style: none;
}
.productGridDetailsBtn {
    width: 100%;
    padding: 12px 0;
    border: none;
    /*	background-color: #5b83b1;*/
    background-color: #395979;
    color: white;
    outline-style: none;
}
.productGridMultiplePurchaseBtn {
    width: 100%;
    min-width: 170px;
    padding: 12px 0;
    border: none;
    background-color: #5b83b1;
    color: white;
    outline-style: none;
}
.productGridDetailsBtn__Wrapper a {
    text-decoration: none;
}
.productGridDetailsBtn__Wrapper a:hover {
    background-color: none;
}
.productGridDetailsBtn:hover {
    /*	background-color: #4472A6;*/
    background-color: #344e6f;
}
/*.productGridItem__imageLink {
	display: flex;
	justify-content: center;
	align-items: center;
}*/
.productGridItem__imageLink {
    /*display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;*/
}
.productGridItem__image--moreInfo {
    position: absolute;
    left: 50%;
    top: 30%;
    transform: translate(-50%, -50%);
    padding: 10px 25px;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    display: none;
    white-space: nowrap;
    transition: all 0.3s;
}
.newProductImage {
    width: 90px;
    padding-top: 3px;
    padding-left: 5px;
}
.freeshippingTile {
    height: 370.9px !important;
    background-color: rgba(247, 23, 53, 0.8) !important;
	border: 0px !important;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 2em;
    padding: 5px;
}
@media only screen and (min-width: 576px) {
    .documentGridItem:hover {
        transform: scale(1.02);
    }
    .productGridItem {
        position: relative;
    }
    .gridBackground {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        background-color: white;
        z-index: -10;
        transform: scale(1);
        transition: all 0.3s;
    }
    .productGridItem__image {
        transform: scale(1);
        transition: all 0.3s;
    }
    .searchResultGrid {
        padding: 20px 15px !important;
    }
    .productGridItem:hover {
        z-index: 10;
    }
    .categoryItemContainer:hover {
        z-index: 10;
    }
    .productGridItem:hover .gridBackground {
        transform: scale(1.1);
        box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
    }
    .categoryItemImage {
        transform: scale(1);
        transition: all 0.3s;
    }
    .categoryItemContainer:hover .gridBackground {
        transform: scale(1.1);
        box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
    }

    .hiddenInGrid {
        display: none;
        position: absolute;
        width: 100%;
        bottom: -45px;
        transition: all 0.3s;
    }
    .productGridItem:hover .hiddenInGrid {
        display: block;
    }
}
.documentGridItem {
    overflow: hidden;
    transform: scale(1);
    transition: all 0.1s;
}
.documentGridItem__content {
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
    min-height: 250px;
    position: relative;
    overflow: hidden;
}
.documentGridItem__content--title {
    text-align: left;
    padding: 0 5px;
    margin-top: 15px;
}
.documentGridItem__content--title a {
    width: 100%;
    text-decoration: none;
    overflow: hidden;
    color: #58595b;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.documentGridItem__content--download {
    width: 100%;
    padding: 12px 0;
    position: absolute;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    text-align: center;
    align-items: center;
    background-color: rgba(21, 79, 144, 0.7);
}
.documentGridItem__content--download:hover {
    background-color: rgba(21, 79, 144, 0.8);
}
.documentGridItem__content--download p {
    margin: 0;
}
.documentGridItem__imageWrapper {
    position: relative;
}
.checkbox {
    padding-left: 20px;
}
.checkmarkWrapper {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
}
.checkmark {
    min-width: 25px;
    height: 25px;
    padding: 2px;
    border: 2px solid lightgray;
    border-radius: 50%;
    display: inline-block;
}
.innerCheckmark {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}
.filledCheckmark {
    background-color: rgba(21, 79, 144, 0.7);
}
.refinement-selection {
    position: absolute;
    left: -9999px;
}

#Breadcrumb + .container img.img-responsive,
#Breadcrumb + .container + .container + .container img.img-responsive,
#Breadcrumb + script + .container img.img-responsive {
    width: 100%;
}

.categoryGridContainer img.img-responsive {
    display: block;
    height: auto;
    max-width: 100%;
    width: inherit !important;
}

#AddProductToCartForm .panel-title {
    font-size: 14px !important;
}
#AddProductToCartForm div.panel-heading {
    padding: 5px 15px !important;
}
#AddProductToCartForm .panel-body {
    padding-top: 15px !important;
    padding-right: 15px !important;
    padding-left: 15px !important;
    padding-bottom: 0 !important;
}
.linkSubscriptionHelp {
    color: #004fa3;
    display: block;
    padding-bottom: 5px;
    font-size: 14px;
}
.subscriptionOrderTextShort {
    color: rgb(92, 184, 92);
    margin-top: -20px;
    margin-bottom: 10px;
    font-size: 14px;
    position: relative;
    top: -7px;
}
.BundleProductQuantity {
    text-align: center !important;
}
.bundleComponentGridItem {
    height: 65px;
    border: 1px solid #ffffff;
    padding: 0 15px 0 0;
    display: flex;
    align-items: center;
}
.bundleItemWrapper {
    max-height: 300px;
    overflow-x: hidden;
    margin-top: 20px;
}
/* Style for dependent items to visually distinguish them */
.dependent-item {
    margin-left: 20px; /* Indent to show hierarchy */
    opacity: 0.8; 
    transition: opacity 0.3s ease, margin-left 0.3s ease; /* Smooth transition */
}
.dependent-item-selectable {
    margin-left: 20px; /* Indent to show hierarchy */
    opacity: 1; 
    transition: opacity 0.3s ease, margin-left 0.3s ease; /* Smooth transition */
}
.bundle-grid {
    display: flex;
    flex-direction: column;
    gap: 16px; 
    flex-wrap: wrap; 
    width: 90%;
}
.parent-dependent-wrapper{
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.bundleComponentGridItem-independent{
    height: 2em;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.bundleComponentGridItem-dependent{
    height: 2em;
    display: flex;
    align-items: center;
    justify-content: space-between;
}



.bundleTitle a {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
@media only screen and (min-width: 768px) {
    .bundleComponentGridItem:hover {
        border: 1px solid #e5e5e5;
    }
    .bundleItemWrapper {
        margin-top: 20px;
    }
    .productGridItem:hover .productGridItem__image--moreInfo {
        display: block;
    }
    .productGridItem:hover .productGridItem__image {
        transform: scale(1.1);
    }
    .categoryItemContainer:hover .categoryItemImage {
        transform: scale(1.1);
    }
    .tabSERPContainer {
        padding-right: 0 !important;
    }

    /*
	.categoryItemContainer:hover {
		transform: scale(1.1);
		z-index:10;
		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
		border:none;
	}
*/
}
.productQuantity {
    text-align: center !important;
}
/* Cart */
.CartQuantityReadOnly {
    border-color: transparent !important;
}
#ArticleNumberContainer table {
    border-collapse: collapse;
    width: 100%;
}

#ArticleNumberContainer table th {
    padding: 0;
}
#ArticleNumberContainer table td {
    padding: 0px 0px;
}

#ArticleNumberContainer table tr td {
    padding-top: 15px;
    /*background-color: rgba(229, 231, 244, 0.6);*/
}

#ArticleNumberContainer table tr:first-child td {
    padding: 0px 0px;
    /*background-color: rgba(229, 231, 244, 0.6);*/
}

.fitoki-floating-logo {
    position: fixed;
    width: 80px;
    height: 80px;
    top: 200px;
    right: 15px;
    z-index: 10000;
}

.titlePrefix {
    font-size: 20px;
}

.pageControlsSERPDesktop {
    border-bottom: 1px solid #dddddd;
}

.pageControlsSERPDesktop .form-group {
    margin-bottom: 11px !important;
}

/* language selector */
#LanguageSelectorContainer {
    display: visible;
    position: relative;
    width: 35px;
    height: 35px;
    margin-right: 10px !important;
    border: 2px solid white;
}

#LanguageSelectorContainerMobile {
    display: inline-block;
    position: relative;
    width: 35px;
    height: 35px;
    margin-top: 7px !important;
    border: 2px solid white;
}

#LanguageSelectorContainerMobile:focus-within {
    border: 2px solid #004fa3;
    border-radius: 5px;
}

#LanguageSelectorContainer img {
    width: 30px;
    height: 30px;
}

#LanguageSelectorContainerMobile img {
    width: 30px;
    height: 30px;
}

.language-dropdown {
    position: relative;
    display: inline-block;
}

.language-toggle {
    background-color: #545454;
    color: white;
    border: none;
    border-radius: 25px;
    padding: 8px 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    text-transform: uppercase;
    transition: background-color 0.2s;
}

.language-toggle:hover,
.language-toggle:focus {
    background-color: lightgrey;
    outline: none;
}

.language-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    z-index: 1000;
    list-style: none;
    padding: 4px;
    margin: 2px 0 0 0;
    display: none;
    background-color: #666;
    text-align: left;
}

.language-options.show {
    display: block;
}

.language-options li {
    margin: 0;
}

.language-option {
    background: transparent;
    border: none;
    border-radius: 6px;
    padding: 8px;
    width: 100%;
    text-align: left;
    cursor: pointer;
    font-size: 12px;
    text-transform: uppercase;
    transition: background-color 0.2s;
}
.language-option:hover {
    background-color:lightgrey;
}

/* /language selector */

#ShoppingCartSummary {
    min-width: 300px;
}
input[name="Quantity"],
input[name="SubscriptionOrdersQuantity"],
input[name*="ProductQuantity-"],
input[name="QuantityMobile"] {
    text-align: center;
}
input[name*="ProductQuantity-"] {
    max-width: 55px;
}
.titlePrefix a {
    text-decoration: none;
}
.titlePrefixPDP {
    text-decoration: none;
    font-size: 21px;
}
.table-borderless > tbody > tr > td,
.table-borderless > tbody > tr > th,
.table-borderless > tfoot > tr > td,
.table-borderless > tfoot > tr > th,
.table-borderless > thead > tr > td,
.table-borderless > thead > tr > th {
    border: none !important;
}

.table-top-borderless thead > tr > th,
.table-top-borderless tbody > tr > th,
.table-top-borderless tfoot > tr > th,
.table-top-borderless thead > tr > td,
.table-top-borderless tbody > tr > td,
.table-top-borderless tfoot > tr > td {
    border-top: none !important;
}

.table-small-padding thead > tr > th,
.table-small-padding tbody > tr > th,
.table-small-padding tfoot > tr > th,
.table-small-padding thead > tr > td,
.table-small-padding tbody > tr > td,
.table-small-padding tfoot > tr > td {
    padding: 3px;
}

.modal-lg {
    width: 1180px;
}

.modal-sm {
    width: 400px;
}

#AcupunctureQuickShopModalContainer .modal-body,
#AcupunctureQuickShopModalContainer .modal-footer {
    background-color: rgb(250, 250, 250);
}

#AcupunctureQuickShopModalContainer .modal-footer {
    margin-top: 0 !important;
    border-top: none !important;
}

#AcupunctureQuickShopConfirmModal {
    text-align: center;
}
.moxomRow,
.seirinRow {
    border-bottom: 1px solid #e1e1e1;
}
.moxomRow .form-group,
.seirinRow .form-group {
    margin-top: 10px;
    margin-bottom: 10px !important;
}
/*
#AcupunctureQuickShopConfirmModal .modal-header {
	background-color:#3276b1 !important;
	text-transform:uppercase !important;
}
#AcupunctureQuickShopConfirmModal .modal-header .modal-title {
	color:white !important;
}
*/

.gridItemNewSalePlaceholder {
    height: 33px;
}
.smartAnatomyImage {
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.29);
    margin-bottom: 20px;
    border-radius: 5px;
    width: 100%;
    transform: scale(1);
    transition: transform 0.5s;
}
.smartAnatomyImage:hover {
    transform: scale(1.05);
}
.learnMoreWrapper:hover {
    text-decoration: none;
}
.smartAnatomyLearnmoreIcon {
    padding: 0 15px;
}
@media only screen and (min-width: 768px) {
    .smartAnatomyLearnmoreIcon {
        padding: 0;
    }
}

/* material-switch */
/* https://bootsnipp.com/snippets/xp0QM */
.material-switch > input[type="checkbox"] {
    display: none;
}
.material-switch > label {
    cursor: pointer;
    height: 0px;
    position: relative;
    width: 40px;
}
.material-switch > label::before {
    background: rgb(0, 0, 0);
    box-shadow: inset 0px 0px 10px rgba(0, 0, 0, 0.5);
    border-radius: 8px;
    content: "";
    height: 16px;
    margin-top: -8px;
    position: absolute;
    opacity: 0.3;
    transition: all 0.4s ease-in-out;
    width: 40px;
}
.material-switch > label::after {
    background: rgb(255, 255, 255);
    border-radius: 16px;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
    content: "";
    height: 24px;
    left: -4px;
    margin-top: -8px;
    position: absolute;
    top: -4px;
    transition: all 0.3s ease-in-out;
    width: 24px;
}
.material-switch > input[type="checkbox"]:checked + label::before {
    background: inherit;
    opacity: 0.5;
}
.material-switch > input[type="checkbox"]:checked + label::after {
    background: inherit;
    left: 20px;
}
.recommendediSimulateProduct {
    width: 250px;
    height: 450px;
    background-color: white;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    position: fixed;
    right: -250px;
    margin-top: -225px;
    top: 50%;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
    color: #30a2db;
    padding: 5px 20px 5px 5px;
    animation: recommendSlide 0.6s ease;
    animation-delay: 5s;
    animation-fill-mode: forwards;
    text-align: center;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.recommendediSimulateProduct img {
    width: 100px;
}
.hideSlider {
    animation: recommendSlideOut 1s ease;
}
.recommendediSimulateProduct h3 {
    color: #30a2db;
}
#recommendedSlide {
    position: absolute;
    left: 10px;
    top: 10px;
    font-size: 25px;
}
@keyframes recommendSlide {
    0% {
        right: -250px;
    }
    100% {
        right: 0;
    }
}
@keyframes recommendSlideOut {
    0% {
        right: 0px;
    }
    100% {
        right: -250px;
    }
}
@media only screen and (min-width: 768px) {
    .recommendediSimulateProduct {
        padding: 15px;
    }
}
/*START: Checkout*/

.checkoutLoginNavContainer {
    display: inline;
    min-width: 75%;
    margin: 0 auto;
}

.checkoutPartNav {
    min-height: 80px;
    padding-top: 10px;
}

.checkoutLoginPartNav {
    display: block;
    float: left;
    width: 25%;
    text-align: center;
}

.checkoutLoginPartNav[data-href] {
    cursor: pointer;
}

.checkoutLoginPartNavSelected {
    /*width: 25%;*/
}

.checkoutLoginPartNavStepCount {
    display: block;
    position: relative;
    text-align: center;
    z-index: 1;
}

.checkoutLoginPartNavStepNumber {
    /*width:40px;
	padding-top:10px;
	height:40px;
	border-radius:50%;*/
    position: relative;
    height: 40px;
    margin-bottom: -40px;
    top: 10px;
    z-index: 2;
}

/*
.checkoutLoginPartNavStepCount::before {
	content: '';
    position: absolute;
    right: 0;
    top: 50%;
    margin: -2px 0 0 0;
    height: 2px;
    width: 50%;
	background-color: #ddd;
	z-index:-1!important;
}
*/
.checkoutLoginPartNavStepCircle {
    background-color: white;
    stroke: rgba(229, 231, 244, 0.8);
    margin: 0 auto;
    z-index: 1;
}

.checkoutLoginPartNavStepNumber {
    /*	display:flex;
	flex-flow: row wrap;
	margin: 0 auto;*/
}

#PaymentMethodContainer_1 .form-group {
    margin-bottom: 25px;
}

.checkoutLoginPartNavStepCount::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    margin: -2px 0 0 0;
    height: 2px;
    width: 50%;
    background-color: #ddd;
    z-index: -1 !important;
}

.checkoutLoginPartNavStepCount::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    margin: -2px 0 0 0;
    height: 2px;
    width: 50%;
    background-color: #ddd;
    z-index: -1 !important;
}

.checkoutLoginPartNav:first-child .checkoutLoginPartNavStepCount::after {
    width: 50%;
    right: 0;
}

.checkoutLoginPartNav:first-child .checkoutLoginPartNavStepCount::before {
    display: none;
    width: 50%;
    right: 0;
}

.checkoutLoginPartNav:last-child .checkoutLoginPartNavStepCount::after {
    display: none;
    width: 50%;
    left: 0;
}

.checkoutLoginPartNav:last-child .checkoutLoginPartNavStepCount::before {
    width: 50%;
    left: 0;
}

.checkoutLoginPartNavCompleted .checkoutLoginPartNavStepCount::after,
.checkoutLoginPartNavCompleted .checkoutLoginPartNavStepCount::before,
.checkoutLoginPartNavSelected .checkoutLoginPartNavStepCount::before {
    background-color: #31b370;
}

.checkoutLoginPartNav .checkoutLoginPartNavStepNumber {
    /* background-color: rgba(229, 229, 229, 0.2); */
}

.checkoutLoginPartNavSelected .checkoutLoginPartNavStepNumber {
    /* background-color: rgba(229, 231, 244, 0.8); */
}

.checkoutFormWrapper {
    margin-top: 20px;
    width: inherit;
    display: flex;
    flex-direction: column;
}

.checkoutFormWrapper__item {
    height: 45px;
    width: 60%;
}

.checkoutForm:focus ~ .checkoutFormPlaceholder,
.checkoutForm:focus ~ .checkoutFormPlaceholder,
.checkoutForm:not([value=""]) ~ .checkoutFormPlaceholder {
    top: -45px;
    left: 0px;
    opacity: 1;
    font-size: 11px;
    color: #154f90;
    font-weight: bold !important;
}

.checkoutForm {
    width: 100%;
    padding-left: 0px;
    height: 28px;
    border-radius: 0;
    border: none;
    font-size: 16px;
    color: #555555;
    outline: none;
    border-bottom: 1px solid lightgrey;
}
/*
#LoginForm .checkoutForm, #ResetPasswordForm .checkoutForm, #CreateAccountForm .checkoutForm {
	padding-left:5px;
}
*/
.checkoutFormPlaceholder {
    position: relative;
    pointer-events: none;
    left: 5px;
    top: -25px;
    font-size: 14px;
    transition: 0.2s ease all;
}
.checkoutFormDescription {
    position: relative;
    pointer-events: none;
    left: 5px;
    top: -25px;
    font-size: 11px;
    color: #999999;
    font-weight: normal;
}

.checkoutFormContainer {
    border-right: none;
}

#CheckoutShoppingCartSummary {
    padding-left: 15px;
    padding-right: 15px;
}

.checkoutSummaryData {
    display: flex;
    flex-direction: row;
}

.checkoutPaymentButtons {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: wrap;
}

.checkoutPaymentButtons button:last-child {
    margin-left: auto;
}
.checkoutPaymentButtons div:first-child {
    margin-left: auto;
}

.CVCInfo {
    margin-top: 20px;
}

.textareaBlue {
    min-height: 100px;
    border: none;
    box-shadow: none;
    background-color: rgba(21, 79, 144, 0.1);
}

#openHeavyWeightModal {
    color: #2c7eea;
    font-size: 17px;
}

.heavyWeightHeadline {
    background-color: rgba(160, 200, 220, 0.12);
    height: 60px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.heavyWeightHeadline h3 {
    margin: 0;
}

.heavyWeightContent {
    min-height: 150px;
    display: flex;
    align-items: center;
}

#closeHeavyWeightModal {
    font-size: 24px;
    cursor: pointer;
}

.secureCartWrapper {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 20px 0;
    margin: 0 0 20px 0;
}

.secureReviewWrapper {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 20px 0;
    margin: 0 0 20px 0;
}

@media only screen and (min-width: 990px) {
    .secureReviewWrapper {
        justify-content: flex-start;
    }
}

.cartButtonWrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

@media only screen and (min-width: 768px) {
    .checkoutFormContainer {
        border-right: 1px solid lightgray;
    }
    .CVCInfo {
        margin-top: 0;
    }
}
/*END: Checkout*/
/*START: Cross Selling products on PDP */
.crossSellingProductLink a {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.crossSellingPrice {
    color: black;
    font-weight: bold;
}
/*END: Cross Selling products on PDP */

/*
START: Cookiebot cookie consent custom style
*/
#CybotCookiebotDialogBodyButtonDecline {
    border: 2px solid #004fa3 !important;
}
#CybotCookiebotDialogBodyButtonAccept {
    background-color: #004fa3 !important;
    border-color: 2px solid #004fa3 !important;
}
#CybotCookiebotDialogPoweredbyCybot,
#CybotCookiebotDialogPoweredByText {
    display: none !important;
}
#cookiePrefTwitter {
    width: 100%;
    height: 300px;
    display: none;
    justify-content: center;
    align-items: center;
}

.cookieconsent__optoutWrapper {
    width: 100%;
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    border: 1px solid #e9ebee;
} /*
.cookieconsent-optout-marketing p {
	height: 30px;
	background-color: white;
	border-radius: 10px;
}*/
/*
END: Cookiebot cookie consent custom style
*/
/*
START: Covid product cards
*/
.covidCardWarapper {
    align-items: stretch;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding: 20px 0;
    overflow-x: scroll;
}
.covidCardWarapper::-webkit-scrollbar {
    background-color: #f5f5f5;
    height: 8px;
    border-radius: 4px;
}
.covidCardWarapper::-webkit-scrollbar-track {
    border-radius: 4px;
    background-color: #f5f5f5;
}
.covidCardWarapper::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: #555;
}
.covidCard {
    max-width: 85%;
    /*box-shadow: 0 0 2px 0 rgba(0,0,0,.06), 0 4px 16px 0 rgba(0,0,0,.12);*/
    border-radius: 10px;
    border: 1px solid #e9ebee;
    flex-basis: 85%;
    flex-grow: 0;
    flex-shrink: 0;
    margin-right: 15px;
}
.covidCard img {
    width: 100%;
    height: 150px;
    object-position: left;
    object-fit: cover;
    margin-bottom: 15px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.covidCard hr {
    width: 50%;
    border: 2px solid #428bca;
    margin: 0 auto;
}
.covidCard__content {
    width: 100%;
    height: calc(100% - 169px);
    padding: 15px;
    display: flex;
    flex-direction: column;
    align-content: space-between;
    justify-content: space-between;
}
.covidCard__link {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}
.covidCard__link a {
    color: #1a73e8;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0.5px;
    font-weight: bold;
}
@media only screen and (min-width: 550px) {
    .covidCard {
        flex-basis: 50%;
    }
}
@media only screen and (min-width: 768px) {
    .covidCard {
        flex-basis: 40%;
    }
}
@media only screen and (min-width: 1000px) {
    .covidCard {
        flex-basis: 30%;
    }
}
/*
END: Covid product cards
*/
/*START: search - no results found page */
.bubble {
    background-color: #ffffff;
    position: relative;
    border-radius: 5px;
    box-shadow: 0px 0px 6px #b2b2b2;
    margin: 20px;
    width: 80%;
    padding: 20px;
}

.bubbleArrow {
    background-color: #ffffff;
    box-shadow: -2px 2px 2px 0 rgba(178, 178, 178, 0.4);
    content: "\00a0";
    display: block;
    height: 20px;
    /*    left: 285px;*/
    left: 22%;
    position: absolute;
    bottom: -10px;
    transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    width: 20px;
}

@media only screen and (min-width: 768px) {
    .bubbleArrow {
        left: 31%;
    }
}
/*END: search - no results found page */

/* Customize the label (the container) */
.containerSearch {
    display: block;
    position: relative;
    margin-bottom: 12px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
/* Hide the browser's default checkbox */
.containerSearch input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
/* Create a custom checkbox */
.checkmarkSearch {
    position: absolute;
    top: 0;
    right: 0px;
    height: 25px;
    width: 25px;
    border: 1px solid #757575;
    border-radius: 2px;
    background-color: white;
}
.checkMarkRadio {
    position: absolute;
    top: 0;
    right: 0px;
    height: 25px;
    width: 25px;
    border: 2px solid white;
    border-radius: 50%;
    box-shadow: 0 0 0 1pt #757575;
}
/* On mouse-over, add a grey background color */
.containerSearch:hover input ~ .checkmarkSearch {
    background-color: #ccc;
}
/* When the checkbox is checked, add a blue background */
.containerSearch input:checked ~ .checkmarkSearch {
    background-color: #1a73e8;
    border: 1px solid #1a73e8;
}
.containerSearch input:checked ~ .checkMarkRadio {
    background-color: #1a73e8;
    box-shadow: 0 0 0 1pt #1a73e8;
}
/* Create the checkmark/indicator (hidden when not checked) */
.checkmarkSearch:after {
    content: "";
    position: absolute;
    display: none;
}
/* Show the checkmark when checked */
.containerSearch input:checked ~ .checkmarkSearch:after {
    display: block;
}
/* Style the checkmark/indicator */
.containerSearch .checkmarkSearch:after {
    left: 8px;
    top: 0px;
    width: 8px;
    height: 18px;
    border: solid white;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.checkmarkWrapperSearch {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.flexRight {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    position: relative;
    top: -15px;
}

.showPasswordSwitch {
    position: absolute;
    top: 5px;
    right: 10px;
}
/*
START: product property styles
*/
.productProperty__images,
.productProperty__select {
    margin-bottom: 20px;
}
.productProperty__select {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
}
.productProperty__select div {
    font-size: 12px;
    padding: 5px;
    margin: 0 5px 5px 0;
    cursor: pointer;
    width: fit-content;
}
.productProperty__select div:focus-visible {
    outline: 2px solid #004fa3;
}
.productProperty__select div:not(.propertyBackground) {
    background-color: white;
    border: 1px solid #a2a6ac;
    border-radius: 5px;
}
.propertyBackground {
    background-color: #fefaf6;
    border: 2px solid #e47911;
    border-radius: 5px;
}
.productProperty__images img {
    width: 60px;
    height: 60px;
    margin: 0 5px 5px 0;
    cursor: pointer;
}
.productProperty__images img:focus-visible {
    outline: 2px solid #004fa3;
}
.productProperty__disabled {
    pointer-events: none;
    opacity: 0.5;
}
.borderBlue {
    border: 1px solid #428bca;
}
#loadingWrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(252, 252, 252, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}
#loading {
    border: 5px solid #cccccc; /* Light grey */
    border-top: 5px solid #3498db; /* Blue */
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 2s linear infinite;
    margin-bottom: 10px;
}
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
@media only screen and (min-width: 768px) {
    .productProperty__images img:hover {
        border: 1px solid #428bca;
    }
    .productProperty__select div:not(.propertyBackground):hover {
        background-color: #f3f3f3;
    }
}
/*
END: product property styles
*/

/*
START: ProductDetail Layout
*/

.pdpImageElement,
.pdpButtonElement {
    width: 100%;
}
.pdpImageElement {
    margin: 0;
}

/* Button Section */
.pdpButtonElement__headline {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.addToCartFormWrapper__items,
.addToCartEnquiryFormWrapper__items {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.addToCartFormWrapper__items label,
.addToCartEnquiryFormWrapper__items label {
    font-weight: bold !important;
}
.addToCartFormWrapperSubscriptions__items {
    width: 100% !important;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.addToCartFormWrapper .qty-btn{
    width: 2em;
    height: 44px;
    padding: 0;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.addToCartFormWrapper .input-group input{
    font-weight: bold;
    font-size: 1.3em;
    height: 44px;
}
@media (max-width: 767px) {
    .addToCartFormWrapper .visible-xs .input-group {
        display: flex;
        align-items: stretch;
        width: 100%;
    }
    .addToCartFormWrapper .visible-xs .input-group .input-group-btn {
        display: flex;
        width: auto;
    }
    .addToCartFormWrapper .visible-xs #AddProductToCartForm_Quantity_Mobile {
        flex: 1 1 auto;
        min-width: 0;
        width: auto;
        margin: 0 -1px;
    }
    .addToCartFormWrapper .visible-xs .input-group .input-group-btn:first-child > .qty-btn {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .addToCartFormWrapper .visible-xs .input-group .input-group-btn:last-child > .qty-btn {
        margin-left: 0;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
}
.addToCartBTN {
    width: 100%;
    min-width: 170px;
    margin-top: 10px;
    padding: 0.6em 1em;
    font-size: 1.1em;
    font-weight: 600;
    border-radius: 8px;
}
/* Product Availability */
.feature-availability {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    margin-bottom: 15px;
}
/* In Stock - Green */
.feature-availability--instock .feature-icon__icon {
    background: #d4edda;
}
.feature-availability--instock .feature-icon__label {
    color: #155724;
}

/* Available in 2-10 days - Yellow/Amber */
.feature-availability--delayed .feature-icon__icon {
    background: #fff3cd;
}
.feature-availability--delayed .feature-icon__label {
    color: #856404;
}

/* More on the way / Out of Stock - Red */
.feature-availability--ontheway .feature-icon__icon {
    background: #f8d7da;
}
.feature-availability--ontheway .feature-icon__label {
    color: #721c24;
}

/* PDP Feature ROW */
.feature-icons-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 24px; /* row gap, column gap */
    margin: 20px 0;
    padding: 10px 0;
    border-top: 1px solid #ebedee;
    border-bottom: 1px solid #ebedee;   
}
.warranty-section__icon {
    flex-shrink: 0;
    margin-top: 12px; 
}
.warranty-section__title{
    font-size: 1.2em;
    font-weight: 600;
}
.feature-icons-row > *{
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.feature-icon__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px; 
    flex-shrink: 0; 
    border-radius: 8px;
}
/* Feature Icon Backgrounds */
.feature-icon__icon--sparkles {
    background: #fbdfcb; /* Peach/Orange - New Product */
}
.feature-icon__icon--sale {
    background: #ffcdd2; /* Light Red - On Sale */
}
.feature-icon__icon--truck {
    background: #b2ebf2; /* Cyan - Free Shipping */
}
.feature-icon__icon--overweight {
    background: #ffe0b2; /* Light Orange/Amber - Overweight */
}
.feature-icon__icon--latexfree {
    background: #e1bee7; /* Light Purple - Latex Free */
}
.feature-icon__icon--smartanatomy {
    background: #c67af8ff; /* Light purple - Smart Anatomy */
}
.feature-icon__icon--bundle {
    background: #c8e6c9; /* Light Green - Bundle */
}
.feature-icon__icon--standard-warranty {
    background: #c5e7c6; /* Light Green - Standard Warranty */
}
/* Warranty Section */
.warranty-section {
    background-color: #FFFBEB;
    border: 3px solid #FDE68A;
    border-radius: 8px;
    padding: 15px;
    display: flex;
    gap : 15px;
}
.warranty-section__content{
    width: 95%;
}
.warranty-section__features{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    margin: 0;
}
@media (max-width: 768px) {
    .warranty-section {
        gap: 10px;
        padding: 12px;
    }
    .warranty-section__icon {
        display: none;
    }
    .warranty-section__content {
        width: 100%;
    }
    .warranty-section__features {
        flex-direction: column;
        gap: 8px;
    }
    .warranty-section__features li {
        display: flex;
        align-items: center;
        gap: 8px;
        line-height: 1.35;
    }
    .warranty-section__feature-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 18px;
    }
}
.warranty-select {
    position: relative;
    margin-top: 16px;
}
.warranty-select__label {
    font-size: 14px;
    color: #444;
    margin-bottom: 6px;
}
.warranty-select__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    padding: 10px 14px;
    cursor: pointer;
    user-select: none;
    font-size: 14px;
    color: #222;
}
.warranty-select__trigger:hover {
    border-color: #bbb;
}
.warranty-select__chevron {
    flex-shrink: 0;
    transition: transform 0.2s;
}
.warranty-select__trigger[aria-expanded="true"] .warranty-select__chevron {
    transform: rotate(180deg);
}
.warranty-select__dropdown {
    display: none;
    position: absolute;
    bottom: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.10);
    z-index: 200;
    overflow: hidden;
}
.warranty-select__dropdown--open {
    display: block;
}
.warranty-select__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    font-size: 14px;
    cursor: pointer;
    color: #222;
}
.warranty-select__item:hover {
    background: #f5f5f5;
}
.warranty-select__item--selected {
    background: #f9f9f9;
}
.warranty-select__item-name {
    flex: 1 1 auto;
}
.warranty-select__item-price {
    flex: 0 0 auto;
    margin-left: 12px;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums; /* equal digit widths -> decimals line up */
}
.warranty-select__item-check {
    visibility: hidden;
    flex-shrink: 0;
    margin-left: 8px;
}
.warranty-select__item--selected .warranty-select__item-check {
    visibility: visible;
}
/* Add a question and Create PDF */
.pdpAvailability {
    margin: 0 0 15px 0;
}
.productFeatureIcon img {
    width: 45px;
}
.pdpQuestionPDFButtons {
    display: flex;
    justify-content: space-between;
}
.pdpQuestionPDFButtons .btn {
    padding: 8px 12px; /* Override Bootstrap's default padding */
}
.pdpQuestionPDFButtons a:first-child {
    width: 47%;
}
.addToCartFormWrapper__ButtonsMobile {
    display: flex !important;
    justify-content: space-between;
    flex-direction: row;
    align-items: flex-end;
}

.addToCartFormWrapper__ButtonsMobile div:first-child {
    width: calc(100% - 62px);
}

@media only screen and (min-width: 768px) {
    .pdpWrapper {
        min-height: 500px;
        display: flex;
    }
    .pdpImageElement,
    .pdpButtonElement {
        width: 50%;
    }
    .pdpImageElement {
        margin: 0 15px 0 0;
        overflow: hidden;
    }
    .pdpButtonElement__headline {
        justify-content: space-between;
    }
    .addToCartFormWrapper__items,
    .addToCartEnquiryFormWrapper__items {
        flex-direction: row;
        align-items: flex-end;
    }
    .addToCartFormWrapper__items div:first-child:not(.readonly) {
        width: 120px;
    }
    /*	.addToCartFormWrapper__items div:last-child {
		width: calc(95% - 120px);
	}*/
    .addToCartFormWrapper__items div:nth-child(2):not(.readonly) {
        width: calc(95% - 172px);
    }

    .addToCartFormWrapper__items div.readonly:first-child {
        width: 48px;
    }

    .addToCartFormWrapper__items div.readonly:nth-child(2) {
        width: calc(95% - 100px);
    }

    .addToCartEnquiryFormWrapper__items div:first-child:not(.readonly) {
        width: 120px;
    }
    .addToCartEnquiryFormWrapper__items div:last-child:not(.readonly) {
        width: calc(95% - 120px);
    }

    .addToCartEnquiryFormWrapper__items div.readonly:first-child {
        width: 48px;
    }
    .addToCartEnquiryFormWrapper__items div.readonly:last-child {
        width: calc(95% - 48px);
    }

    .productFeatureIcon,
    .pdpAvailability {
        margin: 0 0 5px 0;
    }
}
@media only screen and (min-width: 992px) {
    .addToCartFormWrapperSubscriptions__items {
        flex-direction: row;
        margin: 20px 0 0 0;
    }
    .addToCartFormWrapperSubscriptions__items .form-group {
        margin: 0;
    }
    .addToCartFormWrapperSubscriptions__items div:not(:last-child) {
        width: 120px;
    }
    .addToCartFormWrapperSubscriptions__items div:last-child {
        width: calc(95% - 240px);
    }
    .addToCartFormWrapperSubscriptions__items div:nth-child(2) {
        position: relative;
        top: -26px;
    }
}
/* Content Section */
.pdpContentSection {
    overflow: auto;
}
.pdpContentElement {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}
.pdpContentElement__left {
    width: 100%;
}
.pdpContentElement__right {
    width: 100%;
    margin: 20px 0 0 0;
}
#pdpContentNavigationWrapper {
    border-bottom: 1px solid #ebedee;
    overflow: hidden;
    height: 72px;
    position: -webkit-sticky;
    position: sticky;
    top: -1px;
    z-index: 1000;
    background-color: white;
}
#pdpContentNavigationWrapper:before {
    content: "\a0";
    display: block;
    padding: 5px 0;
    line-height: 1px;
    border-bottom: 1px solid #ebedee;
}
.pdpContentNavigation {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    width: auto;
    height: 60px;
    background-color: white;
}
.pdpContentNavigation a {
    color: #58595b;
    font-size: 16px;
    height: 100%;
    display: flex;
    align-items: center;
    background-color: none;
    padding: 0 15px;
    white-space: nowrap;
}
.pdpContentNavigation a:hover {
    text-decoration: none;
}
.pdpContentNavigation a:focus {
    text-decoration: none;
}
.pdpContentNavigation li .active {
    background-color: rgba(229, 231, 244, 0.6);
}
.pdpContentNavigation li {
    list-style: none;
}
.pdpContentElement__left h2 {
    font-size: 18px;
}
#description {
    /*overflow: hidden;*/
}
#BtnGroupCreatePDF
{
    width: 47%;
    z-index: 1500;
}
@media only screen and (min-width: 768px) {
    .pdpContentElement {
        margin-top: 20px;
    }
    .pdpContentElement__left {
        width: 70%;
    }
    .pdpContentElement__right {
        width: 30%;
        padding-top: 10px;
        padding-left: 15px;
        margin:-91px 0px 0px!important;
    }
    .stickyWrapper {
        position: sticky;
        top: 10px;
    }
    /* V2 PDP wrapper (formerly carried id="description" before the anchor moved to the
       description section) and the V1 PDP description tab-pane */
    .pdpWrapper,
    .tab-pane#description {
        padding: 15px;
    }
}

/*
END: ProductDetail Layout
*/
/*
START: Culture and Diversity Footerpage
*/
.cdHeader {
    width: 100%;
    height: 550px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: url("../../_images/cultureDiversity/worldMap.png")
        rgb(246, 246, 246);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
blockquote {
    border: none;
    padding: 0;
    margin: 0;
}
blockquote p {
    text-align: center;
    color: black;
    font-size: 15px;
    font-style: italic;
}
blockquote small {
    color: #58595b;
}
.cdHeader__center {
    width: 75%;
    display: flex;
    align-items: center;
}
.cdHeader__left img,
.cdHeader__right img {
    width: 20px;
}
.cdHeader__right,
.cdHeader__left {
    height: 80%;
}
.cdHeader__left {
    display: flex;
    align-items: flex-start;
}
.cdHeader__right {
    display: flex;
    align-items: flex-end;
}
.cdBackground {
    background: rgb(246, 246, 246);
}
.horizontalWrapper {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
}
.horizontalWrapper__left,
.horizontalWrapper__right {
    width: 100%;
}
.horizontalWrapper__left,
.horizontalWrapper__right {
    display: flex;
    flex-direction: column;
}
.horizontalWrapper__right--centered {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}
.cdLegendWrapper {
    width: 100%;
    padding: 0 30px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
}
.flexRow {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.heightFix {
    display: flex;
}
.paddingLeftRight30px {
    padding: 0 30px;
}
.cdLegend {
    height: 10px;
    width: 70px;
}
.under25,
.from0to2 {
    background-color: #14283e;
}
.under35,
.from3to6 {
    background-color: #113868;
}
.under45,
.from7to10 {
    background-color: #174f92;
}
.under55,
.from11to15 {
    background-color: #698aa8;
}
.under65,
.from16to20 {
    background-color: #8bb4d2;
}
.from21to25 {
    background-color: #bed8e8;
}
.from26to39 {
    background-color: #bfbfbf;
}
.verticalCentered a {
    text-decoration: none;
    color: inherit;
}
.verticalCentered img {
    width: 100%;
    margin: 0 auto;
}
.verticalWrapper {
    position: relative;
}
.verticalHeader {
    position: relative;
    margin: 20px 0 120px 0;
}
.verticalHeader img {
    width: 80%;
}
.verticalHeader__overlay {
    background-color: rgba(255, 255, 255, 0.8);
    width: 70%;
    padding: 20px;
    border-right: 6px solid black;
    z-index: 1;
    position: absolute;
    right: 0px;
    bottom: -20%;
}
.verticalHeader__overlay h2 {
    margin: 0 0 15px 0;
    font-weight: bold;
}
.verticalHeader__overlay p {
    font-weight: bold;
}
.weare3b {
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.weare3b h2,
.cdJoinFamilyWrapper h2 {
    margin: 0;
    font-weight: bold;
    font-size: 5rem;
}
.cdJoinFamilyWrapper h2 {
    text-align: center;
}
.cdJoinFamilyWrapper a,
.cdJoinFamilyWrapper a:hover {
    text-decoration: none;
}
.spaceBetween {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.centerAll {
    display: flex;
    justify-content: center;
    align-items: center;
}
.paddingHorizontal {
    padding: 0 !important;
}
.cdMarginTopImg {
    margin-bottom: 10px;
}
.cdMarginBottomImg {
    margin-bottom: 10px;
}
@media only screen and (min-width: 768px) {
    .cdMarginBottomImg {
        margin-bottom: 0px;
    }
    .cdHeader {
        background-size: contain;
        height: 400px;
    }
    .cdHeader__left img,
    .cdHeader__right img {
        width: 40px;
    }
    blockquote p {
        font-size: 17.5px;
    }
    .horizontalWrapper__left,
    .horizontalWrapper__right,
    .horizontalWrapper__right--centered {
        width: 50%;
    }
    .horizontalWrapper {
        flex-direction: row;
    }
    .equalHeight {
        display: flex;
        flex-wrap: wrap;
    }
    .height100 {
        height: 100%;
        display: flex;
        flex-wrap: wrap;
        align-content: space-between;
    }
    .verticalCentered img {
        width: 70%;
    }
    .paddingTop100px {
        padding-top: 100px !important;
    }
    .paddingHorizontal {
        padding: 0 20px 0 0 !important;
    }
}
/*
END: Culture and Diversity Footerpage
*/
/* Customize the label (the container) */
.containerFancyCheckbox {
    display: block;
    position: relative;
    margin-bottom: 12px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
/* Hide the browser's default checkbox */
.containerFancyCheckbox input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
/* Create a custom checkbox */
.fancyCheckmark {
    position: relative;
    float: left;
    height: 25px;
    width: 25px;
    border: 1px solid #757575;
    border-radius: 2px;
    margin-right: 10px;
}

.fancyCheckmark.borderUnionRed {
    border-color: #ff484f !important;
}

/* On mouse-over, add a grey background color */
.containerFancyCheckbox:hover input ~ .fancyCheckmark {
    background-color: #ccc;
}
/* When the checkbox is checked, add a blue background */
.containerFancyCheckbox input:checked ~ .fancyCheckmark {
    background-color: #1a73e8;
    border: 1px solid #1a73e8;
}
.containerFancyCheckbox input:checked ~ .checkMarkRadio {
    background-color: #1a73e8;
    box-shadow: 0 0 0 1pt #1a73e8;
}
/* Create the checkmark/indicator (hidden when not checked) */
.fancyCheckmark:after {
    content: "";
    position: absolute;
    display: none;
}
/* Show the checkmark when checked */
.containerFancyCheckbox input:checked ~ .fancyCheckmark:after {
    display: block;
}
/* Style the checkmark/indicator */
.containerFancyCheckbox .fancyCheckmark:after {
    left: 8px;
    top: 0px;
    width: 8px;
    height: 18px;
    border: solid white;
    border-width: 0 2px 2px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.fancyCheckmarkWrapper {
    width: 100%;
}
.containerFancyCheckbox label {
    display: flex !important;
    flex-direction: row;
}
/*
START: careerpage
*/
.headline,
.contentBox {
    width: 100%;
}
.headline {
    display: flex;
    flex-direction: row;
    align-items: center;
    cursor: pointer;
}
.headlineText {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.headlineText p {
    font-size: 12px;
}
.headline button {
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 50%;
    margin: 0 15px 0 0;
    border: none;
    background-color: white;
    transform-origin: center center;
    transition: transform 0.4s;
}
.headline button:focus {
    outline: none;
}
.toggleContent span {
    font-size: 18px;
    top: 2px !important;
}
.contentBox {
    height: auto;
    max-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: max-height 0.4s;
    overflow: hidden;
}
.showContent {
    max-height: 2000px;
    padding: 15px 0;
}
.rotate90deg {
    transform: rotate(90deg);
}
.careerJobsPolicy {
    background-color: #e5e5e5;
    margin: 45px 0 0 0;
    padding: 10px;
}
@media only screen and (min-width: 768px) {
    .showContent {
        max-height: 1200px;
    }
}
/*
END: careerpage
*/
/*
START: catalog page
*/
.catalogContentHeadline {
    display: flex;
    flex-direction: row;
    align-items: center;
    cursor: pointer;
}
.showCatalogContent {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
}
.catalogContentBox {
    display: none;
    overflow: hidden;
}
.catalogContentHeadline button {
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 50%;
    margin: 0 15px 0 0;
    border: none;
    background-color: white;
    transform-origin: center center;
}
.catalogHeadlineText {
    padding: 0 0 0 30px;
}
.catalogHeadlineText a {
    color: #58595b;
}
.catalogHeadlineText a:hover {
    text-decoration: none;
}
.catalogHeadlineText a:focus {
    text-decoration: none;
}
.catalogContentBox__button {
    padding: 0 0 0 53px;
}
.catalogContentBox__button span {
    color: #1374e9;
    padding: 0 15px 0 0;
}
.catalogContentBox__button a {
    color: #58595b;
    font-size: 18px;
    display: flex;
}
.catalogContentBox__button a:hover {
    text-decoration: none;
}
.catalogBackground {
    background-color: rgb(246, 246, 246);
}
.onlineCatalogButton {
    height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #58595b;
}
.onlineCatalogButton h3 {
    padding: 0 0 0 20px;
    margin: 0;
}
.onlineCatalogButton:hover {
    text-decoration: none;
}
.onlineCatalogButton:focus {
    text-decoration: none;
}
.hideElement {
    visibility: hidden;
}
.displayNone {
    display: none;
}
/*
END: catalog page
*/
/*
START: RapidSSL security seal
*/
#SSLSealContainer {
    position: relative;
}

#SSLSeal {
    cursor: pointer;
}

#SSLOverlay {
    position: absolute;
    left: -750px;
    top: -610px;
    transform: scale(0.5);
    z-index: 1000;
    box-shadow: 1px 1px rgba(0, 0, 0, 0.15);
    border: 2px solid #6c6661;
    border-radius: 5px 5px;
}

#SSLOverlay .SSLOverLayCloseButton {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    background: #6c6661;
    color: white;
    font-size: 150%;
    cursor: pointer;
    border: 1px solid #6c6661;
    border-radius: 5px 5px;
}

#SSLOverlay iframe {
    background: white;
}
/*
END: RapidSSL security seal
*/

/* payment page*/
.PaymentMethodDetails {
    border-radius: 12px;
    background: #f7f8f9;
    border: 1px solid #e6e9eb;
    padding: 15px;
    margin-top: 15px;
}
.PaymentMethodDetailContent {
    display: none; /*initial value*/
    margin-bottom: 15px;
}
.PaymentMethodDetailContent .PaymentLogo {
    margin-bottom: 15px;
    display: block;
}
#PaymentMethodContainer_14 .PaymentLogo,
#PaymentMethodContainer_16_directEbanking .PaymentLogo {
    width: 200px;
}
.PaymentMethodFootnotes {
    border-radius: 12px;
    padding: 15px;
}
.PaymentMethodFootnote {
    display: none; /*initial value*/
}
.PaymentMethodDetails .form-group {
    margin-left: 0;
    margin-right: 0;
}
.adyen-checkout__button--pay {
    /*color: #ffffff;
	background-color: #5cb85c;
	border-color: #4cae4c;*/
}
.adyen-checkout__button--pay:hover {
    /*
	background-color: #47a447;
	border-color: #398439;
	*/
}
@media only screen and (min-width: 768px) {
    .adyen-checkout__card-input::after {
        content: "";
        clear: both;
        display: block;
    }
    /*.adyen-checkout__button--pay {max-width: 300px; float: right;}*/
}
.adyen-checkout__paypal__button {
    width: 100%;
    margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
    .adyen-checkout__paypal__buttons::after {
        content: "";
        clear: both;
        display: table;
    }
    /*.adyen-checkout__paypal__button {max-width: 300px; float: right;}*/
}
/* /payment page*/
/* shopping cart */
summary {
    list-style: none;
    cursor: pointer;
    text-decoration: underline;
    outline-color: white;
}
summary:focus-visible {
    outline-color: #004fa3;
}
summary::-webkit-details-marker {
    display: none;
}
details p {
    padding-left: 15px;
}
/* /shopping cart */
/* Add To Cart Interstitial Window */
#AddToCartInterstitialWindowContainer {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0);
    z-index: 10040 !important;
    -webkit-transition: background-color 1s ease-out;
    -moz-transition: background-color 1s ease-out;
    -o-transition: background-color 1s ease-out;
    transition: background-color 1s ease-out;
}

#AddToCartInterstitialWindowContainer.background-semitransparent {
    background-color: rgba(0, 0, 0, 0.7);
}

#AddToCartInterstitialWindow {
    position: absolute;
    right: 10px;
    top: 35%;
    left: 10px;
    background-color: white;
    border: 1px solid silver;
    z-index: 10050 !important;
    padding: 20px;
    opacity: 1;
    border-radius: 5px;
}
#AddToCartInterstitialWindow .AddToCartInterstitialWindow__Header {
    height: 15px;
    margin-bottom: 35px;
    font-size: 21px;
}

.AddToCartInterstitialWindow__CloseButton {
    cursor: pointer;
}

@media only screen and (min-width: 768px) {
    #AddToCartInterstitialWindow {
        position: absolute;
        right: 200px;
        top: 140px;
        width: 400px;
        left: auto;
    }
}
/* /Add To Cart Interstitial Window */

/* START: Hubspot NL SignUP */
.newsletterSignUp__discountText {
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    padding: 0 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.newsletterSignUp__headline {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.newsletterSignUp__headline--discount {
    font-size: 30px;
    font-weight: 700;
    color: #2a7f62;
}

.newsletterSignUp__headline--signup {
    font-size: 20px;
    margin: 0 0 0 30px;
}

.newsletterSignUp__information {
    background-color: rgba(255, 255, 255, 0.7);
    padding: 5px;
    border-radius: 4px;
}

.newsletterSignUp__information--main {
    font-size: 15px;
}

.newsletterSignUp__information--subtext {
    font-size: 10px;
}

@media only screen and (min-width: 480px) {
    .newsletterSignUp__headline--discount {
        font-size: 50px;
    }
    .newsletterSignUp__headline {
        flex-direction: row;
        align-items: center;
    }
    .newsletterSignUp__information--main {
        font-size: 25px;
    }
    .newsletterSignUp__information--subtext {
        font-size: 14px;
    }
}

@media only screen and (min-width: 650px) {
    .newsletterSignUp__headline--discount {
        font-size: 70px;
    }
    .newsletterSignUp__headline--signup {
        font-size: 30px;
        margin: 0 0 0 30px;
    }
}

@media only screen and (min-width: 768px) {
    .newsletterSignUp__headline--discount {
        font-size: 50px;
    }
}

@media only screen and (min-width: 900px) {
    .newsletterSignUp__headline--discount {
        font-size: 70px;
    }
}

/* END: Hubspot NL SignUP */

/* START: Catalog Items */

#NewCatalogContainer {
    position: relative;
}

#NewCatalogBackground {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    overflow-x: hidden;
}

#NewCatalogBackground img {
    overflow-x: hidden;
    height: 100%;
}

#NewCatalogText a,
#NewCatalogText h3 {
    text-decoration: none;
    color: white;
}

#NewCatalogMockupMobile img {
    position: absolute;
    width: 140%;
    height: auto;
    margin-left: -50%;
}

.catalogLanguageSelectorContainer {
    padding-right: 0px;
}

#CatalogLanguageSelector {
    margin-bottom: 110%;
}

.catalogLanguageSelectorItem {
    color: white;
    border-bottom: 1px solid white;
}
#InteractiveCatalogTitle {
    margin-top: 20%;
}
.catalogItemContainer {
    margin-top: 20px;
    box-shadow: -5px -5px 10px rgba(0, 0, 0, 0.7);
    max-width: 251px;
    background-color: white;
}

.catalogItemImage {
    max-height: 200px;
    overflow-y: hidden;
}

.catalogItemTitle {
    margin-top: 40px;
    margin-left: 35px;
    min-height: 50px;
}

.backgroundStripe {
    position: absolute;
    top: 10%;
    left: 15px;
    right: 15px;
    bottom: 10%;
    background-color: #f8f8f8;
}

.catalogItemContainer {
    margin-left: auto;
    margin-right: auto;
}

#CatalogOutroContainer {
    position: relative;
    margin-top: 20%;
}

#CatalogOutroBackground {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    overflow: hidden;
}

#CatalogOutroBackground img {
    height: 100%;
    overflow-x: hidden;
}

#InteractiveCatalogMockup {
    top: -5%;
}
#InteractiveCatalogMockup img {
    position: relative;
    width: 100%;
    height: 100%;
    margin-top: -14%;
    z-index: 10;
}

#InteractiveCatalogTextContainer {
    margin-top: 40px;
    padding: 30px;
    background-color: white;
    margin-top: -5%;
}
/*
@media only screen and (min-width: 576px) {
	
}*/
@media only screen and (min-width: 768px) {
    #NewCatalogBackground {
        left: 15px;
        right: 15px;
    }
    #NewCatalogBackground img {
        width: 100%;
        height: auto;
    }
    #NewCatalogMockup img {
        width: 137%;
        margin-top: 9%;
        margin-left: -41%;
    }
    #NewCatalogText {
        margin-top: 5%;
        padding-right: 10%;
    }
    .catalogLanguageSelectorContainer {
        padding-right: 15px;
    }
    #CatalogLanguageSelector {
        margin-top: 100px;
        margin-bottom: 0px;
    }
    .catalogLanguageSelectorItem {
        color: white;
        width: 100%;
        border-bottom: 1px solid white;
        margin-bottom: 20px;
        line-height: 1.1;
        padding-left: 10px;
    }
    #InteractiveCatalogTitle {
        margin-top: 0px;
    }
    #CatalogsContainer {
        padding-left: 170px;
        padding-right: 170px;
    }
    .catalogItemFrame {
        padding-right: 20px;
    }
    .catalogItemContainer {
        position: relative;
        margin-top: 20px;
        box-shadow: -5px -5px 10px rgba(0, 0, 0, 0.7);
        transform: scale(1);
        transition: all 0.3s;
    }
    .catalogItemContainer:hover {
        position: relative;
        transform: scale(1.1);
        transition: all 0.3s;
        z-index: 10;
    }
    .catalogItemTitle {
        margin-top: 40px;
        margin-left: 35px;
        /*padding-right: 70px;*/
        min-height: 50px;
    }

    #CatalogOutroBackground {
        left: 15px;
        right: 15px;
    }

    /*
	#InteractiveCatalogText {
		margin-top:0px;
	}
	*/
}

@media only screen and (min-width: 992px) {
    #NewCatalogText {
        margin-top: 15%;
    }

    #CatalogOutroBackground img {
        width: 100%;
        height: auto;
    }
    #InteractiveCatalogTextContainer {
        margin-top: 5%;
        margin-bottom: 5%;
        padding: 0px;
    }
    #InteractiveCatalogMockup img {
        width: 115%;
        margin-top: 15%;
        margin-left: 10%;
    }
    #InteractiveCatalogText {
        padding-left: 10%;
        padding-top: 2%;
        padding-right: 10%;
        padding-bottom: 2%;
    }
    #CatalogOutroContainer {
        position: relative;
        margin-top: 2%;
    }
}
/*
@media only screen and (min-width: 1200px) {
}
*/
/* END: Catalog Items */
/*
#NewCatalogContainer {
	max-width:1170px;
	max-height:482px;
	background-image:url("/_images/catalog-page/banner-medical-simulation.jpg");
}

#NewCatalogMockup {
	width:80%;
}

#NewCatalogMockup img {
	width:55%;
	height:55%;
}

#NewCatalogText {
	margin-top:80px;
}

#NewCatalogText a {
	text-decoration:none;
	color:#58595b;
}

.catalogItemContainer {
	margin-top: 20px;
	box-shadow: -5px -5px 10px rgba(0, 0, 0, 0.7);
	max-width:	251px;
	background-color:white;
}
.catalogItemTitle {
	margin-top:40px;
	margin-left:35px;
	padding-right: 70px;
	min-height: 50px;
}

.backgroundStripe {
	position:absolute;
	top:10%;
	left:15px;
	right:15px;
	bottom:10%;
	background-color:#f8f8f8;
}

.catalogItemContainer {
	margin-left:auto;
	margin-right:auto;
}

@media only screen and (min-width: 768px) {
	#CatalogsContainer {
		padding-left:170px;
		padding-right:170px
	}
	.catalogItemFrame {
		padding-right:20px;
	}
	.catalogItemContainer {
		position:relative;
		margin-top: 20px;
		box-shadow: -5px -5px 10px rgba(0, 0, 0, 0.7);
		transform: scale(1.0);
		transition: all 0.3s;
		margin-left:0px;
		margin-right:0px;

	}
	.catalogItemContainer:hover {
		position:relative;
		transform: scale(1.1);
		transition: all 0.3s;
		z-index:10;

	}
	.catalogItemTitle {
		margin-top:40px;
		margin-left:35px;
		padding-right: 70px;
		min-height: 50px;
	}
	#NewCatalogMockup {
		position: absolute;
		left:-174px;
		top:75px;
		width:auto;
		margin-bottom:0px;
	}

	#NewCatalogMockup img {
		width:55%;
		height:55%;
	}

	#NewCatalogText {
		position: absolute;
		left:480px;
		top:100px;
		width:400px;
		height:500px;
		color:white;
		margin-top:0px;
	}

	#NewCatalogText a, #NewCatalogText h3 {
		color:white;
	}

	#CatalogLanguageSelector {
		position: absolute;
		right:0px;
		top:100px;
	}
	.catalogLanguageSelectorItem {
		color: white;
		width:200px;
		border-bottom:1px solid white;
		margin-bottom:20px;
		line-height:1.1;
		padding-left:10px;
	}
	#InteractiveCatalogText {
		position: absolute;
		right:0px;
		top:10%;
		background-color: white;
		width:57.5%;
		height:80%;
		padding-left: 80px;
		padding-top: 40px;
	}
	#InteractiveCatalogMockup {
		position: absolute;
		left:60px;
		top:75px;
	}
}
*/

.non-geo-ip-country-modal {
    overflow-y: auto !important;
}

.non-geo-ip-country-modal-text {
    min-height: 130px;
}

.non-geo-ip-country-modal .modal-content {
    margin-top: 50%;
}

.headerPhoneIconMobile {
    display: inline-block;
    border: 2px solid white;
    width: 25px;
    height: 30px;
}

.headerPhoneIconMobile:focus-within {
    border: 2px solid #004fa3;
    border-radius: 5px;
}

/*
.headerPhoneIconMobile img {
	margin-top:7px;
}*/

.headerTopMenuIconMobile {
    display: inline-block;
    width: 34px;
    height: 30px;
    border: 2px solid white;

    /*
	padding:0 9px; margin-top:5px; margin-top:10px;
	*/
}

.headerTopMenuIconMobile:focus-within {
    border: 2px solid #004fa3;
    border-radius: 5px;
}

.headerSearchIconMobile {
    display: inline-block;
    width: 29px;
    height: 30px;
    border: 2px solid white;
    /*
	padding:0 9px; margin-top:5px; margin-top:10px;
	*/
}

.headerSearchIconMobile:focus-within {
    border: 2px solid #004fa3;
    border-radius: 5px;
}
.explanationKR {
    width: 100%;
    display: flex;
    justify-content: center;
}

.explanationKR img {
    width: 100%;
    max-width: 450px;
}

/*
	START:
	accessible360 slider custom css
*/
.slick-next,
.slick-prev {
    width: 30px !important;
    height: 30px !important;
}

.slick-next {
    right: 10px !important;
}

.slick-prev {
    left: 10px !important;
    z-index: 1;
}

.slick-prev-icon,
.slick-next-icon {
    color: #004fa3 !important;
    font-size: 35px !important;
}

.slick-dots li.slick-active button .slick-dot-icon {
    color: #004fa3 !important;
}

.slick-slider {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.slick-autoplay-toggle-button {
    bottom: 10px !important;
    color: #004fa3 !important;
}

.teaserSlide:focus-visible img {
    outline: 2px solid #004fa3;
}
.teaserSlide img {
    outline-offset: -2px;
}

/*
	END:
	accessible360 slider custom css
*/
.viewTypeGrid img,
.viewTypeList img {
    border: 2px solid white;
    border-radius: 5px;
}

.viewTypeGrid:focus-visible img,
.viewTypeList:focus-visible img {
    border: 2px solid #004fa3;
}

.focusableImageLink img {
    border: 2px solid white;
    border-radius: 5px;
}

.focusableImageLink:focus-visible img {
    border: 2px solid #004fa3;
}

.focusableTextLink:focus-visible {
    text-decoration: underline;
}

.homepageGridElementContainer a:focus-visible img {
    outline: 2px solid #004fa3;
}

.footerSocialMedia a:focus-visible {
    outline: 2px solid #004fa3;
    outline-offset: 3px;
}

.blueOutline:focus-visible {
    outline: 2px solid #004fa3 !important;
}

span[itemprop="description"] a:focus-visible,
#downloads a:focus-visible {
    outline: 2px solid #004fa3 !important;
    text-decoration: none;
    outline-offset: 2px;
}

.btn-success,
.btn-success:focus {
    background-color: #1c5e3d;
}
.btn-success:hover {
    background-color: #234d23;
}

.btn-primary {
    background-color: #395979;
}

.btn-primary:hover {
    background-color: #344e6f;
}
.nav.nav-tabs .disabled a {
    color: #575757 !important;
}
.nav.nav-tabs .disabled a:hover {
    color: #575757 !important;
}
.atlasConfigImg img {
    width: 60px;
    height: 60px;
}
#numberOfScreens {
    border-bottom: 1px solid #cccccc;
}
/*
.popover {
    max-width: 90%;
    left: 18px !important;
}
*/
@media only screen and (min-width: 768px) {
    /*
    .popover {
        max-width: 100%;
        left: auto !important;
    }*/
    .popover-content div {
        font-size: 12px;
    }
    #atlasConfigInfo {
        font-size: 12px;
    }
}
.atlasConfigHeadline {
    display: flex;
    align-items: center;
    width: 100%;
}
.atlasConfigHeadline p {
    margin: 0;
}
.atlasConfigHeadline button {
    background-color: transparent;
    border: none;
    font-size: 20px;
    color: lightgray;
    height: 100%;
}
#infoPopover {
    font-size: 20px;
    color: lightgray;
    height: 100%;
}
#infoPopover span {
    padding: 3px 0 0 0;
}
.linkWishlistText {
    font-size: 20px;
    margin-right: 2px;
    color: #234d23;
}
.appStoreLinks {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.appStoreLinks img {
    max-width: 200px;
    margin: 20px;
}
.appStoreQR {
    width: 100%;
    display: flex;
    justify-content: center;
}
.appStoreQR img {
    max-width: 200px;
}
.pointerEventsNone {
    pointer-events: none;
}
/* START: Azure Search Result Page */
.searchresultgrid,
.searchresultlist {
    margin-left: 0;
    margin-right: 0;
}
.searchresultgrid .resultentry {
    padding: 0;
    margin-top: -1px;
    margin-left: -1px;
    border: 1px solid lightgray;
    background-color: white;
    transform: scale(1);
    transition: all 0.3s;
}
.searchresultgrid .resultentry:hover {
    scale: 1.1;
    z-index: 10;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15);
}
.searchresultgrid .resultentry:hover .productGridItem__image--moreInfo {
    display: block;
}
.searchresultgrid .resultentry .hiddenInGrid {
    display: none;
}
.searchresultgrid .resultentry:hover .hiddenInGrid {
    display: block;
}
.searchresultlist .resultentry {
    border-bottom: 1px solid lightgray;
    padding-bottom: 15px;
}
.searchresultgrid .resultentry .topflags {
    height: 3em;
    overflow: hidden;
}
.searchresultgrid .resultentry {
    height: 100%;
}
.searchresultlist .resultentry {
    color: #1c5e3d;
}
.newproduct {
    width: 90px;
    padding-top: 3px;
    padding-left: 5px;
}
.searchresultgrid .resultentry .onsale {
    color: #fff;
    background-color: #ff484f;
}
.searchresultlist .resultentry .onsale {
    color: #ff484f;
}
.searchresultgrid .resultentry a:hover,
.searchresultlist .resultentry a:hover {
    text-decoration: none;
}
.searchresultgrid .resultentry .img-responsive,
.searchresultlist .resultentry .img-responsive {
    width: auto !important;
    margin: 0 auto;
    max-height: 140px;
}
.searchresultgrid .resultentry .resulttitle {
    height: 3em;
    margin: 0.4em 1em;
    overflow: hidden;
    color: #58595b;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.searchresultgrid .resultentry .productprice,
.searchresultlist .resultentry .productprice {
    color: #004fa3;
}
.searchresultlist .resultentry .resultdescription {
    color: #58595b;
}
.searchresultgrid .resultentry .productflags {
    height: 5em;
    overflow: hidden;
}
.searchresultgrid .resultentry .btn-block {
    border: none;
    outline-style: none;
    border-radius: 0;
    padding: 1em 0;
}
.searchresultgrid .resultentry .btn-detail-link,
.searchresultlist .resultentry .btn-detail-link {
    background-color: #395979;
    color: white;
}
.searchresultgrid .resultentry .btn-detail-link:hover,
.searchresultlist .resultentry .btn-detail-link:hover {
    background-color: #344e6f;
}

.facetsHeading:after {
	font-family: "Glyphicons Halflings";
	content: "\e113";
	float: right;
	color: grey;
    -webkit-text-stroke: 2px white;
}

.facetsHeading.collapsed:after {
	content: "\e114";
    float: right;
}

#searchFilterForm .checkbox:hover {
    color: #0000ee;
}
.searchresultdocumentimage {
    border: 1px solid lightgrey;
}
/* END: Azure Search Result Page */
/* START: Azure Search Autocomplete */
.saytAutocompleteList {
    font-size: 14px !important;
    color: #58595b !important;
    font-family: "proxima-nova", sans-serif !important;
    font-weight: normal !important;
    line-height: 1.25 !important;
    max-width: 389px;
}
.saytAutocompleteList a {
    color: #58595b !important;
}
.saytAutocompleteList li:hover a {
    color: #fff !important;
}
.saytAutocompleteItemHeadline {
    color: #004fa3 !important;
}
.saytAutocompleteHeadline h5 {
    color: #004fa3 !important;
    line-height: 1 !important;
    font-family: "proxima-nova", sans-serif !important;
    cursor: auto;
}
.saytAutocompleteHeadline:hover {
    background-color: transparent !important;
    border-color: transparent !important;
}
/* END: Azure Search Autocomplete */

/* Start Innoging Page */

.innoging-video {
    display: block;
    margin-inline: auto;
    margin-top: 2em;
    margin-bottom: 2em;
    
}
.image-container {
    display: flex;
	height: 250px;
    gap: 5em;
    margin: 1em;;
}
.innoging-text-columns{
    display: flex;
    justify-content: center;
    align-items: baseline;
}
.innoging-text-columns img{
    margin: 2em;

}
.innoging-text-columns p{
    padding: 1em;

}
.innoging-main-img {
	max-width: 70%;
    margin: 0 auto;
	height: auto;
    border-radius: 10%;
}
.innoging-text-rows {
    display: flex;
    flex-wrap: wrap;
}
.innoging-text-rows div{
    display: flex;
    width: 50%;
    align-items: center;
}
.innoging-text-rows img{
	max-width: 20em;
    margin: 0 auto;
	height: auto;
    margin: 1em 1em 1em 0;
}
.innoging-text-rows p{
    margin: 0 auto;
    padding: 1em;
}
.to-study{
    background-color: #58595b;
    height: 3em;
    border: none;
    text-decoration: none;
    color: white;
}




@media (max-width: 768px) {
    /* Styles for mobile devices */
    .innoging-video {
        padding: 1em;
        height: 15em;
        width: 25em;
    }
    .image-container {
    
        flex-direction: column;
        gap: 1em;
        height: auto;
    }
    .innoging-text-columns {
        flex-direction: column;
    }
	.innoging-text-rows {
        flex-direction: column;
    }
    .innoging-text-rows div{
        flex-direction: column;
        width: 100%;
    }
    .innoging-text-rows img {

        margin: none;
    }
}
@media (min-width: 768px) and (max-width: 1200px) {
    /* Styles for tablet-sized screens */

    .innoging-video {
        padding: 2em;
        height: 20em;
        max-width: 30em;
    }


}
/* End Innoging page */

/* Start Wallcur Page */
.wallcur-conent-container{
	text-align: left;
	gap: 15px;
}
.wallcur-img{
    margin-left: 25%;
}



@media (max-width: 768px) {
	.wallcur-conent-container{
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: left;
        
	}
    .wallcur-img{
        margin-left: 0%;
        width: 95%;
    }
}
@media (min-width: 768px) and (max-width: 999px) {
	.wallcur-conent-container{
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: left;
	}
    .wallcur-img{
        margin-left: 0%;
        
    }

}
/* End Wallcur page */

/* Start Privacy Policy page */

.policyHeadline,
.policyContentBox {
    width: 100%;
    margin-bottom: 2em;
}
.policyHeadline {
    display: flex;
    flex-direction: row;
    align-items: end;
    cursor: pointer;
}
.policyHeadlineText {
    width: 100%;
    text-align: start;
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.policyHeadlineText p {
    font-size: 12px;
}
.policyHeadline button {
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 50%;
    margin: 0 15px 0 0;
    border: none;
    background-color: white;
    transform-origin: center center;
    transition: transform 0.4s;
}
.policyHeadline button:focus {
    outline: none;
}
.policyToggleContent span {
    font-size: 18px;
    top: 2px !important;
}
.policyContentBox {
    height: auto;
    max-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: max-height 0.4s;
    overflow: hidden;
}
.policyShowContent {
    max-height: fit-content;
    padding: 15px 0;
}
.policyRotate90deg {
    transform: rotate(90deg);
}

/* End Privacy Policy page*/

.demoContainer {
    width: 100%;
    align-items: center;
    justify-content: center;
    display: flex;
    margin-top: 20px;
}

.demoContainer > a {
    width: 30%;
}

.downloads-links {
    overflow-wrap: break-word;
    word-break: break-all;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    display: block; /* make sure this is block or inline-block */
    max-height: 20px; /* Default max-height, should be around the height of one line of text */
    transition: max-height 0.6s ease;
}

.downloads-links:hover {
    white-space: normal;
    word-break: normal;
    text-overflow: clip;
    overflow: none;
    max-height: 150px; /* Set to a value higher than what you expect the expanded content's height to be */
}


/* Placeholder for videos when cookies are declined */
.rejected-cookies-video-modal {
    display: none; 
    position: fixed; 
    z-index: 10000; 
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%; 
    overflow: auto; 
    background-color: rgb(0,0,0); 
    background-color: rgba(0,0,0,0.4); 
    padding-top: 60px;
    

}

.rejected-cookies-modal-content {
    display: flex;
    position: relative;
    flex-direction: column;
    background-color: #fefefe;
    margin: 20% auto; 
    padding: 20px;
    border: 1px solid #888;
    width: 35%;
    max-width: 600px;
    justify-content: center;
    outline: none;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    border-radius:6px; 
}
.rejected-cookies-modal-content p{
    padding: 2px;
}
.cookie-modal-closer{
    cursor: pointer;
    font-weight: bold;
    font-size: 1.3em;
    position: absolute;
    top: 0;
    right: 10px; 
    background: white; 
    padding: 5px; 
}
.pdp-promo-icon {
    
    width: 12em;

}
.categorygrid-promo-btn{
    position: absolute;
    background-color: blue;
    width: 5em;
    color: white;
    font-weight: bold;
    border: none;
    cursor: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 8%;
    transition: all 0.3s ease;
    visibility: visible;
}
.categorygrid-promo-btn-expanded{
    position: absolute;
    background-color: blue;
    width: 100%;
    color: white;
    font-weight: bold;
    border: none;
    cursor: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 0%;
    transition: all 0.3s ease;
    visibility: hidden;
}
.productGridItem__content:hover .categorygrid-promo-btn{
    visibility: hidden;
}
.productGridItem__content:hover .categorygrid-promo-btn-expanded{
    visibility: visible;
}
.categoryrow-promo-btn{
    position: absolute;
    background-color: blue;
    width: 5em;
    z-index: 10;
    color: white;
    font-weight: bold;
    border: none;
    cursor: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 8%;
    transition: all 0.3s ease;
    visibility: visible;
}
.categoryrow-promo-btn-expanded{
    position: absolute;
    background-color: blue;
    z-index: 10;
    width: auto;
    color: white;
    font-weight: bold;
    border: none;
    cursor: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 0%;
    transition: all 0.3s ease;
    visibility: hidden;
}
.productListItem:hover .categoryrow-promo-btn{
    visibility: hidden;
}
.productListItem:hover .categoryrow-promo-btn-expanded{
    visibility: visible;
}
/* LANDING PAGE */
#esono-landing{
    font-size: 16px;
}
.landing-hero .hero-image{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.landing-title {
    margin: 0 0 1.4rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    color: #231f20;
    text-align: center;
    text-transform: none;
    overflow-wrap: break-word;
}
.landing-intro{
    line-height: 1.4;
    overflow-wrap: break-word;
    font-style: normal;
    font-weight: normal;
    color: #231f20;
    box-sizing: border-box;
    padding-top: 35px;
    padding-bottom: 10px;
    background-image: linear-gradient(to bottom, rgba(238, 238, 238, 1), rgba(238, 238, 238, 1)) !important;
    background-position: left top;
    background-size: auto ;
    background-repeat: no-repeat ;
}
.landing-intro p {
    margin: auto;
    max-width: 900px;
    color: rgb(35, 31, 32);
    text-align: start;
    display: block;
    padding: 1em 0;
    line-height: 1.4;
    margin-inline: auto; 
    box-sizing: border-box;
}
@media screen {
    .landing-intro p {
        padding: 1em;
    }
}
.landing-card-carousel {
    display: flex;
    align-items: center;
    max-width: 1100px;
    margin: 0 auto;
}
.carousel-track {
    display: flex;
    overflow: hidden;
    width: 100%;
    scroll-behavior: smooth;
}
.landing-card-carousel .course-card {
    min-width: 250px;
    flex: 0 0 250px;
    margin: 0 0.5em;
}
.carousel-prev, .carousel-next {
    background: rgba(255,255,255,0.7);
    color: #03203b;
    border: 1px solid #d0d0d0;
    border-radius: 50%;
    width: 64px;
    height: 64px;
    font-size: 1.2em;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    transition: background 0.2s, border 0.2s;
    margin: 0 4px;
    padding: 0;
}
.carousel-prev:hover, .carousel-next:hover,
.carousel-prev:focus, .carousel-next:focus {
    background: #e5e5e5;
    border-color: #b0b0b0;
    outline: none;
}

.landing-card-grid{
    max-width: 800px;
    margin: 0 auto;
    display:grid;
    grid-template-columns: repeat(3, 1fr); 
    gap: 1em;                 
    padding:1rem 0;
    grid-auto-rows:1fr;
}
.landing-card-grid-four{
    max-width: 1000px;
    margin: 0 auto;
    display:grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 2em;                 
    padding:1rem 0;
    grid-auto-rows:1fr;
}
.gray-background {
    background-color: #f0f0f0; /* Light gray */
    padding: 20px;
    margin-top: 20px; /* Add spacing from the previous section */
}

.landing-columns .landing-title{
    margin-top: 2em;
    margin-bottom: 1em;
}
.course-card{
    display:flex;           
    flex-direction:column;
    background:#fff;
    border-radius:4px;
    word-wrap: break-word;
    box-shadow:0 0 0 0 transparent;
}
.course-card.visible{
    /* run once, keep the final state */
    animation:shadow-drop-center 1s linear forwards;
}
@keyframes shadow-drop-center{
    0%   { box-shadow:0 0 0 0 transparent; }
    50% { box-shadow:0 0 20px 0 rgba(0,0,0,.35); }
    100%   { box-shadow:0 0 0 0 transparent; }
}

.course-card img{
    max-width:100%;
    aspect-ratio:1/1;            
    object-fit:cover;
    border-radius:4px;           
}
.card-content{
    margin-top: 2em;
    flex:1;                 
    border:2px solid #E5E5E5;  
    display:flex;
    flex-direction:column;
    color: #000;

}
.course-card h4 {
    color: #000;
    font-weight: bold;
    padding-inline: 1em;
    text-align: center;
    display: inline-block;
    width: 100%;
    word-wrap: break-word; 
    line-height: 1.4; 
    min-height: 3em;
}
.course-card ul{
    padding: 0;
    list-style: none;
    
}
.card-content:hover{
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}
.course-card li{
    margin: .7rem;
    line-height: 1.4;
    padding: 10px;
    
}
.card-button{
    margin-top:auto;
    margin-bottom: 2em;        
    align-self:center;
    padding:10px 20px;
    background:#03203b;
    color:#fff;
    border-radius:15px;
    font-weight:600;
    text-decoration:none;
}
.card-button-org,
.card-button-org:link,
.card-button-org:visited {
    width: 10em;
    margin-top:auto;
    margin-bottom: 2em;        
    align-self:center;
    padding:10px 20px;
    background:#03203b;
    color:#fff;
    border-radius:15px;
    font-weight:600;
    text-decoration:none;
    color: #fff;
}
.card-button-org a{
    color: #fff;
    text-decoration: none;
}


@media (max-width: 768px){    
        .landing-card-grid{
        grid-template-columns:repeat(auto-fit, minmax(300px,1fr));
        }
    }

  @media (max-width: 480px){     /* phones: stack */
    .landing-card-grid{
        grid-template-columns:1fr;
    }
    .landing-card-grid-four{
        grid-template-columns:1fr;
    }
}
.for-orgs{
    margin: auto;
    max-width: 900px;
    display: block;

}
.org-cards{
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.org-plans div:hover {
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}
@media (max-width: 768px){ 
    .org-plans{
        display: flex;
        flex-direction: column;
    }
    
}

.org-cards img{
    display: block;
    margin: 0 auto;
    max-width: 100%;
}
.org-plans{
    display: flex;
    margin-top: 1em;
    align-items: center;
    gap: 2em;
    
}
.org-plans div{
    border: #E5E5E5 2px solid;
    display: flex;
    flex-direction: column;
    height: 40em;
}
.org-plans h3{
    text-align: center; 
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    color: #231f20;
    align-self: center;
}
.org-plans ul{
    margin: 16px;
    line-height: 1.4;
    color: #231f20;
    word-wrap: break-word;
}
.org-plans li{
    padding: 1em;
}

.phone-probe {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 50px 20px;
    text-align: center;
}
.phone-probe img{
    max-width: 870px;
    margin: 0 auto;
    display: block;
}
@media (max-width: 600px) {
    .phone-probe  img{
        max-width: 100%;
        margin: 0 auto;
    }
}
.phone-probe-container {
    max-width: 870px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.phone-probe-image {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.phone-probe-content {
    max-width: 800px;
}

.phone-probe-content h2 {
    font-size: 2rem;
    color: #333;
    margin-bottom: 20px;
}

.phone-probe-content p {
    font-size: 1.1rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 15px;
}

.app-links {
    margin-top: 20px;
}

.app-link {
    display: inline-block;
    padding: 10px 20px;
    background-color: #004fa3;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-size: 1rem;
    transition: background-color 0.3s ease;
}

.app-link:hover {
    background-color: #003a82;
}

.landing-try-now {
    display: flex;
    justify-content: center;
    align-items: center;
    /* Base padding for desktop */
    padding: 40px 0;
  }
  
  .try-now-banner {
    width: 80%;
    max-width: 900px;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    display: block;
    margin: 0 auto;
  }
  
  /* Responsive for mobile */
  @media (max-width: 600px) {
    .landing-try-now {
      padding: 24px 0 0 0; /* Top padding only */
    }
    .try-now-banner {
      width: 100%;
      max-width: 100%;
      border-radius: 0;
      box-shadow: none;
    }
  }
  

.landing-features{
    background-image: linear-gradient(rgba(51, 163, 220, 1), rgba(51, 163, 220, 1));
    
}
.landing-features h1{
    padding: 1em;
    font-size: 40px
}

.landing-features ul{
    display: grid;
    max-width: 900px;
    margin: 0 auto;
    padding-bottom: 2em;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    color: #231f20;
    list-style: none;
    padding: 0;
}
.landing-features img{
    width: 6em;
}
.landing-features li{
    display: flex;
}
.landing-features ul li h3 {

    color: #231f20;
    font-size: 28px;
    font-weight: bold;
    line-height: 1.4;
}
@media (max-width: 600px) {
    .landing-features ul {
        display: flex;
        flex-direction: column;
        padding: 0;
        margin: 0;
    }
    .landing-features li {
        margin-bottom: 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .landing-features li:last-child {
        margin-bottom: 0;
    }
    .landing-features img {
        width: 80%;
        max-width: 200px;
        margin: 0 auto 10px;
    }
    .landing-features .feature-content h3 {
        font-size: 1.2em;
        margin-top: 10px;
    }
    .landing-features .feature-content p {
        font-size: 0.9em;
        margin: 10px 15px;
    }
}
.video-container {
    max-width: 900px;
    margin: 2rem auto;
    padding: 0 15px;
}
.video-wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
    margin-bottom: 2rem;
}
.landing-study{
    display: block;
    margin-top: 2em;
    
}
.landing-study img{
    max-width: 870px;
    margin: 0 auto;
    display: block;
    margin-bottom: 2rem;
}
@media (max-width: 600px) {
    .landing-study img{
        max-width: 100%;
        margin: 0 auto;
    }
}
.landing-contact{
    max-width: 600px;
    margin: 0 auto;
    background-color: #E5E5E5;
}
.landing-contact-form{
    padding: 1.5rem;
}
.landing-contact-form .hs-form-field > label {
    color: white;
    margin-bottom: 8px;
    font-weight: 500;
}
.landing-contact-form .hs-form-field {
    margin-bottom: 15px;
}
.landing-contact h3{
    border: 1px none #004a8e;
    padding: 20px;
    font-style: normal;
    font-weight: 700;
    text-decoration: none;
    background-color: rgba(0, 74, 142, 1.0);
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    color: #ffffff;
    font-size: 28px;
} 

.modal {
    display: none;
    position: fixed;
    z-index: 10001;
    left: 0; top: 0;
    width: 100vw; height: 100vh;
    background: rgba(0,0,0,0.5);
    overflow: auto;
}
.modal-content {
    background: #fff;
    margin: 5% auto;
    padding: 30px 20px 20px 20px;
    border-radius: 10px;
    width: 95%;
    max-width: 500px;
    position: relative;
    box-shadow: 0 5px 30px rgba(0,0,0,0.2);
}
.close-modal {
    position: absolute;
    top: 10px; right: 18px;
    font-size: 2rem;
    font-weight: bold;
    color: #333;
    cursor: pointer;
    z-index: 1;
}
@media (max-width: 600px) {
    .modal-content { padding: 15px 5px 10px 5px; }
}

/* Brand Showcase Styles */
.brand-showcase {
    width: 100%;
    margin: 60px 0;
}

.brand-hero-container {
    position: relative;
    height: 600px;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.1);
}

.brand-hero {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.6s ease-in-out;
}

.brand-hero.active {
    opacity: 1;
}

.brand-hero-bg {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.brand-hero-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 50%, transparent 100%);
    display: flex;
    align-items: center;
    padding: 0 60px;
}

.brand-content-wrapper {
    max-width: 600px;
    color: white;
}

.brand-logo {
    height: 60px;
    margin-bottom: 24px;
    filter: brightness(0) invert(1);
}

.brand-title {
    font-size: 3.5rem;
    font-weight: 700;
    margin: 0 0 12px 0;
    line-height: 1.1;
    color: white;
}

.brand-subtitle {
    font-size: 1.5rem;
    font-weight: 300;
    margin: 0 0 20px 0;
    opacity: 0.9;
        color: white;
}

.brand-description {
    font-size: 1.1rem;
    line-height: 1.6;
    margin: 0 0 32px 0;
    opacity: 0.9;
}

.brand-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 32px;
}

.category-tag {
    background: rgba(255,255,255,0.2);
    backdrop-filter: blur(10px);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 500;
    border: 1px solid rgba(255,255,255,0.3);
}

.brand-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: white;
    color: #333;
    padding: 16px 32px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}

.brand-cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.3);
    text-decoration: none;
    color: #333;
}

/* Brand Selector */
.brand-selector-container {
    margin-top: 40px;
    padding: 0 20px;
}

.brand-selector-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
}

.brand-nav-btn {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.brand-nav-btn:hover:not(:disabled) {
    background: #e9ecef;
    transform: scale(1.05);
}

.brand-nav-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.brand-selector-track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    padding: 10px 0;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.brand-selector-track::-webkit-scrollbar {
    display: none;
}

.brand-selector-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px;
    border: 2px solid transparent;
    border-radius: 12px;
    background: white;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 240px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.brand-selector-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}

.brand-selector-item.active {
    border-color: rgb(25,36, 64);
    background: #f8f9ff;
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgb(25,36, 64);
}

.brand-selector-logo {
    height: 40px;
    margin-bottom: 8px;
    transition: transform 0.3s ease;
}

.brand-selector-item:hover .brand-selector-logo,
.brand-selector-item.active .brand-selector-logo {
    transform: scale(1.1);
}

.brand-selector-name {
    font-size: 0.9rem;
    font-weight: 600;
    text-align: center;
    color: #333;
}

/* Responsive Design */
@media (max-width: 768px) {
    .brand-hero-content {
        padding: 0 30px;
    }
    
    .brand-title {
        font-size: 2.5rem;
    }
    
    .brand-subtitle {
        font-size: 1.2rem;
    }
    
    .brand-selector-wrapper {
        gap: 10px;
    }
    
    .brand-nav-btn {
        width: 40px;
        height: 40px;
    }
    .brand-selector-track {
        overflow-x: hidden;
        justify-content: center;
        padding: 0;
        border: 1px solid rgb(25,36, 64);
    }
    
    .brand-selector-item {
        min-width: 80vw;
        max-width: 90vw;
        width: 90vw;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* Hide all by default */
        display: none;
        border:none;
        box-shadow: none;   
    }
    .brand-selector-item.active {
        display: flex;
        box-shadow: none;

    }
}

.dummy-ga-warning {
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 9999;
    background: #fff0f0;
    color: #b00;
    border-radius: 30px;
    min-width: 48px;
    min-height: 48px;
    max-width: 350px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    overflow: hidden;
    cursor: pointer;
    transition: width 0.3s, min-width 0.3s, max-width 0.3s, height 0.3s, min-height 0.3s, padding 0.3s;
    width: 48px;
    height: 48px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dummy-ga-warning-content {
    display: none;
    flex-direction: column;
    align-items: flex-start;
    padding: 16px;
    width: 100%;
    box-sizing: border-box;
}

.dummy-ga-warning-label {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.dummy-ga-warning-icon {
    font-size: 1.5em;
    pointer-events: none;
}

#dummyGAWarningToggle:checked + .dummy-ga-warning {
    width: 350px;
    min-width: 250px;
    height: auto;
    min-height: 80px;
    padding: 0 0 0 0;
    align-items: flex-start;
    justify-content: flex-start;
}

#dummyGAWarningToggle:checked + .dummy-ga-warning .dummy-ga-warning-content {
    display: flex;
}

#dummyGAWarningToggle:checked + .dummy-ga-warning .dummy-ga-warning-label {
    display: none;
}
.dummy-ga-warning-close {
    position: absolute;
    top: 8px;
    right: 12px;
    background: transparent;
    border: none;
    color: #b00;
    font-size: 1.3em;
    font-weight: bold;
    cursor: pointer;
    z-index: 2;
    padding: 0;
    line-height: 1;
    display: none;
}

#dummyGAWarningToggle:checked + .dummy-ga-warning .dummy-ga-warning-close {
    display: block;
}

.category-search-products-grid .flag-item {
  position: relative;
  height: 3em;
}
.category-search-products-list .flag-item {
  position: relative;
  height: 33px;
  margin-top: 10px;
  margin-bottom: 10px;
}
.category-search-products-grid .flag, .azure-products-list .flag {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  height: 24px;
  line-height: 24px;
  color: #fff;
  padding: 0px 8px 0 8px;
  z-index: 1;

  &:after {
    position: absolute;
    right:-16px;
    bottom:0;
    content: "";
    border-right:  16px solid transparent;
    border-top:    24px solid #4c4c4c;
  }

  &.product-on-sale {
    background: #ff484f; /*#ad0006*/
    &:after {
      border-color: #ff484f transparent #ff484f transparent;
    }
  }

  &.product-new {
    background: #E99355;
    &:after {
      border-color: #E99355 transparent #E99355 transparent;
    }
  }

  &.product-promo-code {
    background: #004fa3;
    visibility: visible;
    text-align: left !important;
    &:after { 
      border-color: #004fa3 transparent #004fa3 transparent;
    }
  }
}
.category-search-products-grid .product-promo-code-expanded, .category-search-products-list .product-promo-code-expanded {
    display: none;
}
.category-search-products-grid:hover .product-promo-code-expanded, .category-search-products-list:hover .product-promo-code-expanded {
    display: inline;
}
.product-promo-code-promotioncode {
  padding: 0 2px;
  margin: 1px;
  background: #fff;
  color: #16294A;
}
.product-promo-code-promotioncode:hover,
.product-promo-code-promotioncode:focus,
.product-promo-code-glyphicon:hover,
.product-promo-code-glyphicon:focus {
    cursor: pointer;
}
.facetsForm {
    border-bottom: 1px solid #dddddd;
    border-left: none;
    border-right: none;
}
/* Filter column wipes in from left, products yield space — triggers on entry, not on filter (class set by JS) */
.page-slide-animate #FacetsContainer {
    animation: filterColumnReveal 0.65s cubic-bezier(0.4, 0, 0.2, 1) both;
}
@keyframes filterColumnReveal {
    from {
        clip-path: inset(0 100% 0 0);
        transform: translateX(-15px);
        opacity: 0;
    }
}
@media (min-width: 768px) {
    .page-slide-animate #ProductsContentContainer > .pull-right-sm {
        animation: productsYield 0.65s cubic-bezier(0.4, 0, 0.2, 1) both;
    }
}
@keyframes productsYield {
    from { transform: translateX(-33.33%); }
}
.facetsForm .panel {border:none; margin-bottom: 0;}
.facetsForm .panel-body {padding-top: 4px; padding-bottom: 4px;}
.facetsForm .panel-heading {background-color: transparent; border-radius: 0 !important; border-bottom: none !important; padding: 16px 0;}
.facetsForm .panel-filter {font-size: larger; border-bottom: 1px solid #dddddd; background-color: #F5F5F5;}
.facetsForm .strong {font-size: 1.8rem; font-weight: 800; letter-spacing: 0.01em; color: #111;}
.facetsForm .facetsHeading {border-top: 1px solid #ddd; cursor: pointer;}
.facetsForm .panel:first-of-type .facetsHeading {border-top: none !important;}
.facetsForm .SideMenu .childLink {font-size: 1.7rem; line-height: 1.3; color: #333; display: inline-block; padding: 0.65rem 0;}
.facetsForm .SideMenu .childLink:hover, .facetsForm .SideMenu .active {color: #111; font-weight: 500;}

.panel {box-shadow:none !important;}

.searchresultgrid2,
.searchresultlist {
    margin-left: 0;
    margin-right: 0;
}
.searchresultgrid2 .resultentry2 .resultentry2Container {
    margin-top: -1px;
    margin-left: -1px;
    background-color: white;
    transform: scale(1);
    transition: all 0.3s;
    margin-bottom:25px;
    border: 1px solid #ddd;
}
.searchresultgrid2 .resultentry2 .resultentry2Container:hover {
    scale: 1.1;
    z-index: 10;
    /*box-shadow: 0 5px 10px rgba(0, 0, 0, 0.45);*/
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.searchresultgrid2 .resultentry2  .resultentry2Container:hover .productGridItem__image--moreInfo {
    display: block;
}
.searchresultgrid2 .resultentry2 .resultentry2Container .hiddenInGrid {
    display: none;
}
.searchresultgrid2 .resultentry2 .resultentry2Container:hover .hiddenInGrid {
    display: block;
}
.searchresultgrid2 .resultentry2 .resultentry2Container .topflags {
    height: 3em;
    overflow: hidden;
}
.searchresultgrid2 .resultentry2 .resultentry2Container {
    height: 100%;
}
.searchresultgrid2 .resultentry2 .resultentry2Container .onsale {
    color: #fff;
    background-color: #ff484f;
}
.searchresultgrid2 .resultentry2 .resultentry2Container a:hover,
.searchresultlist .resultentry a:hover {
    text-decoration: none;
}
.searchresultgrid2 .resultentry2 .resultentry2Container .img-responsive,
.searchresultlist .resultentry .img-responsive {
    width: auto !important;
    margin: 0 auto;
    max-height: 140px;
}
.searchresultgrid2 .resultentry2 .resultentry2Container .resulttitle {
    height: 3em;
    margin: 0.4em 1em;
    overflow: hidden;
    color: #58595b;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.searchresultgrid2 .resultentry2 .resultentry2Container .productprice {
    color: #004fa3;
    margin: 0.25em 0;
}
.searchresultgrid2 .resultentry2 .resultentry2Container .discountedPrice2,
.searchresultlist .discountedPrice2 {
    background-color: #e4002b !important;
    color: #fff !important;
    padding-inline: 3px !important;
}
.searchresultlist .resultentry .productprice {
    color: #004fa3;
}
.searchresultgrid2 .resultentry2 .resultentry2Container .productflags {
    height: 3em;
    margin: 0 1.5em;
    overflow: hidden;
    text-align: left;
}
.searchresultgrid2 .resultentry2 .resultentry2Container .btn-block {
    border: none;
    outline-style: none;
    border-radius: 0;
    padding: 1em 0;
}
.searchresultgrid2 .resultentry2 .resultentry2Container .btn-detail-link,
.searchresultlist .resultentry .btn-detail-link {
    background-color: #395979;
    color: white;
}
.searchresultgrid2 .resultentry2 .resultentry2Container .btn-detail-link:hover,
.searchresultlist .resultentry .btn-detail-link:hover {
    background-color: #344e6f;
}
.searchresultgrid2 .addtoCart {margin:0.75em;}
.searchresultgrid2 .addtoCart button {scale: 0.9;}

/* SMARTER SIMULATION - Page Styles */
/* --- HERO SECTION --- */
.hero p,
.how-bg p,
.benefits-header p,
.bento-desc,
.support-section p,
.cta-section p {
    font-size: 1.1em ;
    line-height: 1.55;
}

.hero {
    padding-top: 2rem;
    padding-bottom: 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.hero-content h1 {
    font-size: clamp(3rem, 6vw, 5rem);
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-weight: 800;
    margin-bottom: 2rem;
    color: var(--ss-text-main);
}

.hero-content h2 {
    font-size: 1.5rem;
    color: var(--ss-text-accent);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
    font-weight: 600;
    line-height: 1.1;
}

.hero-content p {
    color: var(--ss-text-muted);
    margin-bottom: 3rem;
    max-width: 90%;
    line-height: 1.6;
}

.hero-image-wrapper {
    position: relative;
    border-radius: var(--ss-radius-lg);
    overflow: hidden;
    box-shadow: var(--ss-shadow-float);
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-image-wrapper img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* --- SECTION UTILITIES --- */
.section-padding {
    padding: 60px 0;
}

/* --- HOW IT WORKS SECTION --- */
.how-bg {
    background: white;
    color: var(--ss-text-main);
    position: relative;
}

.how-grid-v2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.how-steps-list {
    counter-reset: steps;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    position: relative;
}

/* Connecting line between steps */
.how-steps-list::before {
    content: '';
    position: absolute;
    left: 24px;
    top: 24px;
    bottom: 24px;
    width: 2px;
    background: #E5E7EB;
    z-index: 0;
}

.how-step-row {
    display: flex;
    gap: 2rem;
    position: relative;
    z-index: 1;
}

.how-step-icon {
    width: 50px;
    height: 50px;
    background: white;
    border: 2px solid #E5E7EB;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--ss-text-muted);
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.how-step-row:hover .how-step-icon {
    border-color: var(--ss-text-accent);
    color: var(--ss-text-accent);
}

.how-step-content h3 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-weight: 800;
}

.how-step-content p {
    color: var(--ss-text-muted);
    line-height: 1.6;
}

.how-visual-comp {
    position: relative;
    height: 600px;
}

.how-img-back {
    position: absolute;
    top: 0;
    right: 0;
    width: 80%;
    height: 80%;
    border-radius: var(--ss-radius-lg);
    overflow: hidden;
    box-shadow: var(--ss-shadow-float);
    z-index: 1;
}

.how-img-back img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.how-img-front {
    position: absolute;
    bottom: 40px;
    left: 0;
    width: 50%;
    height: 50%;
    border-radius: var(--ss-radius-md);
    overflow: hidden;
    box-shadow: 0 30px 60px -10px rgba(0, 0, 0, 0.2);
    z-index: 2;
    border: 8px solid white;
}

.how-img-front img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* --- BENEFITS BENTO GRID --- */
.benefits-header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 4rem;
}

.benefits-header h2 {
    font-size: 3rem;
    margin-bottom: 1rem;
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-weight: 800;
}

.benefits-header p {
    line-height: 1.6;
    color: var(--ss-text-muted);
}

.bento-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    grid-template-rows: repeat(2, 350px);
    gap: 1.5rem;
}

.bento-item {
    position: relative;
    border-radius: var(--ss-radius-md);
    overflow: hidden;
    background: #fff;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    transition: transform 0.4s var(--ss-ease-expo);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.bento-item:hover {
    transform: translateY(-5px);
}

.bento-item.dark {
    background: var(--ss-text-main);
    color: white;
}

.bento-item.blue {
    background: var(--ss-text-accent);
    color: white;
}

/* Grid Spans */
.col-span-2 {
    grid-column: span 2;
}

.row-span-2 {
    grid-row: span 2;
}

/* Bento image overlay */
.bento-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.2), transparent);
    z-index: 1;
}

.bento-content {
    position: relative;
    z-index: 2;
    font-weight: bolder;
    color: white;
}

.bento-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    transition: transform 0.6s ease;
    transform: var(--bento-bg-transform, scale(1));
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
}

.bento-item:hover .bento-bg {
    transform: var(--bento-bg-hover-transform, scale(1.05));
}

.bento-title {
    margin-bottom: 0.5rem;
    color: white;
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-weight: 800;
}

.bento-desc {
    opacity: 0.9;
    line-height: 1.6;
}

/* --- SUPPORT SECTION --- */
.support-section {
    background: #F8FAFC;
    color: var(--ss-text-main);
    position: relative;
    overflow: hidden;
}

.support-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}

.support-grid h2 {
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-weight: 800;
}

.support-list {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.support-card {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 1.5rem;
    background: white;
    border-radius: var(--ss-radius-md);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #E5E7EB;
}

.support-card:hover {
    background: white;
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.support-card h3 {
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-weight: 800;
}

.support-card p {
    line-height: 1.6;
}

.support-img-thumb {
    width: 120px;
    height: 90px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #E5E7EB;
    position: relative;
}

.support-img-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.support-visual-box img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* --- FOOTER CTA --- */
.cta-section {
    background: #F3F4F6;
    text-align: center;
    padding: 6rem 1rem;
    margin: 2rem;
    border-radius: var(--ss-radius-lg);
}

.cta-section h2 {
    font-size: 3.5rem;
    margin-bottom: 1.5rem;
    line-height: 1.1;
    letter-spacing: -0.03em;
    font-weight: 800;
}

.cta-section p {
    color: var(--ss-text-muted);
    max-width: 600px;
    margin: 0 auto 2rem;
    line-height: 1.6;
}

/* --- BUTTON --- */
.btn-ss {
    display: inline-flex;
    padding: 1rem 2rem;
    background: var(--ss-text-main);
    color: white;
    border-radius: 100px;
    text-decoration: none;
    font-weight: 600;
    transition: transform 0.2s ease;
}

.btn-ss:hover {
    transform: scale(1.05);
}

/* ============================================
   RESPONSIVE - Tablet & Mobile
   ============================================ */
@media (max-width: 1024px) {

    /* Hero */
    .hero {
        grid-template-columns: 1fr;
        text-align: center;
        padding-top: 60px;
        min-height: auto;
    }

    .hero-content h1 {
        font-size: 2.5rem;
        line-height: 1.2;
        margin-bottom: 1.5rem;
    }

    .hero-content h2 {
        font-size: 1.1rem;
        margin-bottom: 0.5rem;
    }

    .hero-content p {
        font-size: 1.1rem;
        margin: 0 auto 2rem;
        max-width: 100%;
    }

    .hero-image-wrapper {
        display: none;
    }

    /* How It Works */
    .how-grid-v2 {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .how-visual-comp {
        height: 400px;
        margin-top: 2rem;
        display: flex;
        justify-content: center;
    }

    .how-img-back {
        height: 350px !important;
        width: auto !important;
        right: 0 !important;
        transform: translateX(10%);
    }

    .how-img-front {
        width: 180px !important;
        height: 180px !important;
        left: 10px !important;
        bottom: 30px !important;
    }

    /* Bento Grid */
    .bento-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        gap: 1rem;
    }

    .col-span-2,
    .row-span-2 {
        grid-column: span 1;
        grid-row: span 1;
    }

    .bento-item {
        min-height: 250px;
        padding: 1.5rem;
    }

    .bento-title {
        font-size: 1.25rem;
    }

    .bento-desc {
        font-size: 0.95rem;
    }

    /* Support */
    .support-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
        text-align: left;
    }

    .support-section h2 {
        font-size: 2.25rem !important;
    }

    .support-section p {
        font-size: 1.1rem !important;
    }

    .support-list {
        gap: 1rem;
    }

    .support-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
        text-align: left;
    }

    /* General */
    .section-padding {
        padding: 60px 0;
    }

    /* CTA */
    .cta-section {
        padding: 3rem 1rem;
        margin: 1rem 0;
    }

    .cta-section h2 {
        font-size: 2rem;
    }

    .cta-section p {
        font-size: 1.1rem;
    }
}


/* ---------------------------------------------------------
    Brand Pages CSS
   --------------------------------------------------------- */
.brandPage {
    --bp-max: 1200px;
    --bp-max-narrow: 860px;
    --bp-pad-x: 24px;
    --bp-pad-y: 72px;
    --bp-radius: 16px;
    --bp-radius-lg: 24px;
    --bp-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    background: var(--bp-bg);
    color: var(--bp-text);
}
.brandPage h1,
.brandPage h2,
.brandPage h3,
.brandPage h4,
.brandPage h5,
.brandPage h6 {
    color: var(--bp-text, #111827);
    font-family: inherit; 
    font-weight: inherit; 
}
.brandPage a:hover {
    text-decoration: none;
    color: var(--bp-primary);
}
.brandPage--cardionics {
    /* Cardionics-specific colors and styles */
    --bp-primary: #192440;
    --bp-secondary: #e6007e;
    --bp-hero-bg: #003366;
    --bp-accent: #00a3e0;
    --bp-bg-muted: #111827;
    --bp-text: #111827;
    --bp-text-muted: #4b5563;
    --bp-line: #e5e7eb;
    --bp-primary-contrast: #ffffff;
}
.brandPage--anotherbrand {
    /* Another brand's colors */
    --bp-primary: #009688;
    --bp-secondary: #e6007e;
    --bp-hero-bg: #003366;
    --bp-accent: #00a3e0;
    --bp-bg-muted: #f6f7f9;

    --bp-text: #111827;
    --bp-text-muted: #4b5563;

    --bp-line: #e5e7eb;
    --bp-primary-contrast: #ffffff;
}

.brandPage-container {
    width: 100%;
    max-width: var(--bp-max);
    margin: 0 auto;
    padding-left: var(--bp-pad-x);
    padding-right: var(--bp-pad-x);
}

.brandPage-container--narrow {
    max-width: var(--bp-max-narrow);
}

.brandPage-container--carousel {
    max-width: var(--bp-max);
}
.brandPage-textCenter{ text-align:center; }

.brandPage-sectionHead {
    text-align: center;
    margin-bottom: 32px;
}

.brandPage-sectionHead__title {
    font-size: clamp(20px, 2.2vw, 28px);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.brandPage-sectionHead__lead {
    margin-top: 12px;
    margin-left: auto;
    margin-right: auto;
    max-width: 70ch;
    color: var(--bp-text-muted);
    font-size: 16px;
    line-height: 1.6;
}

.brandPage-sectionHead__rule {
    width: 72px;
    height: 3px;
    border-radius: 999px;
    background: var(--bp-primary-contrast, #fff);
    margin: 18px auto 0 auto;
}
.brandPage-researchBanner .brandPage-banner__title{
    color: var(--bp-primary-contrast, #fff);
}

/* ---------------------------------------------------------
    Hero
   --------------------------------------------------------- */
.brandPage-hero {
    background:
    /* Image first, so it shows if present */
    var(--bp-hero-image, none),
    linear-gradient(135deg, #0f172a, var(--bp-primary));
    color: #fff;
    padding-left: 20px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.brandPage-hero .hero-image {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    /* Optional: add a fallback background color */
    background: var(--bp-hero-bg, #1a2236);
}

.brandPage-hero__row,
.brandPage-hero__text {
    position: relative;
    z-index: 1;
}

.brandPage-hero__row {
    padding-top: clamp(48px, 6vw, 96px);
    padding-bottom: clamp(48px, 6vw, 96px);
}
.brandPage-hero h1{
    color: var(--bp-primary-contrast);
}
.brandPage-hero__text {
    max-width: 70ch;
}

.brandPage-hero__title {
    font-size: clamp(28px, 4vw, 48px);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.03em;
    margin: 0;
}

.brandPage-hero__rule {
    width: 88px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.85);
    margin-top: 18px;
}

/* ---------------------------------------------------------
    Intro
   --------------------------------------------------------- */
.brandPage-brandIntro {
    padding: var(--bp-pad-y) 0;
}

.brandPage-brandIntro__title {
    font-size: clamp(20px, 2.2vw, 28px);
    line-height: 1.2;
    font-weight: 700;
    margin-bottom: 12px;
}

.brandPage-brandIntro__body {
    color: var(--bp-text-muted);
    font-size: 16px;
    line-height: 1.7;
}

/* ---------------------------------------------------------
    Product Category cards
   --------------------------------------------------------- */
.brandPage-productCategory {
    padding: var(--bp-pad-y) 0;
    border-top: 1px solid var(--bp-line);
}

.brandPage-cardGrid {
    display: flex;
    flex-wrap: wrap;
    place-content: center;
    gap: 24px;
    margin-bottom: 24px;

}

.brandPage-card {
    border: 1px solid var(--bp-line);
    border-radius: var(--bp-radius-lg);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0 0 rgba(0,0,0,0);
    transition: transform 180ms ease, box-shadow 180ms ease;
    display: flex;
    flex-direction: column;
    min-width: 200px;
    max-width: 366px;
}

.brandPage-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--bp-shadow);
    text-decoration: none;
}

.brandPage-card__media {
  background: #eef2ff;
  aspect-ratio: 4 / 3;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.brandPage-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.brandPage-card__mediaLabel {
  font-weight: 600;
  color: rgba(27, 40, 82, 0.75);
}

.brandPage-card__body {
  padding: 18px 18px 20px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.brandPage-card__title {
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  margin: 0 0 8px 0;
}

.brandPage-card__text {
  color: var(--bp-text-muted);
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 14px 0;
  flex: 1;
}

.brandPage-card__price {
  font-size: 18px;
  font-weight: 700;
  color: var(--bp-primary);
  margin-bottom: 12px;
}

.brandPage-card__link {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    color: var(--bp-primary);
    font-weight: 700;
    text-decoration: none;
    margin-top: auto;
    text-decoration: none;
}

.brandPage-card__link:hover {
    text-decoration: underline;
    text-decoration: none;
}

.brandPage-sectionFoot__text {
    display: flex;
    justify-content: center;
    align-items: center; 
    text-align: center;
    width: 100%;
    font-size: 1.2em;
    font-weight: bold;
}

/* ---------------------------------------------------------
    Carousel
   --------------------------------------------------------- */
.brandPage-productCarousel {
    padding: var(--bp-pad-y) 0;
    border-top: 1px solid var(--bp-line);
}

.brandPage-carousel {
    position: relative;
}

.brandPage-carousel__viewport {
    position: relative;
    overflow: hidden;
    border-radius: var(--bp-radius-lg);
    border: 1px solid var(--bp-line);
    background: #fff;
}

.brandPage-carousel__track {
  display: flex;
  transition: transform 300ms ease;
  will-change: transform;
}

.brandPage-carousel__slide {
  min-width: 100%;
  padding: 24px;
}

.brandPage-carousel__placeholder {
  border-radius: var(--bp-radius);
  border: 2px dashed var(--bp-line);
  min-height: 280px;
  display: grid;
  place-items: center;
  text-align: center;
  background: #fafafa;
}

.brandPage-carousel__placeholderTitle {
  font-weight: 800;
  font-size: 18px;
}

.brandPage-carousel__placeholderMeta {
  margin-top: 6px;
  color: var(--bp-text-muted);
}

.brandPage-carousel__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--bp-line);
  display: grid;
  place-items: center;
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.brandPage-carousel__nav img {
  width: 40px;
  height: 40px;
  transform: scale(1.2);
}

.brandPage-carousel__nav--prev {
  left: 12px;
}

.brandPage-carousel__nav--next {
  right: 12px;
}

.brandPage-carousel__nav:hover {
  background: #ffffff;
}

.brandPage-carousel__dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
}

.brandPage-carousel__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid var(--bp-line);
  background: #fff;
}

.brandPage-carousel__dot--active {
  background: var(--bp-primary);
  border-color: var(--bp-primary);
}

.brandPage-carousel__thumbs {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.brandPage-carousel__thumb {
  border: 1px solid var(--bp-line);
  background: #fff;
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 700;
  color: var(--bp-text);
}

.brandPage-carousel__thumb--active {
  background: var(--bp-primary);
  color: var(--bp-primary-contrast);
  border-color: var(--bp-primary);
}

/* ---------------------------------------------------------
    Highlights/USPs
   --------------------------------------------------------- */
.brandPage-highlights .brandPage-sectionHead__title,
.brandPage-highlights .brandPage-highlight__title,
.brandPage-highlights .brandPage-highlight__text {
    color: var(--bp-primary-contrast, #fff);
}
.brandPage .brandPage-highlights{
    background: var(--bp-bg-muted, #f6f7f9);
    padding: var(--bp-pad-y) 0;
}
.brandPage-highlightGrid {
    display: flex;
    gap: 3rem;
    justify-content: center;
    align-items: flex-start;

    border: none;
    box-shadow: none;
    margin: 2em 0;
}

.brandPage-highlight {
    flex: 1 1 0;
    background: none;
    border: none;
    box-shadow: none;
    border-radius: 0;
    padding: 0 2em;
    margin: 0;
    min-width: 250px;
    max-width: 500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.brandPage-highlight__icon {
    width: 5em;
    height: 5em;
    background: #d7dbe0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2em;
    font-size: 1.2em;
    color: var(--bp-primary, #555);
}

.brandPage-highlight__iconLabel {
    color: var(--bp-primary, #555);
    font-size: 1.1em;
}

.brandPage-highlight__title {
    font-size: 2em;
    font-weight: 400;
    margin-bottom: 1.2em;
    color: var(--bp-text, #222);
}

.brandPage-highlight__text {
    font-size: 1.2em;
    color: var(--bp-text-muted, #222);
    margin-bottom: 0;
    line-height: 1.5;
}

/* ---------------------------------------------------------
    Testimonials
   --------------------------------------------------------- */
.brandPage-testimonialGrid {
    display: flex;
    gap: 3rem;
    justify-content: center;
    align-items: flex-start;
    margin: 2rem 0;
    background: none;
    border: none;
    box-shadow: none;
}

.brandPage-testimonial {
    flex: 1 1 0;
    background: none;
    border: none;
    box-shadow: none;
    border-radius: 0;
    padding: 0 2rem 0 0;
    margin: 0;
    min-width: 250px;
    max-width: 600px;
}

.brandPage-testimonial__quoteMark {
    color: #cfd2d8;
    font-size: 5em;
    margin-bottom: 1rem;
}

.brandPage-testimonial__quote {
    font-size: 1.25em;
    color: #222;
    margin-bottom: 2rem;
    font-style: normal;
    line-height: 1.5;
    min-height: 5em;
}

.brandPage-testimonial__meta {
    border-left: 3px solid var(--bp-primary, #222);
    padding-left: 1rem;
    margin-left: 0;
}

.brandPage-testimonial__name {
    font-weight: bold;
    font-size: 1.1em;
    color: #222;
    margin-bottom: 0.2rem;
    display: block;
}

.brandPage-testimonial__role,
.brandPage-testimonial__org {
    color: #666;
    font-size: 1em;
    margin: 0;
    display: block;
}
/* ---------------------------------------------------------
    App promo
   --------------------------------------------------------- */
.brandPage-appPromo {
    padding: var(--bp-pad-y) 0;
    border-top: 1px solid var(--bp-line);
}

.brandPage-promoCard {
    border-radius: var(--bp-radius-lg);
    border: 1px solid var(--bp-line);
    background: #fff;
    overflow: hidden;
    box-shadow: var(--bp-shadow);
}

.brandPage-promoCard__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
}

.brandPage-promoCard__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    grid-column: span 7;
    padding: 28px;
    text-align: center;
}

.brandPage-promoCard__media {
    grid-column: span 5;
    padding: 28px;
    background: linear-gradient(135deg, rgba(27, 40, 82, 0.08), rgba(27, 40, 82, 0.02));
    display: grid;
    place-items: center;
}

.brandPage-promoCard__title {
    font-size: 2em;
    font-weight: 900;
    margin: 0 0 10px 0;
}

.brandPage-promoCard__text {
    margin: 0 0 16px 0;
    color: var(--bp-text-muted);
    line-height: 1.7;
    font-size: 1.5em;
}

.brandPage-storeBadges {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.brandPage-storeBadges__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    min-width: 160px;
    border-radius: 12px;
    border: 1px solid var(--bp-line);
    background: #fff;
    text-decoration: none;
}

.brandPage-storeBadges__badge:hover {
    box-shadow: 0 10px 18px rgba(0,0,0,0.08);
}

.brandPage-storeBadges__label {
    font-weight: 800;
    color: var(--bp-text);
}

.brandPage-phoneMock {
    width: min(320px, 100%);
    aspect-ratio: 9 / 19.5;
    border-radius: 28px;
    border: 1px solid var(--bp-line);
    background: #fff;
    display: grid;
    place-items: center;
    box-shadow: 0 18px 35px rgba(0,0,0,0.12);
}

.brandPage-phoneMock__label {
    color: var(--bp-text-muted);
    font-weight: 800;
}

/* ---------------------------------------------------------
    Research banner
   --------------------------------------------------------- */
.brandPage-researchBanner {
    border-top: 1px solid var(--bp-line);
    margin: 2em auto;
    max-width: var(--bp-max);
}

.brandPage-banner {
    border-radius: var(--bp-radius-lg);
    padding: 26px;
    border: 1px solid var(--bp-line);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center; 
}

.brandPage-banner--primary {
    background: linear-gradient(135deg, var(--bp-primary), #0f172a);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.15);
    padding: 5em;
    margin-top: 2em;
}

.brandPage-banner__title {
    font-size: 2em;
    font-weight: 900;
    margin: 0 0 10px 0;
}
.brandPage-researchBanner__content p{
    max-width: 40em;
    margin: 2em auto;
    text-align: justify;
}
.brandPage-banner__text {
    margin: 0 0 16px 0;
    line-height: 1.7;
    font-size: 1.3em;
}

.brandPage-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 0 16px;
    border-radius: 12px;
    font-weight: 900;
    text-decoration: none;
}

.brandPage-btn--light {
    background: #fff;
    color: var(--bp-primary);
}

.brandPage-btn--light:hover {
    filter: brightness(0.95);
}

/* ---------------------------------------------------------
    Responsive
   --------------------------------------------------------- */
@media (max-width: 900px) {
  .brandPage-card {
    grid-column: span 12;
  }

  .brandPage-highlight {
    grid-column: span 12;
  }

  .brandPage-testimonial {
    grid-column: span 12;
  }

  .brandPage-promoCard__content {
    grid-column: span 12;
  }

  .brandPage-promoCard__media {
    grid-column: span 12;
  }
}

@media (max-width: 520px) {
  .brandPage {
    --bp-pad-x: 16px;
    --bp-pad-y: 56px;
  }

  .brandPage-carousel__slide {
    padding: 16px;
  }

  .brandPage-carousel__nav {
    display: none; 
  }
}

/* ---------------------------------------------------------
    Company Pages
   --------------------------------------------------------- */

.tb-brand-page {
  width: min(100%, 1180px);
  max-width: none;
  margin: 0 auto;
  padding: 40px 24px 80px;
  font-family: Inter, Arial, sans-serif;
  color: #1f2937;
  --tb-brand-primary: #082041;
}

.tb-brand-page * {
  box-sizing: border-box;
}

.tb-brand-hero {
  position: relative;
  overflow: hidden;
  padding: 56px 48px;
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(8, 32, 65, 0.10), transparent 28%),
    radial-gradient(circle at top left, rgba(8, 32, 65, 0.07), transparent 24%),
    linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
  border: 1px solid #e5edf7;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.06);
  margin-bottom: 28px;
}

.tb-brand-eyebrow {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(8, 32, 65, 0.06);
  border: 1px solid rgba(8, 32, 65, 0.16);
  color: var(--tb-brand-primary);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.tb-brand-hero h1 {
  margin: 0 0 20px;
  font-size: clamp(2.2rem, 4vw, 3.7rem);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: #1e293b;
  max-width: 980px;
}

.tb-brand-lead {
  max-width: 880px;
  font-size: 1.08rem;
  line-height: 1.8;
  color: #475569;
  margin: 0 0 18px;
}

.tb-brand-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 30px;
}

.tb-brand-stat {
  background: rgba(255,255,255,0.82);
  border: 1px solid #e5edf7;
  border-radius: 20px;
  padding: 22px;
}

.tb-brand-stat strong {
  display: block;
  font-size: 1.7rem;
  line-height: 1;
  color: #111827;
  margin-bottom: 8px;
  font-variant-numeric: tabular-nums;
}

.tb-brand-stat span {
  display: block;
  color: #64748b;
  font-size: 0.95rem;
  line-height: 1.5;
}

.tb-brand-section {
  background: #ffffff;
  border: 1px solid #e8eef5;
  border-radius: 24px;
  padding: 32px;
  box-shadow: 0 10px 35px rgba(15, 23, 42, 0.04);
  margin-bottom: 24px;
}

.tb-brand-accent {
  width: 56px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--tb-brand-primary), var(--tb-brand-primary));
  margin-bottom: 18px;
}

.tb-brand-section h2 {
  margin: 0 0 14px;
  font-size: clamp(1.5rem, 2vw, 2.1rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #1e293b;
}

.tb-brand-section-intro {
  margin: 0 0 24px;
  color: #64748b;
  line-height: 1.75;
  max-width: 900px;
}

.tb-brand-grid-3,
.tb-brand-grid-2 {
  display: grid;
  gap: 18px;
}

.tb-brand-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tb-brand-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tb-brand-card {
  height: 100%;
  padding: 24px;
  border-radius: 20px;
  border: 1px solid #e5edf7;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.tb-brand-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 35px rgba(8, 32, 65, 0.08);
  border-color: rgba(8, 32, 65, 0.16);
}

.tb-brand-card h3 {
  margin: 0 0 12px;
  font-size: 1.15rem;
  line-height: 1.3;
  color: #0f172a;
}

.tb-brand-card p,
.tb-brand-card li {
  margin: 0;
  color: #64748b;
  line-height: 1.75;
}

.tb-brand-card ul {
  margin: 12px 0 0;
  padding-left: 18px;
}

.tb-brand-year {
  display: inline-block;
  margin-bottom: 14px;
  padding: 8px 12px;
  font-size: 0.84rem;
  font-weight: 700;
  border-radius: 999px;
  background: rgba(8, 32, 65, 0.06);
  color: var(--tb-brand-primary);
  border: 1px solid rgba(8, 32, 65, 0.16);
}

.tb-brand-link {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--tb-brand-primary);
  font-weight: 700;
  font-size: 1.02rem;
  text-decoration: none;
}

.tb-brand-link:hover {
  color: var(--tb-brand-primary);
}

.tb-brand-card-stack {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.tb-brand-card-stack p {
  margin-bottom: 22px;
}

.tb-brand-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
  padding-top: 4px;
}

.tb-brand-card-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.tb-brand-card-action {
  margin-top: auto;
  align-self: flex-start;
  padding: 11px 16px;
  background: linear-gradient(90deg, var(--tb-brand-primary), var(--tb-brand-primary));
  color: #ffffff !important;
  box-shadow: 0 10px 20px rgba(8, 32, 65, 0.16);
  font-size: 0.92rem;
}

.tb-brand-card-actions .tb-brand-card-action {
  margin-top: 0;
}

.tb-brand-card-action:hover {
  transform: translateY(-2px);
}

.tb-brand-subheading {
  margin: 4px 0 16px;
  font-size: 1.05rem;
  font-weight: 700;
  color: #1e293b;
}

.tb-brand-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.tb-brand-pill {
  padding: 10px 14px;
  border-radius: 999px;
  background: #f8fbff;
  border: 1px solid #dce8f8;
  color: #334155;
  font-size: 0.92rem;
  font-weight: 600;
}

.tb-brand-contact-rows {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tb-brand-contact-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: #475569;
  line-height: 1.7;
}

.tb-brand-contact-row svg {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 4px;
  color: var(--tb-brand-primary);
}

/* In-house Illustrator icons: artwork fills only ~55% of the 70.87 artboard,
   so scale up visually while keeping the same 20px layout slot as the SVGs */
.tb-brand-contact-row img {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 4px;
  transform: scale(1.92);
}

.tb-brand-contact-row .fa {
  flex: 0 0 20px;
  font-size: 20px;
  margin-top: 4px;
  color: #575756;
  text-align: center;
}

.tb-brand-contact-row a,
.tb-brand-contact-card a {
  color: var(--tb-brand-primary);
  font-weight: 600;
  text-decoration: none;
}

.tb-brand-contact-row a:hover,
.tb-brand-contact-card a:hover {
  text-decoration: underline;
}

.tb-brand-contact-row address {
  margin: 0;
  font-style: normal;
  font-size: 1.1em;
  line-height: 1.7;
  color: #334155;
}

.tb-brand-contact-role {
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--tb-brand-primary);
  margin-bottom: 6px;
}

.tb-brand-map-section {
  overflow: hidden;
  padding: 0;
}

.tb-brand-map-top {
  padding: 32px 32px 22px;
}

.tb-brand-map {
  position: relative;
  overflow: hidden;
  border-top: 1px solid #d8e3f1;
  background:
    radial-gradient(circle at 12% 10%, rgba(19, 59, 104, 0.18), transparent 24%),
    radial-gradient(circle at 90% 18%, rgba(8, 32, 65, 0.2), transparent 28%),
    linear-gradient(180deg, #edf4fc 0%, #e4eef9 100%);
  padding: 28px 32px 32px;
}

.tb-brand-map-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.tb-brand-map-region-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tb-brand-map-region-button,
.tb-brand-map-zoom-button {
  min-height: 44px;
  border: 1px solid rgba(8, 32, 65, 0.18);
  background: rgba(255, 255, 255, 0.88);
  color: #173454;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.tb-brand-map-region-button:hover,
.tb-brand-map-zoom-button:hover {
  transform: translateY(-1px);
  border-color: rgba(8, 32, 65, 0.3);
  box-shadow: 0 12px 24px rgba(8, 32, 65, 0.12);
}

.tb-brand-map-region-button {
  padding: 11px 16px;
  border-radius: 999px;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1;
}

.tb-brand-map-region-button.is-active {
  background: linear-gradient(135deg, #082041 0%, #244f7d 100%);
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 16px 28px rgba(8, 32, 65, 0.2);
}

.tb-brand-map-zoom-controls {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}

.tb-brand-map-zoom-button {
  min-width: 44px;
  padding: 0 14px;
  border-radius: 14px;
  font-size: 0.96rem;
  font-weight: 700;
}

.tb-brand-map-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(300px, 0.92fr);
  gap: 22px;
  align-items: stretch;
}

.tb-brand-map-canvas {
  position: relative;
  min-height: 520px;
  border: 1px solid rgba(8, 32, 65, 0.16);
  border-radius: 26px;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,0.64) 0%, rgba(231,240,250,0.44) 48%, rgba(184,205,229,0.22) 100%),
    linear-gradient(180deg, rgba(227,237,248,0.94) 0%, rgba(212,225,241,0.98) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.7),
    0 18px 36px rgba(8, 32, 65, 0.1);
  overflow: hidden;
}

.tb-brand-map-stage {
  position: absolute;
  inset: 0;
  transform-origin: 50% 50%;
  transform: scale(1.18);
  transition: transform 0.22s ease-out;
}

.tb-brand-map-svg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: auto;
}

.tb-brand-map-world-base {
  opacity: 0.5;
  filter: grayscale(1) contrast(1.05) brightness(0.68);
}

.tb-brand-map-graticule line {
  stroke: rgba(8, 32, 65, 0.15);
  stroke-width: 2;
  stroke-dasharray: 10 16;
}

.tb-brand-map-route {
  fill: none;
  stroke: rgba(25, 72, 119, 0.34);
  stroke-width: 4.4;
  stroke-dasharray: 16 20;
  stroke-linecap: round;
  opacity: 0.82;
  animation: tb-brand-map-route-flow 10s linear infinite;
}

.tb-brand-map-route.is-active {
  stroke: rgba(8, 32, 65, 0.62);
  opacity: 1;
}

.tb-brand-map-country-layer {
  pointer-events: auto;
}

.tb-brand-map-country {
  fill: rgba(8, 32, 65, 0.08);
  stroke: rgba(8, 32, 65, 0.28);
  stroke-width: 2;
  opacity: 1;
  transition: fill 0.25s ease, stroke 0.25s ease;
  cursor: pointer;
}

.tb-brand-map-country:hover {
  fill: rgba(16, 61, 104, 0.18);
}

.tb-brand-map-country.is-active {
  fill: rgba(37, 99, 235, 0.58);
  stroke: rgba(29, 78, 216, 1);
  stroke-width: 2.5;
}

.tb-brand-map-points {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.tb-brand-map-anchors {
  position: absolute;
  inset: 0;
}

@keyframes tb-brand-map-pin-ping {
  0%   { transform: scale(1); opacity: 0.65; }
  70%  { opacity: 0; }
  100% { transform: scale(2.8); opacity: 0; }
}

.tb-brand-map-pin {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 3;
  pointer-events: none;
}

.tb-brand-map-pin-dot {
  display: block;
  position: relative;
  width: 16px;
  height: 16px;
  padding: 0;
  border-radius: 50%;
  background: #4a7fa5;
  border: 2.5px solid #ffffff;
  cursor: pointer;
  transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.32);
  pointer-events: auto;
}

.tb-brand-map-pin-dot::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1.5px solid rgba(74, 127, 165, 0.55);
  animation: tb-brand-map-pin-ping 2.6s ease-out infinite;
  pointer-events: none;
}

.tb-brand-map-pin:hover .tb-brand-map-pin-dot {
  transform: scale(1.35);
}

.tb-brand-map-pin.is-active .tb-brand-map-pin-dot {
  background: #2563eb;
  border-color: #ffffff;
  transform: scale(1.45);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.28), 0 4px 12px rgba(37, 99, 235, 0.4);
}

.tb-brand-map-pin--hq .tb-brand-map-pin-dot {
  width: 18px;
  height: 18px;
  background: #f59e0b;
  border-color: #ffffff;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.45);
}

.tb-brand-map-pin--hq .tb-brand-map-pin-dot::after {
  border-color: rgba(245, 158, 11, 0.5);
}

.tb-brand-map-pin--hq.is-active .tb-brand-map-pin-dot {
  background: #d97706;
  transform: scale(1.4);
  box-shadow: 0 0 0 4px rgba(217, 119, 6, 0.28), 0 4px 14px rgba(217, 119, 6, 0.45);
}

.tb-brand-map-pin-label {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  white-space: nowrap;
  padding: 4px 9px;
  border-radius: 6px;
  background: rgba(15, 23, 42, 0.88);
  color: #f1f5f9;
  font-size: 0.68rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.02em;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s ease, transform 0.15s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
}

.tb-brand-map-pin-label::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-top-color: rgba(15, 23, 42, 0.88);
}

.tb-brand-map-pin:hover .tb-brand-map-pin-label,
.tb-brand-map-pin.is-active .tb-brand-map-pin-label {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.tb-brand-map-pin--hq .tb-brand-map-pin-label {
  background: rgba(146, 64, 14, 0.92);
  color: #fef3c7;
}

.tb-brand-map-pin--hq .tb-brand-map-pin-label::after {
  border-top-color: rgba(146, 64, 14, 0.92);
}

.tb-brand-map-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 100%;
  border: 1px solid rgba(8, 32, 65, 0.14);
  border-left: 3px solid #1d4ed8;
  border-radius: 26px;
  background: rgba(255,255,255,0.9);
  padding: 24px;
  box-shadow: 0 18px 34px rgba(8, 32, 65, 0.08);
  transition: border-left-color 0.25s ease;
}

.tb-brand-map-panel-card {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: 100%;
}

.tb-brand-map-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 2px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(8, 32, 65, 0.07);
  color: var(--tb-brand-primary);
    font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tb-brand-map-panel h3 {
  margin: 0;
    font-size: 1.9rem;
  line-height: 1.15;
  color: #0f172a;
}

.tb-brand-map-panel-intro {
  margin: 0;
  color: #51657c;
    font-size: 1.08rem;
    line-height: 1.75;
}

.tb-brand-map-detail-grid {
  display: flex;
  border: 1px solid rgba(8, 32, 65, 0.11);
  border-radius: 14px;
  overflow: hidden;
}

.tb-brand-map-stat {
  flex: 1;
  padding: 10px 14px;
  border-right: 1px solid rgba(8, 32, 65, 0.1);
  background: transparent;
}

.tb-brand-map-stat:last-child {
  border-right: 0;
}

.tb-brand-map-stat strong {
  display: block;
  margin-bottom: 3px;
  color: #0d1f3c;
    font-size: 1.16rem;
  line-height: 1.2;
}

.tb-brand-map-stat span {
  display: block;
  color: #647489;
    font-size: 0.92rem;
    line-height: 1.35;
}

.tb-brand-map-panel-subtitle {
  display: block;
  margin-bottom: 10px;
  color: #5b728e;
    font-size: 0.94rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.tb-brand-map-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.tb-brand-map-chip {
  display: inline-flex;
  align-items: center;
    padding: 6px 12px;
  border-radius: 8px;
  background: rgba(8, 32, 65, 0.07);
  color: #193552;
    font-size: 0.96rem;
  font-weight: 600;
  line-height: 1.3;
}

.tb-brand-map-caption {
  margin-top: 16px;
  color: #556b82;
  font-size: 0.95rem;
  line-height: 1.7;
}

.tb-brand-team {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(8, 32, 65, 0.08), transparent 26%),
    linear-gradient(135deg, #ffffff 0%, #f9fbff 100%);
}

.tb-brand-team-wrap {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 20px;
  align-items: stretch;
}

.tb-brand-team-main {
  padding-right: 8px;
}

.tb-brand-team-quote {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 28px;
  border-radius: 20px;
  border: 1px solid rgba(8, 32, 65, 0.16);
  background: linear-gradient(135deg, rgba(8, 32, 65, 0.04) 0%, rgba(8, 32, 65, 0.08) 100%);
}

.tb-brand-team-quote p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.85;
  color: #334155;
}

.tb-brand-cta {
  text-align: center;
  padding: 42px 28px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(8, 32, 65, 0.04) 0%, rgba(8, 32, 65, 0.08) 100%);
  border: 1px solid rgba(8, 32, 65, 0.16);
}

.tb-brand-cta p {
  max-width: 760px;
  margin: 0 auto 20px;
  color: #64748b;
  line-height: 1.75;
}

.tb-brand-button {
  display: inline-block;
  padding: 14px 22px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--tb-brand-primary), var(--tb-brand-primary));
  color: #ffffff !important;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 12px 24px rgba(8, 32, 65, 0.18);
}

.tb-brand-signoff {
  margin-top: 18px;
  color: #64748b;
  font-size: 0.98rem;
}

@keyframes tb-brand-map-route-flow {
  to {
    stroke-dashoffset: -36;
  }
}

@media (max-width: 1024px) {
  .tb-brand-stats,
  .tb-brand-grid-3,
  .tb-brand-grid-2,
  .tb-brand-team-wrap,
  .tb-brand-map-toolbar {
    grid-template-columns: 1fr;
  }

  .tb-brand-map-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .tb-brand-map-shell {
    grid-template-columns: 1fr;
  }

  .tb-brand-map-zoom-controls {
    justify-content: flex-end;
  }
}

@media (max-width: 900px) {
  .tb-brand-page {
    padding: 24px 16px 52px;
  }

  .tb-brand-hero,
  .tb-brand-section {
    padding: 24px 20px;
    border-radius: 22px;
  }

  .tb-brand-hero h1 {
    font-size: clamp(2rem, 8vw, 2.9rem);
  }

  .tb-brand-lead,
  .tb-brand-section-intro,
  .tb-brand-card p,
  .tb-brand-card li,
  .tb-brand-team-quote p {
    font-size: 0.98rem;
    line-height: 1.65;
  }

  .tb-brand-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .tb-brand-stat,
  .tb-brand-card,
  .tb-brand-team-quote {
    padding: 18px;
    border-radius: 18px;
  }

  .tb-brand-grid-3,
  .tb-brand-grid-2,
  .tb-brand-team-wrap,
  .tb-brand-map-shell {
    grid-template-columns: 1fr;
  }

  .tb-brand-card-action {
    width: 100%;
    min-height: 44px;
  }

  .tb-brand-map-top,
  .tb-brand-map,
  .tb-brand-map-panel {
    padding-left: 20px;
    padding-right: 20px;
  }

  .tb-brand-map-canvas {
    min-height: 430px;
  }

  .tb-brand-map-region-bar {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .tb-brand-map-region-bar::-webkit-scrollbar {
    display: none;
  }

  .tb-brand-map-region-button {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .tb-brand-map-anchor button {
    min-width: 0;
    max-width: 150px;
  }

  .tb-brand-map-anchor-copy span {
    display: none;
  }

  .tb-brand-map-detail-grid,
  .tb-brand-map-chip-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .tb-brand-page {
    padding: 18px 12px 40px;
  }

  .tb-brand-hero,
  .tb-brand-section {
    padding: 20px 16px;
    border-radius: 18px;
    margin-bottom: 16px;
  }

  .tb-brand-eyebrow,
  .tb-brand-year,
  .tb-brand-pill {
    font-size: 0.72rem;
  }

  .tb-brand-hero h1 {
    font-size: clamp(1.85rem, 10vw, 2.45rem);
    line-height: 1.04;
    margin-bottom: 14px;
  }

  .tb-brand-section h2 {
    font-size: 1.45rem;
    margin-bottom: 10px;
  }

  .tb-brand-stats {
    grid-template-columns: 1fr;
  }

  .tb-brand-map {
    padding: 18px 16px 16px;
  }

  .tb-brand-map-top,
  .tb-brand-map-panel {
    padding: 18px 16px;
  }

    .tb-brand-map-label,
    .tb-brand-map-panel-subtitle {
        font-size: 0.9rem;
    }

    .tb-brand-map-panel h3 {
        font-size: 2rem;
    }

    .tb-brand-map-panel-intro {
        font-size: 1.1rem;
        line-height: 1.7;
    }

    .tb-brand-map-stat strong {
        font-size: 1.12rem;
    }

    .tb-brand-map-stat span,
    .tb-brand-map-chip {
        font-size: 0.95rem;
    }

  .tb-brand-map-canvas {
    min-height: 320px;
    border-radius: 18px;
  }

  .tb-brand-map-stage {
    transform: scale(1.08);
  }

  .tb-brand-map-toolbar {
    gap: 12px;
    margin-bottom: 14px;
  }

  .tb-brand-map-zoom-controls {
    width: 100%;
    justify-content: space-between;
  }

  .tb-brand-map-zoom-button {
    flex: 1 1 0;
  }

  .tb-brand-map-anchor button {
    padding: 8px 10px;
    border-radius: 14px;
    max-width: 112px;
    min-height: 0;
  }

  .tb-brand-map-anchor-copy strong {
    font-size: 0.7rem;
  }

  .tb-brand-map-caption {
    margin-top: 12px;
    font-size: 0.88rem;
    line-height: 1.6;
  }
}

@media (max-width: 640px) {
  .tb-brand-page {
    padding: 24px 16px 56px;
  }

  .tb-brand-hero,
  .tb-brand-section {
    padding: 24px 20px;
    border-radius: 20px;
  }

  .tb-brand-map-region-bar {
    margin-right: -4px;
  }

  .tb-brand-map-canvas {
    min-height: 400px;
    border-radius: 20px;
  }

  .tb-brand-map-anchor button {
    padding: 9px 12px 9px 9px;
    min-width: 0;
  }

  .tb-brand-map-panel,
  .tb-brand-map-top {
    padding: 20px;
  }

  .tb-brand-map {
    padding: 20px;
  }

  .tb-brand-map-detail-grid,
  .tb-brand-map-chip-grid,
  .tb-brand-stats {
    grid-template-columns: 1fr;
  }

  .tb-brand-card-actions {
    width: 100%;
  }

  .tb-brand-card-action {
    width: 100%;
    justify-content: center;
  }

  .tb-brand-hero h1 {
    font-size: 2rem;
  }
}

@media (max-width: 480px) {
  .tb-brand-page {
    padding: 14px 10px 28px;
  }

  .tb-brand-hero,
  .tb-brand-section,
  .tb-brand-map-panel,
  .tb-brand-map-canvas {
    border-radius: 16px;
  }

  .tb-brand-hero,
  .tb-brand-section {
    padding: 18px 14px;
  }

  .tb-brand-map,
  .tb-brand-map-top,
  .tb-brand-map-panel {
    padding-left: 14px;
    padding-right: 14px;
  }

    .tb-brand-map-label,
    .tb-brand-map-panel-subtitle {
        font-size: 0.98rem;
    }

    .tb-brand-map-panel h3 {
        font-size: 2.15rem;
        line-height: 1.08;
    }

    .tb-brand-map-panel-intro {
        font-size: 1.16rem;
        line-height: 1.72;
    }

    .tb-brand-map-stat strong {
        font-size: 1.2rem;
    }

    .tb-brand-map-stat span,
    .tb-brand-map-chip {
        font-size: 1rem;
        line-height: 1.4;
    }

  .tb-brand-map-canvas {
    min-height: 280px;
  }

  .tb-brand-map-anchor button {
    max-width: 92px;
    padding: 7px 8px;
  }

  .tb-brand-map-anchor-core {
    width: 10px;
    height: 10px;
  }

  .tb-brand-map-anchor-copy strong {
    font-size: 0.64rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tb-brand-map-route {
    animation: none;
  }

  .tb-brand-map-region-button,
  .tb-brand-map-zoom-button,
  .tb-brand-map-anchor button,
  .tb-brand-map-stage {
    transition: none;
  }
}

/* ---------------------------------------------------------
   Homepage facelift sections (dsp_Homepage.cfm)
   In page order: shared wrapper, product spotlight,
   group-of-companies preview, news & social feeds.
   --------------------------------------------------------- */

/* Shared wrapper */

.tb-brand-hp-wrapper {
  max-width: 1199.98px;
  margin: 3em auto;
  padding: 0;
}

/* Short divider bar above the spotlight section */
.tb-brand-hp-wrapper:has(.latest-products-spotlight)::before {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin: 0 auto 24px;
  border-radius: 999px;
  background: #082041;
}

/* Product spotlight */

.latest-products-spotlight {
  --spotlight-primary: #082041;
  position: relative;
  overflow: hidden;
  padding: 40px 48px 48px;
  border: 1px solid #e8eef5;
  border-radius: 24px;
  background: #ffffff;
  color: #1e293b;
  box-shadow: 0 10px 35px rgba(15, 23, 42, 0.04);
}

.spotlight-eyebrow {
  margin: 0 0 28px;
  color: var(--spotlight-primary);
  font-size: clamp(1.2em, 1.8vw, 1.65em);
  font-weight: 800;
  letter-spacing: 0.03em;
  text-align: left;
  text-transform: uppercase;
}

.spotlight-product-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.86fr);
  grid-template-rows: auto 1fr;
  column-gap: 44px;
}

.spotlight-product-panel + .spotlight-product-panel {
  margin-top: 34px;
  padding-top: 34px;
  border-top: 1px solid #e8eef5;
}

.spotlight-feature-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  grid-column: 1;
  grid-row: 1;
}

.spotlight-label {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 0;
  margin-bottom: 18px;
  padding-left: 14px;
  border-left: 3px solid var(--spotlight-primary);
  color: #334155;
  font-size: clamp(1.25em, 1.7vw, 1.55em);
  font-weight: 800;
  line-height: 1.25;
}

.spotlight-headline {
  margin: 0;
  max-width: 760px;
  color: #1e293b;
  font-size: clamp(1.35rem, 2.3vw, 1.9rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.spotlight-lead {
  margin: 20px 0 0;
  max-width: 780px;
  color: #51657c;
  font-size: 1.2em;
  line-height: 1.7;
}

.spotlight-feature-copy-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  grid-column: 1;
  grid-row: 2;
}

.spotlight-feature-copy-body > p {
  max-width: 800px;
  margin: 14px 0 0;
  color: #64748b;
  font-size: 1.2em;
  line-height: 1.7;
}

.spotlight-feature-copy-body > p + p {
  margin-top: 14px;
}

.spotlight-feature-list {
  margin-top: 22px;
  padding: 0;
}

.spotlight-feature-list h3 {
  margin: 0 0 18px;
  padding-left: 22px;
  color: #0f172a;
  font-size: 0.95em;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.spotlight-feature-list ul {
  margin: 0;
  padding: 0 0 0 22px;
  list-style: none;
  border-left: 1px solid rgba(8, 32, 65, 0.22);
}

.spotlight-feature-list li {
  margin: 0;
}

.spotlight-feature-list li + li {
  margin-top: 2px;
}

.spotlight-feature-toggle {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  width: 100%;
  text-align: left;
  border: 0;
  border-radius: 0;
  padding: 12px 14px 12px 24px;
  background: transparent;
  color: #6b7c92;
  font-size: 1em;
  line-height: 1.35;
  transition: color 0.2s ease, background-color 0.2s ease;
  cursor: pointer;
}

.spotlight-feature-toggle::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: -24px;
  width: 3px;
  border-radius: 999px;
  background: rgba(8, 32, 65, 0.22);
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.spotlight-feature-toggle:hover,
.spotlight-feature-toggle:focus {
  color: #1e293b;
  background: rgba(8, 32, 65, 0.035);
}

.spotlight-feature-toggle:focus {
  outline: 2px solid rgba(29, 78, 216, 0.28);
  outline-offset: 2px;
}

.spotlight-feature-toggle.is-active {
  color: #0f172a;
  background: rgba(8, 32, 65, 0.055);
}

.spotlight-feature-toggle.is-active::before {
  background: #1d4ed8;
  transform: scaleY(1.18);
}

.spotlight-feature-index {
  color: #94a3b8;
  font-size: 0.78em;
  font-weight: 800;
  line-height: 1;
  transition: color 0.2s ease;
}

.spotlight-feature-toggle.is-active .spotlight-feature-index {
  color: #1d4ed8;
}

.spotlight-feature-title {
  min-width: 0;
  color: inherit;
  font-weight: 800;
}

.spotlight-actions {
  display: flex;
  margin-top: 12px;
}

.spotlight-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--spotlight-primary);
  color: #ffffff !important;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 10px 20px rgba(8, 32, 65, 0.16);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.spotlight-button:hover,
.spotlight-button:focus {
  color: #ffffff !important;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 14px 26px rgba(8, 32, 65, 0.2);
}

.spotlight-feature-visual {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  grid-column: 2;
  grid-row: 1 / -1;
}

.spotlight-product-image {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 520px;
  padding: 12px;
  border: 1px solid #e5edf7;
  border-radius: 20px;
  background: #f4f7fb;
}

.spotlight-product-image img,
.spotlight-product-image video {
  display: block;
  width: 100%;
  height: 100%;
  max-width: min(100%, 720px);
  object-fit: cover;
  opacity: 1;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.spotlight-product-image img.is-changing,
.spotlight-product-image video.is-changing {
  opacity: 0.32;
  transform: scale(0.985);
}

/* Group of companies preview */

.tb-brand-hp-companies {
  padding: 0;
  --tb-brand-primary: #082041;
}

.tb-brand-hp-companies .tb-brand-map-top {
  padding: 40px 48px 24px;
  text-align: left;
}

.tb-brand-hp-section-title {
  margin: 0 0 28px;
  color: #082041;
  font-size: clamp(1.2em, 1.8vw, 1.65em);
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.25;
  text-align: left;
  text-transform: uppercase;
}

.tb-brand-hp-companies .tb-brand-section-intro {
  font-size: 1.2em;
  margin-bottom: 0;
}

.tb-brand-hp-companies [data-hp-company-selector] {
  padding: 0 48px 40px;
}

.tb-brand-hp-companies .tb-brand-map-region-button {
  font-size: 1.15em;
  padding: 12px 20px;
}

/* Panel: strip the blue left border and let tiles control padding */
.tb-brand-hp-companies .tb-brand-map-panel {
  margin-top: 16px;
  padding: 0;
  overflow: hidden;
  border-left: 1px solid rgba(8, 32, 65, 0.14);
}

/* 2-column: logo left | info right */
.tb-brand-hp-companies .tb-brand-map-panel-card {
  display: grid;
  grid-template-columns: 240px 1fr;
  min-height: 180px;
}

.tb-brand-hp-companies .tb-brand-map-panel-card.is-no-logo {
  grid-template-columns: 1fr;
}

.tb-brand-hp-card-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 28px;
  background: rgba(8, 32, 65, 0.03);
  border-right: 1px solid rgba(8, 32, 65, 0.08);
}

.tb-brand-hp-card-logo img {
  max-width: 160px;
  max-height: 90px;
  object-fit: contain;
  display: block;
}

.tb-brand-hp-card-info {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 32px;
}

.tb-brand-hp-companies .tb-brand-map-panel h3 {
  font-size: 2.05em;
  margin: 0;
}

.tb-brand-hp-companies .tb-brand-map-panel-intro {
  font-size: 1.2em;
  line-height: 1.7;
  color: #51657c;
  margin: 0;
  flex: 1;
}

.tb-brand-hp-companies .tb-brand-card-action {
  font-size: 1.15em;
  padding: 13px 22px;
  align-self: flex-start;
  margin-top: auto;
}

/* News & social feeds */

.tb-brand-hp-news-social {
  --tb-brand-primary: #082041;
  padding: 40px 48px 48px;
}

.tb-brand-hp-news-row {
  display: block;
}

.tb-brand-hp-news-column,
.tb-brand-hp-social-column {
  min-width: 0;
}

.tb-brand-hp-news-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: 31px minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
}

.tb-brand-hp-social-column {
  display: flex;
  flex-direction: column;
}

.tb-brand-hp-feed-heading {
  margin: 0;
  border: 0;
}

.tb-brand-hp-news-column .tb-brand-hp-feed-heading {
  grid-column: 1 / -1;
}

.tb-brand-hp-social-column .tb-brand-hp-feed-heading {
  flex: 0 0 31px;
}

.tb-brand-hp-feed-heading .tabs.active {
  float: none;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--tb-brand-primary);
  font-size: clamp(1.2em, 1.8vw, 1.65em);
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.25;
  text-transform: uppercase;
}

.tb-brand-hp-news-social .newsGridItem {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.tb-brand-hp-news-social .newsGridItem.is-featured {
  grid-column: 1 / -1;
}

.tb-brand-hp-news-social .newsGridItem__ImageWrapper {
  position: relative;
  /*flex: 0 0 54%;*/
  min-height: 170px;
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}

.tb-brand-hp-news-social .newsGridItem__ImageWrapper--image {
  height: 100%;
  border-radius: 0;
}

.tb-brand-hp-news-social .newsGridItem__overlayWrapper {
  height: 100%;
  padding: 0;
}

.tb-brand-hp-news-social .newsGridItem__ImageWrapper--overlay {
  border-radius: 16px 16px 0 0;
  background-color: rgba(8, 32, 65, 0.16);
}

.tb-brand-hp-news-social .newsGridItem__DetailsWrapper {
  flex: 1 1 auto;
  min-height: 164px;
  height: auto;
  padding: 18px;
  border: 1px solid #e5edf7;
  border-top: 0;
  border-radius: 0 0 16px 16px;
  background: #f8fbff;
}

.tb-brand-hp-news-social .newsGridItem__DetailsWrapper--headline {
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0;
}

.tb-brand-hp-news-social .newsGridItem__DetailsWrapper--headline p {
  width: 100%;
  color: #64748b;
  font-size: 0.92em;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 8px;
}

.tb-brand-hp-news-social .newsGridItem__DetailsWrapper--headline a {
  color: #1e293b;
  font-size: 1.2em;
  font-weight: 800;
  line-height: 1.25;
}

.tb-brand-hp-news-social .newsGridItem__DetailsWrapper--moreLink {
  margin-top: 16px;
  text-align: left;
}

.tb-brand-hp-news-social .newsGridItem__DetailsWrapper--moreLink a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 18px;
  border-radius: 999px;
  background: var(--tb-brand-primary);
  color: #ffffff;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 0 10px 20px rgba(8, 32, 65, 0.16);
}

/* Juicer LinkedIn embed wrapper (inline-styled div in dsp_Homepage.cfm) */
.tb-brand-hp-social-column > div[style] {
  flex: 1;
  min-height: 360px;
  margin-top: 18px;
  overflow: hidden;
  padding: 18px;
  border: 1px solid #e5edf7;
  border-radius: 16px;
  background: #f8fbff;
}

.allnews {
  display: flex;
  margin-top: 2em;
  margin-bottom: 0;
  justify-content: center;
  padding: 0 48px 40px;
}

.allnews a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 22px;
  border-radius: 999px;
  background: var(--tb-brand-primary);
  color: #ffffff;
  font-weight: 800;
  text-decoration: none;
}

/* Homepage facelift: tablet */
@media (max-width: 900px) {
  .latest-products-spotlight {
    padding: 34px 28px 32px;
  }

  .spotlight-product-panel.is-active {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 20px;
  }

  .spotlight-feature-copy {
    grid-column: 1;
    grid-row: 1;
  }

  .spotlight-feature-visual {
    grid-column: 1;
    grid-row: 2;
  }

  .spotlight-feature-copy-body {
    grid-column: 1;
    grid-row: 3;
  }

  .spotlight-feature-copy-body > p {
    display: none;
  }

  .spotlight-headline {
    font-size: clamp(1.35rem, 4.6vw, 1.85rem);
  }

  .spotlight-product-image {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 16px;
  }

  .spotlight-product-image::before {
    content: "";
    display: block;
    aspect-ratio: 4 / 3;
  }

  .spotlight-product-image img,
  .spotlight-product-image video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
  }

  /* Feature list → horizontal swipe carousel */
  .spotlight-feature-list {
    margin-top: 0;
  }

  .spotlight-feature-list h3 {
    padding-left: 4px;
    margin-bottom: 12px;
  }

  .spotlight-feature-list ul {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    padding: 4px 24px 12px 4px;
    border-left: none;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .spotlight-feature-list ul::-webkit-scrollbar {
    display: none;
  }

  .spotlight-feature-list li,
  .spotlight-feature-list li + li {
    flex: 0 0 auto;
    width: 200px;
    margin-top: 0;
    scroll-snap-align: start;
  }

  .spotlight-feature-toggle {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    height: 100%;
    min-height: 90px;
    padding: 14px 15px;
    gap: 7px;
    border: 1px solid #e5edf7;
    border-radius: 14px;
    background: #f4f7fb;
    color: #64748b;
    white-space: normal;
  }

  .spotlight-feature-toggle::before {
    display: none;
  }

  .spotlight-feature-toggle.is-active {
    background: #082041;
    border-color: #082041;
    color: #ffffff;
  }

  .spotlight-feature-toggle.is-active .spotlight-feature-index {
    color: rgba(255, 255, 255, 0.5);
  }

  .spotlight-feature-title {
    font-size: 0.9em;
    line-height: 1.38;
    white-space: normal;
  }

  .tb-brand-hp-companies .tb-brand-map-top {
    padding: 28px 24px 18px;
  }

  .tb-brand-hp-companies [data-hp-company-selector] {
    padding: 0 24px 28px;
  }

  .tb-brand-hp-companies .tb-brand-map-panel-card {
    grid-template-columns: 180px 1fr;
  }

  .tb-brand-hp-news-row {
    display: block;
  }

  .tb-brand-hp-news-column {
    grid-template-rows: auto;
  }

  .tb-brand-hp-social-column {
    margin-top: 24px;
  }

  .tb-brand-hp-social-column .tb-brand-hp-feed-heading {
    flex-basis: auto;
  }
}

/* Homepage facelift: mobile */
@media (max-width: 640px) {
  .tb-brand-hp-wrapper {
    padding: 0 15px;
    margin: 2em auto;
  }

  .tb-brand-hp-wrapper:has(.latest-products-spotlight)::before {
    width: 64px;
    height: 3px;
    margin-bottom: 18px;
  }

  .latest-products-spotlight {
    padding: 28px 18px 24px;
  }

  .spotlight-headline {
    font-size: clamp(1.25rem, 6.6vw, 1.65rem);
    line-height: 1.08;
  }

  .spotlight-lead {
    font-size: 1.12em;
  }

  .spotlight-product-image::before {
    aspect-ratio: 1 / 1;
  }

  .spotlight-feature-list {
    padding: 0;
  }

  .spotlight-button {
    min-height: 42px;
    padding: 11px 18px;
  }

  .tb-brand-hp-companies .tb-brand-map-top {
    padding: 22px 18px 14px;
  }

  .tb-brand-hp-companies [data-hp-company-selector] {
    padding: 0 18px 22px;
  }

  /* Compact pills for horizontal scroll on small screens */
  .tb-brand-hp-companies .tb-brand-map-region-button {
    font-size: 1em;
    padding: 9px 16px;
  }

  .tb-brand-hp-companies .tb-brand-map-panel-card,
  .tb-brand-hp-companies .tb-brand-map-panel-card.is-no-logo {
    grid-template-columns: 1fr;
  }

  .tb-brand-hp-card-logo {
    border-right: none;
    border-bottom: 1px solid rgba(8, 32, 65, 0.08);
    padding: 20px;
    height: 120px;
  }

  .tb-brand-hp-card-info {
    padding: 20px;
  }

  .tb-brand-hp-companies .tb-brand-map-panel-intro {
    font-size: 1.12em;
    line-height: 1.7;
  }

  .tb-brand-hp-news-social {
    padding: 28px 18px 24px;
  }

  .tb-brand-hp-news-column {
    grid-template-columns: 1fr;
  }

  .tb-brand-hp-news-social .newsGridItem.is-featured {
    grid-column: auto;
  }

  .tb-brand-hp-news-social .newsGridItem__ImageWrapper {
    flex-basis: auto;
  }

  .tb-brand-hp-news-social .newsGridItem__ImageWrapper,
  .tb-brand-hp-news-social .newsGridItem__ImageWrapper--image,
  .tb-brand-hp-news-social .newsGridItem__overlayWrapper {
    height: 220px;
  }

  .allnews {
    padding: 0 18px 24px;
  }
}

/* ============================================================
   Facelift page nav-tabs — modern pill style
   Scoped to .tb-brand-content-nav (company profile + contact pages)
   ============================================================ */
.tb-brand-content-nav .nav.nav-tabs {
  border-bottom: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 4px 0 14px;
}
.tb-brand-content-nav .nav.nav-tabs > li {
  float: none;
  margin-bottom: 0;
}
.tb-brand-content-nav .nav.nav-tabs > li > a {
  border: 1.5px solid rgba(8, 32, 65, 0.2);
  border-radius: 999px;
  padding: 7px 18px;
  font-size: 0.93em;
  font-weight: 500;
  line-height: 1.4;
  color: #082041;
  background: transparent;
  margin: 0;
  transition: background 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}
.tb-brand-content-nav .nav.nav-tabs > li > a:hover,
.tb-brand-content-nav .nav.nav-tabs > li > a:focus {
  background: rgba(8, 32, 65, 0.07);
  border-color: rgba(8, 32, 65, 0.38);
  color: #082041;
  outline: none;
}
.tb-brand-content-nav .nav.nav-tabs > li.active > a,
.tb-brand-content-nav .nav.nav-tabs > li.active > a:hover,
.tb-brand-content-nav .nav.nav-tabs > li.active > a:focus {
  background: #082041;
  border-color: #082041;
  color: #ffffff;
  cursor: default;
}
@media (max-width: 767px) {
  .tb-brand-content-nav .nav.nav-tabs {
    gap: 5px;
  }
  .tb-brand-content-nav .nav.nav-tabs > li > a {
    padding: 6px 14px;
    font-size: 0.88em;
  }
}

/* ============================================================
   ATLAS Configurator Facelift (PDPreworkAtlas)
   Package radio-cards in the buy panel + brand-grouped,
   searchable screen selector on the ATLAS PDP.
   Scopes: .tb-atlas-config  (dsp_Template_AtlasConfiguration.cfm)
           .tb-atlas-screens (#screenSelector in dsp_Product_V2.cfm)
   The material-switch checkboxes stay the state carriers; their
   labels are stretched over the cards and redrawn as radio dots /
   check squares, so every base .material-switch property (5190ff)
   must be overridden inside these scopes.
   ============================================================ */
.tb-atlas-config,
.tb-atlas-screens {
    --tb-brand-primary: #082041;
}

/* --- package selector (buy panel) --- */
.tb-atlas-config .tb-atlas-headline button {
    color: #94a3b8;
}
.tb-atlas-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* every row as tall as the tallest one -> all four cards identical size */
    grid-auto-rows: 1fr;
    align-items: stretch;
    gap: 10px;
}
.tb-atlas-option {
    position: relative;
    display: flex;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid #e5edf7;
    border-radius: 12px;
    background: #ffffff;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.tb-atlas-option:hover,
.tb-atlas-option:focus {
    border-color: rgba(8, 32, 65, 0.35);
    outline: none;
}
.tb-atlas-option-selected,
.tb-atlas-option-selected:hover,
.tb-atlas-option-selected:focus {
    border-color: var(--tb-brand-primary);
    box-shadow: 0 0 0 1px var(--tb-brand-primary), 0 6px 18px rgba(8, 32, 65, 0.08);
    background: #f8fbff;
}
.tb-atlas-option-name {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #0f172a;
}
.tb-atlas-option-note {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #64748b;
}
/* the stretched material-switch label is only the click target; selection is
   shown by the card border alone (no drawn indicator). The label carries
   bootstrap's .label/.label-success (green block) — neutralize its
   background/padding or it paints over the whole card; content:none keeps
   the base material-switch track/knob pseudo-elements from resurfacing. */
.tb-atlas-option .material-switch > label {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
}
.tb-atlas-option .material-switch > label::before,
.tb-atlas-option .material-switch > label::after {
    content: none;
}

/* --- screen selector (brand groups + search + counter) --- */
.tb-atlas-screens .tb-atlas-screens-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
}
.tb-atlas-screens #numberOfScreens {
    margin: 0;
    border-bottom: none;
}
.tb-atlas-counter {
    display: inline-block;
    padding: 4px 12px;
    border: 1px solid rgba(8, 32, 65, 0.16);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    color: var(--tb-brand-primary);
    background: rgba(8, 32, 65, 0.06);
}
.tb-atlas-counter-full {
    color: #ffffff;
    background: var(--tb-brand-primary);
    border-color: var(--tb-brand-primary);
}
.tb-atlas-search {
    position: relative;
    margin-top: 12px;
}
.tb-atlas-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    margin-top: -7px;
    font-size: 14px;
    color: #94a3b8;
}
.tb-atlas-search-input {
    height: 40px;
    padding-left: 36px;
    border-color: #e5edf7;
    border-radius: 10px;
    box-shadow: none;
}
.tb-atlas-search-input:focus {
    border-color: var(--tb-brand-primary);
    box-shadow: 0 0 0 1px var(--tb-brand-primary);
}
.tb-atlas-screens .bundleItemWrapper {
    max-height: 440px;
    overflow-y: auto;
}
/* CSS grid instead of bootstrap floats: grid-auto-rows 1fr makes every row as
   tall as the tallest card, so ALL cards share the height of the biggest one
   (Central-maintained names vary a lot in length) */
.tb-atlas-screens .tb-atlas-screen-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: 1fr;
    align-items: stretch;
}
@media (min-width: 768px) {
    .tb-atlas-screens .tb-atlas-screen-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 992px) {
    .tb-atlas-screens .tb-atlas-screen-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (min-width: 1200px) {
    .tb-atlas-screens .tb-atlas-screen-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
/* the grid column is only a cell: card visuals live on the inner div.
   width:auto neutralizes the bootstrap col-* widths - the grid template
   defines the columns now (col-* classes stay for the Enter-key JS hook) */
.tb-atlas-screens .bundleComponentGridItem {
    float: none;
    width: auto;
    height: auto;
    padding: 4px 6px;
    border: none;
    display: flex;
}
.tb-atlas-screen-card {
    width: 100%;
}
.tb-atlas-screens .bundleComponentGridItem:hover,
.tb-atlas-screens .bundleComponentGridItem:focus {
    border: none;
    outline: none;
}
.tb-atlas-screen-card {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 10px 14px;
    border: 1px solid #e5edf7;
    border-radius: 12px;
    background: #ffffff;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.tb-atlas-screen-card:hover,
.tb-atlas-screen-item:focus .tb-atlas-screen-card {
    border-color: rgba(8, 32, 65, 0.35);
}
.tb-atlas-screen-card-selected,
.tb-atlas-screen-card-selected:hover {
    border-color: var(--tb-brand-primary);
    box-shadow: 0 0 0 1px var(--tb-brand-primary);
    background: #f8fbff;
}
.tb-atlas-screen-card h4 {
    line-height: 1.3;
}
/* stretched click-target label, no drawn indicator — selection is shown by
   the card border alone. Same .label-success neutralization as above. */
.tb-atlas-screen-card .material-switch > label {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
}
.tb-atlas-screen-card .material-switch > label::before,
.tb-atlas-screen-card .material-switch > label::after {
    content: none;
}
.tb-atlas-no-results {
    margin: 8px 6px;
    padding: 28px;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    text-align: center;
    color: #64748b;
}
.tb-atlas-no-results p {
    margin: 0 0 12px;
}
.tb-atlas-hidden {
    display: none !important;
}
@media (max-width: 767px) {
    .tb-atlas-option {
        padding-top: 14px;
        padding-bottom: 14px;
    }
}

/* START: Product Description */
/* Reusable layout classes for HTML product descriptions.
   Use these in description HTML instead of embedding <style> blocks.
   Optional scoping wrapper: <div class="pd-content"> ... </div> */

.pd-content {
    --pd-blue: #1A56A0;
    --pd-blue-light: #EAF2FB;
    --pd-teal: #0F7E68;
    --pd-teal-light: #E2F4EE;
    --pd-gray-dark: #1C2333;
    --pd-gray-mid: #4A5568;
    --pd-gray-soft: #718096;
    --pd-gray-border: #DDE3EE;
    --pd-gray-bg: #F5F7FA;
    --pd-white: #FFFFFF;

    font-family: inherit;
    color: var(--pd-gray-dark);
    line-height: 1.65;
}

.pd-content,
.pd-content *,
.pd-content *::before,
.pd-content *::after {
    box-sizing: border-box;
}

.pd-hero {
    background: linear-gradient(135deg, #0F1E3A 0%, #1A3A6A 60%, #1A56A0 100%);
    color: var(--pd-white);
    padding: 56px 40px 48px;
    border-radius: 8px;
}

.pd-eyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    background: rgba(255,255,255,0.12);
    color: rgba(255,255,255,0.85);
    padding: 4px 10px;
    border-radius: 6px;
    margin: 0 0 18px;
}

.pd-hero h1 {
    font-size: 30px;
    font-weight: 700;
    color: var(--pd-white);
    margin: 0 0 14px;
    line-height: 1.25;
    letter-spacing: -0.02em;
    max-width: 680px;
}

.pd-hero p,
.pd-hero-sub {
    font-size: 1em;
    color: rgba(255,255,255,0.78);
    max-width: 680px;
    line-height: 1.65;
    margin: 0;
}

.pd-hero p + p {
    margin-top: 12px;
}

.pd-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 28px;
}

.pd-tag {
    display: inline-block;
    font-size: 12px;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.20);
    color: rgba(255,255,255,0.90);
    padding: 4px 12px;
    border-radius: 100px;
}

.pd-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid var(--pd-gray-border);
}

.pd-stat {
    text-align: center;
    padding: 20px 24px;
    border-right: 1px solid var(--pd-gray-border);
}

.pd-stat:last-child {
    border-right: none;
}

.pd-stat-num {
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: var(--pd-blue);
    line-height: 1.1;
}

.pd-stat-label {
    display: block;
    font-size: 0.8em;
    color: var(--pd-gray-soft);
    margin-top: 2px;
}

.pd-section {
    padding: 44px 40px;
    border-bottom: 1px solid var(--pd-gray-border);
}

.pd-section:last-child {
    border-bottom: none;
}

.pd-section-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--pd-blue);
    margin: 0 0 8px;
}

.pd-section h2 {
    font-size: 20px;
    font-weight: 700;
    color: var(--pd-gray-dark);
    margin: 0 0 20px;
    letter-spacing: -0.01em;
}

.pd-section p {
    margin: 0 0 10px;
}

.pd-section p:last-child {
    margin-bottom: 0;
}

.pd-panels {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.pd-panel {
    border: 1px solid var(--pd-gray-border);
    border-radius: 8px;
    overflow: hidden;
}

.pd-panel-title {
    background: var(--pd-blue-light);
    color: var(--pd-blue);
    font-size: 1em;
    font-weight: 600;
    letter-spacing: 0.01em;
    padding: 14px 18px;
}

.pd-panel-title--alt {
    background: var(--pd-teal-light);
    color: var(--pd-teal);
}

.pd-panel-body {
    padding: 14px 18px;
    font-size: 1em;
    color: var(--pd-gray-mid);
    line-height: 1.6;
    background: var(--pd-white);
}

.pd-panel-body ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pd-panel-body li {
    padding: 5px 0;
    border-bottom: 1px solid var(--pd-gray-border);
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.pd-panel-body li:last-child {
    border-bottom: none;
}

.pd-panel-body li::before {
    content: "->";
    color: var(--pd-gray-border);
    flex-shrink: 0;
    margin-top: 1px;
}

.pd-table-wrap {
    overflow-x: auto;
}

.pd-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1em;
    table-layout: fixed;
}

.pd-table thead th {
    background: var(--pd-gray-dark);
    color: var(--pd-white);
    font-weight: 600;
    font-size: 0.8em;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 10px 14px;
    text-align: left;
    border: none;
}

.pd-table thead th:first-child {
    border-radius: 6px 0 0 0;
    width: 34%;
}

.pd-table thead th:last-child {
    border-radius: 0 6px 0 0;
}

.pd-table tbody td {
    padding: 9px 14px;
    border-bottom: 1px solid var(--pd-gray-border);
    color: var(--pd-gray-mid);
    vertical-align: middle;
}

.pd-table tbody tr:last-child td {
    border-bottom: none;
}

.pd-table-feature,
.pd-table tbody td:first-child {
    font-weight: 600;
    color: var(--pd-gray-dark);
    background: var(--pd-gray-bg);
}

.pd-list-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.pd-list-grid li {
    padding: 12px 14px;
    background: var(--pd-gray-bg);
    border-radius: 8px;
    border: 1px solid var(--pd-gray-border);
    font-size: 1em;
    color: var(--pd-gray-mid);
    line-height: 1.5;
}

.pd-callout {
    background: var(--pd-gray-dark);
    color: var(--pd-white);
    padding: 28px 32px;
    border-radius: 16px;
}

.pd-callout h2 {
    font-size: 16px;
    font-weight: 700;
    color: var(--pd-white);
    margin: 0 0 6px;
}

.pd-callout p {
    font-size: 1em;
    color: rgba(255,255,255,0.65);
    line-height: 1.55;
    max-width: 760px;
    margin: 0;
}

@media only screen and (max-width: 767px) {
    .pd-hero {
        padding: 36px 20px 32px;
        border-radius: 8px;
    }

    .pd-hero h1 {
        font-size: 22px;
    }

    .pd-stats,
    .pd-panels,
    .pd-list-grid {
        grid-template-columns: 1fr;
    }

    .pd-section {
        padding: 32px 20px;
    }

    .pd-stat {
        border-right: none;
        border-bottom: 1px solid var(--pd-gray-border);
    }

    .pd-stat:last-child {
        border-bottom: none;
    }

    .pd-table {
        table-layout: auto;
    }
}
/* END: Product Description */

/* START: PDP mobile gallery iframe slides - 3D tap-to-interact overlay + 16:9 video (dsp_Template_ImageGalery.cfm) */
.swiper-slide-3d {
    position: relative;
}

/* the p3d viewer must not see touches while the overlay is up, or it eats the swipe/scroll gesture */
.swiper-slide-3d iframe {
    pointer-events: none;
}

.swiper-slide-3d.is-interactive iframe {
    pointer-events: auto;
}

/* invisible: p3d's own "Click for 3D" poster is the visible prompt, this only catches the tap */
.swiper-3d-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.swiper-slide-3d.is-interactive .swiper-3d-overlay {
    display: none;
}

.swiper-3d-exit {
    display: none;
    position: absolute;
    top: 8px;
    right: 8px;
    align-items: center;
    padding: 6px 12px;
    background: rgba(8, 32, 65, 0.85);
    color: #fff;
    border: 0;
    border-radius: 999px;
    font-size: 13px;
    z-index: 2;
}

.swiper-slide-3d.is-interactive .swiper-3d-exit {
    display: inline-flex;
}

/* video slide: shows a poster (video thumbnail cover-cropped to the square slide area the
   image slides set, so no gap and it swipes like an image) until tapped; the tap swaps in
   the iframe, sized to a real 16:9 and vertically centered. Sizing the iframe here also
   fixes the CMS fallback embeds, whose fixed width/height attrs otherwise distort them */
.swiper-slide-video {
    display: flex;
}

/* while playing, the slide stops filling the square image-slide height and gets vertical
   breathing room instead of letterbox bands. Swiping over the iframe itself is not possible
   (it captures the touches), hence the clickable bullets + the free area around the video */
.swiper-slide-video.is-playing {
    height: auto;
    margin: 3em 0;
}

.swiper-slide-video > iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border: 0;
}

.swiper-video-poster {
    display: flex;
    width: 100%;
    height: auto;
    align-self: stretch;
    position: relative;
    padding: 0;
    border: 0;
    margin: 3em 0;
    background: none;
    cursor: pointer;
}

.swiper-video-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 64px;
    height: 44px;
    margin: -22px 0 0 -32px;
    background: rgba(8, 32, 65, 0.8);
    border-radius: 12px;
}

.swiper-video-play::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -9px 0 0 -6px;
    border-style: solid;
    border-width: 9px 0 9px 14px;
    border-color: transparent transparent transparent #fff;
}

/* dedicated row for the pagination bullets (absolute, bottom:10px) below the slides,
   so they never sit on top of the image/poster */
#ProductImageContainer .swiper-container {
    padding-bottom: 30px;
}

/* shown in place of a consent-gated (src-less) video iframe - gallery slides and
   PM-authored description embeds alike (built in dsp_Product_V2_JS.cfm) */
.consent-video-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    max-width: 640px;
    aspect-ratio: 16 / 9;
    padding: 20px;
    background: #f5f5f5;
    border: 1px dashed #ccc;
    text-align: center;
}

.consent-video-placeholder p {
    margin: 0;
    color: #666;
}
/* END: PDP mobile gallery iframe slides */


