/* BESPOKE */
/* Light green:         #5ba51b
 * Light blue:          #E6EBF1 
 * Darker blue:         #BDCADD
 * Main text black:     #000000
 * Dark grey text:      #41464D
 * Grey button:         #CDD2D9
 * Brown                #c9a575
 * Dark grey exception: #41464D */

:root {
    --theme-primary: #cdc6bc;
    --theme-primary-dark: #bab1a5;
    --theme-primary-hover: #b7afa4;
    --theme-secondary: #884333;
    --theme-secondary-hover: #B06B5B;
    --dark-swatch-1: #41464D;
    --dark-swatch-2: #888;
}

html {
    scroll-behavior: smooth;
}

/* Custom fonts */
@font-face {
    font-family: GsFontIcons;
    src: url("/Bespoke/Assets/Fonts/Fonticons/icons.woff");
}

@font-face {
    font-family: AbrilFatfaceRegular;
    src: url("/Bespoke/Assets/Fonts/AbrilFatface/AbrilFatface-Regular.ttf");
}

@font-face {
    font-family: PoppinsLight;
    src: url("/Bespoke/Assets/Fonts/Poppins/Poppins-Light.ttf");
}

@font-face {
    font-family: PoppinsRegular;
    src: url("/Bespoke/Assets/Fonts/Poppins/Poppins-Regular.ttf");
}

@font-face {
    font-family: PoppinsMedium;
    src: url("/Bespoke/Assets/Fonts/Poppins/Poppins-Medium.ttf");
}

@font-face {
    font-family: PoppinsBold;
    src: url("/Bespoke/Assets/Fonts/Poppins/Poppins-Bold.ttf");
}

@font-face {
    font-family: PoppinsBlack;
    src: url("/Bespoke/Assets/Fonts/Poppins/Poppins-Black.ttf");
}

/* We give the website a bigger default width */
@media (min-width: 1431px) {
    .container {
        width: 1400px;
    }
}

h1, h2, h3, h4, h5, h6,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
    font-family: PoppinsBlack, Helvetica, Arial, sans-serif;
    line-height: 1 !important;
}

p, span, a, input, label, td, th {
    font-family: PoppinsRegular, Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: normal !important;
}

.uc_text_block span {
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
}

a {
    transition: opacity .2s;
}

    a:hover {
        text-decoration: none;
        opacity: .7;
    }

/* UI Controls */
input[type="text"],
input[type="password"] {
    border-radius: 30px !important;
    box-shadow: none !important;
}

textarea {
    border-radius: 15px !important;
    box-shadow: none !important;
}

/* Textarea with border radiuses */
.fieldcontrol_txtarea {
    border: none !important;
}

.fieldcontrol_txtarea .input-group-addon {
    border: none !important;
    right: 10px !important;
    top: 5px !important;
}

.fieldcontrol_txtarea textarea {
    float: none !important;
    border-radius: 15px !important;
    border: 1px solid #ccc !important;
    padding: 12px 30px 12px 12px !important;
}

input[type="text"],
input[type="password"] {
    height: 35px !important;
}

.input-group {
    display: block !important;
}

.input-group .input-group-addon {
    position: absolute;
    right: 8px;
    top: 3px;
    height: 35px;
    border: none;
    z-index: 5;
    background-color: transparent;
}

.input-group .fa-envelope {
    display: none;
}

.input-group .req {
    font-size: 13px;
}

input[type="text"]::placeholder,
input[type="password"]::placeholder {
    color: #000 !important;
}

/* Global buttons */
.btn-u-sea-shop,
.button.cancel,
.button.confirm {
    border-radius: 30px !important;
    font-family: PoppinsRegular, Helvetica, Arial, sans-serif !important;
    font-size: 13px !important;
}

.btn-u.btn-u-sea-shop:active,
.btn-u.btn-u-sea-shop.active {
    background-color: var(--theme-secondary);
}

/* Scroll buttons */
.scroll-btn {
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background-color: #222 !important;
    border-radius: 3px !important;
    font-size: 20px;
    transition: background .2s;
}

.scroll-btn:hover {
    background: var(--theme-secondary) !important;
}

.scroll-btn i::before {
    color: #fff !important;
}

/* Arrow right buttons */
.arrow-right {
    line-height: 35px;
    padding: 0 !important;
}

.arrow-right::before {
    content: "\e911";
    font-family: 'gs-icons';
    position: absolute;
    right: 10px;
    top: 0;
}

/* Buttons grey  */
.btn-u-sea-shop.grey {
    border-radius: 30px !important;
    color: #41464D !important;
    background: #CDD2D9;
    line-height: 25px;
    display: inline-block;
    padding: 0 15px;
}

    .btn-u-sea-shop.grey:hover {
        color: #fff !important;
    }

/* Loader buttons */
.loader-btn {
    padding-left: 45px !important;
    padding-right: 45px !important;
}

    .loader-btn.active {
        background-image: url('/DefaultImages/loading.gif') !important;
        background-repeat: no-repeat !important;
        background-position: -40px center !important;
        background-size: 125px !important;
    }

/* Stock buttons */
.stock-btn {
    border-radius: 20px !important;
    -webkit-border-radius: 20px !important;
    height: 25px;
    line-height: 25px;
    margin-bottom: 15px;
    padding: 0 10px 0 25px;
}

.stock-btn.disabled {
    background-color: #ccc;
    color: #2b2b2b !important;
    pointer-events: none;
}

.stock-btn.disabled i {
    color: #2b2b2b !important;
}

.stock-btn i {
    color: #fff;
    position: absolute;
    left: 6px;
    top: 5px;
}

.uc_placeholder .stock-btn span {
    display: none !important;
}

/* Handles stock status */
.shopping-cart .stock-status {
    justify-content: center !important;
}

.shopping-cart .stock-status,
.uc_placeholder .uc_product_information .stock-status {
    display: flex;
    justify-content: center;
    flex-flow: row nowrap;
}

.uc_placeholder.uc_product_row .uc_product_information .stock-status {
    justify-content: flex-start;
    margin: 15px 0 !important;
}

.shopping-cart .stock-btn span {
    display: none;
}

.shopping-cart .stock-btn,
.uc_barcode_scanning .stock-btn,
.uc_placeholder .uc_product_information .stock-btn {
    padding: 0 10px;
    width: 25px !important;
    margin: 0 2px;
    text-align: center;
    padding: 0;
}

    .shopping-cart .stock-btn i,
    .uc_placeholder .uc_product_information .stock-btn i {
        position: static;
    }

/* Alerts and notifications */
.alert {
    padding: 5px 15px;
    border-radius: 25px !important;
    font-size: 13px;
    text-align: center;
}

    .alert span {
        font-family: PoppinsMedium, Helvetica, Arial, sans-serif;
        font-size: 13px;
    }

.customer_information.alert {
    border-radius: 0 !important;
}

#increasable_alert {
    background-color: #a94442 !important;
    border-radius: 0 !important;
    margin-bottom: 0;
    padding: 15px 0;
}

    #increasable_alert .msg-wrapper {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        align-items: center;
    }

    #increasable_alert .msg {
        margin-bottom: 0;
        color: #fff;
    }

    #increasable_alert i {
        margin-right: 5px;
        color: #fff;
    }

@media (max-width: 767px) {
    #increasable_alert {
        padding: 10px 0;
    }

        #increasable_alert p {
            font-size: 13px !important;
        }
}

/* Stock modals */
/* Diable js set padding right on body */
body#bdy_master.modal-open,
.warehouse-stock.modal {
    padding-right: 0 !important;
}

.stock-modal .close,
.modal-default .close {
    position: absolute;
    right: -17px;
    top: -17px;
    opacity: 1;
    font-size: 22px;
    text-shadow: none;
    background-color: #2b2b2b;
    border-radius: 20px !important;
    width: 35px;
    height: 35px;
    padding: 0;
    line-height: 35px;
    text-align: center;
}

@media (max-width: 475px) {
    .stock-modal .stock-btn {
        padding: 0 10px;
        width: 25px !important;
        margin: 0 2px;
        text-align: center;
        padding: 0;
        margin: 10px 0;
    }

        .stock-modal .stock-btn i {
            left: 6px !important;
        }

        .stock-modal .stock-btn span {
            display: none !important;
        }
}

.stock-modal .close .fa {
    font-size: 22px !important;
    color: #fff !important;
}

.stock-modal h2,
.stock-modal h3 {
    margin: 0 !important;
    line-height: normal;
    text-align: left !important;
}

.stock-modal h3 {
    font-size: 15px;
}

.stock-modal .row {
    display: flex;
    flex-flow: row nowrap;
}

.stock-modal .new-line {
    margin-top: 30px;
    border-top: 2px solid #E6EBF2;
}

.stock-modal .align-center,
.stock-modal .align-center h3 {
    text-align: center !important;
}

.stock-modal .align-right {
    text-align: right;
}

.stock-modal .bold span {
    font-weight: bold !important;
}

.stock-modal .column {
    display: flex;
    flex-flow: column;
}

.stock-modal .header {
    margin-top: 30px;
    background-color: #E6EBF2 !important;
}

.stock-modal .prod-code {
    text-align: left !important;
}

.stock-modal .container-fluid .header:first-child {
    margin-top: 0;
}

.stock-modal .modal-body [class*="col-xs-"],
.stock-modal .modal-body [class*="col-sm-"],
.stock-modal .modal-body [class*="col-md-"] {
    border-right: 2px solid #eee;
    border-bottom: 2px solid #E6EBF2;
}

.stock-modal .row > [class*="col-xs-"]:first-child,
.stock-modal .row > [class*="col-sm-"]:first-child,
.stock-modal .row > [class*="col-md-"]:first-child {
    border-left: 2px solid #eee;
}

.stock-modal .header [class*="col-sm-"],
.stock-modal .header [class*="col-md-"],
.stock-modal .header [class*="col-xs-"] {
    border-right: 2px solid #E6EBF2;
    border-bottom: 2px solid #E6EBF2;
    padding: 10px 15px;
}

.stock-modal .missing-data {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    padding: 50px;
}

    .stock-modal .missing-data i {
        font-size: 20px;
        margin-right: 5px;
        color: grey !important;
    }

    .stock-modal .missing-data h2 {
        font-size: 16px;
        color: grey !important;
    }

@media (max-width: 767px) {
    .stock-modal {
        width: 100%;
        height: 100%;
        margin: 0;
    }

        .stock-modal h3 {
            font-size: 10px;
            line-height: 20px !important;
            font-family: PoppinsBold, Helvetica, Arial, sans-serif
        }

        .stock-modal .prod-code {
            font-size: 12px;
            margin-right: 35px;
        }

        .stock-modal h2 {
            font-size: 16px !important;
        }

        .stock-modal .modal-content {
            height: 100%;
            display: flex;
            flex-flow: column;
        }

        .stock-modal .modal-header {
            flex-shrink: 0;
            max-height: initial;
            padding: 15px 5px;
        }

        .stock-modal .modal-body {
            flex-grow: 1;
            max-height: initial;
            padding: 5px;
        }

            .stock-modal .modal-body span {
                font-size: 12px;
                line-height: normal;
                display: inline-block;
            }

        .stock-modal .row {
            display: flex;
            flex-flow: row nowrap;
        }

        .stock-modal .modal-body [class*="col-sm-"],
        .stock-modal .modal-body [class*="col-md-"] {
            width: 25%;
            padding: 5px 5px 8px;
        }

        .stock-modal .modal-body [class*="col-sm-6"],
        .stock-modal .modal-body [class*="col-md-6"] {
            width: 50%;
            padding: 5px 5px;
            min-height: 20px;
        }

        .stock-modal .header [class*="col-"] {
            padding: 3px 5px 0;
        }

        .stock-modal .close {
            border-radius: 0 !important;
            right: 0px;
            top: 0px;
            font-size: 22px;
            width: 26px;
            height: 26px;
        }

            .stock-modal .close .fa {
                position: absolute;
                top: 6px;
                right: 7px;
                font-size: 15px !important;
            }
}

@media (min-width: 768px) {
    .stock-modal {
        width: 95%;
        max-width: 1200px;
    }

        .stock-modal .modal-body [class*="col-sm-"],
        .stock-modal .modal-body [class*="col-md-"] {
            padding: 5px 15px;
        }

        .stock-modal .modal-body .header h3 {
            line-height: 30px !important;
        }

        .stock-modal .modal-body [class*="col-sm-"],
        .stock-modal .modal-body [class*="col-md-"] {
            min-height: 37px;
        }
}

/* Handles async helper elements */
#async-placeholder #async-loader {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    background-color: rgba(0,0,0, .5);
    z-index: 9999;
    height: 100vh;
}

    #async-placeholder #async-loader h3 span {
        color: #fff;
    }

    #async-placeholder #async-loader .loader-wrapper {
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        justify-content: center;
        height: 100%;
    }

    #async-placeholder #async-loader h3 {
        margin: 0;
    }

    #async-placeholder #async-loader .inner-content {
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        justify-content: center;
    }

@media (min-width: 1201px) {
    /* Fixes cut off box-shadows on hover in productlist */
    #lazy-target {
        overflow: visible !important;
    }
}

/* Fixes square radio button on certain IOS versions */
input[type="radio"] {
    appearance: radio;
    -moz-appearance: radio;
    -webkit-appearance: radio;
    border-radius: 50px !important;
}

/* fixes breadcrumbs if corrected by bespoke.js */
.uc_breadcrumb_block li.hidden {
    display: none !important;
}

/* Fixes header margins in my account */
.uc_concept_orders h1,
.uc_favorites_overview h1,
.uc_request_password h1,
.account h1 {
    margin: 0 0 15px !important;
    display: block;
}

/* Minor fix for uc_order_history */
.uc_order_history .button-width {
    margin-bottom: 20px;
}

/* handles tiny footer e.g barcode scanning */
.uc_footer.minimal {
    margin-top: 100vh;
}

:-ms-input-placeholder {
    color: #2b2b2b !important;
}

/* Exceptions for dropdown items that need to be full width */
.sky-space-20 .select-arrow {
    display: block;
}

.alert.alert-warning {
    color: #bc8b24;
    background-color: var(--theme-primary);
    border: 0;
}

/* Custom select boxes */
.custom-select {
    position: relative;
    display: inline-block;
    width: auto;
    box-shadow: none !important;
}

/* Full width for address block forms */
.sky-space-20 .custom-select {
    width: 100%;
}

.custom-select[data-disabled="true"],
.custom-select.disabled {
    cursor: not-allowed !important;
    opacity: .6;
}

    .custom-select[data-disabled="true"] .select-selected::after {
        content: '' !important;
        display: none !important;
    }


    .custom-select.disabled > div,
    .custom-select[data-disabled="true"] > div {
        pointer-events: none;
    }

.custom-select select {
    display: none; /*hide original SELECT element: */
}

.select-selected {
    background-color: #fff !important;
    padding-right: 30px !important;
    border-radius: 25px !important;
    background: var(--theme-primary) !important;
    border: 1px solid var(--theme-primary) !important;
    font-size: 14px;
    font-family: PoppinsRegular;
}

/* Style the arrow inside the select element: */
.select-selected:after {
    position: absolute;
    content: "";
    top: 17px;
    right: 10px;
    width: 0;
    height: 0;
    border: 4px solid transparent;
    border-color: #000 transparent transparent transparent;
}

/* Point the arrow upwards when the select box is open (active): */
.select-selected.select-arrow-active:after {
    border-color: transparent transparent #000 transparent;
    top: 12px;
}

/* style the items (options), including the selected item: */
.select-items div,
.select-selected {
    padding: 8px 16px;
    cursor: pointer;
}

/* Style items (options): */
.select-items {
    position: absolute;
    background-color: #fff;
    border: 1px solid var(--theme-primary);
    border-radius: 10px !important;
    overflow: hidden;
    top: 100%;
    left: 0;
    min-width: 100%;
    z-index: 99;
    box-shadow: 0 0 15px rgba(0,0,0,.3);
}

.select-items div {
    white-space: nowrap;
}

/* Hide the items when the select box is closed: */
.select-hide {
    display: none;
}

.select-items div:hover, .same-as-selected {
    background-color: var(--theme-primary);
}

.uc_open_items table td a.imagebutton {
    /*display: none;*/
}

/* Handles disabled form elements */
.custom-select[data-disabled="true"] {
    opacity: 1;
}

.custom-select[data-disabled="true"] .select-selected,
input[type="text"].aspNetDisabled {
    background-color: #f3f3f3 !important;
    border: 1px solid #f3f3f3 !important;
    color: #808080 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #808080 !important;
    -webkit-opacity: 1 !important;
}

/* Order message */
#order_message {
    background: var(--theme-primary) !important;
    color: #2b2b2b;
    border-bottom: 0 !important;
}

/* Tooltips */
.tool-tip {
    position: relative;
}

.tool-tip-icon {
    background-color: var(--theme-secondary);
    color: #fff !important;
    width: 20px !important;
    flex-shrink: 0;
    margin-left: 5px;
    height: 20px;
    border-radius: 15px !important; 
    line-height: 22px;
    display: inline-block;
    text-align: center;
    cursor: pointer;
}

/* Handles default pagers */
.repeater-pager-bottom {
    margin-bottom: 15px;
}

.repeater-pager .pager_numbers {
    align-items: center;
}

.repeater-pager .pager_numbers a.btn-text,
.repeater-pager .pager_previous a.btn-text,
.repeater-pager .pager_next a.btn-text {
    border: none !important;
    background: var(--theme-primary) !important;
    border-radius: 25px !important;
    min-width: 20px !important;
    width: auto !important;
    line-height: 20px !important;
    height: 20px !important;
    margin: 0 5px;
}

.repeater-pager .pager_numbers a.btn-text:hover,
.repeater-pager .pager_previous a.btn-text:hover,
.repeater-pager .pager_next a.btn-text:hover {
    background: #000 !important;
}

.repeater-pager .pager_numbers a.btn-text.active {
    min-width: 30px !important;
    line-height: 30px !important;
    height: 30px !important;
    color: #fff !important;
    background: #000 !important;
}

.repeater-pager .button_previous::before {
    left: 6px;
    font-size: 10px;
    content: "\e910" !important;
    font-family: gs-icons;
}

.repeater-pager .button_next::before {
    left: 6px;
    font-size: 10px;
    content: "\e911" !important;
    font-family: gs-icons;
}

/* Global account fixes */
.block.account .uc_address_block {
    padding: 0 !important;
    margin-bottom: 30px !important;
}

.custom-checkbox input[type="checkbox"] {
    display: none !important;
}

.custom-checkbox input[type="checkbox"] + label {
    display: flex !important;
    align-items: flex-start;
    font-size: 14px;
    transition: all 1s;
    position: relative;
    padding-left: 0 !important;
}

.custom-checkbox input[type="checkbox"] + label::before {
    content: '';
    display: inline-block !important;
    height: 20px;
    width: 20px;
    background: #fff;
    border: 1px solid #838f97;
    background: #f9f9f9;
    margin-right: 8px;
    flex-shrink: 0;
}

.custom-checkbox input[type="checkbox"] + label::after {
    animation-name: test;
    animation-duration: 1s;
}

.custom-checkbox input[type="checkbox"]:checked + label::after {
    position: absolute;
    content: "\f00c";
    font-family: FontAwesome;
    font-size: 15px;
    left: 0;
    display: flex !important;
    justify-content: center;
    align-items: center;
    height: 20px;
    width: 20px;
    top: 0px;
}

/* Product banners */
.product-banners .text-banner {
    text-transform: none;
    font-family: PoppinsBold, Helvetica, Arial, sans-serif;
    font-size: 12px;
}

@media (min-width: 576px) {
    .cmp-product-list-item .product-banners {
        top: 10px;
    }
}

/* END BESPOKE */

.gs-spinner {
    position: fixed;
    height: 100%;
    width: 100%;
    z-index: 10000;
}

.gs-spinner .loader {
    display: inline-block;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transform: translate(-50%, -50%);
    border: 5px solid #CDD2D9; /* Light grey */
    border-top: 5px solid var(--theme-secondary);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.form-control[name*="old_password"] {
    filter: none;
    background-color: var(--theme-primary) !important;
    border: 0;
}

.form-control[name*="old_password"]:-webkit-autofill,
.form-control[name*="old_password"]:-webkit-autofill:hover,
.form-control[name*="old_password"]:-webkit-autofill:focus,
.form-control[name*="old_password"]:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s;
    background-color: var(--theme-primary) !important;
}

/* Product carousel */
.cmp-product-carousel h2 {
    position: relative;
    z-index: 2;
}
@media (max-width: 767px) {
    .cmp-product-carousel .nav-control .fa::before {
        font-size: 16px !important;
    }

    .cmp-product-carousel .nav-control {
        top: 19% !important;
    }
}