.banner {
    padding: 50px 0px;
}

.banner .banner-contact a {
    color: #CCCCCC;
    text-decoration: none;
    font-style: normal;
    font-weight: 400;
    font-size: 14.45px;
    line-height: 27px;
}

.banner .title {
    font-style: normal;
    font-weight: 400;
    font-size: 55px;
    line-height: 65px;

    /* or 118% */
    letter-spacing: -0.03em;

    color: #32464F;
}

.banner .description {
    font-style: normal;
    font-weight: 400;
    font-size: 22px;
    line-height: 36px;

    /* or 164% */
    letter-spacing: -0.01em;

    color: #485A61;
}

/* Calendrier du mois */

.month-calendar {
    padding: 50px 0px;
    background-color: #F2FCFF;
}

.month-calendar .calendar-content {
    background: #FFFFFF;
    border: 0.92px dashed #000000;
    border-radius: 42.108px;
    padding: 3rem 1rem;
    margin-top: -100px;
}

.calendar-content .wrapper {}

.calendar-content div#calendar {
    margin: 0;
    padding: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #f3f3f3;
}

.calendar-content table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.calendar-content .head_cal {
    background: #fff;
    color: var(--primary-color);
    font-size: 2rem;
    line-height: 5rem;
    text-transform: uppercase;
}

.calendar-content .subhead_cal {
    background: var(--primary-color);
    color: #fff;
    font-size: 1.2rem;
    line-height: 2rem;
}

.calendar-content .week_cal th {
    padding-bottom: 1rem !important;
    font-style: normal;
    font-weight: 400;
    font-size: 14.2841px;
    line-height: 17px;
    text-align: center;
    letter-spacing: -0.03em;
}

.calendar-content .week_cal {
    font-style: normal;
    font-weight: 700;
    font-size: 14.2841px;
    line-height: 17px;
    text-align: center;
    letter-spacing: -0.03em;

    color: #353535;
    background-color: #fff;
    padding-bottom: 10px;
}

.calendar-content .white_cal {
    background: #F3F6F980 !important;
}

.calendar-content tbody.days_cal tr td a {
    padding: 0;
    text-decoration: none;
    background: #F3F6F9;
    color: #353535;
    height: 2.4rem;
    width: 100%;
    line-height: 2.4rem;
    display: block;
    border-radius: 4px;
}

.calendar-content tbody.days_cal tr td {
    padding: 0;
    margin: 0;
    border: 3px solid #fff;
    text-align: center;
    width: 14.28571428571429%;
    height: auto;
    background-color: #fff;

}

.calendar-content .event {
    color: #85baff !important;
    transition: all 0.3s ease;
}

.calendar-content .today_cal.event {
    background: #ff8d8d !important;
    color: #fff !important;
    transition: all 0.3s ease;
}

.calendar-content .today_cal.event:hover,
.calendar-content .event:hover {
    opacity: 0.5;
    transition: all 0.3s ease;
}

.calendar-content .week_event {
    color: #85baff;
}

.calendar-content #calendar_data {
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    color: #c5c5c5;
    opacity: 0;
    visibility: hidden;
    transform: scale(0, 0);
    transition: all 0.8s ease;
}

.calendar-content #calendar_data h3 {
    text-align: center;
    font-size: 20px;
    padding: 5px 10px;
    margin: 0;
    background: #f2f2f2;
    color: #43aeef;
    border-bottom: 1px solid #dfdfdf;
    text-transform: capitalize;
}

.calendar-content #calendar_data dl {
    padding: 0.5em;
    margin-left: 0;
    display: block;
    height: calc(100% - 4rem);
}

.calendar-content #calendar_data dt {
    float: left;
    clear: left;
    width: 5rem;
    text-align: left;
    font-size: 0.8rem;
    font-weight: 300;
    color: #43b0ef;
    background: #fff;
    padding: 0.2rem;
}

.calendar-content #calendar_data dd {
    margin: 0 0 1rem 5rem;
    padding: 0 0.5rem 0.5rem 0.5rem;
    font-size: 0.8rem;
    line-height: 1.2rem;
    color: #adadad;
    border-bottom: 1px solid #eaeaea;
}

.calendar-content #calendar_data dd:last-child {
    border: none;
}

.calendar-content #calendar_data a:not(.hideEvent) {
    color: #43aeef;
    border: 0.1rem solid #43aeef;
    padding: 0.2rem 1rem;
    text-decoration: none;
}

.calendar-content .show_data {
    opacity: 1 !important;
    visibility: visible !important;
    transform: scale(1, 1) !important;
    transition: all 0.2s ease;
}

.calendar-content .hideEvent {
    position: absolute;
    right: 0;
    top: 0;
    font-size: 2rem;
    font-weight: 300;
    text-align: center;
    text-decoration: none;
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    background: #f2f2f2;
    border-left: 0.1rem solid #e5e5e5;
    color: #d3d3d3 !important;
}

.calendar-content .hideEvent:hover {
    text-decoration: none;
    color: #f55;
}

.calendar-content tbody.days_cal tr td a[data-id='3/5/2023'] {
    background-color: var(--color-error);
    color: #fff;
}

.calendar-content tbody.days_cal tr td a[data-id='3/12/2023'],
.calendar-content tbody.days_cal tr td a[data-id='3/15/2023'] {
    background-color: var(--primary-color);
    color: #fff;
}

.calendar-content tbody.days_cal tr td a[data-id='3/20/2023'],
.calendar-content tbody.days_cal tr td a[data-id='3/9/2023'] {
    background-color: var(--secondary-color);
    color: #fff;
}

.calendar-content .change-calendar {
    margin: 1rem 0;
}

.calendar-content .change-calendar div {
    width: fit-content;
    margin-left: auto;
}

.calendar-content .change-calendar a {
    text-decoration: none;
    color: inherit;
    transform: .7s;
    opacity: .5;
}

.calendar-content .change-calendar a:hover {
    opacity: 1;
    transform: .7s;
}

.month-calendar .month-calendar-right .title,
.partners .title {
    font-style: normal;
    font-weight: 600;
    font-size: 40px;
    line-height: 70px;

    /* identical to box height, or 175% */
    letter-spacing: -0.03em;

    color: #32464F;
}

.month-calendar .month-calendar-right .description {
    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 40px;

    /* identical to box height, or 175% */
    letter-spacing: -0.03em;

    color: #32464F;
}

.calendar-statuses {
    display: flex;
}

.calendar-statuses span {
    display: inline-block;
    margin-right: 10px;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;

    /* identical to box height */
    letter-spacing: -0.03em;

    color: #485A61;
    padding-left: 1.5rem;
    position: relative;
}

.calendar-statuses span::before {
    height: 20px;
    width: 20px;
    position: absolute;
    content: "";
    border-radius: 50%;
    left: 0px;
}


.calendar-statuses .passed::before {
    background-color: var(--primary-color);
}

.calendar-statuses .in-process::before {
    background-color: var(--color-error);
}

.calendar-statuses .express::before {
    background-color: var(--secondary-color);
}

.how-it-work .title {
    font-style: normal;
    font-weight: 600;
    font-size: 48px;
    line-height: 45px;

    /* identical to box height, or 94% */
    letter-spacing: -0.03em;

    color: #334D58;
}


/* .how-it-work */
.how-it-work {
    padding: 50px 0px;
}

.how-it-work .description {
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 35px;

    /* or 174% */
    text-align: justify;
    letter-spacing: -0.01em;

    color: #334D58;
}

.how-it-work .how-it-works-items .step-text {
    height: 100%;
    display: flex;
}


.how-it-work .how-it-works-items .step-text p {
    margin: auto;
}

.how-it-work .how-it-works-items .image {
    height: 300px;
    overflow: hidden;
    display: flex;
    border-radius: 40px;
    position: relative;
}

.how-it-work .how-it-works-items img {
    margin: auto;
    margin-top: -18px;
}

.how-it-work .how-it-works-items .image-container {
    position: relative;
}

.how-it-work .how-it-works-items .step-text-content {
    position: absolute;
    display: inline-block;
    right: 0%;
    z-index: 1;
    transform: translateX(50%);
    top: 30%;
    padding: 1rem 2rem;
    background-color: #fff;
    font-style: normal;
    font-weight: 600;
    font-size: 20px;
    line-height: 22px;

    /* identical to box height, or 112% */
    letter-spacing: -0.03em;
    text-transform: uppercase;
    color: var(--primary-color);
    box-shadow: 0px 0px 4.83526px rgba(0, 0, 0, 0.15);
    border-radius: 9.67051px;
}

.how-it-work .how-it-works-items .step-2 {
    flex-direction: row-reverse;
}

.how-it-work .how-it-works-items .step-2 .step-text p {
    text-align: end;
}

/* Partners */

.partners {
    background-color: #FFF5EE;
    padding: 50px 0px;
    text-align: center;
}

.partners .d-flex {
    flex-wrap: wrap;
    justify-content: center;
}

.partners .d-flex .partner-image {
    display: inline-block;
    margin-right: 4rem;
    margin-bottom: 1rem;
}

.partners .description {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    font-size: 25px;
    line-height: 40px;

    /* or 161% */
    text-align: center;
    letter-spacing: -0.01em;
    color: #4E6670;
}

/* features */
.features {
    background-color: var(--primary-color);
    padding: 50px 0px;
    color: #fff;
}

.features .feature-item .image {
    display: flex;
}

.features .feature-item .feature-item-title {
    margin-bottom: 0;
    font-style: normal;
    font-weight: 600;
    font-size: 19.6301px;
    line-height: 27px;

    /* identical to box height, or 135% */
    letter-spacing: -0.03em;
}

.features .feature-item .desc {
    margin-left: 1rem;
}

/* How its sended */
.how-its-sended {
    padding: 50px 0px;
}

.how-its-sended .title {
    font-style: normal;
    font-weight: 600;
    font-size: 47.8867px;
    line-height: 78px;

    /* identical to box height, or 162% */
    letter-spacing: -0.03em;

    color: #32464F;
}

.how-its-sended .subtitle {
    font-style: normal;
    font-weight: 600;
    font-size: 29.9292px;
    line-height: 78px;

    /* identical to box height, or 259% */
    letter-spacing: -0.03em;
}

.how-its-sended .text {
    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    line-height: 40px;

    /* or 154% */
    letter-spacing: -0.01em;

    color: #64757C;
}

.how-its-sended .prices-wrapper {
    padding: 3rem;
}

.how-its-sended .prices-container {
    padding: 2rem;
    background: #FAFEFF;
    border: 1.70352px dashed #161616;
    border-radius: 21.294px;
}

.how-its-sended .prices-container .primary-title {
    font-style: normal;
    font-weight: 600;
    font-size: 40.8845px;
    line-height: 57px;

    /* identical to box height, or 139% */
    letter-spacing: -0.03em;

    color: #3BB1D3;
}

.how-its-sended .prices-container .text {

    color: #272223;
}

.how-its-sended .prices-container .our-prices {
    position: relative;
}

.how-its-sended .prices-container .our-prices::before {
    position: absolute;
    top: 1rem;
    bottom: 1rem;
    left: 50%;
    content: "";
    border-right: 1px dashed #272223;
}

.how-its-sended .prices-container .our-prices .col-12:first-child p {
    padding-right: 1rem;
}
.how-its-sended .prices-container .our-prices .col-12:last-child p{
    padding-left: 1rem;
}

.mt-auto {
    margin-top: auto;
}

@media (max-width: 978px) {
    .app-header .navbar-nav .nav-item.profile {
        margin-left: 0px;
    }
    .flex-xs-row-reverse {
        flex-direction: column-reverse;
    }
    .month-calendar .month-calendar-right .title, .partners .title, .how-its-sended .title {
        line-height: 41px;
    }
    .month-calendar-right {
        margin-top: 1rem;
    }
    .how-it-work .how-it-works-items .step-text-content {
        transform: translateX(0);
    }
    .how-it-work .how-it-works-items .step-2 .step-text p {
        text-align: left;
    }
    .features .feature-item {
        display: flex;
        margin-bottom: 1rem;
    }
    .features .feature-item .d-flex {
        margin: auto;
    }
    .how-its-sended .subtitle {
        line-height: 29px;
        margin-top: 1rem;
    }
    .how-its-sended .text {
        line-height: 24px;
    }
    .how-its-sended img.m-auto {
        width: 100%;
        margin-top: 1rem;
    }
    .how-its-sended .row {
        flex-direction: column-reverse;
    }
    .how-its-sended {
        text-align: center;
    }
    .how-its-sended .prices-wrapper {
        padding: 3rem 0;
    }
    .how-its-sended .prices-container .our-prices::before {
        display: none;
    }
    .footer .copyright {
        margin-top: 2rem;
    }
    .footer .copyright p {
        text-align: center;
    }
  }


@media (max-width: 978px) {

    .partners .d-flex {
        flex-direction: column;
    }
}