@font-face {
    font-family: AvenirNextLTPro;
    src: url("../font/AvenirNextLTPro.otf") format("opentype");
    font-weight: normal;
}
@font-face {
    font-family: AvenirNextLTPro;
    src: url("../font/AvenirNextLTPro-Bold.otf") format("opentype");
    font-weight: bold;
}

body {
    font-family: AvenirNextLTPro;
    font-style: normal;
}

a {
    color: #11996E;
    text-decoration: none;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-danger {
    margin: 50px 0px 100px 0px;
    font-weight: 700;
    font-size: 30px;
    line-height: 36px;
    text-align: center;
    color: #D40C0C;
}
#container{
    display: flex;
    flex-direction: column;
    min-height: 98vh;
}
#header {
    margin-bottom: 20px;
}

#header #logo {
    margin: auto;
    width: 230px;
    height: 75px;
    left: calc(50% - 230px/2);
    top: 34px;
}

#content {
    text-align: center;
    flex-grow: 1;
    display: flex;
    flex-flow: column;
}

#content #position {
    margin: 0 auto;
    text-align: center;
}

#content #position #position-text {
    display: flex;
    align-items: center;
}

#content #position #vector-text {
    margin-left: 10px;
    font-weight: 700;
    font-size: 20px;
    line-height: 34px;
    color: #000000;
}

#content #position #poi-text {
    font-weight: 400;
    font-size: 16px;
    line-height: 34px;
    text-align: right;
    color: #000000;
}

#content #title-main {
    display: block;
    font-weight: 700;
    font-size: 48px;
    line-height: 58px;
    text-align: center;
    letter-spacing: -0.02em;
    color: #282828;
}

#content #title-sub {
    font-size: 20px;
    line-height: 24px;
}

#content #title-form {
    display: block;
    margin: 40px 0;
    font-weight: 600;
    font-size: 34px;
    line-height: 40px;
    text-align: center;
    letter-spacing: -0.4px;
    color: #282828;
}

#content fieldset {
    position: relative;
    margin: auto;
    width: 690px;
}

#content fieldset {
    border: 2px solid #bfe6d4;
    border-radius: 30px;
}

#content #content-details {
    margin: auto;
    width: 540px;
}

#content #content-details #title-main {
    display: block;
    margin: 20px 0px 20px 0px;
    font-weight: 700;
    font-size: 48px;
    line-height: 58px;
    text-align: center;
    letter-spacing: -0.02em;
    color: #282828;
}

#content #content-details .close {
    position: absolute;
    right: 10px;
    width: 40px;
    height: 40px;
}

#content #content-details .cancel img {
    max-width: 85%;
    max-height: 85%;
}

#content #content-details .circle img {
    width: 170px;
    height: 170px;
}

#content #content-details .gps img {
    max-width: 85%;
    max-height: 85%;
}


#content #content-details table {
    margin: auto;
    width: 530px;
}

#content #content-details .text-left img {
    margin-right: 20px;
}

#content #content-details .details-th-row {
    display: inline-block;
    width: 520px !important;
    font-weight: 700;
    font-size: 24px;
    padding: 0px 10px;
    line-height: 40px;
    background: #BFE6D4;
    border-radius: 30px;
}

#content #content-details .details-th-row img {
    vertical-align: middle;
}

#content #content-details .details-gps {
    display: inline-block;
    margin-top: 20px;
    width: 540px !important;
}

#content #content-details .details-gps .left {
    line-height: 80px;
}

#content #content-failed {
    margin: auto;
    padding-top: 80px;
    width: 350px;
}



#footer #co2 {
    margin-top: 10px;
    text-align: center;

}
#footer #co2 #title {
    display: block;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: #000000;
}

#footer #co2 #counter {
    display: block;
    font-weight: 700;
    font-size: 44px;
    line-height: 53px;
    color: #11996E;
}

#footer #co2 #text {
    display: block;
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
    color: #000000;
}
.remember-me-row{
    margin: auto;
    width: 568px;
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    flex-grow: 1;
    align-items: center;
}
.remember-me{
    display: flex;
    gap: 10px;
    align-items: center;
}

.div-column {
    margin: auto;
    width: 568px;

}

.div-column .left {
    float: left;
}

.div-column .left img {
    margin-right: 20px;
}

.div-column .right {
    float: right;
}

.div-clear {
    clear: both;
}

.booking-input {
    margin: 20px 0px;
    padding: 0 10px;

    height: 52px;
    border: 1px solid #000000;
    border-radius: 30px;
    flex-grow: 1;
}
.booking-input:focus {
    border: 2px solid #00E0A0;
    outline: none;
}

.booking-checkbox {
    text-align: center;
    appearance: none;
    height: 20px;
    width: 20px;
    border: 1px solid #D6D6D6;
    border-radius: 100%;
    cursor: pointer;
    background: radial-gradient(circle at center, #f2f2f2 60%, transparent 60%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 19px 19px;
    vertical-align:middle;
}

.booking-checkbox:checked{
    background: radial-gradient(circle at center, #00E0A0 60%, transparent 60%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 19px 19px;
}

.booking-btn {
    margin: 20px 0px;
    padding: 12px 28px;
    height: 56px;
    color: #FFFFFF;
    background: #00E0A0;
    border-radius: 30px;
    border-style: none;
    font-weight: 600;
    font-size: 18px;
    flex-grow: 1;
}

.btn-failed {
    margin: 100px 0px;
}

.input-password {
    position: relative;
    display: inline-block;
}

.input-password input::-ms-reveal {
    display: none;
}

.input-password .show-password {
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
}

.input-password .show-password svg {
    background-color: white;
    display: block;
    padding: .2em;
    width: 1.3em;
    height: 1.3em;
}

.content-box{
    border: 2px solid;
    margin: 20px;
    padding: 20px 20px 0 20px;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    flex-grow: 1;

}

.content-box .close-button{
    align-self: flex-end;
}
.content-box.warrning{
    border-color: #D40C0C;
}
.content-box.success{
    border-color: #bfe6d4;
}
.content-box .booking-canceled-illustration{
    /*flex-grow: 1;*/
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}

.content-alert {
    margin: 10px auto;
    font-weight: bold;
    color: darkred;
}

.page-title{
    font-weight: 700;
    font-size: 32px;
}

.page-title-sub{
    font-weight: 400;
    font-size: 20px;
}
.page-title-medium{
    font-weight: 600;
    font-size: 34px;
}

.active-order-container {
    display: flex;
    justify-content: center;
    gap: 1%;
    flex: 1 1;
    flex-wrap: wrap;
}

.order-card {
    min-width: 110px;
    max-width:125px;
    height: 107px;
    background: #F3F3F3;
    border-radius: 40px;
    border: 1px solid #CAC4D0;
    display: flex;
    flex-flow: column;
    align-items: center;
    margin-top: 30px;
    position: relative;
    justify-content: center;
    box-shadow: 0px 2px 6px 2px #00000026;
    color: black;
}

.car-progress-bar-container {
    position: absolute;
    top: -30px;
}

.car-progress-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 57px;
    height: 57px;
    border-radius: 50%;
    top: -27px;
    /* position: absolute; */
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}


.car-progress-bar-text {
    position: relative;
    top: -48px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    margin: auto;
}

.ref-text {
    font-weight: 700;
    font-size: 16px;
    width:80%
}
.car-icon {
    width: 85px;
    height: 85px;
    border: 3px solid #00E0A0a0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 25px;
    overflow: hidden;
}

.car-icon img {
    max-width: 85%;
    max-height: 85%;
}

.car-select-card {
    border-radius: 30px;
    box-shadow: 0px 2px 6px 2px #00000026;
    border: 1px solid #00000026;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 10px;
    padding: 15px;
    box-sizing: border-box;
    height: 100%;
}

.car-name {
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
}
.car-description{
    color:#87898D
}

.car-description-container {
    display: flex;
    flex-flow: column;
    gap: 10px;
}

.car-select-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    width: 100%;
}
.order-page-content{
    display: flex;
    flex-flow: column;
    height: 100%;
    flex-grow: 1;

}
.order-page-content .place-holder {
    flex: 1 0;
}
.order-form-container{
    display: flex;
    flex-flow: column;
    justify-content: space-evenly;
    flex:2 2;
    gap:10px;

}

.text-container{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.map-container {
    display: flex;
    flex-grow: 1;
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #999999;
}

a.map-exit-button {
    position: absolute;
    right: 20px;
    top: 20px;
    width: 50px;
    height: 58px;
    border-radius: 10px;
    border: 1px solid #B6B9BF;
    background:  #FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
}

div#map {
    flex-grow: 1;
}

.map-exit-button img {
    max-width: 80%;
    max-height: 80%;
}
.danger{
    color: #D40C0C;
}
.sarching-car-page-container {
    flex-grow: 1;
    display: flex;
    flex-flow: column;
    justify-content: space-evenly;
}

.searching-animation-container img {
    max-width: 85%;
    max-height: 180px;
}

.searching-text {
    font-size: 20px;
    font-weight: 700;
}
.login-page {
    display: flex;
    flex-direction: column;
    padding: 0 50px;
    flex-grow: 1;
}
.login-page-content{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.form-group {
    display: flex;
}

.ride-details-container .circle img{
    width: 170px;
    height: 170px;
    margin-top: -100px;
}
.ride-details-container .page-title{
    font-weight: 700;
    font-size: 24px;
}

.ride-details {
    display: flex;
    flex-direction: column;
    gap:5px;
    min-width: 80%;
}

.details-row {
    display: flex;
    justify-content: space-between;
    padding:0px 15px;
}

.details-column {
    display: flex;
    gap: 10px;
    align-items: center;

}

.details-row.heaser-row {
    font-weight: 700;
    font-size: 24px;
    background: #BFE6D4;
    border-radius: 50px;
    padding:5px 15px;

}

.live-track-container {
    display: flex;
    justify-content: space-between;
    min-width: 80%;
    align-items: center;
    gap:10px;
}

.close {
    right: 10px;
    text-align: right;
}

.order-card .badge {
    color: white;
    background:  #D40C0C;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    position:absolute;
    right:0;
    top:0
}
.active-orders-page-content
.active-order-container{
    row-gap: 10px;
    display: grid;
    grid-template-columns: 30% 30% 30%;
    margin-left: 20px;
    column-gap: 4%;
}
.active-orders-page-content
.active-order-container
.car-progress-bar-container {
    position: absolute;
    left: -21px;
    top: -4px;
}
.active-orders-page-content
.active-order-container
.order-card{
    height: 50px;
    margin-top: 0;
    position: relative;
    padding-left: 37px;
    margin-right: 0px;
    width: auto;
    padding-right: 5px;
}
.active-orders-page-content
.car-progress-bar-text{
    font-size: 14px;
    top: -45px;
}
.car-progress-bar-text {
    font-family: "Roboto", sans-serif;
    font-weight: 500;
}
.active-orders-page-content
.active-order-container
.order-card
.ref-text {
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    width:100%
}
.active-orders-page-content
.active-order-container
.order-card
.ref-text
br {
    content: " ";
    display: inline-block;
    width: 0.3rem;
}

.order-filter-container {
    width: 200px;
    border: 1px solid;
    border-radius: 40px;
    height: 25px;
}

input.order-filter {
    border: none;
    height: 100%;
    background: url('../images/find.png') no-repeat scroll 7px 5px;
    padding-left:30px;
    width: 200px;
    border: 1px solid;
    border-radius: 40px;
    height: 25px;

}
input.order-filter:focus {
    outline: none;
}

img.order-filter-icon {
    width: 15px;
    height: 15px;
    padding-right: 5px;
}
.active-orders-page-content
.header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.active-orders-page-content
.header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}
.active-orders-page-content
.header-row a img{
    width: 25px;
    height: 25px;
}

.arrived-ride-popup {
    min-width: 50%;
    margin: 0 auto;
    position: absolute;
    background: #BFE6D4;
    border: 2px solid #11996E;
    border-radius: 28px;
    top: calc(50% - 100px);
    align-self: center;
    height: 271px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    padding: 0 30px;
}

.popup-header {display: flex;flex-direction: column;gap: 10px;}

.title {
    font-family: 'Roboto';
    font-size: 28px;
}

.sub-title {
    font-family: 'Roboto';
    font-size: 28px;
    font-weight: bold;
}

button.confirm-button {
    width: 60%;
    height: 50px;
    border-radius: 25px;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: bold;
}
.position-holder .position {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.position-holder .poi-text {
    font-size: 16px;
    color: #000000;
}
.loading-overlay{
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    background: #00000040;
    width: 100vw;
    height: 100vh;
}

@media (max-width: 768px) {
    .ride-details-container .circle img{
        width: 100px;
        height: 100px;
        margin-top: -100px;
    }

    .live-track-container img, .cancel img {
        max-width: 40px;
        max-height: 40px;
    }
}