/*--------------------------------------------------------------
Bootstrap
--------------------------------------------------------------*/
.container {padding-right: var(--p-max);padding-left: var(--p-max);}
.container-fluid {padding-right: var(--p-mag);padding-left: var(--p-mag);}
.container.slim {max-width: 118rem;}
.container.slimest {max-width: 98rem;}
.slimContainer {max-width: 80rem}
.page .container.slim {max-width: 128rem;}

.py-max { padding-bottom:var(--p-max); padding-top: var(--p-max);}
.pl-max {padding-left:var(--p-max)}
.pr-max {padding-right:var(--p-max)}
.pt-max { padding-top: var(--p-max);}
.pb-max { padding-bottom: var(--p-max);}
.p-mag {padding:var(--p-mag)}
.pl-mag {padding-left:var(--p-mag)}
.pr-mag {padding-right:var(--p-mag)}
.pt-mag {padding-top:var(--p-mag)}

.p-half {padding: .4rem;}
.py-half {padding-top: .4rem; padding-bottom: .4rem;}
.py-skew {padding-top: .4rem; padding-bottom: .38rem;}

.mb-o { margin-bottom: .1rem;}
.mr-o { margin-right: .1rem;}
.mb-half {margin-bottom: .4rem !important;}
.mt-half {margin-top: .4rem !important;}

.pb-o { padding-bottom: .1rem;}

.row.mo0 {
    margin-right: -.05rem;
    margin-left: -.05rem;
}

.row.mo0 > .col, .row.mo0 > [class*="col-"] {
    padding-right: .05rem;
    padding-left: .05rem;
}


.row.m0 {
    margin-right: -.1rem;
    margin-left: -.1rem;
}

.row.m0 > .col, .row.m0 > [class*="col-"] {
    padding-right: .1rem;
    padding-left: .1rem;
}

.row.mm {
    margin-right: -.8rem;
    margin-left: -.8rem;
}

.row.mm > .col, .row.mm > [class*="col-"] {
    padding-right: .8rem;
    padding-left: .8rem;
}

.row.mm- {
    margin-right: -.4rem;
    margin-left: -.4rem;
}

.row.mm- > .col, .row.mm- > [class*="col-"] {
    padding-right: .4rem;
    padding-left: .4rem;
}



@media (min-width: 780px) {
    .row.mA {margin-right: -1.6rem;margin-left: -1.6rem;}
    .row.mA > .col, .row.mA > [class*="col-"] {padding-right: 1.6rem;padding-left: 1.6rem;}
}

@media (min-width: 1281px) {
    .pb-max-lg { padding-bottom: var(--p-max) !important;}
    .pl-max-lg { padding-left: var(--p-max) !important;}
    .pr-max-lg { padding-right: var(--p-max) !important;}
    .row.mA {margin-right: -3.2rem;margin-left: -3.2rem;}
    .row.mA > .col, .row.mA > [class*="col-"] {padding-right: 3.2rem;padding-left: 3.2rem;}
}

@media (min-width: 1600px) {
    .pb-max-xl { padding-bottom: var(--p-max) !important;}
    .pl-max-xl { padding-left: var(--p-max) !important;}
    .pr-max-xl { padding-right: var(--p-max) !important;}
}

@media (max-width: 1550px) {
    .p-mag-y-md {padding-bottom: calc(var(--p-mag) * 2);padding-top: calc(var(--p-mag) * 2);}
    .pt-mag {padding-top:calc(var(--p-mag) * 2)}
    
    .py-04-md {padding-top: .4rem !important; padding-bottom: .4rem !important;}
    
}

@media (max-width: 1280px) {
    .py-max { padding-bottom:calc(var(--p-max) * 2); padding-top: calc(var(--p-max) * 2);}
}

@media (max-width:1024px) {
    .py-max { padding-bottom:calc(var(--p-max) * 1.2); padding-top: calc(var(--p-max) * 1.2);}
}

@media (max-width: 1180px) {
    
    .row.mm-sm {
        margin-right: -.8rem;
        margin-left: -.8rem;
    }
    
    .row.mm-sm > .col, .row.mm-sm > [class*="col-"] {
        padding-right: .8rem;
        padding-left: .8rem;
    }
}


@media (max-width: 820px) {
    .py-skew {padding-top: .4rem; padding-bottom: .3rem;}
    
    .pl-xss-0 {
        padding-left: 0;
    }
    .pb-xss-MaX {
        padding-bottom: calc(var(--p-max) * 3);
    }
    
    .pb-xss-0 {
        padding-bottom: 0;
    }
    .overflow-xs {
        overflow: hidden;
    }
    .row.mm-xs {
        margin-right: -.8rem;
        margin-left: -.8rem;
    }
    
    .row.mm-xs > .col, .row.mm-xs > [class*="col-"] {
        padding-right: .8rem;
        padding-left: .8rem;
    }
    
    .maXXOt {
        margin-left: -4rem !important;
        margin-right: -4rem !important;
    }
    .brXs-none {border: none !Important;}
    
    .py-02-xs {padding-top: .2rem !important; padding-bottom: .2rem !important;}
    
}

@media (max-width:680px) {
    .maXXOt {
        margin-left: -2.4rem !important;
        margin-right: -2.4rem !important;
    }
.p-mag-yS-xs {padding-bottom: var(--p-mag);padding-top: calc(var(--p-mag) * 2.5);     min-height: 40rem;}
.pb-max { padding-bottom: calc(var(--p-mag) * 2);}
    @media (max-width:1024px) {
        .py-max { padding-bottom:calc(var(--p-max) * 2.5); padding-top: calc(var(--p-max) * 2.5);}
    }
}

/*--------------------------------------------------------------
Buttons
--------------------------------------------------------------*/

.btn-l {
    position: relative;
    padding-bottom: 0.4rem;
}

.btn-l.f-n {
    font-size:100% !important;
}

button.btn-l {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0 0.4rem 0 0;
}

.btn-l:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: .1rem;
    background: currentColor;
    transform: scaleX(0);
    opacity: .6;
    transform-origin: right;
    transition: transform .7s cubic-bezier(.19,1,.22,1) .2s;
}

.btn-l:hover:before, article:hover .btn-l:before {
    transform: scaleX(1);
    transform-origin: left;
    transition-delay: 0s;
}

.btn-l.arr:after {
    font-family: 'icons', sans-serif;
    content: "\f19a";
    position: relative;
    margin-left: 0.6rem;
    font-size: 80%;
    transform: scaleX(0);
    transition: transform .5s cubic-bezier(.19,1,.22,1) .6s;
    display: inline-block;
}
.btn-l:hover:after, article:hover .btn-l:after {
    transform: scaleX(1);
    transform-origin: left;
    transition-delay: 0.2s;
    /* overflow: hidden; */
}

@media (max-width: 1025px) {
    .btn-l:before {
        transform: scaleX(1);
    }
    
    .btn-l:hover:before, article:hover .btn-l:before {
        transform: scaleX(0);
        transform-origin: right;
    }
    
    .btn-l.arr:after {
        transform: scaleX(1);
    }
    .btn-l:hover:after, article:hover .btn-l:after {
        transform: scaleX(0);
        transform-origin: right;
    }
}


/* loading */
button.btn-l:disabled {
    background: transparent;
}
button.btn-l:disabled .loading-dots {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: var(--gray-light);
    display: flex;
    align-items: center;
    justify-content: left;
}

button.btn-l:disabled .loading-dots >  div {
    display: inline-block;
    margin: 0 .25rem;
    background: var(--gray-dark);
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 50%;
    animation: loading-dots 0.6s alternate infinite;
}

button.btn-l:disabled .loading-dots div:nth-of-type(2) {
    animation-delay: 0.2s;
}
button.btn-l:disabled .loading-dots > div:nth-of-type(3) {
    animation-delay: 0.4s;
}

@keyframes loading-dots { 0% {-webkit-transform: scale(0,0);} 100% {-webkit-transform: scale(1,1);} }


@media (max-width: 1025px) {
    
    .card__pr button.btn-l:after {
        font-family: 'icons', sans-serif;
        content: "\f172";
        position: relative;
        margin-left: 0.4rem;
        font-size: 80%;
        transform: scaleX(1);
        transition: transform .5s cubic-bezier(.19,1,.22,1) 1.2s;
        padding-top: 0.2rem;
    }
    .card__pr button.btn-l {
        padding: 0.2rem 1.2rem;
        font-size: 1.1rem;
        border: solid 0.1rem var(--black);
        isolation: isolate;
        border-radius: 25rem;
        overflow: hidden;
        display: flex;
        align-items: center;
    }
    .card__pr button.btn-l:before {
        opacity: 1;
        width: 100%;
        height: 110%;
        background:transparent;
        transform: scaleX(0);
        transform-origin: right;
        z-index: -1;
    }
    
    .card__pr  button.btn-l:hover:before {
        transform: scaleX(1);
        transform-origin: left;
        transition: transform .5s cubic-bezier(.19,1,.22,1) 1.2s;
    }
    
    .card__pr  button.btn-l:hover:after {
        content: "\ea1f";
        transform-origin: left;
    }
    
    button.btn-l:disabled .loading-dots {
        background: var(--black);
        align-items: center;
        justify-content: center;
    }
    
    button.btn-l:disabled .loading-dots >  div {
        background: var(--white-v);
    }
}

/*--------------------------------------------------------------
Swiper
--------------------------------------------------------------*/
.swiper-wrapper.row {
    flex-wrap: initial;
    -ms-flex-wrap: initial;
}

.swiper.ed {overflow: visible;}


/*--------------------------------------------------------------
Card product
--------------------------------------------------------------*/

.card__pr picture {
    background: var(--gray-lighter);
    padding: .8rem
}

.card__pr:hover .img2 {opacity: 1;}

.card__pr .img2 {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: all .4s cubic-bezier(.19,1,.22,1);
    opacity: 0;
    z-index: 1;
}

.card__pr picture.img2 {
    padding: 0;
}

.gl-pris {
    text-decoration-line: line-through;
    -webkit-text-decoration-line: line-through;
    text-decoration-color: var(--black);
}

.bbl {
    user-select: none;
    font-size: var(--small);
    position: absolute;
    z-index: 50;
    top: 0;
    right: 0;
    padding: .3rem .4rem;
    line-height: 1;
}

.bbl.new {
    right: auto;
    left: 0.8rem;
    top: 0.8rem;
    border-radius: 50%;
    width: 5rem;
    height: 5rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--trans);
    color: var(--gray-dark);
}

/*--------------------------------------------------------------
Overlays
--------------------------------------------------------------*/


/*--------------------------------------------------------------
Single pages
--------------------------------------------------------------*/

.p-her-O {min-height: 32rem;}


/*--------------------------------------------------------------
Shortcodes
--------------------------------------------------------------*/

/*Certs*/
.certsAll img {
    height: 6rem;
    object-fit: scale-down;
    width: auto;
}

.certsAll .ceBl{
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0.05rem solid var(--gray);
    position: relative;
    height: 20rem;
}

@media screen and (max-width: 1025px) {
    
    .certsAll img {
        height: 5rem;
    }
}
@media screen and (max-width: 680px) {
    .certsAll .ceBl img {
        height: 5rem;
    }
    .certsAll img {
        height: 3rem;
    }
}