*,::after,::before{
    box-sizing: border-box;
}

.check-in__wrapper{
    width: 98%;
}

.title-h2{
    margin-bottom: 0px;
}

.check-in__description{
    color: #4e4e4e;
    font-size: 1.1em;
    margin: 4px 0 26px;
    text-align: center;
}

.box_titulo {
    margin: 4px 0 20px;
}

.check-in__description_box {
    text-align: center;
    color: #0069B1;
    font-size: 1.2em;
    font-weight: bold;
    width: 60%;
    margin: 0 auto 47px;
}

.check-in__menu,
.reservation__header__desktop,
.check-in__container__title,
.reservation__car,
.form__label__document,
.check-in__line{
    display: none;
}

.menu__item{
    align-items: center;
    border:1px solid #ced1d2;
    border-radius: 4px;
    color:#436ede;
    display: flex;
    justify-content: start;
    margin-bottom: 8px;
    padding: 14px 10px 14px 16px;
    position: relative;
    text-transform: uppercase;
}

.menu__item__img{
    margin-right: 14px;
    width: 22px;
}

.menu__item__text{
    align-items: center;
    display: flex;
    text-transform: uppercase;
}

.menu__item__active{
    border:1px solid #27416a;
    background-color: #27416a;
    color:#ffffff;
}

.menu__item__mobile:before, 
.menu__item__mobile:after {
    border-right: 2px solid;
    content: '';
    display: block;
    height: 12px;
    position: absolute;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    right: 21px;
    top: 40%;
    width: 0;
}

.menu__item__mobile:after {
    margin: 0 -8px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.menu__item__active.menu__item__mobile:before{
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.menu__item__active.menu__item__mobile:after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}


.check-in__container{
    margin: 24px 10px;
}

.billing__container{
    margin: 0 10px 24px 10px
}

.check-in__button{
    background-color: #436ede;
    border-radius: 4px;
    color: #fff;
    display: block;
    font-weight: bold;
    margin-top: 23px;
    padding: 12px 0;
    text-align: center;
    text-transform: uppercase;
    width: 100%;
}

.reservation__header{
    border-top: 1px solid #ced1d2;
}

.reservation__th{
    background-color: #dfe3e5;
    border-right: 1px solid #ced1d2;
    font-weight: bold;
    width: 45%;
}

.reservation__state,
.reservation__tr{
    display: flex;
    border-bottom: 1px solid #ced1d2;
    border-left: 1px solid #ced1d2;
    border-right: 1px solid #ced1d2;
    justify-content: start;
    min-height: 54px;
}

.reservation__th,
.reservation__td{
    align-items: center;   
    display: flex;
    /*font-size: .9em;*/
    line-height: 1.2;
    padding: 10px;
    width: 55%;
}

.reservation__th__hour{
    align-items: center !important;
}

.reservation__td__hour{
    align-items: center !important;
    justify-content: initial;
}

/*
.reservation__td__id{
    color:#436ede;
}
*/

.reservation__td__state{
    color:#5c9364;
    font-weight: 600;
}

.reservation__td .form__input{
    display: none;
    height: 34px;
    margin-bottom:0;
    margin-left: 4px;
    width: 65px;
}

.reservation__change__hour{
    color:#436ede;
    padding-left: 5px;
    text-decoration: underline;
}

/*Information */
.form__label,
.form__label__radiobox{
    display: block;
    color:#9d9d9d;
    font-weight: bold;
    margin-bottom: 5px;
    width: 100%;
}

.form__label__radiobox{
    font-weight: normal;
}

.form__radiobox__required{
    display: block;
    color:#9d9d9d;
    padding: 20px 0;
}

.billing__data__address{
    border-top: 1px solid #ced1d2;
    color:#9d9d9d;
    font-weight: bold;
    padding-top: 20px;
    text-transform: uppercase;
}

.form__input,
.form__select{
    background-color: #fff;
    border: 1px solid #9d9d9d;
    border-radius: 4px;
    font-size: 1em;
    height: 40px;
    margin-bottom: 14px;
    padding-left: 10px;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
}

.form__select__display{
    display: none;
}

.form__select{
    background-position: right;
    background-repeat: no-repeat;
    background-size: 28px;
    background-image: url(../img/users/icon-arrow-down.png);
   
}

.form__required{
    color:#436ede;
}

.form__label__required{
    color:#9d9d9d;
}

.form__col__billing{
    padding: 20px 10px;
    border-bottom: 1px solid #ced1d2;
}

.billing__data{
    padding: 22px 0 12px;
}


/* radio buttons */
.form__radiobox__billing {
    display: flex;
    position: relative;
}

.form__radiobox__billing::before {
    border-color: #9d9d9d;
}
.form__radiobox__billing::before {
    background-color: #fff;
    border: solid 2px #9d9d9d;
    border-radius: 10px;
    content: '';
    cursor: pointer;
    display: inline-block;
    height: 20px;
    margin-right: 10px;
    position: relative;
    vertical-align: top;
    width: 22px;
    z-index: 1;
}

.form__radiobox__address input[type="radio"], .form__radiobox__billing input[type="radio"] {
    display: none;
}

.form__radiobox__billing.checked::before {
    border-color: #436ede!important;
}

.form__radiobox__billing.checked::after {
    background-color: #436ede;
    border-radius: 7px;
    content: '';
    height: 10px;
    left: 5px;
    position: absolute;
    top: 5px;
    width: 10px;
    z-index: 2;
}

.form__radiobox__address{
    display: flex;
    padding: 8px 0;
}

.form__radiobox__address::before {
    background-color: #fff;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 15px 15px;
    border: solid 2px #84888b;
    border-radius: 4px;
    content: '';
    cursor: pointer;
    display: inline-block;
    height: 20px;
    margin-right: 10px;
    position: relative;
    vertical-align: top;
    width: 20px;
    z-index: 1;
}

.form__radiobox__address.checked::before {
    background-color: #436ede;
    background-image: url(../img/users/icon-checked.svg);
    border: solid 2px #436ede;
}

.form__img__id{
    padding-bottom: 10px;
    width: 100%;
}

.check-in__thank-you{
    margin: 0 auto;
    text-align: center;
    margin-bottom: 20px;
    width: 90%;
}

.check-in__success {
    background-color: #dafce4;
    border:2px solid #78c283;
    border-radius: 4px;
    text-align: center;
}

.check-in__success__title{
    color:#5c9364;
    font-size: 1.1em;
    font-weight: bold;
}

.check-in__error{
    align-items: center;
    background-color: #fff3f3;
    border:2px solid #fe3838;
    display: flex;
    justify-content: center;
    /*height: 100%;*/
    
}

.check-in__error p{
    color:#fe3838;
}



.thank-you__descrption{
    font-size: 1.2em;
    font-weight: bold;
    padding: 16px 0;
    text-transform: uppercase;
}

.thank-you__warning{
    background-color: #dfe8ff;
    border:2px solid #436ede;
    border-radius: 4px;
    padding: 20px 10px 5px;
}

.thank-you__warning__img{
    width: 50px;
}

.thank-you__remember{
    color:#436ede;
    font-weight: bold;
    text-transform: uppercase;
}

.thank-you__list{
    color:#436ede;
}

.thank-you__list__content{
    color:#000;
}

.check-in__description__cta{
    font-size: 1.1em;
    font-weight: bold;
    padding: 12px 0;
}

.check-in__cta{
    align-items: center;
    display: inline-flex;
    background-color: #436ede;
    border-radius: 4px;
    color: #ffffff;
    padding: 9px 80px;
    /*
    text-transform: uppercase;
    transition: all .2s ease;
    */
}

a.check-in__button:hover,
a.check-in__cta:hover{
    /*
    transform: scale(1.06);
    transition: all .2s ease;
    */
    background-color:#073f6b;
}

.check-in__cta__img{
    height: auto;
    margin-right: 12px;
    width: 18px;
}

.check-in__cta__home{
    font-weight: bold;
    margin-top: 30px;
}

.thank-you__content .check-in__cta, .thank-you__content .registry__button__registry{
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    padding: 9px 0;
    width: 260px;
}

.thank-you__content{
    text-align: center;
}

/* REGISTRO */
.check-in__success {
    margin: 0 auto 36px;
    width: 88%;
}

.check-in__border {
    box-shadow: 0 0 6px 0 rgba(0,0,0,.25);
    border-radius: 4px;
    margin-bottom: 5px;
    margin: 0 10px; 
    background-color:white;
}

.check-in__border__content__flex,
.check-in__border__content {
    padding: 24px 12px;
    margin-bottom: 20px;
}
.registry__logo{
    border-bottom: 1px solid #9d9d9d;
    padding-bottom: 24px;
    text-align: center;
}


.registry__logo__img{
    display: block;
    margin: 0 auto;
    width: 100px;
    margin-bottom: 30px;
}

.registry__logo__title{
    font-weight: bold;
    margin-top: 0;
    text-align: center;
    text-transform: uppercase;
}

.registry__content{
    padding-top: 20px;
}

.registry__label{
    color:#063f6c;
    font-weight: bold;
}

.registry__button__registry,
.registry__button__login,
.registry__cta{
    background-color: #436ede;
    border-radius: 4px;
    color: #fff;
    display: block;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    padding: 9px 2px;
    width: 100%;
}

.registry__button__registry{
    background-color: #fff;
    border:2px solid #436ede;
    color:#436ede;
}

.registry__button__registry,
.registry__button__login{
    margin-top: 20px;
}

.registry__button__login:hover{
    background-color: #073f6b;
}

.registry__button__registry:hover{
    background-color: #073f6b;
    color: #fff;
}

.registry__button__facebook,
.registry__button__google{
    align-items: center;
    display: flex;
    justify-content: center;
}

.registry__button__login__img{
    margin-right: 12px;
    height: 22px;
    width: 22px;
}

.registry__button__login__text{
    text-align: left;
    width: 220px;
}

.registry__account__text{
    text-align: center;
}

.registry__button__remember{
    color: #436ede;
    font-size: .9em;
    text-decoration: underline;
}

.user__error{
    color:#fe3838;
    font-size: .9em;
    padding-top: 14px;
    font-weight: bold;
}

.user__error p{
    color:#fe3838;
    margin: 3px 0;
} 


.form__input__birthdate{
    font-family: Arial;
}

.form__input__birthdate::-webkit-inner-spin-button,
.form__input__birthdate::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}


.form__radioflight{
    margin-bottom: 14px;
}


@media screen and (min-width: 400px) {
    .form__img__id{
        width: 360px;
    }
    .contenedor-form{
        width: 83%;
        margin: auto;
    }
    .boxhover{
        display: grid;
        margin: 0 auto 40px auto;
        width: 88%;
    }
}

@media screen and (min-width: 500px) {
    .check-in__border,
    .check-in__success{
        margin-left: auto;
        margin-right: auto;
        width: 70%;
    }
    .boxhover{
        margin: 30px;
        width: 26%;
        -webkit-transition: margin .5s ease-out;
        -moz-transition: margin .5s ease-out;
        -ms-transition: margin .5s ease-out;
        transition: margin .5s ease-out
    }
    .boxhover:hover{
        margin: 0 30px 60px 30px;
    }
}

@media screen and (min-width: 768px) {
    .contenedor-form{
        display: flex;
    }
    .check-in__content__flex{
        display: flex;
        justify-content: space-between;
    }

    .check-in__content{
        margin: 0 auto;
        width: 70%;
    }

    .check-in__menu{
        width: 26%;
    }

    .check-in__data{
        box-shadow: 0 0 6px 0 rgba(0,0,0,.25);
        border-radius: 4px;
        margin-bottom: 5px;
        width: 70%;
    }

    .reservation__tr__id,
    .check-in__menu,
    .reservation__header__desktop,
    .check-in__container__title{
        display: block;
    }

    .menu__item__mobile{
        display: none;
    }

    .check-in__container {
        margin: 26px;
    }

    .check-in__container__title{
        border-bottom: 1px solid #9d9d9d;
        font-size: 1.1em;
        font-weight: bold;
        color:#436ede;
        margin-bottom: 22px;
        padding-bottom: 16px;
    }

    .check-in__button {
        float: right;
        margin: 28px 0;
        padding: 8px 0;
        width: 260px; 
    }

    .reservation__data{
        align-items: center;
        border:1px solid #ced1d2;
        display: flex;
        font-size:.9em;
        justify-content: space-between;
        padding: 30px;
    }

    .reservation__header{
        background-color: #dfe3e5;
        border:1px solid #ced1d2;
        display: flex;
        font-size:.9em;
        justify-content: space-between;
        padding: 6px 10px;
    }
     
    .reservation__header .reservation__th{
        text-transform: uppercase;
    }

    .reservation__tr{
        border: 0;
        min-height: initial;
        padding: 2px 0;
    }

    .reservation__tr__state{
        border-left:1px solid #ced1d2;
        border-right:1px solid #ced1d2;
        font-size:.9em;
        padding: 6px 10px;
        text-transform: uppercase;
    }

    .reservation__th,
    .reservation__td{
        align-items: initial;
        background-color: initial;
        border: 0;
        padding: 0px 2px 0px 0;
        width: auto;
    
    }

    .reservation__td__title::after{
        content: ":";
    }

    .reservation__th__hour{
        align-items: center;
    }

    .reservation__line{
        border-top: 1px solid #ced1d2;
        margin: 12px 0;
        width: 100%;
    }

    .form__label__document{
        display: block;
        font-weight: bold;
        text-transform: uppercase;
    }

    .check-in__thank-you{
        width: 70%;
    }

    /*REGISTRO */
    .check-in__border,
    .check-in__success{
        width: 100%;
    }

    .form_contenedor{
        width: 60%;
    }

    .boxhover{
        width: 36%;
    }

    .check-in__content__login{
        margin: 0 auto;
        width: 56%;
    }
    .registry__logo{
        border:0;
        width: 30%;
    }

    .registry__logo__img {
        padding-top: 10px;
        width: 90px;
    }
    .iconos_checkin{
        width: auto;
        margin-bottom: 25px;
    }
    .registry__content{
        padding-top:0px;
        width: 65%;
    }

    .check-in__border__content__flex, .check-in__border__content {
        padding:24px;
    }

    .check-in__border__content{
        padding: 26px;
    }

    .check-in__border__content__flex{
        display: flex;
        justify-content: space-between;
    }

    .formularios_box{
        justify-content: center;
    }

    .check-in__button {
        float: initial;
        margin: 28px 0 0 auto;
    }

    .registry__cta {
        width:95%;
    }
    
}

@media screen and (min-width: 1020px) { 
    .check-in__wrapper{
        width: 1000px;
    }

    .form__col-2{
        display: flex;
        justify-content: space-between;
    }

    .form__col__item{
        width: 48.5%;
    }

    .reservation__car{
        display: block;
    }

    .reservation__table{ 
        width: 70%;
    }

    .reservation__car{
        width: 25%;
    }

    .reservation__car__img{
        width: 100%;
    }
    
    .reservation__line{
        width: 80%;
    }

    .check-in__line{
        border: 0;
        border-top: 1px solid #9d9d9d;
        color: #9d9d9d;
        display: block;
        margin-top: 28px;
    }

    .form__col__billing{
        border:0;
        padding: 10px 0px 4px;
    }

    .form__radiobox__required{
        padding: 20px 0 0;
    }

    .form__img__id {
        width: 85%;
    }

    /*Registro*/
    .registry__content{
        width: 61%;
    }

    .registry__cta {
        width:81%;
    }

    .registry__vertical{
        background-color: #9d9d9d;
        width: 1px;
    }
    
}



.reservations_state,
.generate_checkin,
.reservations__mobile,
.reservations__td__desktop{
    display: none;
}

.reservations__table__list,
.reservations__table{
    border-top: 1px solid #ced1d2;
    border-left: 1px solid #ced1d2;
    width: 100%;
}


.reservations__th{
    background-color: #dfe3e5;
    border-right: 1px solid #ced1d2;
}


.reservations__mobile__tr td{
    font-size: .9em;
    padding: 10px;
    border-bottom: 1px solid #ced1d2;
    border-right: 1px solid #ced1d2;
}

.reservations__mobile__tr .reservations__th{
    font-weight: bold;
}


.reservations__tr th{
    background-color: #dfe3e5;
    border-right: 1px solid #ced1d2;
    border-bottom: 1px solid #ced1d2;
    font-size: .85em;
    text-align: left;
    padding: 10px;
}

.reservations__tr td{
    border-right: 1px solid #ced1d2;
    border-bottom: 1px solid #ced1d2;
    font-size: .9em;
    padding: 10px;
    border-top: 0px;
    border-left: 0px;
}

.reservations__button__list{
    background-color: #fff;
    color: #27416a;
    margin: 0 0 23px 0;
    text-decoration: underline;
}

a.reservations__button__list:hover{
    background-color: transparent !important;
}

.reservations__link{
    color:#436ede;
    text-decoration: underline;
}

.generate_checkin{
    font-weight: bold;
    text-transform: uppercase;
}
.margin_sep_first{margin-bottom: 20px;}

@media screen and (min-width: 600px) {
    .reservations__td__desktop{
        display: table-cell;
    }

    .reservations__tr th,
    .reservations__tr td{
        padding: 10px 4px;
        font-size: .8em;
    }
    
    .reservations_state,
    .reservations__table__list,
    .generate_checkin{
        display: block !important;
    }

    .reservations__mobile,
    .see_detail{
        display: none !important;
    }
}

@media screen and (min-width: 250px) {
    .check-in__border {
        border: 1px solid transparent;
        margin-bottom: 40px;
    }
}

.information__conductor__adicional{
    margin-bottom: 20px;
}
.separadorr{
    text-align: center;
    line-height: 0px;
}
.titulo_login{font-size: 16px;margin: 0px;text-align: center;padding-top: 15px;}
.reservation__field_error.ca_erros{position: relative;top: -15px;}