/* reset by rafaux */
* { margin: 0px; padding: 0px; border: 0px; font-weight: normal; font-size: 100%; list-style: none; line-height: 1; outline: 0px; background: none; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-font-smoothing: antialiased; -ms-font-smoothing: antialiased; -o-font-smoothing: antialiased; font-smoothing: antialiased; }

/* var */
:root { --dark: #272727; --black: #707070; --gray: #bbb; --lightgray: #F2F2F2; --green: #51C07A; --red: #F24B4B; }

/* global class */
.block-vitrine { position: relative; float: left; width: 100%; height: auto; }
.container-vitrine { display: block; width: 1200px; height: auto; margin: 0px auto; }

/* base */
a { text-decoration: none; transition: all .5s ease; }
body { background-color: #fff; font: normal 16px 'Montserrat', sans-serif; }
input, textarea, select, button { font: normal 16px 'Montserrat', sans-serif; appearance: none; -webkit-appearance: none; border-radius: 0px; cursor: pointer; }
input[type=submit], button { transition: all .5s ease; }


#header { height: 84px; margin-bottom: 70px; background-color: var(--red); }
#header span.home { float: left; width: 30px; height: auto; margin-top: 27px; }
#header span.home img { display: block; width: 100%; height: auto; }
#header span.logo a { position: absolute; top: 50%; left: 50%; width: auto; font-weight: 600; font-size: 36px; color: #fff; transform: translate(-50%, -50%); }
#header span.menu { float: right; width: 26px; height: 26px; margin-top: 27px; cursor: pointer; }
#header span.menu b { position: relative; display: block; width: 100%; height: 30px; border-top: 4px solid #fff; }
#header span.menu b::before { position: absolute; top: 6px; left: 0px; width: 100%; height: 4px; background-color: #fff; content: ''; }
#header span.menu b::after { position: absolute; top: 16px; left: 0px; width: 100%; height: 4px; background-color: #fff; content: ''; }

     header -> head 
    header.head { position: relative; display: inline-block; width: 100%; margin-bottom: 20px; }
    header.head h6 { display: inline-block; width: auto; padding: 16px 20px; background-color: var(--dark); color: #fff; font-weight: bold; font-size: 22px; border-radius: 10px; }
    header.head span a { position: absolute; top: 3px; right: 0px; font-weight: 600; font-size: 12px; text-transform: uppercase; color: var(--black); }
    header.head span a i { display: inline-block; margin: -2px 0px 0px 5px; color: var(--red); font-size: 18px; vertical-align: text-top; }
    header.head span a:hover { color: var(--red); }

/* vitrine */
#vitrine { margin-bottom: 60px; }
#vitrine header { display: flex; justify-content: space-between; align-items: center; width: 100%; height: auto; margin-bottom: 30px;}
#vitrine header h6 { color: #D50A0A; font-weight: bold; font-size: 28px; font-weight: 900; }
#vitrine header div span a { font-weight: 600; font-size: 12px; text-transform: uppercase; color: #F24B4B; }
#vitrine header div span a:hover { color: #F24B4B; }
#vitrine header div span a i { display: inline-block; margin: -2px 0px 0px 5px; color: #F24B4B; font-size: 18px; vertical-align: text-top; margin-left: 15px;}
#vitrine header div button{ background-color: #F24B4B; padding: 3px 18px; color: #FFF; border-radius: 15px; font-size: 12px; margin-left: 15px;}
#vitrine .left-vitrine { float: left; width: 50%; height: auto; padding-right: 20px; }
#vitrine .right-vitrine { float: left; width: 50%; height: auto; }
#vitrine section { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 20px; }
#vitrine section article { position: relative; display: block; background-color: #F2F2F2; border: 1px solid #444; overflow: hidden; }
#vitrine section article sup { position: absolute; top: 0px; left: 0px; width: auto; padding: 18px; border-bottom-left-radius: 5px; text-transform: uppercase; font-weight: 600; color: #fff; }
#vitrine .left-vitrine section article { height: 480px; }
#vitrine .left-vitrine section article sup { background-color: var(--red); font-size: 14px; }
#vitrine .left-vitrine section article img { position: absolute; top: 50%; left: 50%; width: auto; max-width: 90%; height: auto; max-height: 90%;
     transform: translate(-50%, -50%); 
     mix-blend-mode: multiply; }
#vitrine .right section article { height: 230px; }
#vitrine .right section article.prod sup { background-color: var(--green); font-size: 12px; }
#vitrine .right section article.prod figure { display: inline-block; width: 100%; height: 100%; background-size: cover; background-position: center center; }
#vitrine .right section article.work { padding: 60px 20px 0px 20px; }
#vitrine .right section article small { position: absolute; bottom: 20px; left: 20px; font-size: 12px; color: var(--gray); font-weight: 600; }
#vitrine .right section article h2 { display: block; font-weight: bold; font-size: 20px; color: var(--dark); }
#vitrine .right section article.work sup { background-color: var(--dark); font-size: 12px; }

/* products */
.c4 { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; grid-gap: 40px; }
.products { margin-top: 60px; margin-bottom: 60px; }
.products .product { position: relative; display: block; height: 300px; border: 1px solid #E5E5E5; border-radius: 5px; overflow: hidden; }
.products .product figure { position: relative; display: inline-block; width: 100%; height: 174px; background-color: #F7F7F7; }
.products .product figure img { position: absolute; top: 50%; left: 50%; width: auto; max-width: 90%; height: auto; max-height: 90%; 
     transform: translate(-50%, -50%); 
 }
.products .product figure small { position: absolute; bottom: 10px; right: 10px; padding: 4px 8px; border-radius: 5px; font-weight: 500; background-color: var(--black); color: #fff; font-size: 12px; text-transform: lowercase; }
.products .product figcaption { display: inline-block; width: 100%; height: calc(100% - 210px); padding: 0px 15px 0px 15px; }
.products .product figcaption h6 { display: block; margin-bottom: 10px; font-weight: 700; font-size: 14px; color: var(--gray); }
.products .product figcaption strong { display: block; font-weight: 700; font-size: 22px; color: var(--black); }
.products .product footer { position: absolute; bottom: 0px; left: 0px; width: 100%; height: 36px; }
.products .product footer span a { float: left; width: 50%; height: 36px; text-transform: uppercase; text-align: center; line-height: 36px; font-weight: 600; font-size: 12px; }
.products .product footer span:nth-of-type(1) a { background-color: var(--red); color: #fff; }
.products .product footer span:nth-of-type(2) a { background-color: var(--lightgray); color: var(--black); }

/* cupons */
.cupons { margin-bottom: 60px; }
.cupom { position: relative; display: inline-block; height: 260px !important; margin: 0px 16px; border: 1px solid #E5E5E5; border-radius: 5px; overflow: hidden; }
.cupom figure { display: inline-block; width: 100%; height: 134px; background-size: cover; background-position: center center; }
.cupom figcaption { display: inline-block; width: 100%; height: calc(100% - 164px); padding: 15px 15px 0px 15px; }
.cupom figcaption small { display: block; margin-bottom: 10px; font-size: 14px; color: var(--gray); font-weight: 500; }
.cupom figcaption strong { display: block; font-weight: 600; font-size: 16px; }
.cupom footer { position: absolute; bottom: 0px; left: 0px; width: 100%; height: 30px; }
.cupom footer span a { float: left; width: 100%; height: 30px; text-align: center; line-height: 30px; font-weight: 600; font-size: 12px; text-transform: uppercase; background-color: var(--green); color: #fff; }

/* carousel */
.carousel { padding: 0px 60px; }
.carousel .slick-arrow { position: absolute; top: 50%; width: 42px; height: 42px; background-color: #7C7C7C; color: #fff; line-height: 42px; text-align: center; font-size: 20px; border-radius: 100%; 
    /* transform: translateY(-50%); */
     box-shadow: 0px 3px 6px rgba(0,0,0,.1); }
.carousel .slick-arrow.prev { left: 10px; }
.carousel .slick-arrow.next { right: 10px; }
.carousel.c4 .product { margin: 0px 16px; }

/* product */
#product { margin-top: 70px; margin-bottom: 70px; }
#product .featured { position: relative; float: left; width: 40%; height: 390px; background-color: #F3F2F2; border-radius: 10px; }
#product .featured figure { position: relative; display: inline-block; width: 100%; height: 390px; }
#product .featured figure img { position: absolute; top: 50%; left: 50%; width: auto; max-width: 90%; height: auto; max-height: 90%;
      transform: translate(-50%, -50%);  
    }
#product .featured sup { position: absolute; top: 30px; left: 0px; width: auto; padding: 7px 15px; background-color: var(--dark); color: #fff; text-transform: uppercase; border-top-right-radius: 10px; border-bottom-right-radius: 10px; font-weight: 500; font-size: 14px; }
#product .info { position: relative; float: right; width: 60%; height: auto; padding-left: 30px; }
#product .info small { display: block; margin: 5px 0px 8px 0px; color: var(--black); font-weight: 500; font-size: 14px; text-transform: uppercase; }
#product .info h1 { display: block; margin-bottom: 20px; font-weight: 500; font-size: 36px; }
#product .info img { position: absolute; top: 0px; right: 0px; width: 190px; height: auto; }
#product .info em { display: block; font-weight: bold; font-style: normal; font-size: 18px; color: var(--gray); text-decoration: line-through; }
#product .info strong { display: block; margin: 3px 0px 20px 0px; font-weight: bold; font-size: 30px; color: var(--red); }
#product .info span.stock { display: inline-block; width: auto; padding: 10px 20px; background-color: var(--dark); color: #fff; font-weight: 600; font-size: 12px; text-transform: uppercase; border-radius: 50px; }
#product .info footer { display: inline-block; width: 100%; height: auto; margin-top: 70px; }
#product .info footer span.left-vitrine { float: left; width: 50%; height: auto; text-align: left; }
#product .info footer span.left-vitrine button { display: inline-block; width: 390px; height: 60px; background-color: var(--green); color: #fff; font-weight: 500; text-transform: uppercase; border-radius: 10px; }
#product .info footer span.right-vitrine { float: right; width: 50%; height: auto; text-align: right }
#product .info footer span.right-vitrine nav li { display: inline-block; width: auto; margin-left: 7px; font-size: 20px; }
#product .info footer span.right-vitrine nav li a { display: block; width: 60px; height: 60px; background-color: var(--dark); color: #fff; line-height: 60px; text-align: center; border-radius: 5px; }
#product .info footer span.right-vitrine nav li.url a { background-color: #3E98AE; }
#product .info footer span.right-vitrine nav li.fb a { background-color: #4642A5; }
#product .info footer span.right-vitrine nav li.wp a { background-color: #42A577; }
#product .info footer b { display: block; margin-bottom: 10px; font-weight: 500; font-size: 12px; color: var(--gray) }
#product .desc { display: inline-block; width: 100%; height: auto; margin-top: 40px; }
#product .desc p { display: block; margin-bottom: 40px; line-height: 2; }
#product .spec nav ul li { display: inline-block; width: 100%; height: auto; margin-bottom: 20px; }
#product .spec nav ul li h6 { display: inline-block; width: auto; margin-right: 10px; vertical-align: middle; font-weight: bold; }
#product .spec nav ul li p { display: inline-block; width: auto; vertical-align: middle; }
#product .spec nav ul li small { display: inline-block; width: auto; margin-right: 5px; padding: 10px; vertical-align: middle; background-color: var(--lightgray); border: 1px solid var(--gray); border-radius: 3px; font-size: 14px; }
#product .spec footer p { display: block; line-height: 2; }
#product .spec footer p strong { font-weight: 500; color: var(--red); }

/* box */
.box { display: none; position: fixed; z-index: 4000; top: 0px; left: 0px; width: 100%; height: 100%; background-color: rgba(0,0,0,.7); }
.box .cp { position: absolute; top: 50%; left: 50%; width: 500px; height: auto; background-color: #fff; border-radius: 5px; overflow: hidden;
    transform: translate(-50%, -50%); 
     }
.box .cp header { display: inline-block; width: 100%; height: auto; background-color: var(--red); border-bottom-left-radius: 30px; }
.box .cp header strong { display: block; padding: 20px 0px 20px 20px; text-transform: uppercase; color: #fff; font-weight: 500; font-size: 18px; }
.box .cp section { display: inline-block; width: 100%; height: auto; padding: 40px; }
.box .cp section p { display: block; line-height: 1.8; }
.box .cp section span.code { display: block; width: 80%; margin: 30px auto; border: 1px dashed var(--red); border-radius: 10px; overflow: hidden; }
.box .cp section span.code b { display: inline-block; width: calc(100% - 50px); height: 50px; margin-right: -5px; text-align: center; color: var(--red); font-weight: 500; text-transform: uppercase; line-height: 48px; vertical-align: middle; }
.box .cp section span.code sup { display: inline-block; width: 50px; height: 50px; border-left: 1px dashed var(--red); color: var(--red); font-size: 20px; text-align: center; line-height: 50px; vertical-align: middle; cursor: pointer; transition: all .5s ease; }
.box .cp section span.code sup:hover { background-color: var(--red); color: #fff; }
.box .cp section button { display: inline-block; width: 100%; height: 50px; border-radius: 10px; background-color: var(--red); color: #fff; font-weight: 500; text-transform: uppercase; }

.box .cp section span.code sup{
    top: 0 !important;
    border-radius: 10px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

@media (max-width: 1200px){

     /* global */
     .container-vitrine { width: 100%; padding: 0px 20px; }
 
 }
 
 @media (max-width: 1050px){
 
     /* #product */
     #product .info footer span.left-vitrine button { width: 100%; }
 
 }
 
 @media (max-width: 900px){
 
     /* c4 */
     .c4 { grid-template-columns: 1fr 1fr 1fr; }
 
 }
 
 @media (max-width: 780px){
 
     /* vitrine */
     #vitrine .left-vitrine { width: 100%; margin-bottom: 20px; padding-right: 0px; }
     #vitrine .right-vitrine { width: 100%; }
 
     /* product */
     #product .featured { width: 100%; }
     #product .info { width: 100%; padding-top: 30px; padding-left: 0px; }
 
 }
 
 @media (max-width: 700px){
 
     /* header */
     #header span.logo a { font-size: 24px; }
 
         /* header -> head */
         header.head h6 { font-size: 16px; }
 
     /* c4 */
     .c4 { grid-template-columns: 1fr 1fr; }
 
 }
 
 @media (max-width: 520px){
 
     /* header */
     #header span.logo a { font-size: 18px; }
 
     /* c4 */
     .c4 { grid-template-columns: 1fr; }
 
     /* product */
     #product .info h1 { font-size: 24px; }
     #product .info img { top: 30px; width: 80px; }
     #product .info footer { margin-top: 30px; }
     #product .info footer span.left-vitrine { width: 100%; }
     #product .info footer span.right-vitrine { width: 100%; margin-top: 20px; text-align: left; }
     #product .info footer span.right-vitrine nav li { margin-left: 0px; margin-right: 7px; }
     #product .spec nav ul li h6 { display: block; margin-right: 0px; margin-bottom: 10px; }
 
     /* box */
     .box .cp  { width: 90%; }
 
 }
 
 @media (max-width: 440px){
 
     /* vitrine */
     #vitrine section { grid-template-columns: 1fr; }    
 
 }