@import url('https://fonts.googleapis.com/css?family=Montserrat');

:root{
    --body: #f1f4fb;

    --primary: #6157ea; 
    --secondary: #8fb0e8; 
    --tertiary: #d2ddfa; 

    --primary-text: #fff; 
    --secondary-text: #fff; 
    --tertiary-text: #555762; 

    --text: #555762; 
    --text-specialty: #707584;
    --calendar-text: #a1a1a1;

    --service-gradient: #d2ddfa63;
    --hide-transition: all .4s ease-out;
}

* {
    box-sizing: border-box;
}

*:focus {
    box-shadow: none !important;
}


.btn {
    position: relative;
    display: block;
    width: 100%;
    padding: 12px 0px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 8px;
    font-family: Montserrat, sans-serif;
    /* max-width: 350px; */
    font-weight: 500;
    font-size: 16px;
    border: none;
    border-radius: 8px;
    text-align: center;

    border-radius: 100px;
    padding: 14px;
    transition: all .15s ease;
}

.btn:hover{
    text-decoration: none;
    transform: scale(1.05);
}

.btn > div {
    display: inline-block;
    height: 0px;
}

.btn > div > img {
    position: relative;
    top: -2px;
    margin-right: 4px;
    width: 30px;
}


.header {
    margin-bottom: 35px;
}

.header > div > div {
    margin-bottom:20px
}

.header > div > div > div {
    padding-left: 40px; 
    padding-right: 40px
}

.header__title {
    font-size: 1.4rem;
}

.datepicker-inline{
	width:100% !important;
}

label.error{
	color: red;
}

.iti{ width: 100%;}


.btn-paylink{
	background-color: var(--primary);
	color: var(--primary-text);
}

/* .datepicker table tr td {
    border-radius: 100%;
    height: 500px !important;
} */


.datepicker table tr td, .datepicker table tr th{
	width:60px !important;
	height:68px !important;
    border-radius: 100%;
}

.nopatient{
	display:none;
}

.datepicker table{
	width:100%;
}


.datepicker table tr td.disabled, .datepicker table tr td.disabled:hover {
    background: 0 0;
    color: var(--calendar-text);
    cursor: default;
}

td.day:not(disabled){
    color: var(--tertiary-text) !important;
    background: var(--tertiary);
}

.container-btn-hour {
	display: flex;
    justify-content: space-around;
}

.btn-hour {
	width:100%;
	margin-bottom:7px;
	height:55px;
	background-color: var(--tertiary);
	color: var(--tertiary-text);
    transition: all .3s ease;
}

.btn-hour:hover {
	border: 2px var(--primary) solid;
	color: var(--tertiary-text);
	box-shadow: none;
	transition: none;
}

.btn:focus {
	box-shadow: none;
}

.btn-hour-active {
	background-color: var(--secondary);
    color: var(--secondary-text);
}

.btn-hour-active:hover {
	color: var(--primary-text);
	border: 0px transparent solid !important;
	cursor: default;
}

.btn-reserve {
	overflow: hidden;
    width: 0px;
    padding: 0;
	margin-left: 0px;
    color: var(--primary-text);
	background-color: var(--primary);
	border: none;
	white-space: nowrap;
}

.btn-reserve-active {
	width: 100%;
	margin-left: 11px;
	background-color: var(--primary);
	color: var(--primary-text) !important;
}

.btn-reserve-active:hover{
	border: none !important;
}

.datepicker .next:hover, 
.datepicker .prev:hover {
	background-color: transparent !important;
}

body {
    min-height: 100vh;
    margin: 30px 0px;
    font-family: Montserrat, sans-serif;
    background-color: var(--body);
    overflow-x: hidden;
}

p{
    font-size: 14px;
    line-height: 21px;
}

h2{
    font-size: 1.5em; 
    font-weight: 600; 
    margin-bottom: 20px;
}

h3{
    font-size: 1.2em;
    font-weight: 600;
}

h4{
    font-size: 1.5em;
    margin-top: 20px;
    /* margin-bottom: 30px; */
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
}

p, 
h1, h2, h3, h4, h5, h6 {
    color: var(--text);
}	

.round{ 
    width: 80px;
    border-radius: 1000px;
    margin-bottom: 14px;
}

button.primary {
background-color: #4040f0;
border: 1px solid #4040f0;
border-radius: 3px;
color: #f0f4ff;
font-family: Montserrat, sans-serif;
font-weight: 500;
padding: 10px 25px;
font-size: 16px;
margin: 0px 2px;
}
button.primary.ghost {
background-color: transparent;
color: #1b99aa;
border: 1px solid #16b5ca;
} 


.skills3 ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.skills3 ul li {
border: 1px solid #8d7ecf;
border-radius: 2px;
display: inline-block;
font-size: 0.7rem;
margin: 0 7px 7px 0;
padding: 7px;
color: var(--text-specialty);
background-color: var(--tertiary);
}

.card {
    background-color: transparent;
}

.card-container{
    padding-bottom: 15px;
    margin-bottom: 100px;
    color: var(--text);
    border-radius: 30px;
    box-shadow: 3px 3px 7px 0px #b8bac0b0;
}

.card-style{
    border: transparent;
}

.service {
    background-color: var(--tertiary);  
    color: var(--tertiary-text);
    padding: 24px;
    padding-top: 0;
    border-radius:15px;
    text-align: left;
}

.service__price-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 25px;
}

.font-icon{
    width: 1.3em;
}

.service__img-container {
    display: inline-block;
    height: 0px;
    width: 100%;
    padding-bottom: 40%;
    margin-top: 24px;
    border-radius: 12px;
    overflow: hidden;
}

.service__img {
    width: 100%;
    height: auto; 
}

.service__name {
    margin-top: 9px;
    font-size: 23px;
}

.service__info-container {
    position: relative;
    max-height: 455px;
    margin-top: 17px;
    cursor: pointer;
    transition: var(--hide-transition);
}

.service__info-hiden {
    max-height: 60px;
    overflow: hidden;
}

.show-service {
    position: absolute;
    bottom: 0px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    height: 54px;
    margin: 0;
    font-size: 17px;
    background: linear-gradient(transparent 0%, 1%, var(--tertiary) 99%);
    cursor: pointer;
    transition: var(--hide-transition);
}

.show-service::before {
    transition: var(--hide-transition);
}

.show-service--active {
    background: transparent !important;
}

.show-service--active::before {
    transform: rotate(-180deg);
}

.show-service-arrow {
    margin-left: 12px;
    transition: var(--hide-transition);
}

.show-service-arrow--active {
    transform: scaleY(-1);
}

.hidden-button {
    height: 0;
    color: transparent;
    cursor: none;
}

.service__desciption {
    margin-bottom: 0px;
    font-size: 15px;
}

.service__btn {
    height: 45px;
    width: 100%;
    margin-top: 23px;
    border: none;
    color: var(--primary-text);
    background-color: var(--primary);
    border-radius: 8px;
    padding: 0;
    font-size: 19px;
    transition: all .15s ease;
}

.service__btn:hover {
    transform: scale(1.05);
}

footer {
    background-color: #443aab;
    color: #fff;
    font-size: 14px;
    bottom: 0;
    position: fixed;
    left: 0;
    right: 0;
    text-align: center;
    z-index: 999;
}
footer p {
    margin: 10px 0;
}
footer i {
    color: rgb(255, 255, 255);
}
footer a {
    color: #3c97bf;
    text-decoration: none;
}

.landing-link {
    position: fixed;
    bottom: 30px;
    right: 50px;
    z-index: 999999;
    display: inline-block;
    padding: 5px 14px;
    padding-left: 43px;
    font-size: 14px;
    font-weight: 700;
    background-color: #6157ea;
    color: #fff !important;
    border-radius: 12px;
    transition: all .15s ease;
}

.landing-link:hover {
    text-decoration: none;
    transform: scale(1.05);
}

.landing-link > span {
    font-size: 22px;
    position: absolute;
    top: 0px;
    left: 13px;
    height: 0;
}

.landing-link--wellb {
    padding: 11px 16px;
    font-weight: 400;
    background-color: #0d0548;
    border: 1px solid #372ba0b8;
}

.landing-link--wellb > img {
    width: 48px;
    margin-left: 8px;
}

.datepicker table tr td.disabled, .datepicker table tr td.disabled:hover {
    background: 0 0;
    color: var(--calendar-text) !important;
    cursor: default;
}

.datepicker table tr td.day:hover, .datepicker table tr td.focused {
    background-color: var(--secondary);
    cursor: pointer;
}

.datepicker table tr td.disabled:hover {
    background-color: transparent;
}

.datepicker table tr td.active.disabled:hover {
    background-color: var(--secondary) !important;
}

.datepicker table tr td.active.active {
    color: var(--primary-text) !important;
    background-color: var(--primary) !important;
    border-color:  var(--primary) !important;
}

td.day:not(disabled) {
    color: var(--tertiary-text) !important;
    background: var(--tertiary);
}

.table-condensed > thead > tr:nth-child(2n) > th{
    height: 45px !important;
}

.table-condensed > thead > tr:last-child > th{
    height: 50px !important;
}

.calendar > div > div > table > thead > tr > .datepicker-switch {
    pointer-events:none;
}

.vertical-center{
    display:flex; 
    align-items: center;
    
}

.arrow-content {
    position: absolute;
    top: 57px;
    left: 115px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 30px;
    width: 30px;
    font-size: 20px;
    color: var(--text);
    background-color: #fff;
    border-radius: 100%;
    border: 2px solid;
    cursor: pointer;
    box-shadow: 0 2px 1px 0px #000;
    transition: all .1s ease;
}

.arrow-content:hover {
    transform: scale(1.05);
}


@media (max-width: 575px){
    body {
        margin: 0 0;
    }		
    
    .landing-link {
        right: 30px;
    }
}

.loading-block {
    display: none;
    padding:30px;
}

.loading-block > .card {
    border: none !important
}

.step-title {
    padding: 0 47px;
    margin-bottom: 25px;
}

.step-1 {
    margin-bottom: 10px;
}

.step-1__services {
    margin-bottom:15px
}

.step-1__services > div {
    max-width: none;
}

.step-1__services > div > div > div > h3 {
    color: var(--tertiary-text) !important;
    margin-bottom: 0;
}

.step-1__services > div > div > div > p {
    color: var(--tertiary-text) !important;
}


.step-1__service {
    margin-bottom: 5px;
}

.step-1__price {
    margin: 0;
    font-weight: 400; 
    font-size: 29px;
}

.step-1__address {
    margin: 0px;
    margin-top: 10px;
    font-weight: 600;
}



.step-2 {
    margin-top: -30px;
    /* max-width: 360px; */
}

.step-2__title {
    padding: 15px 0;
    margin-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 20px;
    background-color: #e6edfd;
}

.step-2,
.step-3, 
.step-4 {
    position: static;
}

.step-2 > .row,
.step-3 > .row,
.step-4 > .row {
    margin-bottom:15px;
    padding-top:15px
}

.step-4__card {
    background-color: var(--tertiary) !important; 
    padding: 27px 25px; 
    border-radius: 15px;
}

.step-4__card > h6 {
    color: #555762 !important;
}

.btn-block--primary {
    background-color: var(--primary) !important;
}

.step-5 > .row{
    margin-bottom:15px; 
    padding-bottom: 0;
}

.step-5__card {
    padding: 0px 20px; 
    border-radius: 15px;
    padding-bottom: 0;
}

.step-5__card > h3,
.step-5__card > p {
    color: var(--tertiary-text) !important;
}

.step-5__event-info {
    background-color: var(--tertiary) !important;
    padding: 27px 25px;
    border-radius: 15px;
}

.step-5__event-info > p {
    font-size: 16px;
}

.step-5__hour {
    margin-bottom: 0;
}

.step-5-gratitude {
    font-size: 18px;
    margin-top: 1.2rem;
    margin-bottom: 33px;
}

.step-5__card > h3 {
    margin-bottom: 16px;
}

.paylink-details {
    margin-top:15px
}

.calendar-non-exist {
    margin-bottom:30px;
}

.calendar-non-exist > div {
    margin-bottom:20px;
}

.loading-icon {
    color: #847cf1;
}

.step-1__teleconsultation {
    display: inline-block;
    padding: 0px 5px;
    margin-bottom: 0;
    margin-left: auto;
    font-size: 11px;
    font-weight: 700;
    border-radius: 6px;
    color: var(--primary-text) !important;
    background-color: var(--primary);
}

button:focus {
    outline: none;
}

.schedule-day-preview {
    font-size: 16px;
}

.service__desciption--hiden,
.step-1__address--hiden {
    display: none;
}

.schedule-img {
    display: flex;
    justify-content: center;
    margin-bottom: 0 !important;
}

.schedule-img > a {
    display: inline-block;
}

@media (max-width: 1200px) {
    .arrow-content {
        left: 100px;
    }

    .datepicker table tr td {
        height: 55px !important;
    }

    .step1-title{
        padding: 0px 43px;
    }
    
}


@media (max-width: 990px) {
    .arrow-content {
        left: 52px;
    }

    .datepicker table tr td {
        height: 49px !important;
    }

    .step1-title {
        padding: 0 37px;
    }
}

@media (max-width: 768px) {
    .step-2__title {
        width: 95%;
    }

    .arrow-content {
        left: 62px;
    }

    .datepicker table tr td {
        height: 65px !important;
    }
}


@media (max-width: 575px){
    .step-2__title {
        width: 320px;
    }

    .card-container{
        box-shadow: none;
    }

    .arrow-content {
        top: 53px;
        left: 15px;
        font-size: 32px;
    }
    
    .datepicker table {
        width: 320px;
        margin-left: auto;
        margin-right: auto;
    }

    .datepicker table tr td {
        height: 45px !important;
    }

    .step-2 > .row > .col {
        padding-left: 0;
        padding-right: 0;
    }

    .step-2 > .row > .col > .card >.card-body {
        padding-left: 0;
        padding-right: 0;
    }

    .step1-title {
        padding: 0px 0px;
    }

    .btn:hover{
        transform: scale(1);
    }

    .arrow-content {
        font-size: 16px;
    }
}

/* --- Animations: --- */

.animation-fade-in {
    animation-duration: 0.7s;
	animation-name: fade-in;
}

@keyframes fade-in {
	from {
		opacity: 0; 
	}
	to {
		opacity: 1; 
	}
}
