html {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
input[type="search"]
{
    -webkit-appearance: none;
    /* 1 */
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    /* 2 */
    box-sizing: border-box;
}
select {
    -webkit-appearance: none;
    padding: 12px 8px;
}


/*:root {*/
/*    --theme-font-size: 0.75rem;*/
/*}*/

.required em,
p.required,
span.required
{display: none;}
/*
 * Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/* Tools */
.hidden       { display:block !important; border:0 !important; margin:0 !important; padding:0 !important; font-size:0 !important; line-height:0 !important; width:0 !important; height:0 !important; overflow:hidden !important; }
.nobr         { white-space:nowrap !important; }
.wrap         { white-space:normal !important; }
.a-left       { text-align:left !important; }
.a-center     { text-align:center !important; }
.a-right      { text-align:right !important; }
.v-top        { vertical-align:top; }
.v-middle     { vertical-align:middle; }
.f-left,
.left         { /*float:left !important;*/ }
.f-right,
.right        { float:right !important; }
.f-none       { float:none !important; }
.f-fix        { float:left; width:100%; }
.no-display   { display:none; }
.no-margin    { margin:0 !important; }
.no-padding   { padding:0 !important; }
.no-bg        { background:none !important; }

/* -------------------------------------------- *
 * Validation
 */
p.required,
.validation-advice {
    margin: 5px 0 0;
    color: #df280a;
    font-size: 13px;
}

@keyframes fadeIn {
    from {
        opacity:0;
    }

    to {
        opacity:1;
    }
}

h1 {
    font-size: 0.813rem;
    padding: 10px;
}


@media (min-width: 768px) {
    h1 {
        font-size: 2rem;
    }

}

@media screen and (min-width: 768px) {
    .nav-primary {
        list-style: none;
    }

    .nav-primary li {
        display: inline-block;

    }
    /*#header-search,#header-account {display: none;}*/
    .nav-primary li a {
        margin-right: 0.5rem;
        padding: 0 10px;
    }
}

button#sidebar-main-menu-mobile {
    border: none;
    background: none;
}

h3 {
    font-size: 0.584rem;
    font-weight: bold;
}

.page h1,.page h3 {text-align: center;}
div.page .col-main h1 {font-size: 0.813rem;}
.logo {
    display: block;
    width: 45%;
    min-width: 156px;
    min-height: 29px;
    text-align: center;
    padding: 10px;
}
@media screen and (min-width: 768px) {
    div.page .col-main h1 {
        font-size: 2rem;
    }
    .logo {
        max-width: 265px;
    }
    .main .col-main div.catalog-info > * {
        font-size: 1.547rem;
    }
}


img {width:100%;}

.skip-content {display: none;}
@media screen and (min-width: 768px) {
    .skip-content {display: block;}
    .skip-links {display: none;}

}

.page-header-container {
    margin: 10px;
    position: relative;
}

/*#header {*/
/*    height: 46px;*/
/*}*/

.banner {
    text-align: center;
    margin-bottom: 0.875rem;
}

.main .col-main * {
    font-size: 0.75rem;
}

.col-main .std,
.catalog-product-view .main-container,
.kratos-login-index .main-container,
.kratos-registration-index .main-container,
.kratos-consent-index .main-container
{
    padding: 0  12px;
}

@media screen and (min-width: 768px) {
    .main .col-main * {
        font-size: 1.149rem;
    }
    .col-main .std,
    .catalog-product-view .main-container
    {padding: 0;}
}


/* fixed the lasted grid right-padding */
.col-main .std .categories.grid {margin-right: -0.938rem;}

.grid-wrapper {border: 1px solid #929497;}

.grid .column.category-grid {padding:0 0.938rem 0.75rem 0;}

@media screen and (min-width: 768px) {
    .grid .column.category-grid {
        padding:0 4.375rem 4.375rem 0;
    }

    .catalog-info {
        margin-bottom: 38px;
    }
}

.categories h1 {margin-top: 20px;}


div.catalog-info p {
    font-size: 0.584rem;
    margin-bottom: 10px;
    font-weight: lighter;
    color: var(--theme-font-color);
}

.catalog-info h3 {margin-bottom: 5px;}

.social-links * {display:inline-block;margin-right:0.875rem;}
.social-links > p {font-size: 0.563rem;}
.social-links > i {font-size: 1rem;}
@media screen and (min-width: 768px) {
    .social-links > p {font-size: 0.951em;}
    .social-links > i {font-size: 1.5rem;}
}


.skip-nav .label, .skip-search .label {text-indent: -99999px; display: inline-block;}
.skip-nav .icon {color: #FF7BAD;font-size: 1.5rem;}
.skip-search .icon {color: #2E3C47;font-size: 1.5rem;}
.skip-search {margin-right: 15px;}
.nav-bar {height: 56px;}
@media screen and (min-width: 768px) {
    .nav-bar {
        height: auto;
        max-width: 1200px;
        margin:0 auto;
    }
}

.nav-bar .page-header-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.account-cart-wrapper {display: inline-block;}

#mobile-searchform-wrapper {
    display: none;
    position: absolute;
    left: 12px;
    top: 56px;
    width: calc(100% - 24px);
    z-index: 2;


}

#search_mobile_form {
    border-radius: 4px;
    background-clip: padding-box;
    padding-left: 1rem;
    padding-right: 5px;
    border: solid 2px #aaa;
    background-color: #f5f5f5;

}

#searcher {display: inline-block;}

.visibilitySearcher #mobile-searchform-wrapper {
    display: block;
    animation: fadeIn 0.4s ease-in;
    opacity: 1;
    padding-bottom: 10px;
    background-color: #fff;
}

#mobile-search {
    font-size: 1.15rem;
    border-radius: 0;
    border: none;
    background-color: transparent;
    padding: 0.5rem;
    box-shadow: none;
}

.col-main .std > *,
.catalog-product-view .col-main,
.kratos-login-index .col-main,
.kratos-registration-index .col-main,
.kratos-recovery-index .col-main,
.kratos-verification-index .col-main,
.customer-account-index .main,
.kratos-settings-index .main,
.newsletter-manage-index .main,
.sales-order-history .main,
.customer-address-form .main,
.customer-account-logoutsuccess .main,
.kratos-consent-index .main
{
    max-width: 1200px;
    margin: 0 auto;
}

.col-main .std > .banner {
    max-width: var(--max-width);
}

/*
  catalog product view
 */
.more-views h2 {
    display: none;
}


.product-image-thumbs.grid .column {
    padding: 0.625rem 0.625rem 0.625rem 0;
}

@media screen and (min-width: 768px) {
    .product-image-thumbs.grid .column {
        padding: 1.438rem 1.438rem 1.438rem 0;
    }

    .product-essential .row.grid  {
        margin-right: -3.125rem;
    }
    .product-essential .row.grid > .column {
        padding-left: 0;
        padding-right: 3.125rem;
    }

}

/* fixed the lasted grid right-padding */
.product-image-thumbs.grid {margin-right: -0.625rem;}

.product-shop .product-name h1,
.product-name span.h1
{
    font-size: 0.813rem;
    text-align: center;
    font-weight: bold;
}
.product-name span.h1 {
    display: none;
    color: var(--font-color);
}

@media screen and (min-width: 768px) {
    .product-name span.h1 {display: block;font-size: 2rem;padding: 62px 0;}
    .product-shop .product-name h1 {display: none;}
}


.short-description {
    color: #FF7BAD;
}

.description,
.short-description {
    font-weight: 200;
}

.product-options dt label {display: none;}
.input-box {
    margin: 2rem 0;
}

div.input-box.custom-option,
div.option
{
    position: relative;
    margin-bottom: 25px;
}
div.input-box.custom-option::after,
div.option::after
{
    position: absolute;
    visibility: visible;
    color: #6D6E71;
    font-family: FontAwesome;
    content: "\f0d7";
    top:8px;
    right: 10px;
    font-size: 1.125rem;
}

div.option.swatch-option::after {content: none;}

div.main div.col-main div.price-box span.price {
    font-size: 1.231rem;
    color: var(--font-color);
}

@media screen and (min-width: 768px) {
    div.main div.col-main div.price-box span.price {
        font-size: 2.266rem;
    }
}

div.main div.col-main div.product-shop {font-size: 0.625rem;}

button {padding: 8px 16px;border:none;background-color: #FF7BAD;}
button.outlined,[type="submit"].outlined {border: 1px solid #FF7BAD;background:none;}

button#start-now,[type="submit"],a#continue {
    background-color: #FF7BAD;
    color: #2E3C47;
    font-size: 0.813rem;
}
@media screen and (min-width: 768px) {
    button#start-now {
        font-size: 1.483rem;
        padding: 16px;
    }

}


ul.product-image-thumbs {
    list-style: none;
    padding: 0;
    margin: 0;
    white-space: nowrap;
    /* overflow-y: hidden;
     overflow-x: auto;*/
}
.product-image-thumbs li {
    /* display: inline-block; */
    max-width: 84px;
    margin: 10px 10px 0 0;
}

@media screen and (min-width: 768px){
    .product-image-thumbs li {
        max-width: 196px;
        margin: 23px 23px 0 0;
    }
    .carousel {
        display: flex;
        flex-wrap: nowrap;
        transition: transform 0.3s ease-in-out;
    }

    .carousel-item {
        flex: 0 0 100%;
        height: auto;
        margin-right: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .prev-button,
    .next-button {
        position: absolute;
        top: calc(50% + 12px);
        transform: translateY(-50%);
        background-color: #333;
        color: #fff;
        padding: 10px 20px;
        border: none;
        cursor: pointer;
    }

    .prev-button {
        left: 0;
    }

    .next-button {
        right: 0;
    }

}


/* image gallery */
.product-image-gallery {
    position: relative;
}
.product-image-gallery .gallery-image {
    display: none;
}
.product-image-gallery .gallery-image.visible {
    display: block;

}
.product-image-gallery .gallery-image.visible.hidden {
    visibility: hidden;
}
.product-image-gallery:before, .product-image-gallery:after {
    content: '';
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    display: none;
}
.product-image-gallery:before {
    background-color: white;
    opacity: 0.8;
    z-index: 2;
}
.product-image-gallery:after {
    background-image: url("../images/opc-ajax-loader.gif");
    background-repeat: no-repeat;
    background-position: center;
    z-index: 3;
}
.product-image-gallery.loading {
    position: relative;
}
.product-image-gallery.loading:before, .product-image-gallery.loading:after {
    display: block;
}

.no-touch .product-image-thumbs a:hover {
    border-color: #c7c7c7;
}


.footer-container {margin: 32px auto 0 auto;max-width: 1200px;}
.footer,
.categories
{text-align: center;}
.copyright {
    font-size: 0.563rem;
    margin-bottom: 30px;
}

.col-main .std .content-container {margin-top: 15px;}

@media screen and (min-width: 768px){
    .col-main .std .content-container {margin-top: 80px;}
    .col-main .std .categories {margin-top: 40px;}
    .footer-container {
        margin-top: 160px;
        padding: 0 80px;
    }
    .copyright {
        font-size: 0.951rem;
    }
    .social-links {float: right;}
    .copyright {float: left;}

}

.product-options .swatch-option  dt  label {display: block;}
.swatch-option  ul,
ul.links
{
    margin-left: 0;
    margin-top: 0;
}

ul.links
{
    list-style: none;
}

nav ul.links {
    display: flex;
    justify-content: space-between;

}


.links li {display: inline-flex;}
.links a {padding: 20px 0;}

/* sidebar-menu  */
#sidebar-main-menu.active {
    left: 0;
}


#sidebar-main-menu {
    position: fixed;
    top: 0;
    left: -400vw;
    width: 100vw;
    height: 100vh;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    transition: left .3s ease .1s , width .3s ease .1s;
    z-index: 100000000;
    overscroll-behavior: contain;
}

#sidebar-main-menu .links {
    display: flex;
    flex-direction: column;
}

#sidebar-main-menu.active {
    left: 0;
}

#sidebar-main-menu .sidebar-header {
    flex-direction: row;
    flex-shrink: 0;
    position: sticky;
    top: 0;
    padding: 1.25rem;
    background-color: #fff;
    z-index: 1
}


#sidebar-main-menu .sidebar-header .dismiss {
    width: 45px;
    height: 45px;
    max-width: 45px;
    max-height: 45px;
    line-height: 45px;
    padding: 0;
    border-radius: 10rem;
    background-color: #fff;
    cursor: pointer
}

#sidebar-main-menu .sidebar-header .dismiss:hover {
    background-color: #f5f5f5
}

#sidebar-main-menu .sidebar-header .dismiss i {
    font-size: 1.5rem;
    padding: 10px;
}

#sidebar-main-menu .sidebar-header .dismiss .fas {
    height: 45px;
}

#sidebar-main-menu .sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


#sidebar-main-menu .sidebar-wrapper {
    display: flex;
    flex-flow: column;
    flex-grow: 20;
}

#sidebar-main-menu .sidebar-wrapper .content {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

#sidebar-main-menu .sidebar-wrapper .content .sidebar-menu {
    background-color: #fff;
    width: 100%;
    padding: 1.75rem 1.25rem 0;
}

#sidebar-main-menu h3.sidebar-menu-title {text-align: left; }

#sidebar-main-menu  h3 {font-size: var(--font-size);}

#sidebar-main-menu .sidebar-wrapper .content .sidebar-menu .sidebar-menu-title a,#sidebar-main-menu .sidebar-wrapper .content .sidebar-menu ul li a {
    padding:.5rem .75rem .75rem 0
}


#sidebar-main-menu .sidebar-wrapper .footer {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

#sidebar-main-menu .sidebar-wrapper .footer .sidebar-menu {
    flex-grow: 1;
    background-color: #fff;
    width: 100%;
    padding: 2rem 1.25rem 7rem;
}

#login {
    width: 100%;
    background-color: #FF7BAD;
    color: #2E3C47;
}
@media screen and (min-width: 768px){
    #login { display: none; }

}

.links a.desktop {display: none;}
@media screen and (min-width: 768px){
    .links a.desktop,#header-account.skip-content > ul.links  a:not(.mobile) { display: block; color: #FF7BAD; }
}

#start-now {
    background-color: #FF7BAD;
    color: #2E3C47;
}

.register-remind {text-align: center;}

.error-msg {color: #DF1642;}
.product-img-box {overflow: hidden;}
div.swiper-container-horizontal>.swiper-pagination-bullets {bottom: -10px;}
.swiper-gallery-container {position: relative;padding-bottom: 20px;}
.more-views {
    position: relative;
    overflow: hidden;
}
.carousel-control {display: none;}

.product-image-zoom  a {
    cursor: zoom-in;
}

.short-description {display: none;}
.price-info > div, .price-info > p {
    display: inline-block;
}

#client-logo {
    max-width:80px;
    margin: 12px auto;
}

.kratos-consent-index .client {
    text-align: center;
}

.kratos-consent-index ul {list-style: none;}
.kratos-consent-index  label {font-weight: 200;}
.consent-actions {padding: 12px 24px;}
#header-account .links li {margin-right: 24px;text-transform: uppercase;}
#header-account .links li.last {margin-right: 0;}

/* --------------------------------
    Pop out panel
    (used for Basket and My Projects)
-------------------------------- */

.tpx-shopping-cart,
.tpx-projectlist
{
    background: #fff;
    width: 320px;
    border-radius: 3px;
    padding: 20px;
    box-shadow: 0 5px 5px 0 rgba(0,0,0,0.3);
    border: 1px solid #ccc;
    display: none;
    position: absolute;
    z-index: 50;
    right: 0;
    top: 58px;
}

@media screen and (min-width: 768px) {
    .tpx-shopping-cart,
    .tpx-projectlist
    {
        width: 340px;
    }

}


.tpx-projectlist:after,
.tpx-shopping-cart:after {
    bottom: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-bottom-color: #ccc;
    border-width: 8px;
    margin-left: -8px;
    right: 15px;
}

#tpx-empty-cart,
#tpx-empty-state
{
    text-align: center;
    position: absolute;
    top: 20px;
    width: 100%;
    color: #a6a6a6;
}

#tpx-empty-cart p,
#tpx-empty-state p
{
    font-size: 14px;
}


.tpx-shopping-cart-header
{
    border-bottom: 1px solid #E8E8E8;
    padding-bottom: 15px;
}

.tpx-shopping-cart-items-container,
.tpx-projectlist-items-container
{
    overflow: auto;
    position: relative;
}

.tpx-shopping-cart-items-container
{
    height: 280px;
}

.tpx-projectlist-items-container
{
    height: 404px;
}

.tpx-loadingspinnercontainer {
    background: url(loading-spinner.svg) center center no-repeat;
    background-size: 30px 30px;
    height: 30px;
    width: 30px;
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}


/* --------------------------------
    Project list
    (shown in Basket and My Projects)
-------------------------------- */

ul.tpx-shopping-cart-items li
{
    background: #fff;
    position: relative;
    margin: 0;
    border-bottom: 1px solid #E8E8E8;
    padding: 15px 0;
    display: block;
}

.tpx-projectlist-items-container ul.tpx-shopping-cart-items li:first-child
{
    padding-top: 0;
}

.tpx-item-projectname
{
    color: #000;
    display: block;
    font-size: 16px;
    padding-right: 25px;
    line-height: 1.4;
    margin-bottom: 5px;
    word-wrap: break-word;
}

.tpx-item-layoutname,
.tpx-item-purge
{
    color: #a6a6a6;
    margin: 0 8px 5px 0;
    display: block;
    font-size: 12px;
}

.tpx-item-purge
{
    color: #F00;
}

.tpx-item-purge a
{
    color: #333;
}

a.tpx-projectaction
{
    color: #0386A2;
    font-size: 13px;
    margin-right: 10px;
}

a.tpx-projectaction:hover
{
    color: #027B95;
}

.tpx-projectinfocontainer {
    position: relative;
}

.tpx-info-container
{
    display: flex;
}

/* Wrap around the thumbnail image, 50px width with img centred inside it */
.tpx-project-preview
{
    width: 50px;
    margin-right: 10px;
    margin-top: 3px;
    text-align: center;
}

/* The thumbnail image */
.tpx-project-preview-thumbnail
{
    max-height: 60px;
    max-width: 50px;
    box-shadow: 0 1px 3px 1px rgba(0,0,0,0.2);
    border: 1px solid #acacac;
}

/* Wrap around project name and layout name and allows for longer/shorter text */
.tpx-project-info-wrap
{
    width: 200px;
}

/* Slightly wider version for the cart */
.tpx-shopping-cart-items-container .tpx-project-info-wrap
{
    width: 220px;
}

.tpx-removefrombasket
{
    position: absolute;
    top: 0;
    right: 10px;
    float: none;
    cursor: pointer;
    height: 12px;
    width: 12px;
    background: url(remove.svg);
    opacity: 0.7;
}

.tpx-removefrombasket:hover
{
    opacity: 1;
}

.tip-popout
{
    visibility: hidden;
    position: absolute;
    left: 0;
    right: 0;
    width: auto;
    margin: 0 auto;
    top: 15px;
    text-align: center;
}

@keyframes popoutFade {
    0%
    {
        visibility: visible;
        opacity: 0;
    }
    5%
    {
        opacity: 1;
    }
    80%
    {
        opacity: 1;
    }
    100%
    {
        opacity: 0;
        visibility: hidden;
    }
}

.tip-popout-visible
{
    animation: popoutFade 4s;
}

.basicModal .tip-popout p
{
    background: rgba(0,0,0,0.7);
    padding: 10px 13px;
    color: #fff;
    border-radius: 3px;
    display: inline-block;
    width: auto;
}

input.share-url
{
    background: #ececec;
    font-size: 12px;
}

input.share-url.basicModal__text:hover
{
    background: #ececec;
}

input.share-url.basicModal__text:focus
{
    background: #ececec;
    box-shadow: 0 1px 0 #c8c8c8;
}


@media only screen and (max-width: 960px) {

    #tpx-basket-bar .tpx-bar-container {
        width: 90%;
    }
}

@media only screen and (max-width: 780px) {

    .tpx-basketLabel
    {
        display: none;
    }

    .tpx-shopping-cart:after
    {
        left: auto;
        right: 13px
    }

    .tpx-shopping-cart,
    .tpx-projectlist
    {
        width: 100%;
        right: auto;
    }

    .tpx-projectlist:after
    {
        right:84px;
    }
}

@media only screen and (max-width: 400px) {
    li.tpx-accountLinkItem
    {
        font-size: 12px;
        margin-right: 10px;
    }
}

.tpx-projects-item-list li {list-style: none;padding-bottom: 8px;margin-bottom:24px;border-bottom: 1px solid #E8E8E8;}
.tpx-emptycartbutton {background-color: #a6a6a6;color: #fff;}
.tpx-checkout-button {background-color: #FF7BAD;color: #fff;}
.tpx-shopping-cart-header {display: none;}
.tpx-shopping-cart .grid.has-centered:nth-child(odd) {margin-bottom: 12px;}
