/*
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  GERAL
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/
.hide,
.hidden{
    display: none;
}
.show, 
.visible{
    display: block;
}

/*
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  TYPOGRAPHY 
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/

@font-face {
  font-family: 'Metrocity';
  src: url(../font/Metrocity-Black.ttf) format('truetype');
  font-style: normal;
  font-weight: 900;
}

@font-face {
  font-family: 'Metrocity';
  src: url(../font/Metrocity-Bold.ttf) format('truetype');
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: 'Metrocity';
  src: url(../font/Metrocity-Medium.ttf) format('truetype');
  font-style: normal;
  font-weight: 500;
}

@font-face {
  font-family: 'Metrocity';
  src: url(../font/Metrocity-Book.ttf) format('truetype');
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: 'Metrocity';
  src: url(../font/Metrocity-Light.ttf) format('truetype');
  font-style: normal;
  font-weight: 300;
}

textarea,
input,
select,
button,
body{
  font-size: 16px;
  font-family: Metrocity;
}

img{
    max-width: 100%;
}

/*
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  HEADINGS
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/

.h1{
  font-size: 48px;
  line-height: 56px;
  font-weight: 900;
}

.h2{
  font-size: 40px;
  line-height: 48px;
  font-weight: 900;
}

.h3{
  font-size: 32px;
  line-height: 40px;
  font-weight: 900;
}

.h4{
  font-size: 24px;
  line-height: 32px;
  font-weight: 900;
}

.h4.light{
  font-weight: 300;
}

.h5{
  font-size: 20px;
  line-height: 28px;
  font-weight: 400;
}

.h5.bold{
  font-weight: 700;
}

.h6{
  font-size: 18px;
  line-height: 26px;
  font-weight: 400;
}

.body{
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
}

.body.bold{
  font-weight: 700;
}

.body.black{
  font-weight: 900;
}

.body.medium{
  font-weight: 500;
}

.body_s{
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
}

/*
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  COLORS
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/

.white{
  color: #ffffff;
}

.blue{
  color: #008eaa;
}

.dark-blue{
  color: #1b3149;
}

.pink{
  color: #b80059;
}

.lighter-grey{
  color: #ecf1f2;
}

.light-grey{
  color: #e6eef0;
}

.grey{
  color: #C0C0C1;
}

.dark-grey{
  color: #5f6062;
}

.bg-white{
  background-color: #ffffff;
}

.bg-blue{
  background-color: #008eaa;
}

.bg-dark-blue{
  background-color: #1b3149;
}

.bg-pink{
  background-color: #b80059;
}

.bg-lighter-grey{
  background-color: #ecf1f2;
}

.bg-light-grey{
  background-color: #e6eef0;
}

.bg-grey{
  background-color: #C0C0C1;
}

.bg-dark-grey{
  background-color: #5f6062;
}


/*
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  BUTTON
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/

.button{
  padding: 12px 40px;
  font-size: 18px;
  line-height: 26px;
  border-radius: 4px;
  background-color: #008eaa;
  color: #ffffff;
  cursor: pointer;
  font-weight: 400;
  display: inline-block;
  box-sizing: border-box;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
  white-space: nowrap;
}

.button.full-width{
  width: 100%;
}

.button:hover{
  background-color: #1b3149;
}

.button.icon{
  padding: 8px 16px;
  color: #1B3149;
  background-color: #ffffff;
  font-size: 12px;
  line-height: 20px;
  font-weight: 500;
  text-transform: uppercase;
}

.button.icon span{
  opacity: .6;
}

.button i{
  font-size: 16px;
  vertical-align: middle;
  opacity: .3;
  margin-right: 8px;
}

.button.icon:hover{
  color: #ffffff;
  background-color: #1b3149;
}

/*
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  LINK
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/

.link{
  text-decoration: underline;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.link:hover{
  opacity: .4;
}


/* LIGHTBOX */

.lb.animated {
    animation-duration: .4s;
}
.lb{
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    display: none;
    overflow: hidden;
}
.lb_frame{
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    overflow-x: hidden;
    overflow-y: auto;
}

.lb_area{
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
}

.lb_cortina{
    background: red;
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.75);
    opacity: 0;
}

.lb_hm .lb_cortina{
    background: #fff;
}

.lb_anim_arranque{
    display: block;
}

.lb_anim_arranque .lb_frame{
   opacity: 0;
}
.lb_anim_aberto .lb_frame{
    opacity: 1;
}
.lb_anim_fechado .lb_frame{
    opacity: 0;
}

.lb_anim_arranque .lb_cortina{
    opacity: 0;
}
.lb_anim_aberto .lb_cortina{
    opacity: 1;
}
.lb_anim_fechado .lb_cortina{
    opacity: 0;
}

.lb_x{
    position: absolute;
    right: -20px;
    top: -20px;
    width: 40px;
    height: 40px;
    z-index: 2;
    background: #fff;
    border-radius: 40px;
    box-shadow: 0px 2px 15px rgba(0,0,0,0.3);
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
    cursor: pointer;
}

.lb_hm .lb_x{
    position: fixed;
    right: 10px;
    top: 10px;
}

.lb_x:before,
.lb_x:after{
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 20px;
    height: 2px;
    background: #999;
    transform: rotate(45deg);
    margin-left: -9px;
    margin-top: -1px;
    border-radius: 2px;
}
.lb_x:after{
    transform: rotate(-45deg);
}
.lb_x:hover{
    transform: scale(1.3,1.3);
}
.lb_in{
    width: 100vw;
    display: flex;
    align-items: center;
    position: relative;
    box-sizing: border-box;
    flex-wrap: wrap;
    height: 100vh;
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 20px;
}

.lb_hm .lb_in{
    padding: 0px;
}

.lb_cont{
    background: #fff;
    width: 100%;
    max-width: 600px;
    display: block;
    margin: 0px auto;
    position: relative;
    box-sizing: border-box;
    flex: auto;
    padding: 30px;
}

.lb_hm .lb_cont{
    max-width: 100%;
    padding: 0px;
}


/*
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  FORM COMPONENTS
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/

.step-components .step-components-block .component{
  margin-bottom: 20px;
  position: relative;
}

.component.disabled{
  pointer-events: none;
}

/* INPUT */

.input.inline-button .input-container{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    align-items: stretch;
    position: relative;
    width: 100%;
    cursor: pointer;
    background-color: #F7F9FA;
}

.input.inline-button.left input,
.input.inline-button.left .types{
  margin-left: -4px;
  border-radius: 0 4px 4px 0;
  padding: 10px 14px 10px 18px;
}

.input.inline-button .button{
  z-index: 2;
  display: inline-flex;
  align-items: center;
}

.input.inline-button.right input,
.input.inline-button.right .types{
  margin-right: -4px;
  border-radius: 4px 0 0 4px;
  padding: 10px 18px 10px 14px;
}

.input label{
  color: #5F6062;
  width: 100%;
  box-sizing: border-box;
  display: block;
  position: relative;
  font-weight: 400;
}

.input.file .types{
  font-size: 18px;
  line-height: 26px;
  font-weight: 400;
  color: #C6C6C6;
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 10px 14px;
  background-color: #F7F9FA;
  border: 2px solid transparent;
  border-radius: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.input.file .input-container:hover .types{
  border-color: #E9EDEF;
}

.input.file.error .types{
  border-color: #b80059;
}

/* FIELD */
  
.input.text label,   
.input.email label, 
.input.tel label,
.input.number label{
  font-size: 16px;
  line-height: 24px;
  margin-bottom: 8px;
  padding-left: 16px;
}

.input.text input,   
.input.email input, 
.input.tel input,
.input.number input{
  font-size: 18px;
  line-height: 26px;
  padding: 10px 14px;
  background-color: #F7F9FA;
  width: 100%;
  box-sizing: border-box;
  display: block;
  border: 2px solid transparent;
  border-radius: 4px;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.input.secondary.text input,   
.input.secondary.email input, 
.input.secondary.tel input,
.input.secondary.number input{
  text-align: center;
  color: #1B3149;
  border-color: #E9EDEF;
}

.input.text.error input,   
.input.email.error input, 
.input.tel.error input,
.input.number.error input{
  border-color: #b80059;
}

.input.text input::placeholder,   
.input.email input::placeholder, 
.input.tel input::placeholder,
.input.number input::placeholder{
  font-size: 18px;
  line-height: 26px;
  font-weight: 400;
  color: #C6C6C6;
}

.input.text input:hover,   
.input.email input:hover, 
.input.tel input:hover,
.input.number input:hover,
.input.text input:focus,   
.input.email input:focus, 
.input.tel input:focus,
.input.number input:focus{
  border-color: #E9EDEF;
}

.input.secondary.text input:hover,   
.input.secondary.email input:hover, 
.input.secondary.tel input:hover,
.input.secondary.number input:hover,
.input.secondary.text input:focus,   
.input.secondary.email input:focus, 
.input.secondary.tel input:focus,
.input.secondary.number input:focus{
  border-color: transparent;
}

.input.inline-button .input-container:hover input{
  border-color: #E9EDEF;
}

/* CHECKBOX */

.input.checkbox label{
  font-size: 12px;
  line-height: 20px;
  padding-left: 40px;
  cursor: pointer;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.input.checkbox label:hover,
.input.checkbox label:hover a{
  color: #008eaa;
}

.input.checkbox label a{
  color: #5F6062;
  text-decoration: underline;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.input.checkbox label a:hover{
  opacity: .4;
}

.input.checkbox input{
  display: none;
}

.input.checkbox label:before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #F7F9FA;
  border: 1px solid #D7DEE2;
  box-sizing: border-box;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.input.checkbox.error label:before{
  border: 1px solid #b80059;
}

.input.checkbox label:after{
  content: "\e900";
  font-family: "Prio";
  font-size: 8px;
  line-height: 20px;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  color: #E7EBEB;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.input.checkbox.multiple label{
  margin-bottom: 8px;
}

.input.checkbox input:checked + label,
.input.checkbox input:checked + label a{
  color: #008eaa;
}

.input.checkbox input:checked + label:after{
  color: #ffffff;
}

.input.checkbox input:checked + label:before{
  background-color: #008eaa;
  color: #008eaa;
  border-color: #008eaa;
}

/* RADIO STREETS */

.input.streets .input-container{
  border-radius: 4px;
  max-height: 150px;
  overflow: hidden;
  overflow-y: auto;
}

.input.streets label{
  font-size: 18px;
  line-height: 26px;
  padding: 12px 16px;
  background-color: #F7F9FA;
  width: 100%;
  box-sizing: border-box;
  display: block;
  cursor: pointer;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.input.streets label:hover{
  color: #008eaa;
}

.input.streets input{
  display: none;
}

.input.streets input:checked + label{
  color: #ffffff;
  background-color: #008eaa;
}

.input.streets.error .input-container{
  border: 2px solid #b80059;
}

/* SELECT */

.select label{
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  margin-bottom: 8px;
  padding-left: 16px;
  color: #5F6062;
  width: 100%;
  box-sizing: border-box;
  display: block;
  position: relative;
}

.select .select2-container--default .select2-selection--single{
  padding: 10px 14px;
  height: auto;
  border: 2px solid #E9EDEF;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.select.error .select2-container--default .select2-selection--single{
  border-color: #b80059;
}

.select .select2-container--default .select2-selection--single .select2-selection__rendered{
  font-size: 18px;
  line-height: 26px;
  font-weight: 400;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  padding: 0;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.select .select2-container--default .select2-selection--single .select2-selection__placeholder{
  color: #C6C6C6;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.select .select2-container--default .select2-selection--single:hover .select2-selection__placeholder,
.select .select2-container--default .select2-selection--single:hover .select2-selection__rendered{
  color: #008eaa;
}

.select .select2-container--default.select2-container--open .select2-selection__placeholder,
.select .select2-container--default.select2-container--open .select2-selection__rendered{
    color: #008eaa;
}

.select .select2-container--default .select2-selection--single .select2-selection__arrow{
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    height: 8px;
}

.select .select2-container--default .select2-selection--single .select2-selection__arrow:after{
  content: "\e903";
  font-family: "Prio";
  font-size: 8px;
  position: absolute;
  color: #D1D3D4;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.select .select2-container--open.select2-container--default .select2-selection--single .select2-selection__arrow:after{
  transform: rotate(-180deg);
}

.select .select2-container--default .select2-selection--single .select2-selection__arrow b{
  display: none;
}

.select2-container--default .select2-dropdown{
  background-color: #F7F9FA;
  border: 2px solid #E9EDEF;
}

.select2-container--default .select2-dropdown--below{
  border-top: none;
}

.select2-container--default .select2-dropdown--above{
  border-bottom: none;
}

.select2-container--default .select2-results__option{
  font-size: 18px;
  line-height: 26px;
  padding: 12px 16px;
  background-color: #F7F9FA;
  width: 100%;
  box-sizing: border-box;
  display: block;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.select2-container--default .select2-results__option--highlighted[aria-selected]{
  color: #008eaa;
  background-color: transparent;
}

.select2-container--default .select2-results__option[aria-selected=true]{
  color: #ffffff;
  background-color: #008eaa;
}

.select2-container--default .select2-search--dropdown .select2-search__field{
  border: none;
  border-bottom: 2px solid #E9EDEF;
  background: #ffffff;
  padding: 12px 16px;
}

.select2-search--dropdown{
  padding: 8px;
}

.select.disabled .select2-container--default .select2-selection--single{
  background-color: #F7F9FA;
}

/* FILE */

.input.file label{
  font-size: 16px;
  line-height: 24px;
  color: #5F6062;
  width: 100%;
  box-sizing: border-box;
  display: block;
  position: relative;
  font-weight: 400;
  margin-bottom: 8px;
  padding-left: 16px;
}

.input.file input{
  display: none;
}

.input.file .input-container:hover .button{
  background-color: #1b3149;
}

/* DISCLAIMER */

.disclaimer{
  padding: 16px;
  border: 1px solid rgba(112, 112, 112, .2);
  background-color: #F7F9FA;
  border-radius: 4px;
  max-height: 340px;
  overflow-y: auto;
  display: block;
  width: 100%;
  box-sizing: border-box;
  color: #5F6062;
}

.disclaimer p{
  font-size: 14px;
  line-height: 22px;
  font-weight: 400;
  min-height: 22px;
}

.disclaimer p a{
  color: #5F6062;
  text-decoration: underline;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.disclaimer p a:hover{
  opacity: .4;
}

/* HELP */

.help{
  display: inline-block;
  box-sizing: border-box;
  cursor: pointer;
}

.help span{
  text-decoration: underline;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.help i{
  vertical-align: middle;
  margin-left: 8px;
}

.help:hover span{
  color: #008eaa;
}

/* HELP BLOCK */

.help.block{
  margin-top: 4px;
}

.help.block span{
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  color: #5F6062;
}

.help.block i{
  font-size: 20px;
  color: #5F6062;
  opacity: .4;
  margin-right: 8px;
  margin-left: 0;
}

.help.block:hover span{
  color: #008eaa;
}

/* NOTICE */

.notice{
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: #008eaa;
  padding: 12px 20px 12px 40px;
  border: 1px solid #e6eef0;
  border-radius: 4px;
  position: relative;
}

.notice span{
  display: block;
  font-size: 14px;
  line-height: 22px;
}

.notice:after{
  content: "\e902";
  font-family: "Prio";
  font-size: 20px;
  color: #006276;
  opacity: .3;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}

/* ERROR */

.error-message{
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  color: #b80059;
  margin-top: 4px;
  display: none;
}

.component.error .error-message{
  display: inline-block;
}

/*
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  HOMEPAGE
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/

/* HEADER */

.header{
  padding: 10px 0;
  box-shadow: 0 0 15px rgba(0, 0, 0, .15);
}

img.header-logo{
  height: 50px;
}

.header-nav{
  float: right;
}

.header-nav .nav-item{
  padding: 12px 40px;
  font-size: 18px;
  line-height: 26px;
  line-height: normal;
  font-weight: 400;
  color: #008eaa;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
  display: inline-block;
  cursor: pointer;
}

.header-nav .nav-item:hover{
  color: #1b3149;
}

/* FOOTER */

.footer{
  padding: 16px 0 24px 0;
}

.footer-nav .nav-item{
  padding: 0 4px;
  text-decoration: underline;
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  color: #5f6062;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.footer-nav .nav-item:hover{
  opacity: .4;
}

/* CARDS BANNER */

.cards-banner .content-bg{
  background-image: url(../img/posto.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  padding: 48px 0 0 0;
}

.cards-banner .content-bg:after {
  content: "";
  position: absolute;
  top: 30%;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(
0deg
, rgba(95, 104, 108,1) 0%, rgba(226, 233, 234, 0) 100%);
  opacity: .5;
}

.cards-banner .content-bg > *{
  z-index: 1;
}

.cards-banner-cards{
  margin-bottom: -32px;
}

.cards-banner-cards.mobile{
  display: none;
}

.cards-banner-card{
  width: 100%;
}

.cards-banner-card.truck{
  margin-bottom: 20px;
}

.cards-banner-main-title{
  margin-bottom: 20px;
}

.cards-banner-title{
  margin-bottom: 24px;
}


/* FEATURES SECTION */

.features{
  padding: 88px 0 120px 0;
}

.features-slider{
  overflow: visible;
}

.features-slider .features-slide{
  display: flex;
  flex-wrap: wrap;
  height: auto;
}

.features-slider.first{
  margin-bottom: 72px;
}

.features-slide{
  padding: 20px 0 40px 0;
}

img.features-icon{
  height: 80px;
  margin: 0 auto 32px auto;
  display: block;
}

.features-title{
  margin-bottom: 20px;
  width: 100%;
}

.features-text{
  align-self: flex-end;
}

/* MYPRIO BANNER */

.myprio-banner{
  padding: 96px 0;
}

.myprio-banner-main-title{
  margin-bottom: 24px;
}

/* ADVANTAGES */

.advantages{
  padding: 96px 0;
}

.advantages-icon{
  position: absolute;
  top: 0;
  left: 0;
}

img.advantages-icon{
  width: 40px;
}

.advantages-item{
  position: relative;
  padding-left: 72px;
  margin-bottom: 56px;
}

.advantages-list .advantages-item:last-child{
  margin-bottom: 0;
}

.advantages-title{
  margin-bottom: 4px;
}

/* SUBSCRIBE */

.subscribe{
  padding: 96px 0;
}

.subscribe-main-title{
  margin-bottom: 20px;
}

.subscribe-sep.top{
  padding: 32px 0 48px 0;
}

.subscribe-sep.bottom{
  padding: 48px 0 32px 0;
}

.subscribe-sep-mobile{
  display: none;
  padding: 32px 0;
  margin: auto;
}

img.subscribe-sep-mobile{
  width: 20px;
}

.subscribe-hint,
.subscribe-button{
  margin-bottom: 56px;
}

.subscribe-main-hint{
  margin-bottom: 4px;
}

.subscribe-notice-title{
  margin-bottom: 16px;
}


/*
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  ADERIR
  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*/

/* MEMBERSHIP */

.membership{
  width: calc(100vw + 780px);
  display: flex;
  align-items: stretch;
  position: relative;
  box-sizing: border-box;
  flex-wrap: wrap;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.membership.push-left{
  transform: translateX(-390px);
}

.membership.push-right {
  transform: translateX(0);
}

/* SIDEBAR */

.membership-sidebar{
  width: 390px;
  z-index: 1;
  position: relative;
}

.sidebar-container{
  background-image: url(../img/barra_lateral.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 20px 20px 20px 30px;
  box-sizing: border-box;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  display: flex;
  flex-wrap: wrap;
  position: sticky;
  top: 0;
}

.sidebar-close-button{
  position: absolute; 
  top: 0;
  right: 0;
  padding: 20px;
  cursor: pointer;
  display: none;
}

.sidebar-close-button i{
  font-size: 18px;
  color: #D1D3D4;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.sidebar-close-button:hover i{
  color: #1b3149;
}

.sidebar-top,
.sidebar-bottom{
  width: 100%;
}

.sidebar-bottom{
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    align-self: flex-end;
    justify-content: flex-end;
}

img.sidebar-logo{
  height: 50px;
  display: block;
  margin-bottom: 32px;
}

img.sidebar-cards{
  display: block;
  right: -96px;
  display: block;
  max-width: none;
}

.sidebar-intro{
  opacity: 0;
  padding-right: 28px;
  margin-top: 48px;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.sidebar-intro.active{
  opacity: 1;
}

.sidebar-end{
  opacity: 0;
  margin-top: 48px;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.sidebar-end.active{
  opacity: 1;
}


.sidebar-tracker{
  opacity: 0;
  margin-top: 32px;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.sidebar-tracker.active{
  opacity: 1;
}

.sidebar-tracker-item{
  font-size: 18px;
  line-height: 26px;
  font-weight: 400;
  color: #1B3149;
  margin-bottom: 8px;
  text-align: right;
  pointer-events: none;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.sidebar-tracker-item i{
  color: #008EAA;
  margin-left: 16px;
  font-size: 8px;
  vertical-align: middle;
  opacity: 0;
  width: 12px;
  text-align: center;
  display: inline-block;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.sidebar-tracker .sidebar-tracker-item:last-child{
  margin-bottom: 0;
}

.sidebar-tracker-item.active{
  font-weight: 700;
}

.sidebar-tracker-item.visited{
  color: #008EAA;
  pointer-events: all;
  cursor: pointer;
  font-weight: 700;
}

.sidebar-tracker-item.visited i{
  opacity: 1;
}

.sidebar-save-button{
  padding-right: 28px;
  opacity: 0;
  pointer-events: none;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.sidebar-save-button.active{
  opacity: 1;
  pointer-events: all;
}

/* FORM */

.membership-form{
  width: calc(100vw - 390px);
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  z-index: 2;
  overflow: auto;
}

.form-navigation{
  margin-right: auto;
  margin-left: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  z-index: 2;
  transform: translateY(-100%);
  opacity: 0;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.form-navigation.active{
  transform: translateY(0%);
  opacity: 1;
}

.navigation-button{
  font-size: 18px;
  color: #D1D3D4;
  display: inline-block;
  cursor: pointer;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
  padding: 24px;
}

.navigation-button:hover{
  color: #1b3149;
}

.navigation-button.close{
  float: right;
}

.form-step{
  width: 100%;
  padding: 96px 0;
  transform: translateY(100%);
  opacity: 0;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.form-step.out{
  transform: translateY(-100%);
  opacity: 0;
}

.form-step.in{
  transform: translateY(0);
  opacity: 1;
}

.form-step.special{
  padding: 0 0 96px 0;
}

.form-step.special{
  align-self: flex-start;
}

.step-intro-link{
  margin-bottom: 24px;
}

.step-intro{
  margin-bottom: 64px;
}

.step-intro-title span{
  display: block;
  margin-bottom: 4px;
}

.step-intro-title span:last-child{
  margin-bottom: 0;
}

.step-button{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 30px;
}

.step-button p{
  margin-left: 30px
}

.step-header{
  background-image: url(../img/posto.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 96px 0 92px 0;
  position: relative;
}

.step-header > *{
  z-index: 1
}

.step-header:after {
  content: "";
  position: absolute;
  top: 30%;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(
0deg
, rgba(95, 104, 108,1) 0%, rgba(226, 233, 234, 0) 100%);
  opacity: .5;
}


.step-header-main-title{
  margin-bottom: 8px;
}

.step-header-sub-title span{
  display: block;
  margin-bottom: 16px;
}

.step-header-sub-title span:last-child{
  margin-bottom: 0;
}

.step-header-cards{
  width: 100%;
}

.step-cards{
  width: 100%;
  margin-top: -60px;
  margin-bottom: 20px;
}

.step-components .step-components-block{
  margin-bottom: 20px;
}

.step-components .step-components-block:last-child{
  margin-bottom: 0;
}

.step-components .step-components-block > .component:last-child{
  margin-bottom: 0;
}

.step-components .step-components-block > .row:last-child .component{
  margin-bottom: 0;
}

.step-components .step-components-block:last-child > .row:last-child .component{
  margin-bottom: 0;
}

.step-components-block .block-title{
  margin-top: 48px;
}

.step-components .step-components-block:first-child .block-title{
  margin-top: 0;
}

.block-title{
  margin-bottom: 32px;
}

.block-main-title{
  margin-bottom: 8px;
}

.step-features{
  margin-top: 40px;
}

.features-block{
  margin-bottom: 40px;
}

.step-features .features-block:last-child{
  margin-bottom: 0;
}

.features-block-text a{
  color: #5f6062;
}

.features-block-text a span{
  text-decoration: underline;
}

.features-block-text a i{
  margin-left: 40px;
}

.step-end-info{
  margin-top: 56px;
  margin-bottom: 40px;
  padding: 32px 120px;
  border: 1px solid rgba(112, 112, 112, .2);
  position: relative;
}

.step-end-info-sep{
  padding: 20px 0;
  width: 20px;
  margin: auto;
}

.step-end-info-title{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #ffffff;
  padding: 0 8px;
}

img.step-end-icon{
  display: block;
  margin: 0 auto 24px auto;
  width: 64px;
}

.step-end-main-title{
  margin-bottom: 20px;
}

/* HELP-BOX */

.help-box{
  width: 390px;
  display: flex;
  align-items: flex-start;
  box-sizing: border-box;
  flex-wrap: wrap;
  z-index: 2;
  position: relative;
}

.box-container{
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  display: flex;
  box-sizing: border-box;
  flex-wrap: wrap;
  align-items: center;
  padding: 52px 30px;
  position: sticky;
  top: 0;
  overflow: auto;
}

.box-info h5{
  font-size: 18px;
  line-height: 26px;
  font-weight: 700;
}

.box-info p{
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  min-height: 24px;
}

.box-info a{
  text-decoration: underline;
  color: #000000;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.box-info a:hover{
  opacity: .4;
}

.box-close-button{
  position: absolute; 
  top: 0;
  right: 0;
  padding: 20px;
  cursor: pointer;
}

.box-close-button i{
  font-size: 12px;
  color: #1B3149;
  opacity: .3;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.box-close-button:hover i{
  opacity: 1;
}

/* MENU */

.menu{
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  padding: 8px;
  box-sizing: border-box;
  display: block;
  background-color: #ffffff;
  box-shadow: 0 0 30px rgba(0, 0, 0, .15);
  overflow: hidden;
  display: none;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  height: 66px;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.menu.push-right{
  transform: translateX(520px);
}

.menu.push-left{
  transform: translateX(-520px);
}

.menu .container-fluid{
  width: 100%;
}

img.menu-logo{
  height: 40px;
  margin-left: 40px;
  vertical-align: middle;
}

.menu-nav{
  float: right;
}

.menu-nav .nav-item{
  padding: 12px 40px;
  font-size: 18px;
  line-height: 26px;
  line-height: normal;
  font-weight: 400;
  color: #5F6062;
  transition: all .4s cubic-bezier(.42, 0, .58, 1);
  opacity: 0;
  pointer-events: none;
  display: inline-block;
}

.menu-nav .nav-item.active{
  opacity: 1;
  pointer-events: all;
}

.menu-nav .button{
  display: none;
}

.menu-nav .button.active{
  display: inline-block;
}

.menu-nav .nav-item i{
  margin-right: 8px;
  font-size: 20px;
  vertical-align: middle;
  color: #1B3149;
  opacity: .4;
}
  
.menu-button{
  cursor: pointer;
}

.menu-button i{
  font-size: 30px;
  vertical-align: middle;
}

/* LIGHTBOXES */

.lb .lb_x{
  width: auto;
  height: auto;
  box-shadow: none;
  background: none;
}

.lb_x:before, .lb_x:after{
  display: none;
}

.lb.save .lb_cortina{
  background: #ecf1f2;
}

.lb.save .lb_in{
  padding: 20px;
}

.lb.save .lb_x{
  top: 0;
  right: 0;
  padding: 24px;
  font-size: 18px;
  color: #1B3149;
  position: fixed;
}

.lb.save .lb_x:hover{
  opacity: .3;
  transform: none;
}

.lb.save .lb_cont{
  max-width: 500px;
  background: transparent;
  padding: 0;
}

.save-title{
  margin-bottom: 20px;
}

.save-text{
  margin-bottom: 24px;
}

.save-logo{
  position: fixed;
  padding: 20px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  max-height: 40px;
}

.save-success-icon{
  max-width: 64px;
  display: block;
  margin: auto;
  margin-bottom: 32px;
}

.save-success-title{
  margin-bottom: 20px;
}

.save-success-text{
  margin-bottom: 32px;
}

.buttons-sep{
  padding: 10px 0;
}

.save-form{
  max-width: 380px;
  margin: auto;
  display: block;
}

.form-components .component{
  margin-bottom: 10px;
}

.lb.exit .lb_cortina{
  background: rgba(0, 142, 170, .95);
}

.lb.exit .lb_cont{
  max-width: 500px;
  padding: 52px 24px;
  box-shadow: 0 0 50px rgb(0, 0, 0, .15);
  border-radius: 4px;
}

.lb.exit .lb_x{
  top: 0;
  right: 0;
  padding: 20px;
  font-size: 12px;
  color: #D1D3D4;
}

.lb.exit .lb_x:hover{
  color: #1b3149;
  transform: none;
}


.exit-title{
  margin-bottom: 16px;
}

.exit-text{
  margin-bottom: 32px;
}



@media only screen and (max-width: 1199px) {
  .h1{
    font-size: 40px;
    line-height: 48px;
  }

  .h2 {
    font-size: 32px;
    line-height: 40px;
  }

  .h3 {
    font-size: 24px;
    line-height: 32px;
  }

  .h4 {
    font-size: 20px;
    line-height: 28px;
  }

  .h5{
    font-size: 18px;
    line-height: 26px;
  }

  .h6{
    font-size: 16px;
    line-height: 24px;
  }

  .body {
    font-size: 14px;
    line-height: 22px;
  }

  .membership-sidebar, .help-box,
  .sidebar-container, .box-container{
    width: 320px;
  }

  .membership-form{
    width: calc(100vw - 320px);
  }

  .membership.push-left{
    transform: translateX(-320px);
  }

  .membership{
    width: calc(100vw + 640px);
  }

}

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

  .cards-banner:after {
    display: none;
  }

  .cards-banner-card.truck{
    margin-bottom: 0;
  }

  .cards-banner .content-bg{
    padding-top: 72px;
  }

  .cards-banner-cards{
    margin-bottom: 0;
    padding-top: 0;
    margin-top: -20px;
  }

  .cards-banner_text{
    margin-bottom: 92px;
  }

  .cards-banner-cards{
    display: none;
  }

  .cards-banner-cards.mobile{
    display: block;
    width: 100%;
  }

  .cards-banner-main-title{
    margin-bottom: 14px;
  }

  .cards-banner-title{
    margin-bottom: 16px;
  }

  .features {
    padding: 56px 0 80px 0;
  }

  .features-slide {
    padding: 14px 0 24px 0;
  }

  .features-slider.first{
    margin-bottom: 48px;
  }

  img.features-icon{
    margin: 0 auto 22px auto;
  }

  .features-title{
    margin-bottom: 14px;
  }

  .advantages-item{
    margin-bottom: 40px;
  }

  .myprio-banner{
    padding: 64px 0;
  }

  .myprio-banner-main-title{
    margin-bottom: 16px;
  }

  .advantages{
    padding: 64px 0;
  }

  .subscribe{
    padding: 64px 0;
  }

  .subscribe-main-title{
    margin-bottom: 14px;
  }

  .subscribe-hint, .subscribe-button{
    margin-bottom: 40px;
  }

  .subscribe-notice-title{
    margin-bottom: 10px;
  }

  .footer{
    padding: 10px 0 16px 0;
  }

  .header{
    padding: 8px 0;
  }

  img.features-icon{
    height: 56px;
  }

  img.advantages-icon{
    width: 24px;
  }

  .advantages-item{
    padding-left: 44px;
  }

  .membership-form{
    width: 100vw;
  }

  .membership{
    transform: translateX(-320px);
  }

  .membership.push-left{
    transform: translateX(-640px);
  }

  .step-button{
    display: none;
  }

  .membership-sidebar, .help-box,
  .sidebar-container, .box-container{
    width: 520px;
  }

  .membership {
    width: calc(100vw + 1040px);
    transform: translateX(-520px);
  }

  .membership.push-left{
    transform: translateX(-1040px);
  }

  img.sidebar-cards{
    width: calc(100% - 28px);
  }

  .menu{
    display: flex;
  }
  
  .sidebar-close-button{
    display: block;
  }

  .navigation-button.prev-step{
    display: none;
  }

  .form-navigation{
    justify-content: flex-end;
  }

  .form-step{
    padding: 64px 0;
    margin-bottom: 66px;
  }

  .form-step.special{
    padding: 0 0 64px 0;
  }

  .step-header{
    padding: 64px 0 92px 0;
  }

  .step-components .step-components-block .component, 
  .step-components .step-components-block{
    margin-bottom: 14px;
  }

  .step-intro-link{
    margin-bottom: 16px;
  }

  .step-intro{
    margin-bottom: 40px;
  }

  .block-title{
    margin-bottom: 20px;
  }

  .step-header-sub-title span{
    margin-bottom: 10px;
  }

  .step-cards{
    margin-bottom: 14px;
  }

  .step-features,
  .features-block{
    margin-bottom: 24px;
  }

  .step-components-block .block-title{
    margin-top: 32px;
  }

  img.step-end-icon {
    margin: 0 auto 16px auto;
  }

  .step-end-info{
    margin-top: 40px;
    margin-bottom: 24px;
  }

  .step-end-info{
    padding: 20px;
  }

  .step-end-info-sep{
    padding: 14px 0;
  }

  .step-end-main-title{
    margin-bottom: 14px;
  }

  .box-info h5{
    font-size: 16px;
    line-height: 24px;
  }

  .box-info p{
    font-size: 14px;
    line-height: 22px;
    min-height: 22px;
  }

  .sidebar-tracker{
    margin-top: 80px;
  }

  .form-components .component{
    margin-bottom: 8px;
  }

  .save-title{
    margin-bottom: 14px;
  }

  .save-text {
    margin-bottom: 16px;
  }

  .exit-title{
    margin-bottom: 10px;
  }

  .exit-text{
    margin-bottom: 20px;
  }

  .save-success-icon{
    margin-bottom: 20px;
  }

  .save-success-title{
    margin-bottom: 14px;
  }

  .save-success-text{
    margin-bottom: 20px;
  }

  .buttons-sep{
    padding: 8px 0;
  }

}

@media only screen and (max-width: 767px) {
  .myprio-banner-img{
    margin-bottom: 48px;
  }

  .subscribe-sep{
    display: none;
  }

  .subscribe-sep-mobile{
    display: block;
  }

  .h1{
    font-size: 32px;
    line-height: 40px;
  }

  .h2 {
    font-size: 24px;
    line-height: 32px;
  }

  .h3 {
    font-size: 20px;
    line-height: 28px;
  }

  .h4 {
    font-size: 18px;
    line-height: 26px;
  }

  .h5{
    font-size: 16px;
    line-height: 24px;
  }

  .h6, .body {
    font-size: 14px;
    line-height: 22px;
  }

  .footer-nav .nav-item{
    font-size: 10px;
    line-height: 18px;
  }

  .header-nav .nav-item{
    display: none;
  }

  img.header-logo {
    height: 40px;
  }

  .menu-nav .nav-item,
  .menu-nav .button{
    padding: 12px 16px;
  }

  .menu-nav .nav-item span{
    display: none;
  }

  .membership-sidebar, .help-box,
  .sidebar-container, .box-container{
    width: 100vw;
  }

  .membership {
    width: calc(100vw * 3);
    transform: translateX(-100vw);
  }

  .membership.push-left {
    transform: translateX(calc(-100vw * 2));
  }

  .menu.push-right{
    transform: translateX(100vw);
  }

  .menu.push-left{
    transform: translateX(-100vw);
  }

  img.menu-logo{
    height: 25px;
    margin-left: 15px;
  }

  .menu-button i{
    position: absolute;
    left: -15px;
  }
  
  .input.text label, 
  .input.email label, 
  .input.tel label, 
  .input.number label{
    font-size: 14px;
    line-height: 22px;
  }

  .input.text input, 
  .input.email input, 
  .input.tel input, 
  .input.number input{
    font-size: 14px;
    line-height: 22px;
    padding: 12px 14px;
  }

  .input.inline-button.right input, 
  .input.inline-button.right .types{
    padding: 12px 18px 12px 14px;
  }

  .input.inline-button.left input, 
  .input.inline-button.left .types{
    padding: 12px 14px 12px 18px;
  }

  .input.text input::placeholder,   
  .input.email input::placeholder, 
  .input.tel input::placeholder,
  .input.number input::placeholder{
    font-size: 14px;
    line-height: 22px;
  }

  .input.streets label{
    font-size: 14px;
    line-height: 22px;
    padding: 14px 16px;
  }

  .input.inline-button .button{
    font-size: 14px;
    line-height: 22px;
    padding: 14px 24px;
  }

  .types{
    font-size: 14px;
    line-height: 22px;
    padding: 12px 14px;
  }

  .select .select2-container--default .select2-selection--single .select2-selection__rendered{
    font-size: 14px;
    line-height: 22px;
  }

  .select .select2-container--default .select2-selection--single{
    padding: 12px 14px;
  }

  .select2-container--default .select2-results__option{
    font-size: 14px;
    line-height: 22px;
    padding: 14px 16px;
  }

  .sidebar-container{
    display: block;
  }

  .sidebar-save-button{
    margin-top: 40px;
  }

  .sidebar-tracker{
    margin-top: 56px;
  }

}