* , :after, :before {
    box-sizing: border-box;
    outline: none;
}

html, body {
    background: #f0f2f5;
    font-family: 'IBM Plex Sans';
    color: #6f7077;
}
body {
    font-size: 100%;
}

ul, ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

a {
    color:#1b76f6;
}
a:hover {
    color:#155dc2;
}

h2 {
    font-size: 2.375rem;
    font-weight: 500;
    color: #5c646e;
    line-height: 1.25;
    padding: 0;
    margin: 155px 0 60px;
    position: relative;
    z-index:4;
}
h2.main {
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.04;
    color: #40454b;
    margin: 115px 0 14px;
}
h2.content {
    margin-bottom: 38px;
}
h2.content_min {
    margin-bottom: 0;
}

p {
    font-size: 1rem;
    line-height: 1.56;
    margin: 0;
    padding: 0;
    position: relative;
    z-index:4;
}

header {
    background :#fff;
    position: relative;
    z-index: 6;
}
header .central-info {
    background: #f42456;
}
header .central-info.site span,
header .central-info a {
    color: #fff;
    text-decoration: none;
    display: inline-block;
    padding: 24px;
    font-size: 0.875rem;
}
header .central-info a:hover {
    background: #bb153d;
    transition: all 0.2s ease-out;
}
header .central-info i {
    margin-right: 5px;
}
header .central-info b {
    font-weight: 400;
}
header .logo > a {
    display: inline-block;
}
header h1 {
    background: url('/storage/company/2/img/logotipo-pierre.png') no-repeat;
    height: 40px;
    width: 193px;
    overflow: hidden;
    text-indent: -2000px;
    display: inline-block;
}

nav {
    color: #40454b;
    padding: 24px;
    position: relative;
}
nav.active {
    cursor: pointer;
}
nav > a {
    text-decoration: none;
}
nav > a:hover > span{
    color: #bb153d;
}
nav > span,
nav > a > span {
    color: #575b5c;
    font-size: 0.9375rem;
}
nav > span > i,
nav > a > span > i {
    color: #bb153d;
    margin-right: 5px;
}
nav > span > b,
nav > a > span > b {
    font-weight: 600;
}
nav > figure {
    margin: 0 0 0 22px;
    border-radius: 50%;
}
nav > figure img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

nav > .sub-menu {
    display: none;
    position: absolute;
    right: 25px;
    top: 70px;
}
nav:hover > .sub-menu {
    display: block;
}
nav > .sub-menu ul {
    padding: 10px 0;
    margin: 15px 0 0;
    min-width: 220px;
    list-style: none;
    border-radius: 2px;
    box-shadow: 0 0 8px 0 rgba(34, 41, 51, 0.1);
    background-color: #ffffff;
    overflow: hidden;
}
nav > .sub-menu ul a {
    display: block;
    white-space: nowrap;
    color: #575b5c;
    padding: 14px 30px;
    text-decoration: none;
    font-size: 0.875rem;
}
nav > .sub-menu ul a:hover {
    color: #fff;
    background: #d31946;
}
nav > .sub-menu ul a i {
    margin-right: 5px;
    width: 20px;
    text-align: center;
    display: inline-block;
}

.nav-bar {
    display: none;
    color: #40454b;
    font-size: 1.375rem;
}

nav > strong,
nav > a.nav-bar-close {
    display: none;
}


/*INPUTS*/

.query {
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 0 8px 0 rgba(34, 41, 51, 0.1);
    padding: 45px;
    margin: 90px 10px 0;
    position: relative;
    z-index: 3;
}
.query .forms {
    list-style: none;
    padding: 0;
    margin: 0;
}
.query .forms li {
    display: inline-block;
    padding-right: 40px;
}
.query .forms li a {
    font-size: 1rem;
    font-weight: 600;
    color: #80818d;
    text-decoration: none;
    position: relative;
    display: block;
    padding-bottom: 10px; 
    transition: all 0.2s ease-out;
}
.query .forms li a::after {
    content: '';
    height: 3px;
    background: #f42456;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 100%;
    transition: all 0.2s ease-out;
}
.query .forms li.active a,
.query .forms li a:hover {
    color:#40454b;
}
.query .forms li.active a::after {
    right: 0;
}
.query form {
    margin-top: 55px;
}
.query .button {
    text-transform: uppercase;
    font-weight: 600;
}

.box {
    margin-top: 60px;
    position: relative;
}
.box li {
    background: #fff;
    border-radius: 3px;
    text-align: center;
    padding: 50px 35px;
}
.box li i {
    font-size: 4.5rem;
}
.box li h3 {
    font-size: 1rem;
    margin: 0;
    padding: 40px 0 20px;
    color: #5c646e;
}
.box li p {
    font-size: .875rem;
    margin: 0;
    padding: 0;
    color: #6f7077;
}
.box div.box_item {
    padding-left: .75rem;
    padding-right: .75rem;
}

.comments {
    background: #ea1d4f;
    margin-top: 160px;
}
.comments h2 {
    color: #fff;
    margin: 40px 0 20px;
}
.comments > div {
    position: relative;
    top: 50px;
}
.comments .box li {
    text-align: left;
}
.comments .box p {
    text-align: left;
    height: 140px;
    overflow: auto;
    margin-bottom: 20px;
}
.comments .box strong {
    font-size: 1rem;
    display: block;
}
.comments .box span {
    font-size: .875rem;
}

figure.photo {
    margin: 0 15px 0 0;
    border-radius: 50%;
}
figure.photo img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.questions {
    padding-left: 80px;
}
.questions li {
    background: #fff;
    padding: 0;
    margin-bottom: 24px;
    border-radius: 3px;
    position: relative;
    transition: all 0.2s ease-out;
    box-shadow: 1px 1.7px 5px 0 rgba(92, 100, 110, 0);
}
.questions li:hover {
    box-shadow: 1px 1.7px 5px 0 rgba(92, 100, 110, 0.2);
}
.questions h3 {
    font-size: 1rem;
    color: #6f7077;
    margin: 0;
    padding: 25px 35px;
    font-weight: 500;
    cursor: pointer;
}
.questions h3 b {
    font-size: .9285714285714286rem;
    color: #bb153d;
    margin-right: 10px; 
}
.questions h3 i {
    color: #40454b;
    font-size: .875rem;
    position: absolute;
    top: 28px;
    right: 25px;
}
.questions .text {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.2s ease-out;
} 
.questions p {
    font-size: .875rem;
    margin: 0;
    padding: 20px 35px 25px;
    
}
.questions li.active .text {
    max-height: 200px;
    overflow: auto;
    opacity: 1;
}

footer {
    background: #40454b;
    color: #fff;
    text-align: center;
    padding: 37px 0;
    font-size: .875rem;
    margin-top: 90px;
}

/*IMAGES*/
.top {
    position: relative;
}
.top div.deliveryman {
    position: absolute;
    right: 10px;
    bottom: 110px;
    width: 368px;
    height: 474px;
    z-index: 2;
}
.top div.map {
    position: absolute;
    background: url('/storage/company/2/img/mapabrasil.png') no-repeat 0 0;
    right: 40px;
    bottom: 215px;
    width: 419px;
    height: 342px;
    overflow: hidden;
    z-index: 1;
}
.top div.deliveryman img {
    width: 100%;
}

#hiring {
    position: relative;
    z-index: 0
}
#hiring .box-1 {
    position: absolute;
    right: 0;
    top: 370px;
    background: url('/storage/company/2/img/box-right-1.png') no-repeat 0 0;
    width: 342px;
    height: 377px;
    z-index: 3;
}
#hiring .box-2 {
    position: absolute;
    right: 0;
    top: -20px;
    background: url('/storage/company/2/img/box-right-2.png') no-repeat 0 0;
    width: 191px;
    height: 286px;
    z-index: 2;
}
#hiring .box-3 {
    position: absolute;
    right: 280px;
    top: 200px;
    background: url('/storage/company/2/img/box-right-3.png') no-repeat 0 0;
    width: 189px;
    height: 157px;
    z-index: 1;
}

ol.hiring {
    position: relative;
    z-index: 4;
}
ol.hiring img.arrow {
    position: absolute;
    left: -115px;
    bottom: -22px;
}
ol.hiring li:first-child {
    position: relative;
    z-index: 1;
}

#about {
    position: relative;
    margin-top: 90px;
    z-index: 0;    
}
#about .box-1 {
    position: absolute;
    left: 0;
    top: -80px;
    background: url('/storage/company/2/img/box-left-1.png') no-repeat -120px 0;
    width: 292px;
    height: 453px;
    z-index: 3;
}
#about .box-2 {
    position: absolute;
    left: 0;
    top: -300px;
    background: url('/storage/company/2/img/box-left-2.png') no-repeat -80px 0;
    width: 163px;
    height: 283px;
    z-index: 2;
}
#about .box-3 {
    position: absolute;
    left: 230px;
    top: 30px;
    background: url('/storage/company/2/img/box-left-3.png') no-repeat 0 0;
    width: 189px;
    height: 157px;
    z-index: 1;
}
#about .photo {
    text-align: right;
    max-height: 450px;
    position: relative;
}
#about .photo > div {
    display: inline-block;
    text-align: right;
}
#about .photo div.photo-1 {
    display: block;
    position: relative;
    top: -280px;
}
#about .photo div.photo-1 .icon-photo-1 {
    width: 64px;
    height: 60px;
    background-color: #d8dee7;
    position: absolute;
    right: 510px;
    bottom: 120px;
}
#about .photo div.photo-1 .icon-photo-2 {
    width: 129px;
    height: 146px;
    background-color: #c2c8d2; 
    position: absolute;
    right: 352px;
    bottom: 0;
}
#about .photo div.photo-2 {
    position: relative;
    top: -270px;
}
#about .photo div.photo-3 {
    position: relative;
    top: -370px;
    left: -25px;
}

/*FORMS*/
input[type=text],
input[type=password] {
    border-radius: 2px;
    border:  solid 1px #fff;
    position: relative;
    font-weight: 300;
    height: 56px;
    margin: 15px 0 0;
    display: block;
    width: 100%;
    padding: 0 15px;
    font-size: 16px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input.medium {
    width:50%;
}
input:focus {
    box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.05);
}
input:disabled {
    background: #dadfe6;
    border-color: #dadfe6;
    cursor: not-allowed;
}
input:read-only {
    cursor: not-allowed;
    color: #575b5c;
}

input.error {
    border-color: #fe0c47;
}

input[type=checkbox] {
    margin: 0 15px 0 0;
}

input.question {
    transition: padding-top 0.2s ease, margin-top 0.2s ease;
    overflow-x: hidden;
}
input.question.confirmed {
    padding: 17px 15px 0;
}
input.question + label {
    display: block;
    position: relative;
    white-space: nowrap;
    height: 0;
}
input.question:focus + label > span,
input.question:not([value='']) + label > span {
    top: -44px;
    font-size: 12px;
}

input.question + label > span {
    font-weight: 300;
    margin: 0;
    position: absolute;
    color: #919799;
    font-size: 16px;
    top: -38px;
    left: 16px;
    transition: top 0.2s ease, font-size 0.2s ease, color 0.2s ease;
}


input[type=text].line,
input[type=password].line {
    background: none;
    border: none;
}
input.line + label {
    display: block;
    position: relative;
    white-space: nowrap;
    height: 0;
    border-top: solid 1px #b7babf;
    border-bottom: solid 1px transparent;
    transition: all 0.2s ease-out;
}
input.line + label > span,
input.line:focus + label > span, 
input.line:not([value='']) + label > span {
    left: 2px;
}
input:focus {
    box-shadow: none;
}
input.line:focus + label {
    border-top: solid 1px #6a9bf6;
    border-bottom: solid 1px #6a9bf6;
}
input.line.error + label {
    border-top: solid 1px #fe0c47;
    border-bottom: solid 1px #fe0c47;
}
input.line.confirmed {
    padding-left: 2px;
    padding-right: 2px;
}


input.checkbox {
	display: none;
}
input.checkbox + label {
	background: #fff;
	border: 2px solid #dde1e6;
	padding: 6px;
	border-radius: 2px;
	display: inline-block;
	position: relative;
    cursor: pointer;
    top: 2px;
    margin: 0 15px 0 0;
}
input.checkbox + label:active, input.checkbox:checked + label:active {
	box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.1);
}
input.checkbox:checked + label {
	background: #6a9bf6;
	border: 2px solid #6a9bf6;
	color: #fff;
}
input.checkbox:checked + label:after {
    font-family: 'Font Awesome 5 Pro';
    content: '\f00c'; 
    font-weight: 900;
	font-size: 10px;
	position: absolute;
	top: 1px;
	left: 1px;
	color: #fff;
}
input.checkbox:disabled + label:hover {
    cursor: not-allowed;
}


label.line-through {
    text-decoration: line-through;
    color: #919799;
}

.button {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    height: 48px;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 0;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background: #bb153d;
    border-radius: 3px;
    color: #fff;
    transition: all 0.2s ease-out;
    width: 100%;
}
.button:hover {
    background: #d41743;
    color: #fff;
    box-shadow: 0px 3px 5px 0 rgba(34, 41, 51, 0.3);
}
.button.large {
    height: 56px;
}
a.button {
    padding-top: 1rem;
}
.button i {
    margin-right: 5px;
}

/*GRID AJUSTES*/
.grid-container {
    max-width: 63rem;
}

/* SLICK */
.slick-prev, .slick-next {
    display: none !important;
}

.slick-dots {
    position: absolute;
    bottom: -45px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 10px;
    padding: 0;
    cursor: pointer;
    background: transparent;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 10px;
    height: 10px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    outline: none;
    background: #5c646e;
    border-radius: 50px;
}
.slick-dots li.slick-active button {
    background: #ea1d4f;
}


/*
Abas
*/
.flap {
    position: relative;
} 
.flap > ul {
    list-style: none;
    padding: 0;
    margin: 80px 0 40px;
    position: relative;
}
.flap.underline > ul::after {
    content: ' ';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #d4d8dd;
    height: 2px;
    z-index: 0;
}
.flap > ul li {
    display: inline-block;
}
.flap > ul li a {
    font-size: 14px;
    font-weight: 600;
    color: #80818d;
    text-decoration: none;
    position: relative;
    display: block; 
    text-transform: uppercase;
    padding: 15px 20px;
    transition: all 0.2s ease-out;
}
.flap > ul li:first-child a {
    padding-left: 5px;
}
.flap > ul li a::after {
    content: '';
    height: 2px;
    background: #f42456;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 100%;
    transition: all 0.2s ease-out;
    z-index: 1;
}
.flap > ul li.active a,
.flap > ul li a:hover {
    color:#40454b;
}
.flap > ul li a input {
    display: none;
}
.flap > ul li.active a::after {
    right: 0;
}
.flap .flap_options > div {
    display: none;
}
.flap .flap_options > div:first-child {
    display: block;
}

.alert.error,
.alert.success {
    border-radius: 3px;
    box-shadow: 0px 2px 2px 0 rgba(34, 41, 51, 0.2);
    background-color: #fe0c47;
    font-size: 14px;
    color:#fff;
    text-align: center;
    padding: 12px;
}
.alert.success {
    background-color: #13ce51;
}
span.text-error {
    font-size: 10px;
    color: #fe0c47;
    overflow: hidden;
    display: block;
    line-height: 20px;
    transition: all 0.2s ease-out;
}
input.error + label + span.text-error {
    opacity: 1;
    max-height: 35px;
}
input + label + span.text-error {
    opacity: 0;
    max-height: 0;
}

/* Medium */
@media (max-width:1020px) {

    h2.main {
        font-size: 38px;
        max-width: 70%;
    }

    h2.content,
    h2.content_min {
        margin-top: 90px;
    }

    ol.hiring li {
        margin-bottom: 20px;
    }
    ol.hiring img.arrow, 
    header .central-info a.help {
        display: none;
    }
    header .central-info.site span,
    header .central-info a {
        padding: 10px;
    }

    .query {
        margin-right: 0;
        margin-left: 0;
    }

    .comments {
        margin-top: 110px;    
    }
    .comments h2 {
        margin: 30px 0 0;
    }
    .comments .box strong {
        display: block;
    }

    #about .photo {
        max-width: initial;
        max-height: initial;
        margin-top: 30px;
    } 
    #about .photo div.photo-2 {
        top: initial;
        left: initial;
        right: initial;
    }
    #about .photo div.photo-1,
    #about .photo div.photo-3,
    #about .box-1,
    #about .box-2,
    #about .box-3 {
        display: none !important;
    }
    #about .photo .photo-2,
    #about .photo .photo-2 img {
        width: 100%;
    }
}

@media (max-width:756px) {

    .nav-bar {
        display: block;
    }

    nav.grid-x {
        display: none;
    }

    .nav-active nav.grid-x,
    .nav-active nav > strong,
    .nav-active nav > a.nav-bar-close {
        display: block;
    }

    .nav-active nav {
        position: fixed;
        background: rgba(0,0,0,0.8);
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        z-index: 10;
    }
    .nav-active nav > .sub-menu {
        display: block;
        background: #fff;
        left: 0;
        right: 0;
        bottom: 0;
        top: 185px; 
    }
    .nav-active nav > .sub-menu ul {
        box-shadow: none;
    }
    .nav-active nav > figure {
        position: absolute;
        left: 0;
        top: 65px;
    }
    .nav-active nav > span {
        display: none;
    }
    .nav-active nav > strong {
        color: #fff;
        position: absolute;
        font-weight: 400;
        top: 70px;
        left: 90px;
        line-height: 22px;
        font-size: .875rem;
    }
    .nav-active nav > strong > b {
        display: block;
        font-size: 1rem;
        font-weight: 600;
    }
    .nav-active nav > a.nav-bar-close {
        position: absolute;
        color: #f42456;
        font-size: 1.5rem;
        right: 0;
        top: 0;
        display: block;
        padding: 30px;
        text-align: center;
    }
}

/* Small */
@media (max-width:640px) {

    h2.main {
        font-size: 24px;
        max-width: 180px;
        line-height: 1.33;
        margin-top: 80px;
    }

    h2.content,
    h2.content_min {
        font-size: 1.325rem;
        margin-top: 70px;
    }

    p.mb {
        margin-bottom: 30px;
    }

    p.main,
    header .central-info b,
    header .central-info a.help,
    .query .forms li a span,
    #hiring .box-1,
    #hiring .box-2 {
        display: none !important;
    }

    .query .forms li a {
        font-size: .875rem;
    }

    header .central-info.site span,
    header .central-info a {
        padding: 10px;
    }
    
    .top div.map {
        right: 0;
        bottom: 300px;
        width: 245px;
    }
    .top div.deliveryman {
        right: 10px;
        bottom: 250px;
        width: 203px;
        height: 261px;
    }
    
    .query {
        margin: 53px 0 0;
        padding: 30px;
    }
    .query form {
        margin-top: 25px;
    }
    .query .forms li {
        padding-right: 10px;
    }
    .query .forms li:last-child {
        padding-right: 0;
    }
    .query form .cell {
        padding-top: 10px;
    }

    .flap > ul li a {
        padding-right: 10px;
        padding-left: 5px;
    }

    .comments {
        margin-top: 80px;
    }
    .comments h2 {
        margin: 10px 0 0;
    }
    
    .questions {
        padding-left: 0;
    }

    .slick-list {
        padding-right: 20%;
        padding-left: .75rem;
    }
    .slick-dots {
        display: none !important;
    }

    .slider {
        padding: 0 !important;
    }
    .slider h2 {
        padding-left: .75rem;
    }
}