/* You can write dashboard, front-end main styles and responsive etc
-------------------------------------------------------------- */

/* Fonts */
@font-face {
    font-family: "Coolvetica";
    src: url(../fonts/coolvetica.otf);
}

@font-face {
    font-family: "Work Sans";
    src: url(../fonts/WorkSans.ttf);
}

/* Styles */
.dc-insuranceslist {
    margin-bottom: 1rem;
    float: left;
    width: 100%;
    list-style: none;
    line-height: 20px;
    font-family: "Open Sans", sans-serif;
}

.dc-insuranceslist div.dc-insuranceitem {
    float: left;
    width: 33.33%;
    padding-left: 12px;
    position: relative;
    line-height: inherit;
    list-style-type: none;
}

.dc-insuranceslist div.dc-insuranceitem:nth-child(n + 4) {
    margin-top: 10px;
}

.dc-insuranceslist div.dc-insuranceitem:not(.button-show-more):before {
    left: 0;
    top: 10px;
    width: 3px;
    height: 3px;
    content: "";
    position: absolute;
    background: var(--themecolor);
    border-radius: 50%;
}

.dc-insuranceslist div.dc-insuranceitem:first-child:not(.button-show-more):before {
    top: 8px;
}

.dc-insuranceslist div.dc-insuranceitem span {
    font-size: 14px;
    display: block;
    line-height: inherit;
    color: var(--terthemecolor);
}

.dc-insuranceslist div.dc-insuranceitem span a {
    color: var(--terthemecolor);
}

.dc-insuranceslist>div.show-more {
    display: none;
}

/* ================== Sticky Filter =================== */

.page-template-doctor-search .dc-wrapper,
.page-template-hospital-search .dc-wrapper {
    /* Originally is hidden, if it's hidden the sticky property in .search-filter won't work 
    https://stackoverflow.com/questions/43707076/how-does-the-position-sticky-property-work */
    overflow-x: initial;
}

.search-filters {
    border-bottom: 1px solid #edeff2;
    border-top: 1px solid #edeff2;
    background: white;
    height: 65px;
    line-height: 63px;
    top: 0;
    z-index: 100;
}

.search-sticky {
    display: none;
    position: sticky;
    float: left;
    width: 100%;
}

.vsiete-dropdown .insurance label {
    display: inline-block;
}

.vsiete-dropdown {
    background: white;
}

.vsiete-dropdown-menu {
    display: none;
    width: 345px;
    line-height: normal;
    border: 1px solid #dfdfdf;
    height: auto;
    position: absolute;
    background: white;
    box-shadow: 0 0.8rem 1.6rem rgba(0, 0, 0, 0.1);
    top: 95%;
}

.vsiete-dropdown-menu ul {
    max-height: 390px;
    overflow-x: hidden;
    height: auto;
    padding-top: 1rem;
}

.vsiete-dropdown .dropdown-menu-footer {
    border-top: 0.06667rem solid #dcdfe3 !important;
    padding: 1rem;
    background: white;
    position: sticky;
    bottom: 0;
    background: white;
}

button#insurances_clear {
    color: #fff;
    width: auto;
    min-width: 0;
    padding: 0 17px;
    background: #83444f;
    border: 1px solid var(--secthemecolor);
}

.dc-btnactive,
button#insurances_clear:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* ================== Pasarela y suscripciones =================== */
td.dc-packageprices {
    color: #324b6e;
    font-weight: 100;
    font-size: 28px;
    font-family: "Coolvetica", "Poppins", sans-serif;
    padding: 1em 1em !important;
    vertical-align: middle;
}

td.dc-packageprice {
    display: table-cell;
    float: none;
    width: auto;
    font-size: 40px;
    font-weight: 700;
    color: #323232;
    padding: 1em 1em !important;
    line-height: normal;
    vertical-align: middle;
}

td.dc-packagedata {
    padding: 1.5em 0.75em;
    height: auto;
    max-width: 180px;
    vertical-align: middle;
}

.dc-packagename {
    padding-top: 1em;
    font-weight: 600;
    font-size: 32px;
    font-family: "Coolvetica", "Poppins", sans-serif;
}

.dc-subpasarela {
    font-family: "Coolvetica", "Poppins", sans-serif;
    letter-spacing: 0.03em;
    font-weight: 500;
}

.dc-montopasarela {
    font-family: "Coolvetica", "Poppins", sans-serif;
    font-size: 32px;
    font-weight: 600;
    letter-spacing: 0.05em;
}

td.dc-packagetxt {
    display: table-cell;
    font-family: "Work Sans", "Poppins", sans-serif;
    font-weight: 500;
    font-size: 1.25em;
}

.dc-pagomovil {
    font-family: "Work Sans", "Poppins", sans-serif;
    display: flex;
    justify-content: space-between;
}

.dc-pagomovil span {
    font-size: 1.2em;
}

.dc-copybtn {
    background-color: transparent;
    margin-left: 0.5em;
}

.dc-pasarela-label {
    font-family: "Work Sans", "Poppins", sans-serif;
    font-size: 1.05em;
    margin-bottom: 3px;
}

.dc-packageicon {
    font-size: 20px;
}

.dc-member-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0em 1em 8em 1em;
    font-size: 16px;
}

.dc-member-badge p {
    margin-bottom: 4px;
}

/* WEB-1  */
.woocommerce-order-received .dc-runner {
    margin-bottom: 0;
}

@media screen and (min-width: 768px) {
    .woocommerce-order-received .woocommerce-thankyou-order-details {
        display: flex;
        justify-content: center;
    }
}

.woocommerce-order-received .dc-runner-heading h3 {
    text-align: center;
}

#dc-main th {
    background: var(--themecolor);
    color: white;
}

table.telemedicine-details>tbody>tr>td {
    text-align: left;
}

.telemedicine .dc-tabscontenttitle {
    background-color: #dddddd;
}

.vsiete-form-telemedicine .dc-btn[type="submit"] {
    background-color: var(--themecolor);
}

.vsiete-form-telemedicine .dc-dashboardboxtitle {
    padding: 30px;
    display: flex;
}

.vsiete-form-telemedicine .dc-dashboardboxtitle h2 {
    font-size: 1.9rem;
}

.vsiete-form-telemedicine .dc-dashboardboxtitle h3 {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 23px;
}

.vsiete-form-telemedicine textarea.form-control {
    resize: none;
    height: 105px;
}

@media (max-width:1024px) {
    .vsiete-form-telemedicine .dc-dashboardboxtitle h2 {
        font-size: 1.2rem;
    }

    .vsiete-patient-details #vsiete_videocall {
        min-width: 0;
        line-height: 25px;
    }
}

#vsiete_videocall {
    margin-right: 5px;
}

.p-0-20 {
    padding: 0 20px;
}

/* Login options tabs */
.login-options-tabs {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 1.5rem;
    padding-bottom: 0.5rem;
    height: 2rem;
    width: 100%;
}

.login-tab {
    text-align: center;
    color: var(--terthemecolor);
    padding: 0.5rem 1rem;
    border-radius: 5px 5px 0px 0px;
    transition: all 300ms ease-in-out;
    background-color: transparent;
}

.login-tab:hover, .login-tab-active {
    background-color: var(--themecolor);
    color: #fff;
    border-color: var(--themecolor);
}

/* OTP login */
.phone-formgroup {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.phone-formgroup > select {
    padding: 8px;
    padding-left: 14px;
}

.otp-title {
    font-weight: bold;
    font-size: 1rem;
    text-align: center;
    margin-top: 1.1rem;
}

.otp-form-group {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.otp-digit {
    width: 55px;
    text-align: center;
    -moz-appearance: textfield;
}

.otp-digit::-webkit-inner-spin-button, .otp-digit::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.otp-btns-container {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    align-items: center;
    gap: 20px;
    padding-bottom: 15px;
}

.otp-btns-container > div {
    display: flex;
    flex-direction: row;
    gap: 5px;
    justify-content: space-evenly;
}

.dc-btn:disabled {
    color: #535353;
    border-color: #b5b5b5;
    min-width: fit-content;
}

#otp-resend-btn {
    font-size: 0.9em;
    min-width: fit-content;
}

.dc-btn:disabled:hover {
    background-color: transparent;
}

.dc-loginformpop {
    padding-right: 0 !important;
}

@media (max-width: 425px) {
    .otp-form-group {
        gap: 5px;
    }

    .otp-digit {
        width: 53px;
        padding: 10px !important;
    }
}

/* NEW SIGN UP */
.dc-registerformhold {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: transparent;
    padding-top: 1rem;
}

.hidpi-logowrap {
    min-height: 5.5rem;
    display: grid;
    grid-template-columns: 1fr 4fr 1fr;
    align-items: center;
}

#signup-steps {
    padding-top: 1.75rem;
    margin-bottom: 0;
}

.dc-joinsteps li span + span {
    border: none;
    width: fit-content;
    max-width: 100px;
    line-height: 22px;
}

.dc-joinsteps li > div {
    display: flex;
    flex-direction: column;
    align-items: center;
}

li.dc-done-next > div > span + span {
    border: none !important;
    background-color: transparent !important;
    color: #00cc8d !important;
}

.dc-registerformgroup label {
    margin-top: 6px;
    margin-bottom: 0;
    color: #5c6792
}

button.dc-btn {
    background-color: transparent;
}

.signup-btns-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding-bottom: 60px;
}

.signup-btns-container > a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

.signup-btns-container > a > span {
    font-size: 18px;
}

.signup-btns-container > a > i {
    font-size: 40px;
}

.signup-next-btn {
    margin-top: 1.25rem;
    float: right;
}

@media (max-width:450px) {
    .dc-btn.signup-next-btn {
        min-width: 140px;
    }

    /* Go back button in register page */
    a.dc-btn.signup-next-btn {
        min-width: 60px;
    }

    a.dc-btn.signup-next-btn.continue, 
    button.dc-btn.signup-next-btn {
        min-width: 170px;
    }
}

.survey-container {
    max-width: fit-content;
    margin-right: auto !important;
    margin-left: auto !important;
}

.survey-container.no-fit {
    max-width: 75%;
}

.survey-container > #service_controls,
.survey-container > #insurance_controls {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-left: 1rem;
    padding-bottom: 0.5rem;
}

.survey-container .services-all,
.survey-container .insurances-all {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}

.survey-scroll {
	max-height: 250px;
	overflow-y: scroll;
}

.signup-check {
	display: flex;
	gap: 8px;
	padding-left: 1rem;
	align-items: center;
	border-radius: 3px;
	margin-bottom: 12px;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 250ms;
}

.signup-check:hover {
	cursor: pointer;
	background-color: #cbd5e1;
}

.signup-check > label {
	margin-top: 0;
	width: 100%;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	padding-right: 1rem;
}

.signup-check > *:hover {
	cursor: pointer;
}

.check-selected {
	background-color: #cbd5e1;
}

/* Responsive training call image */
.training-signup {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: center;
}

.training-signup img {
	max-width: 80% !important;
}

@media (max-width: 320px) {
	.training-signup img {
		max-width: 40% !important;
	}
}

@media (max-width: 480px) {
	.training-signup {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.training-signup img {
		max-width: 67% !important;
	}
}

@media (min-width: 768px) {
	.training-signup img {
		max-width: 100% !important;
	}
}

@media (min-width: 1024px) {
	.training-signup img {
		max-width: 80% !important;
	}
}


/* Responsive nav buttons on signup */
.signup-nav-container {
    display: flex;
    justify-content: space-between;
    padding: 0 24px;
}

@media (max-width: 480px) {

    .signup-nav-container {
        padding: 0;
    }
}

@media (max-width: 320px) {

    .signup-nav-container {
        flex-direction: column;
        gap: 6px;
    }

}

/* Responsive OTP countdown on signup */
.verify-resend-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 70%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 24px;
    margin-bottom: 2.5rem;
}

@media (max-width: 480px) {
    .verify-resend-container {
        max-width: 100%;
        gap: 6px;
    }
}

/* Titles for the step by step in the telemedicine form */
/* @media (max-width: 767px) {
    .vsiete-form-telemedicine .dc-dashboardboxtitle {
        padding: 20px;
    }

    .vsiete-form-telemedicine .dc-dashboardboxtitle h2 {
        font-size: 1.6rem;
    }

    .vsiete-form-telemedicine .dc-dashboardboxtitle h3 {
        font-size: 1.2rem;
    }
} */

/* Hide on mobile */

.dc-joinsteps span.step-label-phone {
    font-size: 0.7rem !important;
    display: none !important;
}

@media (max-width:480px) {

    .page-id-1238 .dc-main {
        padding: 0;
    }

    .dc-registerformmain {
        padding: 20px 10px;
    }

    .dc-registerhead {
        margin-bottom: 15px;
    }

    #signup-steps {
        display: flex;
        justify-content: space-evenly;
    }

    .dc-joinsteps li {
        flex: 1 1 0px;
        width: auto;
    }

    .dc-joinsteps li+li:after {
        display: none;
    }

    .dc-joinsteps .step-label {
        display: none;
    }

	.dc-joinsteps li.dc-active .step-label-phone {
        display: block !important;
    }
}

/* ===== LAN-1 ===== */
/* Header mobile */

/* Only display for home with this design */

.home .dc-breadcrumbarea {
    display: none;
}

#search_form a.telemedicine {
    display: none;
    width: 100%;
    /*background: #ff6464;
    border-color: #ff6464;*/
    color: #499fd8;
}

.home #search_form a.telemedicine {
    display: block;
}

#search_form .dc-innerbannerform h1,
#search_form .dc-innerbannerform h2 {
    display: none;
}

.home #search_form .dc-innerbannerform h1,
.home #search_form .dc-innerbannerform h2 {
    display: inherit;
}

#search_form input.dc-btn {
    background: #499FD8;
    border-color: #499FD8;
}

.navbar-toggler {
    background-color: transparent;
    color: black;
}

i.lnr.lnr-menu {
    font-weight: bold;
    font-size: 1.7rem;
}

.dc-navigationarea,
.dc-innerbanner-holder {
    /* background: #f4fbff; */
    background: white;
}

#search_form .dc-innerbannerform h1,
#search_form .dc-innerbannerform h2 {
    text-align: center;
}

#search_form h1 {
    line-height: 1.25;
    font-size: 1.643rem;
    margin-bottom: 10px;
}

#search_form h2 {
    margin-bottom: 30px;
    margin-top: 0;
    opacity: .8;
    font-size: 1.3rem;
}

/* Size of input and button in header */
.dc-form-advancedsearch input.form-control {
    height: 65px;
}

.dc-form-advancedsearch span.select2-selection.select2-selection--single {
    height: 65px;
}

.dc-form-advancedsearch span.select2-selection.select2-selection--single span.select2-selection__rendered,
.dc-form-advancedsearch .dc-select:after {
    line-height: 65px;
}

#search_form input.dc-btn {
    height: 65px;
}

/* Background image */
.home .dc-navigationarea {
    background-color: rgb(244 251 255 / 90%);
}

.home .dc-innerbanner-holder {
    background-image: url('/wp-content/themes/doctreat-child/images/landing-header-image-low.webp');
    background-position: 85% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: rgb(244 251 255 / 90%);
}

@media (max-width: 768px) {
    .home .dc-innerbanner-holder {
        background-image: linear-gradient(rgb(244 251 255 / 90%), rgb(244 251 255 / 90%)), url('/wp-content/themes/doctreat-child/images/landing-header-image-low.webp');
        background-size: 50%;
        background-position: center -5%;
    }
}

@media (max-width:1524px) and (min-width:769px) {
    .home .dc-innerbanner-holder {
        background-position: 100% 50%;
    }
}

/* Header tablet & desktop */
@media (min-width:576px) {
    .home .dc-opensearchs {
        /* padding-top: 2rem;
        padding-bottom: 4rem; */
        padding-top: 1rem;
        padding-bottom: 2rem;
    }

    #search_form .dc-innerbannerform h1,
    #search_form .dc-innerbannerform h2 {
        text-align: left;
    }
    
    #search_form h1 {
        margin-top: 2.5rem !important;
    }
}

.home .dc-form-advancedsearch fieldset {
    background: rgba(0, 0, 0, .07);
    border-radius: 5px;
}

/* Header tablet only */
@media (max-width:768px) {
    .dc-form-advancedsearch fieldset .form-group:nth-child(2),
    .dc-form-advancedsearch fieldset .form-group:first-child{
        width: 100%;
    }

    .dc-loginarea {
        display: none;
    }
}

/*
@media (max-width: 500px) {
    .dc-form-advancedsearch {
        margin-bottom: 2rem;
    }
}
*/

/* Hide on desktop */
@media (min-width:769px) {

    #search_form a.telemedicine {
        display: none !important;
    }

}

/* ===== LAN-3 ===== */
/* Categories */

.dc-speciality-item {
    margin-bottom: 1rem;
    font-size: 1rem;
}

.landing-categories .lc-card {
    border: 2px solid;
    border-color: var(--themecolor);
    border-radius: 5px;

    -webkit-box-shadow: 0px 9px 31px -12px rgba(0, 0, 0, 0.41);
    -moz-box-shadow: 0px 9px 31px -12px rgba(0, 0, 0, 0.41);
    box-shadow: 0px 9px 31px -12px rgba(0, 0, 0, 0.41);
}

.landing-categories .lc-card img {
    width: 70%;
    margin-left: 13%;
}

.landing-categories .lc-card a {
    font-size: 1.1rem;
}

/* @media (max-width: 375px) {
  .landing-categories .lc-card a {
    font-size: 0.7rem;
  }
} */

/* Custom codes */
@media (max-width: 768px) {
    .hidpi-logowrap .dc-logo {
        width: auto;
        margin: 0;
        margin-left: .8rem;
    }

    .hidpi-logowrap .dc-rightarea {
        width: auto;
        height: 46px;
    }

    .dc-userlogedin {
        float: left;
        margin-right: 25px;
    }

    #search_form .dc-btnarea {
        width: 100%;
    }

    #search_form input.dc-btn {
        width: 100%;
    }

    .dc-navigationarea img.amsvglogo {
        max-width: 80%;
    }
}

/* ===== Modificacion color boton compartir perfil medico ===== */
#sharing_email .sharing_send,
.sd-content ul li .option a.share-ustom,
.sd-content ul li a.sd-button,
.sd-content ul li.advanced a.share-more,
.sd-content ul li.preview-item div.option.option-smart-off a,
.sd-social-icon .sd-content ul li a.sd-button,
.sd-social-icon-text .sd-content ul li a.sd-button,
.sd-social-official .sd-content>ul>li .digg_button>a,
.sd-social-official .sd-content>ul>li>a.sd-button,
.sd-social-text .sd-content ul li a.sd-button {
    background: #499fd8 !important;
    color: #f8f8f8 !important;
}

.sharing-hidden .inner {
    position: relative;
    transform: translatey(-50%);
}

@media (max-width:767px) {
    .sharing-hidden .inner {
        transform: translatey(-50%) translatex(-50%);
    }
}

@media (min-width:767px) {
    .sharing-anchor.sd-button.share-more {
        transform: translatex(130%);
    }
}

/* Codigo que posiciona hacia la izquierda el div del perfil de los doctores */
/*#dc-main{
    padding-left:40px;
}*/

/* Forza que este completo el contenedor */
/* .container{
  max-width:100%;
  padding-left:25px;
  padding-right:25px;
}*/

/* Solo modifique el padding del main has de 310 a 10 px   */
@media (min-width: 1080px){
    .dc-wrapper .dc-main:has(.dc-docsingle-header) {padding: 20px 40px 20px 50px;}
    .dc-companysinfo{margin:0; padding: 0 30px 30px;}
    .dc-wrapper .dc-sidebarwrapper {width: 270px;}
    .dc-btnmenutoggle {display: none}
}

/* Quita el margen y hace el logo un poco mas grande */
.dc-logo { 
    margin:0; 
    flex-basis: 143px;
}

/* Expande la foto de perfil del chat en vivo de Guppy */
.at-chatfloat > span a img {
    max-width:100%;
    width:100%;
    height:100%;
}

/* Oculta registro del ministerio */
div.dc-specializations.dc-aboutinfo.dc-memberships {
    display: none;
}

/* ====== Hide search filter ====== */
.dc-innerbanner>.dc-docsearch {
    display: none
}

/* ====== Dashboard profile picture image resize ====== */
.dc-companysimg {
    height: 88px;
    background-color: #fff;
    display: grid;
}

.dc-companysimg > img,
.dc-companysimg > a {
    align-self: center;
    padding-left: 1rem;
}

@media (min-width: 1080px) {

    /* Forces dashboard drawer to stay active on higher resolutions*/
    .dc-wrapper .dc-sidebarwrapper {
        width: 270px;
    }

    /* Places image on center after forcing the drawer of the previous css */
    .dc-companysinfo {
        margin: 0;
        padding: 0 30px 30px;
    }

    /* Moves content more to the right after forcing the dashboard drawer */
    body:not(.single-post) .dc-wrapper .dc-main {
        padding: 20px 40px 20px 310px;
    }

    /* Hides drawer toggle button of the dashboard */
    .dc-btnmenutoggle {
        display: none
    }
}

/* ====== LAN-4 ====== */

.home #dc-main {
    padding-bottom: 0;
}

#accordion .card {
    border: none;
    background: transparent;
}

#accordion .card-header {
    padding: 1.5rem 0;
    background: transparent;

    display: flex;
    cursor: pointer;
    justify-content: space-between;
}

#accordion .card-header h2 {
    font-size: 1rem;
    font-weight: normal;
    padding: 7px;
}

#accordion .btn-link {
    color: inherit;
}

#accordion .btn-link:focus,
#accordion .btn-link:active,
#accordion .btn-link:hover {
    text-decoration: none;
    background: #e3e3e3;
    color: inherit;
}

#accordion .card-body {
    padding: 1.25rem 0;
}

#accordion .card-body ul li {
    list-style-type: none;
}

#accordion .card-body ul li a {
    text-decoration: underline;
    color: inherit;
}

@media (min-width:769px) {
    #accordion .card-header {
        padding: .75rem 0;
    }
}

#accordion .show-more-cities.button:focus
#accordion .show-more-cities.dc-btnactive:active,
#accordion .show-more-cities.dc-btnactive:focus,
#accordion .show-more-cities.dc-btn:hover,
#accordion .show-more-cities {
    background: transparent;
    color: black;
    outline: none;
}

/* @change LAN-8 */
.dc-footer .dc-widgetcontactus > ul,
.dc-footer {
    /* background: #f4fbff; */
    background: white;
}

.dc-footercontent .dc-description p,
.dc-footercontactus,
.dc-ftitle h3,
.dc-copyright {
    color: var( --e-global-color-secondary );
}

.dc-footer .dc-widgetcontactus + .dc-widgetcontactus {
    margin-top: 10px;
}

.dc-footer .dc-widgetcontactus > ul {
    padding: 0;
}

.dc-footer .dc-widgetcontactus > ul li a {
    padding-left: 0;
}

.dc-footer .dc-widgetcontactus > ul li a:before {
    display: none;
}

.dc-footer h3 {
    font-size: 18px;
}

#doctreat_apps_downloads-2 h3 {
    color: var(--terthemecolor);
    margin: 0;
    font-weight: 700;
    line-height: 1.5;
    font-style: normal;
    font-family: "Poppins", Arial, Helvetica, sans-serif;
}

/* ==== WEB02-1 ====  */

@media (max-width: 768px) {
    .hidpi-logowrap .dc-logo {
        flex-basis: auto;
    }
}

.dc-breadcrumbarea {
    /* background: #f3f3f3; */
    background: transparent;
}

@media (max-width:1024px) {
    #dc-main {
        padding-left: 0;
    }
}

.dc-breadcrumbarea + .dc-main {
    padding-top: 20px;
}

/* Login options tabs */
.login-options-tabs {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 1.5rem;
    padding-bottom: 0.5rem;
    height: 2rem;
    width: 100%;
}

.login-tab {
    text-align: center;
    color: var(--terthemecolor);
    padding: 0.5rem 1rem;
    border-radius: 5px 5px 0px 0px;
    transition: all 300ms ease-in-out;
    background-color: transparent;
}

.login-tab:hover, .login-tab-active {
    background-color: var(--themecolor);
    color: #fff;
    border-color: var(--themecolor);
}

/* OTP login */
.phone-formgroup {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.otp-title {
    font-weight: bold;
    font-size: 1rem;
    text-align: center;
    margin-top: 1.1rem;
    margin-bottom: 0;
}

.otp-form-group {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.otp-digit {
    width: 55px;
    text-align: center;
    -moz-appearance: textfield;
}

.otp-digit::-webkit-inner-spin-button, .otp-digit::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.otp-btns-container {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    align-items: center;
    gap: 20px;
    padding-bottom: 15px;
}

.otp-btns-container > div {
    display: flex;
    flex-direction: row;
    gap: 5px;
    justify-content: space-evenly;
}

.dc-btn:disabled {
    color: #535353;
    border-color: #b5b5b5;
    min-width: fit-content;
}

#otp-resend-btn {
    font-size: 0.9em;
    min-width: fit-content;
}

.dc-btn:disabled:hover {
    background-color: transparent;
}

.dc-joinsteps li a,
.dc-joinsteps li span {
    color: #999;
    width: 40px;
    height: 40px;
    display: block;
    text-align: center;
    border-radius: 50px;
    border: 2px solid #ddd;
    font: 700 13px/38px "Poppins", sans-serif;
}

.dc-joinsteps li.dc-done-next a,
.dc-joinsteps li.dc-done-next span {
    color: #fff;
    background: #00cc8d;
    border-color: #00cc8d;
}

.dc-joinsteps li.dc-active a,
.dc-joinsteps li.dc-active span {
    color: #00cc8d;
    border-color: #00cc8d;
}

/* Quick fix to display login at mobile and tablet */
@media (max-width: 768px) {

    .dc-loginarea {
        display: inherit;
        height: 46px;
    }

    .dc-userimg {
        display: none;    
    }

    nav#dc-nav {
        float: right;
    }

}

/* === Feedback === */
.dc-formfeedback {
    margin-top: 0;
}

.dc-ratingarea {
    float: none;
}

.dc-ratingtitle {
    text-align: center;
    float: none;
}

.dc-rating-holder {
    background: transparent;
}

.feedback-avatar {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
    width: 100%;
}

.feedback-avatar > figure {
    border-radius: 50%;
    border-color: var(--themecolor);
    margin-right: 0;
    max-width: 200px;
}

.feedback-avatar img {
    padding: 0;
}

.dc-formfeedback .dc-jrate {
    display: flex;
    justify-content: center;
    padding-top: 6px;
    padding-bottom: 10px;
}

.dc-jrate > svg {
    margin: 0 7px !important;
}

.dc-formfeedback label {
    margin-bottom: 1px;
    margin-left: 5px;
}

#feedback-step2 .form-group {
    margin-bottom: 0;
}

#feedback-step1 button[type="submit"],
#feedback-step2 button[type="submit"] {
    float: right;
}

#feedback-step1 textarea {
    height: 100px;
}

#feedback-rating-text {
    font-size: 1rem;
    text-align: center;
    min-height: 30px;
    margin: 0;
    font-weight: 600;
    font-family: "Poppins", sans-serif;
}

@media (max-width: 425px) {
    #feedback-step1 button[type="submit"] {
        width: 100%;
    }

    /* #feedback-step2 button[type="submit"] {
        margin-left: 16px;
    } */

    #feedback-rating-text {
        font-size: 1.15rem;
    }

    .otp-form-group {
        gap: 5px;
    }
}

.feedback-nav-btns {
    display: flex;
    justify-content: space-between;
    padding-top: 2rem;
}

@media (min-width: 480px) {
    .feedback-app-btns {
        gap: 2.5rem;
        padding: 0 1.25rem;
    }

    .feedback-app-btns img {
        height: 65px !important;
	}
}

/* ============================== WEB02-1 - Reservation ================================ */

.register-progress,
#appointment .booking-progress {
    border-radius: 0;
    height: 0.5rem;
    float: left;
    width: 100%;
}

.register-progress .bar,
#appointment .booking-progress .bar {
    background: #00cc8d;
    border-radius: 0;
}

textarea.error,
select.error,
input.error {
    border-color: #dc3545;
}

.invalid-feedback {
    font-size: 90%;
}

/* Hide dashboard calendar to avoid confusion */
.page-template-dashboard form#search_booking {
    display: none;
}

#appointment.modal {
    padding-right: 0px !important;
}

.dc-hide {
    display: none;
}

.dc-backbtn {
    border-radius: 5px;
    color: #424967 !important;
    font-size: 1.5rem;
}

#appointment .dc-backbtn {
    left: 15px;
    position: absolute;
    font-size: 1rem;
    padding: 1px 15px;
}

#appointment .dc-title span.h4,
#appointment .dc-title h4 {
    margin-bottom: 1rem;
    text-align: center;
}

#appointment .dc-popuptitle {
    text-align: center;
}

#appointment .dc-joinsteps {
    padding: 20px 0 15px 0;
}

@media (min-width: 768px) {
    #appointment .dc-joinsteps {
        padding: 30px 30px 23px 30px;
    }
}

.dc-vistingdocinfo {
    padding: 10px 30px;
}

ul.dc-joinsteps {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* @deprecated Input radio/check options */
.form-check {
    padding: 1rem 2rem;
    border: 2px solid;
    border-color: #a8a8a8;
    border-radius: 5px;
    display: flex;
    vertical-align: middle;
    align-items: center;
}

.form-check.check-selected {
    border-color: #3fabf3;
}

.form-check.check-selected label {
    color: var(--terthemecolor);
}

#dcModalBody label.form-check-label {
    color: black;
}

#dcModalBody .form-check-input {
    margin-top: 0;
}

label.form-check-label {
    line-height: 15px;
}

/* Step #2 - Timeslots */
.time_block_title h5 {
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.dc-appointment-holder {
    padding: 0;
    margin-bottom: 1rem;
}

.dc-timeslots.dc-update-timeslots {
    padding-top: 0.3rem;
}

button.dc-btn.vsiete-select-timeslot {
    margin-left: 5px;
    margin-bottom: 5px;
    min-width: initial;
    width: 31%;
}

@media (min-width:768px) {
    button.dc-btn.vsiete-select-timeslot {
        width: initial;
        min-width: 160px;
    }
}

/* Step #3 - Who is going? */

.select-relationship-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding-bottom: 1rem;
}

.vsiete-select-relationship {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    min-width: auto;
    font-weight: bold;
    font-size: 0.9rem;
}

button.vsiete-select-relationship i {
    font-size: 40px;
}

@media (max-width: 325px) {
    button.vsiete-select-relationship.someone {
        line-height: 25px;
    }
}

/* Step #4 - Personal details */

#dcModalBody4 {
    padding: 0;
}

#dcModalBody4 .dc-vistingdocinfo {
    padding: 0;
}

.vsiete-reservation-details {
    display: flex;
    flex-direction: row;
    justify-content: center;
    vertical-align: middle;

    background: #e3f5ff;
    padding: 15px 30px;
    margin-bottom: 25px;
}

#dcModalBody4 .vsiete-reservation-details .dc-title {
    align-self: center;
}

.vsiete-reservation-details-text {
    text-align: left;
}

.vsiete-reservation-details-text p {
    color: gray;
}

#dcModalBody4 img.dc-ava-detail,
#dcModalBody4 img.dc-ava-detail-2x {
    border-radius: 50%;
    padding: 0;
}

a.vsiete-modify-appointment,
a.vsiete-modify-time {
    margin-left: .4rem;
    text-decoration: underline;
}

#dcModalBody4 figure.dc-docsingleimg {
    border: none;
    background: transparent;
    margin-right: 0;
    max-width: 180px;
}

#dcModalBody4 .dc-vistingdocinfo fieldset {
    margin: 0;
    text-align: left;
    padding: 0 20px;
}

#dcModalBody4 ul.dc-docinfo i {
    width: 15px;
    margin-right: 4px;
    text-align: center;
    color: #999;
}

#dcModalBody4 .dc-vistingdocinfo fieldset .form-group {
    padding: 0;
}

#dcModalBody4 .dc-vistingdocinfo fieldset .form-group input,
#dcModalBody4 .dc-vistingdocinfo fieldset .form-group textarea {
    width: 100%;
    margin-bottom: 1rem;
}

#dcModalBody4 .dc-vistingdocinfo fieldset .form-group textarea {
    height: 110px;
}

@media (min-width: 768px) {

    #dcModalBody4 ul.dc-docinfo i {
        margin-right: .4rem;
        width: 25px;
        text-align: center;
        color: #999;
    }
    
    #dcModalBody4 .vsiete-reservation-details .dc-title {
        max-width: 50%;
    }

    .dc-booking-step4 .dc-title h5 {
        font-size: 1.5rem;
    }

    #dcModalBody4 figure.dc-docsingleimg {
        align-self: center;
        margin-right: 2rem;
        max-width: 120px;
    }

    .vsiete-reservation-details {
        padding: 30px;
    }

    #dcModalBody4 .dc-vistingdocinfo fieldset {
        margin: 0;
        text-align: left;
        padding: 0 100px;
    }
}

@media (max-width: 425px) {
    #dcbtn4 {
        width: 100%;
    }
}

/* Step #5 - Confirmation */

#dcModalBody5 {
    display: none;
    padding: 0 30px;
    text-align: center;
}

#dcModalBody5 .dc-title {
    float: inherit;
}

#dcbtn5 {
    width: 100%;
    background-color: var(--themecolor);
    color: #fff;
}

#dcbtn5:focus {
    box-shadow: none;
}

#dcModalBody5 fieldset {
    border: none;
    padding: 0;
    max-width: 400px;
    margin: 0 auto;
}

.dc-booking-step5 select,
.dc-booking-step5 input[name="phone_number"] {
    height: 50px;
    font-size: 1rem;
}

@media (max-width:768px) {
    .dc-booking-step5 input[name="phone_number"] {
        width: 70%;
    }
}

/* Step #6 - Code confirmation */
#dcModalBody6 {
    display: none;
}

#dcModalBody6 .otp-btns-container {
    justify-content: flex-start;
    padding-left: 5px;
}

#dcModalBody6 fieldset {
    border: none;
    max-width: 400px;
    margin: 0 auto;
}

#dcbtn6 {
    width: 100%;
    background-color: var(--themecolor);
    color: #fff;
}

#dcbtn6:focus {
    box-shadow: none;
}

.dc-booking-step6 input.otp-digit {
    font-size: 1rem;
}

@media (max-width: 425px) {
    #dcModalBody6 .otp-digit {
        width: 50px;
        padding: 0;
    }

    #dcModalBody6 .dc-joinsteps {
        padding-left: 30px;
        padding-right: 30px;
    }
}

/* Step #7 - Success */

#dcModalBody7 {
    display: none;
    text-align: center;
}

#dcModalBody7 .dc-booking-step7 {
    display: flex;
    flex-flow: column;
}

#dcModalBody7 ul.dc-joinsteps {
    padding-left: 30px;
    padding-right: 30px;
}

#dcModalBody7 .dc-checkicon {
    font-size: 7rem;
    color: #00cc8d;
}

#appointment #dcModalBody7 .dc-title h4 {
    margin-bottom: 0;
}

#dcModalBody7 .dc-vistingdocinfo {
    text-align: left;
    padding: 20px;
}

#dcModalBody7 ul li {
    display: flex;
    justify-content: flex-start;
}

#dcModalBody7 ul.dc-docinfo i {
    margin-right: .4rem;
    text-align: center;
}

#dcbtn7 {
    width: 100%;
    background-color: var(--themecolor);
    color: #fff;
}

#dcbtn7:focus {
    box-shadow: none;
}

.dc-tooltip {
    /* background-color: #EEF4FD; */
    background-color: #ffe288;
    border-radius: 5px;
    padding: 1rem;
    text-align: center;
    font-weight: bold;
}

.dc-tooltip p {
    margin-bottom: 0;
}

.dc-tooltip i {
    /* color: var(--themecolor); */
    color: #cc9a06;
    font-size: 2rem;
}

@media (min-width: 768px) {
    #dcModalBody7 .dc-vistingdocinfo {
        max-width: 400px;
        margin: 0 auto;
        align-self: center;
    }

    #dcModalBody7 ul.dc-docinfo i {
        text-align: center;
    }
}

/* @deprecated modal footer */
.modal-footer.dc-modal-footer {
    justify-content: end;
}

@media (max-width:425px) {
    .dc-booking-step1-btn,
    .dc-booking-step2-btn {
        width: 100%
    }
}

/* ======================= DETAIL =================== */

.single-doctors main#dc-main, .single-hospitals main#dc-main {
    padding-top: 0;
}

#dc-wrapper {
    background: #f4fbff;
}

/* Breacrumb */
.dc-breadcrumb li a {
    color: #6f6f6f;
    font-weight: normal;
}

.dc-bread-current {
    font-weight: bold;
}

/* Profile */
.dc-docsingle-header {
    background: white;
    border: solid 1px;
    border-bottom: none;
    border-color: #edeff2;
    border-radius: 5px 5px 0 0;
    padding: 15px;
    padding-bottom: 0;
}

.dc-docsingleimg {
    border: none;
    align-self: flex-start;
    margin-top: .9rem !important;
}

.dc-docsingleimg img {
    border-radius: 50%;
}

.dc-doc-specilities-tag a {
    color: gray;
}

.dc-docsingle-content .dc-btnarea.d-md-block .dc-btn {
    line-height: 46px;
    height: 50px;
}

.dc-doc-specilities-tag a:hover {
    text-decoration: underline;
}

.dc-docsingle-content .dc-title h2 i.icon-sheild,
.dc-docsingle-content .dc-title h2 i.fa-check-circle {
    color: var(--themecolor);
}

.dc-docsingleimg .logged-in {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: #1abc9c;
    position: absolute;
    bottom: 8%;
    right: 5%;
    box-shadow: -1px -1px 10px 0px #1abc9c;
}

/* Options */
.dc-options {
    display: flex;
}

.dc-options {
    margin-top: 20px;
    margin-bottom: 10px;
    text-align: center;
}

.dc-options > div {
    margin-right: .7rem;
}

.dc-stars b,
.dc-options .value {
    font-size: 1rem;
}

.dc-options .label {
    /* display: none; */
}

.dc-options > .price-info {
    text-align: left;
}

.dc-options .price-info .value > span {
    display: none;
}

.dc-docinfo li.rating {
    flex-flow: column;
}

/* Buttons */
.dc-btnarea.mobile {
    background: white;
    padding: 15px;
    padding-top: 0;
    border: solid 1px;
    border-color: #edeff2;
    border-radius: 5px;
    border-top: none;
}

a.dc-whatsapp.dc-btn {
    min-width: 70px;
    font-size: 2rem;
    height: fit-content;
}

.mobile a.dc-btn.dc-booking-model {
    width: 100%;
}

@media (min-width: 768px) {

    .dc-options {
        margin-bottom: 20px;
    }

    .dc-options > div {
        margin-right: 1.2rem;
    }

    .dc-options > div > span {
        margin-right: 5px;
    }

    .dc-docsingle-header {
        border-radius: 5px;
        border-bottom: 1px solid #edeff2;
        padding: 35px 15px;
    }

    .dc-docsingle-header .dc-docsingleimg {
        margin-left: 40px;
        margin-top: 0;
    }

    .dc-docsingleimg > img:first-child {
        max-width: 200px;
    }

    .dc-docsingle-header .dc-tooltip {
        width: 388px;
    }

    .dc-options .icon {
        display: none;
    }

    .dc-options .label {
        display: inline-block;
    }

    .dc-options .price-info .value > span {
        display: inherit;
    }

    a.dc-whatsapp.dc-btn {
        min-width: 47px;
        font-size: 1.5rem;
    }

    .dc-docsingleimg .logged-in {
        width: 35px;
        height: 35px;
        bottom: 8%;
        right: 5%;
    }    
}

/* Card style */
.single-doctors #dc-twocolumns > div.col-12,
.single-hospitals #dc-twocolumns > div.col-12 {
    padding-left: 0;
    padding-right: 0;
}

.dc-feedback,
.dc-aboutdoc,
.dc-searchresult-holder {
    border: 1px solid #edeff2;
    border-radius: 5px;
    padding: 20px;
    background: white;
}

.dc-feedback .dc-title h3,
.dc-userdetails-holder .dc-infotitle h3,
.dc-searchresult-head .dc-title h3 {
    font-size: 1rem;
    font-weight: bold;
}

.feedback-avatar figure.dc-docsingleimg {
    margin-left: 0;
    align-self: center;
}


@media (min-width:768px) {
    .single-doctors #dc-twocolumns > div.col-12 {
        padding-left: 15px;
        padding-right: 15px;
    }

    .dc-feedback,
    .dc-aboutdoc,
    .dc-searchresult-holder {
        padding: 30px;
    }

    .dc-feedback .dc-title h3,
    .dc-userdetails-holder .dc-infotitle h3,
    .dc-searchresult-head .dc-title h3 {
        font-size: 22px;
    }
}

/*  ==== Locations */

.dc-searchresult-head {
    margin-bottom: 0;
}

.dc-docpostholder.dc-search-hospitals .dc-docpostcontent {
    display: flex;
    flex-flow: row;
}

.dc-docpostholder.dc-search-hospitals .dc-docpostcontent .dc-searchvtwo {
    display: flex;
    flex-flow: row; 
    /* 
    padding-left: 0; 
    padding-right: 0;
    */
    padding-left: 20px;
    padding-right: 20px;
    min-width: 70%;
}

#locations .dc-searchvtwo > div {
    width: 100%;
}

.dc-docpostholder.dc-search-hospitals .dc-docpostcontent .dc-doclocation.dc-doclocationvtwo {
    min-width: 30%;
    padding-left: 0;
    padding-right: 0;
    border-top: none;
}

/* Gps */
.dc-docpostholder.dc-search-hospitals .dc-docpostcontent .dc-searchvtwo > img {
    width: 25px; 
    height: 25px;
    margin-right: 20px;
    display:none;
}

.dc-docpostholder.dc-search-hospitals,
.dc-docpostholder.dc-search-hospitals:hover{
    border: none !important;
    border-bottom: 1px solid #edeff2 !important;
    border-radius: 0 !important;
}

.dc-docpostholder.dc-search-hospitals:last-child {
    border: none !important;
}

.dc-searchresult-list .dc-docpostholder .dc-doclocation {
    border-left: none;
}

.dc-docpostholder.dc-search-hospitals:hover {
    border: none;
    box-shadow: none;
}

.dc-docpostcontent .dc-title h3 {
    margin-bottom: 1rem;
}

.dc-docpostcontent .dc-title h3 a {
    white-space: normal;
	max-width: 100%;
}

.dc-docpostcontent .dc-title h3 a:hover {
    text-decoration: underline;
}

.dc-docpostcontent .dc-title h3 i.fa-check-circle {
    color: var(--themecolor)
}

.dc-docpostholder figure.dc-docpostimg {
    height: fit-content;
}

.dc-docpostholder:hover .dc-docpostimg img {
    opacity: initial;
}

.dc-searchvlistvtwo .dc-docpostholder .dc-doclocation {
    flex-direction: row;
    justify-content: flex-end;
}

.dc-searchvlistvtwo .dc-docpostholder .dc-docinfo li {
    list-style-type: disc;
    color: var(--terthemecolor);
    margin-bottom: 5px;
    font-family: "Open Sans", sans-serif;
}

.dc-searchvlistvtwo .dc-docpostholder .dc-docinfo li::marker {
    color: var(--themecolor);
}

#locations .dc-docpostcontent a:not(.dc-title a) {
    text-decoration: underline;
}

@media (min-width:768px) {
    .dc-searchresult-head {
        margin-bottom: 20px;
    }

    .dc-docpostholder.dc-search-hospitals .dc-docpostcontent .dc-doclocation.dc-doclocationvtwo {
        /* padding-right: 20px; */
    }    

    .dc-docpostholder.dc-search-hospitals .dc-docpostcontent .dc-searchvtwo > img {
        display: initial;
    }
}

/* === About us */
.dc-aboutdoc {
    margin-top: 1rem;
}

.dc-userdetails-holder .dc-infotitle h3 {
    margin-bottom: 20px;
}

@media (min-width:768px) {
    .dc-userdetails-holder .dc-infotitle h3 {
        margin-bottom: 40px;
    }
}

/* Insurance */
.dc-aboutdoc.dc-aboutinfo #insurances {
    margin-top: 40px;
    margin-bottom: 0;
}

/* First element does not have margin-top */
.dc-insuranceslist > div.dc-insuranceitem:first-child {
    margin-top: 0;
}

.dc-insuranceslist div.dc-insuranceitem {
    width: 100%;
    margin-top: 10px;
}

@media (min-width:768px) {
    .dc-userdetails-holder .dc-infotitle h3 {
        margin-bottom: 40px;
    }

    .dc-insuranceslist div.dc-insuranceitem:nth-child(n + 4) {
        margin-top: 10px;
    }
}

/* Services */
.dc-services-holder.dc-aboutinfo {
    margin-top: 40px;
}

/* First element does not have margin-top */
.dc-elementslist .dc-elementitem:first-child {
    margin-top: 0;
}

.dc-elementslist .dc-elementitem {
    float: left;
    width: 100%;
    padding-left: 12px;
    position: relative;
    line-height: inherit;
    list-style-type: none;
    margin-top: 10px;
}

.dc-elementslist .dc-elementitem span,
.dc-elementslist .dc-elementitem span a {
    color: var(--terthemecolor);
    font-family: "Open Sans", sans-serif;
}

.dc-elementslist .dc-elementitem:not(.button-show-more):before {
    left: 0;
    top: 11px;
    width: 3px;
    height: 3px;
    content: "";
    position: absolute;
    background: var(--themecolor);
    border-radius: 50%;
}

.dc-elementslist .show-more, #doctors .show-more {
    display: none;
}

/* Card footer services */
.dc-card-footer {
    float: left;
    width: 100%;
    padding-top: 1.3rem;
    border-top: 1px solid #edeff2;
}

.dc-card-footer a {
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    color: var(--terthemecolor);
}

.dc-card-footer a span {
    text-decoration: underline;
}

.dc-card-footer a i {
    align-self: center;
}

/* === Reviews */
.dc-feedback {
    display: flex;
    flex-flow: column;
}

#feedback h4 {
    font-size: 1rem;
}

.dc-feedback .dc-searchresult-head {
    margin-bottom: 20px;
}

.dc-feedback-content a.dc-btn {
    width: 100%;
}

.dc-feedback-content .dc-btnarea {
    border-top: 1px solid #edeff2;
    padding-top: 1rem;
}

.dc-feedback .dc-tooltip {
    display: flex;
    text-align: left;
    align-self: flex-start;
}

.dc-feedback .dc-tooltip i {
    font-size: 2rem;
    margin-right: 15px;
    align-self: center;
}

.dc-feedback .dc-tooltip span {
    line-height: 20px;
    font-weight: normal;
}

.dc-feedbackelement {
    margin-bottom: 1.5rem;
}

.dc-feedback-global,
.dc-feedbackelement .dc-feedback-rating {
    display: flex;
    flex-flow: row;
    align-items: center;
}

.dc-feedbackelement .dc-feedback-content p {
    margin-bottom: 0;
}

.dc-feedback-global .dc-stars {
    width: 135px;
    height: 25px;
    line-height: 25px;
}

.dc-feedback-global .dc-stars span {
    height: 23px;
    top: -1px;
}

.dc-feedback-global .dc-stars span:after, 
.dc-feedback-global .dc-stars:before {
    font-size: 1.5rem;
    line-height: 20px;
}

.dc-feedback-global b {
    font-size: 25px;
    line-height: 35px;
}

.dc-feedbackelement .dc-feedback-rating {
    margin-bottom: .4rem;
}

.dc-feedbackelement .dc-feedback-content {
    margin-bottom: .1rem;
}

.dc-feedbackelement .dc-feedback-content,
.dc-feedbackelement .dc-feedback-meta {
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
}

.dc-feedbackelement .dc-feedback-meta {
    font-size: 0.8rem;
    color: gray;
}

.home div#dc-wrapper {
    background: white;
}

.home .dc-footer .dc-widgetcontactus > ul, 
.home .dc-footer {
    background: #f4fbff;
}

/* ===== Web listing */
.speciality-listing-link {
    color: #767676;
}

div.listing-card.dc-btnarea {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 0;
}

div.listing-card.dc-btnarea > .dc-btn {
    min-width: 80%;
}

div.listing-card.dc-doclocation.dc-doclocationvtwo {
    padding-left: 0;
}

figure.listing-card.dc-docsingleimg {
    border-radius: 50%;
    max-width: 120px;
    margin-right: 0;
}

figure.listing-card.dc-docsingleimg > img {
    padding: 0;
    margin: 0;
}

div.listing-card.dc-searchvtwo {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 0.5rem;
}

.dc-searchvlistvtwo .dc-docpostholder .dc-title {
    margin-top: 0;
}

.listing-doctor-stats {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.dc-docinfo li > div.pricement,
.dc-docinfo li > div.pricement,
.listing-doctor-stats > div,
.listing-card .location-item {
    display: flex;
    gap: 0.2rem;
}

.listing-doctor-stats span.dc-stars {
    margin-right: 0;
}

.location-item > em {
    color: var(--terthemecolor) !important;
}

div.listing-card.dc-docpostholder {
    background-color: white;
    margin-top: 15px !important;
    box-shadow: 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
}

.listing-view-profile {
    color: #767676;
    text-decoration: underline;
}

a.doctor-main-link {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
    margin-right: 8px;
}

.listing-card .dc-tags {
    margin-top: 8px;
}

.feedback-count {
    color: var(--terthemecolor);
}

.mobile-book-now {
    display: flex;
    justify-content: center;
    min-width: 100%;
    padding-bottom: 1rem;
}

.mobile-book-now > button.dc-btn {
    min-width: 80%;
    background-color: var(--themecolor);
    color: white;
}

.doctor-sections-container {
    display: flex;
    flex-direction: row;
    gap: 1rem;
}

.listing-card.dc-docpostholder:hover .dc-docpostcontent .dc-btn {
    color: initial;
    background: initial;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.listing-card.dc-docpostholder:hover .dc-docpostcontent .book-now-btn.dc-btn {
    color: white;
    background-color: var(--themecolor);
    -webkit-box-shadow: none;
    box-shadow: none;
}

.listing-card.dc-docpostholder:hover .dc-docpostcontent a.dc-btn {
    color: var(--terthemecolor);
}

.listing-card.dc-docpostholder .dc-docpostcontent a.dc-btn:hover,
.listing-card.dc-docpostholder .dc-docpostcontent button.dc-btn:hover,
.listing-card.dc-docpostholder .dc-docpostcontent button.book-now-btn.dc-btn:hover {
    color: white;
    background: var(--themecolor);
    -webkit-box-shadow: 0 9px 20px 0 var(--shadowcolor);
    box-shadow: 0 9px 20px 0 var(--shadowcolor);
}

button#trigger-mobile-search-overlay {
    height: 65px;
    color: var(--terthemecolor);
    font-size: 14px;
    line-height: 18px;
    padding: 10px 20px;
    border-radius: 4px;
    border: 2px solid var(--themecolor);
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background-color: white;
}

button#trigger-mobile-search-overlay > span:first-child {
    overflow: hidden;
    max-width: 80%;
    text-align: start;
    white-space: nowrap;
    text-overflow: ellipsis;
}

button#hide-mobile-search-overlay {
    background-color: transparent;
    font-size: 1.6rem;
    padding-right: 22px;
}

div#mobile-search-overlay {
    z-index: 110;
    height: 100dvh;
    width: 100%;
    background-color: #f4fbff;
    position: absolute;
    top: 0;
    left: 0;
    padding-left: 16px;
    display: none;
    flex-direction: column;
    padding-top: 2rem;
    align-items: start;
}

div#mobile-search-overlay > div:first-child {
    display: flex;
    justify-content: space-between;
    min-width: 100%;
    padding-left: 5px;
}

div#mobile-search-overlay > div:last-child {
    padding-right: 5px;
}

button#mobile-search-submit {
    background-color: var(--themecolor);
    color: white;
}

.listing-card .doctor-sections-container ul.dc-docinfo li {
    list-style-type: none;
}

.listing-card .doctor-sections-container .dc-title h3 {
    margin-bottom: 4px;
}

#dropdown_button_menu_insurance {
    color: #767676;
    border-color: #eee;
}

.header-search-form {
    padding-left: 3rem;
}

.header-search {
    display: grid;
    grid-auto-flow: column;
    gap: 1rem;
}

.dc-btn.hospital-book-now-btn,
.dc-btn.book-now-btn {
    background-color: var(--themecolor);
    color: white;
    height: 3rem;
}

.dc-innerbannerform.header-search {
    height: 50px;
    padding: 0;
}

.header-search > div.form-group {
    margin: 0;
}

.header-search > div.form-group > input,
.header-search > div.form-group > div.dc-select {
    height: 50px;
}

.header-search > div.form-group > div.dc-select span {
    height: 100%;
    vertical-align: middle;
    line-height: 65px;
}

.header-search.dc-form-advancedsearch span.select2-selection.select2-selection--single span.select2-selection__rendered,
.header-search.dc-form-advancedsearch .dc-select:after {
    line-height: 50px;
}

.mobile-header-login-btn {
    background-color: transparent;
    border-color: #eee;
    padding: 3px 4px;
    border-style: solid;
    border-width: 2px;
    border-radius: 5px;
    height: 100%;
}

.mobile-header-login-btn:focus,
.mobile-header-login-btn:focus-visible {
    outline: 2px solid var(--themecolor);
}

@media (max-width: 767px) {
    #dcModalBody4 figure.dc-docsingleimg {
        width: 50%;
    }
}

@media (min-width: 480px) {
    .listing-card .fa-star,
    .mobile-book-now,
    .listing-view-profile {
        display: none;
    }

    figure.listing-card.dc-docsingleimg {
        border-radius: 50%;
        max-width: 130px;
        min-width: 130px;
        margin-right: 0;
    }

    .dc-formtheme.dc-form-advancedsearch.dc-innerbannerform #trigger-mobile-search-overlay {
        display: none;
    }

    .dc-innerbanner-holder.prepare-search.hide-og {
        display: none;
    }
}

@media (max-width: 480px) {
    div.listing-card.dc-doclocation.dc-doclocationvtwo {
        display: none;
    }

    .listing-card .dc-stars {
        display: none;
    }

    .listing-card .fa-star {
        color: var(--themecolor);
    }

    em.feedback-count > span {
        display: none;
    }

    #desktop-search-fields.hide-og-search,
    .header-search-form {
        display: none;
    }
}

.dc-vistingdocinfo {
    padding: 10px 30px;
}

ul.dc-joinsteps {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* @deprecated Input radio/check options */
.form-check {
    padding: 1rem 2rem;
    border: 2px solid;
    border-color: #a8a8a8;
    border-radius: 5px;
    display: flex;
    vertical-align: middle;
    align-items: center;
}

.form-check.check-selected {
    border-color: #3fabf3;
}

.form-check.check-selected label {
    color: var(--terthemecolor);
}

#dcModalBody label.form-check-label {
    color: black;
}

#dcModalBody .form-check-input {
    margin-top: 0;
}

label.form-check-label {
    line-height: 15px;
}

/* Step #2 - Timeslots */
.time_block_title h5 {
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.dc-appointment-holder {
    padding: 0;
    margin-bottom: 1rem;
}

.dc-timeslots.dc-update-timeslots {
    padding-top: 0.3rem;
}

button.dc-btn.vsiete-select-timeslot {
    margin-left: 5px;
    margin-bottom: 5px;
    min-width: initial;
    width: 31%;
}

@media (min-width:768px) {
    button.dc-btn.vsiete-select-timeslot {
        width: initial;
        min-width: 160px;
    }
}

/* Step #3 - Who is going? */

.select-relationship-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding-bottom: 1rem;
}

.vsiete-select-relationship {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    min-width: auto;
    font-weight: bold;
    font-size: 0.9rem;
}

button.vsiete-select-relationship i {
    font-size: 40px;
}

@media (max-width: 325px) {
    button.vsiete-select-relationship.someone {
        line-height: 25px;
    }
}

/* Step #4 - Personal details */

#dcModalBody4 {
    padding: 0;
}

#dcModalBody4 .dc-vistingdocinfo {
    padding: 0;
}

.vsiete-reservation-details {
    display: flex;
    flex-direction: row;
    justify-content: center;
    vertical-align: middle;

    background: #e3f5ff;
    padding: 15px 30px;
    margin-bottom: 25px;
}

#dcModalBody4 .vsiete-reservation-details .dc-title {
    align-self: center;
}

.vsiete-reservation-details-text {
    text-align: left;
}

.vsiete-reservation-details-text p {
    color: gray;
}

#dcModalBody4 img.dc-ava-detail,
#dcModalBody4 img.dc-ava-detail-2x {
    border-radius: 50%;
    padding: 0;
}

a.vsiete-modify-appointment,
a.vsiete-modify-time {
    margin-left: .4rem;
    text-decoration: underline;
}

#dcModalBody4 figure.dc-docsingleimg {
    border: none;
    background: transparent;
    margin-right: 0;
    max-width: 180px;
}

#dcModalBody4 .dc-vistingdocinfo fieldset {
    margin: 0;
    text-align: left;
    padding: 0 20px;
}

#dcModalBody4 ul.dc-docinfo i {
    width: 15px;
    margin-right: 4px;
    text-align: center;
    color: #999;
}

#dcModalBody4 .dc-vistingdocinfo fieldset .form-group {
    padding: 0;
}

#dcModalBody4 .dc-vistingdocinfo fieldset .form-group input,
#dcModalBody4 .dc-vistingdocinfo fieldset .form-group textarea {
    width: 100%;
    margin-bottom: 1rem;
}

#dcModalBody4 .dc-vistingdocinfo fieldset .form-group textarea {
    height: 110px;
}

@media (min-width: 768px) {

    #dcModalBody4 ul.dc-docinfo i {
        margin-right: .4rem;
        width: 25px;
        text-align: center;
        color: #999;
    }
    
    #dcModalBody4 .vsiete-reservation-details .dc-title {
        max-width: 50%;
    }

    .dc-booking-step4 .dc-title h5 {
        font-size: 1.5rem;
    }

    #dcModalBody4 figure.dc-docsingleimg {
        align-self: center;
        margin-right: 2rem;
        max-width: 120px;
    }

    .vsiete-reservation-details {
        padding: 30px;
    }

    #dcModalBody4 .dc-vistingdocinfo fieldset {
        margin: 0;
        text-align: left;
        padding: 0 100px;
    }
}

@media (max-width: 425px) {
    #dcbtn4 {
        width: 100%;
    }
}

/* Step #5 - Confirmation */

#dcModalBody5 {
    display: none;
    padding: 0 30px;
    text-align: center;
}

#dcModalBody5 .dc-title {
    float: inherit;
}

#dcbtn5 {
    width: 100%;
    background-color: var(--themecolor);
    color: #fff;
}

#dcbtn5:focus {
    box-shadow: none;
}

#dcModalBody5 fieldset {
    border: none;
    padding: 0;
    max-width: 400px;
    margin: 0 auto;
}

/* Step #6 - Code confirmation */
#dcModalBody6 {
    display: none;
}

#dcModalBody6 .otp-btns-container {
    justify-content: flex-start;
    padding-left: 5px;
}

#dcModalBody6 fieldset {
    border: none;
    max-width: 400px;
    margin: 0 auto;
}

#dcbtn6 {
    width: 100%;
    background-color: var(--themecolor);
    color: #fff;
}

#dcbtn6:focus {
    box-shadow: none;
}

@media (max-width: 425px) {
    #dcModalBody6 .otp-digit {
        width: 50px;
        padding: 0;
    }

    #dcModalBody6 .dc-joinsteps {
        padding-left: 30px;
        padding-right: 30px;
    }
}

/* Step #7 - Success */

#dcModalBody7 {
    display: none;
    text-align: center;
}

#dcModalBody7 .dc-booking-step7 {
    display: flex;
    flex-flow: column;
}

#dcModalBody7 ul.dc-joinsteps {
    padding-left: 30px;
    padding-right: 30px;
}

#dcModalBody7 .dc-checkicon, #test-req-3 .dc-checkicon {
    font-size: 7rem;
    color: #00cc8d;
}

#appointment #dcModalBody7 .dc-title h4 {
    margin-bottom: 0;
}

#dcModalBody7 .dc-vistingdocinfo {
    text-align: left;
    padding: 20px;
}

#dcModalBody7 ul li {
    display: flex;
    justify-content: flex-start;
}

#dcModalBody7 ul.dc-docinfo i, #test-req-3 ul.dc-docinfo i {
    margin-right: .4rem;
    text-align: center;
}

#dcbtn7 {
    width: 100%;
    background-color: var(--themecolor);
    color: #fff;
}

#dcbtn7:focus {
    box-shadow: none;
}

.dc-tooltip {
    background-color: #EEF4FD;
    border-radius: 5px;
    padding: 1rem;
    text-align: center;
    font-weight: bold;
}

.dc-tooltip p {
    margin-bottom: 0;
}

.dc-tooltip i {
    color: var(--themecolor);
    font-size: 2rem;
}

@media (min-width: 768px) {
    #dcModalBody7 .dc-vistingdocinfo {
        max-width: 400px;
        margin: 0 auto;
        align-self: center;
    }

    #dcModalBody7 ul.dc-docinfo i, #test-req-3 ul.dc-docinfo i {
        text-align: center;
    }
}

/* @deprecated modal footer */
.modal-footer.dc-modal-footer {
    justify-content: end;
}

@media (max-width:425px) {
    .dc-booking-step1-btn,
    .dc-booking-step2-btn {
        width: 100%
    }
}

/* === Billetera */
p#payment-error {
    display: none;
    color: #dc3545;
    margin-bottom: 0.33rem;
}

/* Fix to landing first section */
@media (max-width: 768px) {
    section.elementor-section.elementor-top-section.elementor-element.elementor-element-95c2cdd.elementor-section-stretched.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default {
        margin-top: 0;
    }

    .elementor-element-95c2cdd h2.elementor-heading-title.elementor-size-default {
        font-size: 20px;
    }
}

/* ======================= TELEMEDICINE =================== */

.dc-open-telemedicine {
    background: #fce3e9;
    border: red;
    color: #e62662 !important;
    font-weight: bold;
    box-shadow: 5px 10px 20px 0 rgba(0, 0, 0, 0.1);
}

.dc-open-telemedicine:hover {
    background: #f9d6e1;
    box-shadow: 5px 10px 20px 0 rgba(0, 0, 0, 0.2);
}

.desktop .dc-open-telemedicine {
    display: none;
}

.dc-btnareamobile .dc-open-telemedicine {
    display: block;
    width: 100% !important;
}

@media (min-width: 769px) {
    .desktop .dc-open-telemedicine {
        display: inline-block;
        width: 164px;
    }
}

#search_form .desktop a.telemedicine {
    display: none !important;
    width:200px;
}

#telemedicine .dc-backbtn {
    left: 15px;
    position: absolute;
    font-size: 1rem;
    padding: 1px 15px;
}

#telemedicine .dc-popuptitle {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
}

#telemedicine .dc-close {
    top: 12px;
}

#telemedicine .telemedicine-progress {
    border-radius: 0;
    height: 0.5rem;
    float: left;
    width: 100%;
}

#telemedicine .telemedicine-progress .bar {
    background: #00cc8d;
    border-radius: 0;
}

#telemedicine .dc-title h4 {
    text-align: center;
}

#telemedicine #dcTelemedicineModalBody {
    display: block;
}

#telemedicine #dcTelemedicineModalBody2,
#telemedicine #dcTelemedicineModalBody3,
#telemedicine #dcTelemedicineModalBody4,
#telemedicine #dcTelemedicineModalBody5,
#telemedicine #dcTelemedicineModalBody6 {
    display: none;
}

#telemedicine .dc-telemedicine-modalbody fieldset {
    border: none;
    padding: 0;
    max-width: 400px;
    margin: 0 auto;
}

#telemedicine .dc-telemedicine-modalbody .form-group {
    padding: 0;
}

#telemedicine .dc-telemedicine-modalbody .form-group input {
    width: 100%;
}

#telemedicine .dc-telemedicine-modalbody .dc-telemedicine-continue,
#telemedicine #vsiete_telemedicine_btn6 {
    width: 100%;
    background-color: var(--themecolor);
    color: #fff;
}

#telemedicine .dc-telemedicine-step4 .otp-btns-container {
    padding: 0;
}

#telemedicine .dc-telemedicine-step6 {
    text-align: center;
}

#telemedicine .dc-telemedicine-step6 .dc-checkicon {
    font-size: 7rem;
    color: #00cc8d;
}

#telemedicine input.otp-digit {
    padding: 0;
}

@media (max-width: 480px) {
    .dc-rightarea .dc-loginarea > .dc-btn {
        line-height: 42px;
    }
}

.sticky-queue .dc-alert.error {
    background: #fce3e9;
    color: #e62662 !important;
    border: red;
}

@media (max-width:425px) {
    .sticky-queue.top-right {
        right:13px;
        width: 400px;
    }
}

/* ===== New Dashboard ===== */
ul.vsiete-dashboard.dashboard-menu-left > li.option-group::before {
    background-color: transparent;
}

ul.vsiete-dashboard.dashboard-menu-left ul.sub-options {
    margin-top: -12px;
}

ul.vsiete-dashboard.dashboard-menu-left ul.sub-options > li::before {
    top: 0;
    left: 0;
    z-index: 1;
    height: 0;
    width: 2px;
    content: '';
    position: absolute;
    background: var(--themecolor);
}

ul.vsiete-dashboard.dashboard-menu-left ul.sub-options > li:hover::before,
ul.vsiete-dashboard.dashboard-menu-left ul.sub-options > li.dc-active::before {
    height: 100%;
}

ul.vsiete-dashboard.dashboard-menu-left > li.option-group > span {
    font-weight: bold;
    padding-left: 18px;
    font-size: 0.85rem;
}

ul.vsiete-dashboard.dashboard-menu-left > li.option-group > ul {
    margin-left : 0;
}

ul.vsiete-dashboard.dashboard-menu-left a {
    color: var(--terthemecolor);
    width: 100%;
    float: left;
    position: relative;
    line-height: inherit;
}

.vsiete-dashboard > .avatar-with-name {
    display: grid;
    grid-template-columns: 1.5fr 2fr;
    align-items: center;
    gap: 0.5rem;
}

.vsiete-dashboard.dc-companysinfo {
    padding-inline: 16px;
    margin-top: 0;
}

.vsiete-dashboard.dc-companysinfo figure {
    margin-bottom: 0;
    box-shadow: none;
    border: none;
}

.vsiete-dashboard.dc-companysinfo .dc-title > h2 {
    margin-bottom: 0;
}

.vsiete-dashboard.dc-companysinfo .dc-title > span {
    text-align: start;
    color: #767676;
}

.dashboard-menu-top .lnr-heart-pulse, .dashboard-menu-top .lnr-apartment {
    font-size: 18px;
}

.vsiete-dashboard.dc-userlogin.dc-userlogedin.sp-top-menu {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.vsiete-dashboard.dc-userlogin.dc-userlogedin.sp-top-menu > i {
    font-size: 1.25rem;
}

button.dashboard-search > i {
    display: none;
    font-weight: 600;
    font-size: 1.15rem;
}

@media (max-width: 480px) {
    button.dashboard-search > i {
        display: block !important;
    }

    button.dashboard-search > span {
        display: none;
    }
}

/* === Resumen del médico === */
.text-secondary {
    color: #767676;
}

/* === Mis Pacientes (en Resumen) ===*/
.patients-and-messages-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
    margin-top: 1.5rem;
}

.patients-container > div, .messages-container > div {
    background-color: white;
    border: 1px solid #eee;
    border-radius: 4px;
    padding: 0.75rem 1rem;
}

.patients-container .listing {
    max-height: 300px;
    overflow-y: auto;
}

.patients-container .search-container {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 0.5rem;
}

.patients-container .patient-item, .messages-container .message-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.75rem;
    border: 1px solid #eee;
    border-radius: 4px;
    margin-block: 10px;
}

.messages-container .message-item > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.messages-container .message-item > div > span {
    color: #767676;
    font-size: 13px;
}

.messages-container .message-item > div > span:first-child > strong {
    color: var(--terthemecolor);
    font-size: 1rem;
    margin-right: 4px;
}

@media (max-width: 480px) {
    .patients-and-messages-container {
        display: flex;
        flex-direction: column;
    }

    .patients-container .search-container > button,
    .patients-container .patient-item > a {
        min-width: fit-content;
    }

    .message-item {
        flex-direction: column;
    }

    .message-item > button {
        margin-top: 0.5rem;
    }
}

/* Calendar styles */
#appointments-calendar {
    border: 1px solid #eee;
    border-radius: 4px;
}

#appointments-calendar .fc-theme-standard .fc-scrollgrid {
    border: none;
}

#appointments-calendar .fc-header-toolbar.fc-toolbar,
#appointments-calendar .fc-header-toolbar.fc-toolbar button {
    background-color: white;
    color: var(--terthemecolor);
}

#appointments-calendar .fc-toolbar-title {
    color: var(--terthemecolor);
    font-weight: bold;
    font-size: 1rem;
}

#appointments-calendar .fc-today-button {
    display: none;
}

#appointments-calendar table {
    border: none;
}

#appointments-calendar th, #appointments-calendar table {
    background-color: white;
    color: var(--terthemecolor);
}

#appointments-calendar .fc-state-highlight.fc-today-clicked,
#appointments-calendar .fc-day-today {
    background-color: var(--themecolor);
    color: white;
}

/* ==== Mis citas ==== */
.appointment-history > .title-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.appointment-history > .title-container > .search-container {
    display: flex;
    gap: 1rem;
}

.appointment-history > #appointments-table {
    background-color: white;
    max-height: 600px;
    overflow-y: auto;
}

.dc-btn.btn-filled {
    background-color: var(--themecolor);
    color: white;
}

.dc-btn.btn-filled:disabled {
    background-color: gray;
    color: white;
}

#new-appointment-dashboard-modal fieldset {
    border: none;
    padding-top: 0;
}

#new-appointment-dashboard-modal label {
    margin: 0;
    color: var(--terthemecolor);
}

/* ==== Mis Pacientes ====*/
.dashboard-patients {
    width: 100%;
}

#patients-table {
    background-color: white;
}

table.vsiete-dashboard {
    margin: 0;
}

#dc-main table.vsiete-dashboard th {
    background-color: #A4B0C8;
}

table.vsiete-dashboard td > div {
    display: flex;
    flex-direction: column;
}

table.vsiete-dashboard td > div > span {
    line-height: 26px;
}

table.vsiete-dashboard td > div > span:last-child {
    line-height: 20px;
    color: #767676;
}

.patient-details > .patient-banner {
    display: block;
    background-color: white;
    padding: 1rem 2rem;
    border-radius: 4px;
    width: 40%;
}

.patient-details > .patient-banner > span > b {
    color: #767676;
}

button#leave-patient-details {
    padding: 3px 5px;
    background-color: #ebebeb;
    border-radius: 4px;
    transition: box-shadow 300ms;
}

button#leave-patient-details:hover {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

#appointment .dc-modalcontent {
    padding: 0;
}

div#mob-patients-list {
    overflow-y: auto;
    max-height: 600px;
    gap: 1rem;
}

.mob-patient-item {
    border: 1px solid #eee;
    border-radius: 4px;
}

.mob-patient-item b {
    font-size: 1rem;
}

.mob-patient-item button {
    line-height: initial;
    min-width: 100%;
}

.patients-listing > .title-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.patients-listing > .title-container input {
    width: 300px;
    margin-right: 6px;
}

@media (max-width: 480px) {
    .dashboard-patients {
        padding-inline: 40px 30px;
    }

    .patient-details > .patient-banner {
        width: 100%;
        padding: 1rem;
    }

    .patient-details table.vsiete-dashboard td {
        line-height: inherit;
    }

    .patients-listing > .title-container {
        flex-direction: column;
        align-items: start;
    }

    .patients-listing > .title-container > div {
        width: 100%;
        display: grid;
        grid-template-columns: 4fr 1fr;
    }

    .patients-listing > .title-container input {
        width: 100%;
    }

    .patients-listing > .title-container button {
        min-width: fit-content;
    }
}

/*== Mis Citas  ==*/
div#mob-appointments-list {
    overflow-y: auto;
    max-height: 600px;
    gap: 1rem;
    align-items: center;
}

.appointment-history-item {
    border: 1px solid #eee;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.appointment-history-item b {
    font-size: 1rem;
}

.appointment-history-item button {
    line-height: initial;
    min-width: 100%;
}

/* === Mobile dashboard top nav === */
.vsiete-dashboard.hamburger-nav {
    display: none;
}

.vsiete-dashboard.hamburger-nav .dc-logo {
    margin: 0 !important;
}

.vsiete-dashboard.hamburger-nav .dc-logo > a {
    display: flex;
}

.vsiete-dashboard.hamburger-nav button:focus {
    outline: none;
}

.vsiete-dashboard.hamburger-nav button > i {
    font-size: 1.4rem;
    color: #999;
}

@media (max-width: 1024px) {
    .dc-wrapper .dc-sidebarwrapper {
        width: 0;
    }

    .dc-header-dashboard {
        padding-left: 5px;
    }

    .vsiete-dashboard.hamburger-nav {
        display: flex;
        align-items: center;
        justify-content: start;
        gap: 0.9rem;
        padding-block: 0.65rem;
    }
    .sticky-queue .dc-alert.error {
        background: #fce3e9;
        color: #e62662 !important;
        border: red;
    }
}

@media (max-width:425px) {
    .sticky-queue.top-right {
        right:13px;
        width: 400px;
    }
}

/* Fix register padding */
.page-id-1238 main#dc-main {
    padding: 20px 40px 20px 40px;
}

/* ==== HOSPITALS DETAIL  ==== */
.single-hospitals .listing-card.dc-searchvtwo {
    min-width: auto;
}

.single-hospitals #accordion .card-body {
    padding-top: 0;
}

.single-hospitals #accordion .card-header > span {
    font-size: 1rem;
    font-weight: 600;
}

.single-hospitals #accordion .listing-card.dc-docpostholder:last-child {
    margin-bottom: 1rem;
}

.single-hospitals .listing-card ul.dc-docinfo {
    margin-left: 0;
}

.single-hospitals .hidden-cities,
.single-hospitals .show-more-cities {
    display: none;
}

.single-hospitals .dc-docsingle-header .dc-title span.dc-docinfo {
    font-weight: 600;
}

.single-hospitals #feedback .hospital-show-feedback {
    line-height: 42px;
}

.med-test-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 1rem 2rem;
    align-items: center;
    border: 1px solid #eee;
    border-radius: 4px;
    margin-top: 12px;
    box-shadow: 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    cursor: pointer;
}

.med-test-card > div:first-child > span:first-child {
    font-size: 1.05rem;
}

.med-test-card button {
    width: 75%;
}

@media (max-width: 767px) {
    .single-hospitals #accordion .card-header {
        padding-bottom: 0.2rem;
    }

    #insurances .dc-searchresult-head {
        margin-bottom: 20px;
    }

    .single-hospitals .dc-docsingle-header {
        padding-bottom: 1rem;
    }

    .single-hospitals .dc-docsingle-header .dc-title {
        text-align: start;
    }

    .single-hospitals .dc-docsingle-content .dc-title h2 {
        font-size: 1rem;
    }

    .single-hospitals .dc-docsingle-header .dc-title span.dc-docinfo {
        font-weight: normal;
        font-size: 14px;
    }

    .single-hospitals .dc-docsingle-header .dc-docsingleimg {
        width: 70%;
    }

    .single-hospitals #feedback .hospital-show-feedback {
        min-width: 100%;
    }

    .med-test-card {
        grid-template-columns: 1fr;
        padding: 1rem;
    }

    .med-test-card > div:first-child > span.text-secondary {
        font-size: 1rem;
    }

    .med-test-card button {
        width: 100%;
        margin-top: 6px;
    }
}

@media (min-width: 768px) {
    .single-hospitals .dc-docsingle-header {
        padding-block: 10px;
    }
}

.show-more-insurances {
    background-color: transparent;
    text-decoration: underline;
    color: var(--terthemecolor);
}

.single-hospitals #dc-wrapper {
    overflow: visible;
}

.single-hospitals .dc-docsingle-header {
    margin-bottom: 0;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

.single-hospitals .dc-feedbackelement .dc-stars {
    width: 67px;
}

.single-hospitals .accordion-services .dc-elementslist > .dc-elementitem:first-child {
    margin-top: 10px;
}

#test-req-2 fieldset {
    padding-inline: 5rem;
}

nav.vsiete-scrollspy {
    position: sticky;
    top: 0;
    z-index: 10;
    margin-bottom: 30px;
    background: white;
    border-style: solid;
    border-color: #edeff2;
    border-width: 1px;
    border-top: none;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    padding-block: 0;
}

.vsiete-scrollspy ul.nav {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: thin;
}

.vsiete-scrollspy li {
    list-style: none;
    line-height: 34px;
    min-width: fit-content;
}

.vsiete-scrollspy li a {
    color: #767676;
}

.vsiete-scrollspy li a:hover {
    color: var(--terthemecolor);
}

.vsiete-scrollspy li a.active {
    color: var(--terthemecolor);
    border-bottom-style: solid;
}

/* Disable tooltip button functionality */
/*#btn-open-telemedicine,
#btn-open-appointment {
    cursor: pointer;
}

/*#btn-open-telemedicine:hover,
#btn-open-appointment:hover {
    background-color: #e6edf8;
}*/

.dc-logininfo .dc-btn {
    height: 50px;
}

@media (min-width:400px) and (max-width: 500px) {
    #search_form h2 {
        font-size: 1.2rem;
    }
}

#telemedicine-search a,
.animate {
    background-color: white !important;
    color: black !important;
    animation: pulse 1s infinite;
}

.dc-btn.dc-btnactive.dc-booking-model {
    animation: pulse 1s infinite;
}

.dc-docsingle-header .dc-docsingle-content {
    overflow: inherit;
}

@media (max-width: 480px) {
    .dc-loginarea > .dc-btn.dc-btnactive.ml-2,
    .dc-loginarea > .dc-btn {
        font-size: .8rem;
    }
}

@media (min-width: 768px) {
    #desktop-search-fields h1 {
        font-size: 2.3rem;
    }
}

#accordion .col-12 .card {
    border: 2px solid;
    border-radius: 5px;
    border-color: var(--themecolor);
    padding: 0 15px;
    margin-bottom: 1rem;
}

@media (max-width: 430px) {
    
    #accordion .col-12 {
        padding: 1.5rem 0;
    }

    #accordion .col-12:first-child {
        margin-top: 1rem;
    }
        
    #accordion .col-12 .card .card-header {
        flex-flow: column;
        gap: 1rem;
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }
    
    #accordion .col-12 .card .card-header > div,
    #accordion .col-12 .card .card-header button{
        width: 100%;
    }

    #accordion .col-12:last-child {
        display: none;
    }
}

.btn-main {
    background: white;
    font-size: 2rem;
    padding: .5rem 2rem;
    font-weight: bold;
    animation: pulse 1s infinite;
}


/* === Hospital Detail === */

.dc-search-hospitals.hospital .dc-doclocation .dc-btn {
    line-height: 42px;
}

/* .dc-docpostholder.dc-search-hospitals.hospital .dc-docpostcontent {
    display: block;
} */

.dc-docpostholder.dc-search-hospitals.hospital .dc-docpostcontent .dc-searchvtwo {
    display: flex ;
    flex-flow: column ; 
    padding-left: 20px ;
    padding-right: 20px ;
    min-width: 100% ;
}

.single-hospitals .dc-docpostholder.dc-search-hospitals.hospital .dc-docpostcontent .dc-searchvtwo,
.single-doctors .dc-docpostholder.dc-search-hospitals.hospital .dc-docpostcontent .dc-searchvtwo {
    display: flex;
    /* flex-flow: column;  */
    flex-flow: row;
    padding-left: 20px;
    padding-right: 20px;
    /* min-width: 100%; */
    min-width: 70%;
}

.mobile-book-now > a.dc-btn {
    min-width: 80%;
}

@media (min-width:1024px) {

    .dc-docpostholder.dc-search-hospitals.hospital .dc-docpostcontent {
        display: flex;
    }

    .dc-docpostholder.dc-search-hospitals.hospital .dc-docpostcontent .dc-searchvtwo {
        min-width: 70%;
    }
}

.vsiete-shadow {
    -webkit-box-shadow: 0 0 15px 0 rgba(0,0,0,0.10);
    box-shadow: 0 0 15px 0 rgba(0,0,0,0.10);
}

.payment-method-popup .vsiete-select-item.office {
    line-height: 23px;
}

/* Listing doctors information */
.dc-docinfo li.information {
    display: flex;
    gap: 0.8rem;
    font-size: 16px;
}

/* Lower padding at mobile in registration pages */
@media (max-width: 768px) {
    .page-id-1238 main#dc-main {
        padding: 20px;
    }
}

.dc-username span.h4 {
    max-width: 100px;
    display: block;
    margin: 0 0 2px;
    font-size: 14px;
    font-weight: 500;
    overflow: hidden;
    line-height: 18px;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--terthemecolor);
}

.doctor-sections-container .dc-docinfo li h4 {
    line-height: inherit;
}

.doctor-sections-container .dc-docinfo li h4 a {
    font: 400 14px/26px "Poppins", sans-serif;
    line-height: inherit;
    font-family: "Open Sans", sans-serif;
}

.dc-subpasarela.h4 {
    font-size: 18px;
}

span.h5 {
    color: var(--terthemecolor);
    margin: 0;
    font-weight: 700;
    line-height: 1.5;
    font-style: normal;
    font-family: "Poppins", Arial, Helvetica, sans-serif;
    font-size: 16px;
    display: block;
}

.dc-booking-step-otp span.h5 {
    display: block;
}

.dc-booking-step-payment-online span.h3 {
    display: block;
}

@media (max-width: 480px) {
    .h3 {
        font-size: 1.2rem;
    }
}

@media (max-width: 768px) {
    .hidpi-logowrap .dc-logo {
        width: 46px;
    }

    .dc-innerbannerform.dc-form-advancedsearch.not-logged {
        display: flex;
        justify-content: flex-end;
    }

    button#trigger-mobile-search-overlay.not-logged {
        width: 51px;
        padding: 10px 15px;
        margin-right: 1.2rem;
    }
}

@media (max-width: 767px) {
    .single-hospitals .dc-docsingle-header .dc-docsingleimg {
        max-width: 30%;
    }

    .dc-docsingle-content {
        max-width: 70%;
        padding-left: 10px;
    }
}

@media (max-width: 568px) {
    .dc-navigationarea .hidpi-logowrap .dc-loginarea {
        margin-left: 0px;
    }
}

@media (max-width: 767px) {
    .dc-rightarea .dc-loginarea > .dc-btn {
        margin-left: 9px;
    }
}

/* Tooltip */
.dc-appointmentpopup #dcModalBodyPaymentOnline .dc-tooltip {
    background-color: transparent !important;
    border: 5px solid #3d4461 !important;
    text-transform: uppercase;
}

.dc-appointmentpopup #dcModalBodyPaymentOnline .dc-tooltip i {
    color: red !important;
}

/* Feedback fixes */
#feedback-step2 .dc-title > span.h5,
#feedback-step2 .dc-title {
  text-align: center;
}

#feedback-step2 .h5 {
  display: block;
}

#feedback-step3 ul.dc-btnapps {
    display: flex;
    float: initial;
    margin-bottom: 1rem;
    margin-top: 1rem;
    justify-content: center;
}

.d-block {
    display: block !important;
}

.mobile .hospital-show-feedback {
    width: 100%;
}

@media (min-width: 768px) {
    .d-md-none {
        display: none !important;
    }
}

.hospitals-template-default #dc-main .container {
    margin-top: 3rem;
}

.pulse { 
    animation: pulse 1s infinite;
}

.remove-selected-item {
    display: inline-block;
    margin-bottom: 1rem;
}

/**
 * SEO
 */
.listing-card .doctor-sections-container .dc-title h2 {
    margin-bottom: 4px;
}

.dc-docpostholder .dc-docpostcontent .dc-title h2 {
    width: 100%;
}

.dc-docpostcontent .dc-title h2 {
    margin-bottom: 1rem;
}

.dc-docpostcontent .dc-title h2 {
    margin: 0 0 4px;
    margin-bottom: 4px;
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;
    float: left;
}

.dc-docpostcontent .dc-title h2 a {
    color: var(--terthemecolor);
}

.dc-docpostcontent .dc-title h2 a:hover {
    text-decoration: underline;
}

.dc-docpostcontent .dc-title h3 a {
    color: #767676;
    font: 400 14px/26px "Poppins", sans-serif;
    line-height: 26px;
    font-family: "Poppins", sans-serif;
    line-height: inherit;
    font-family: "Open Sans", sans-serif;
}

.listing-card .doctor-sections-container .dc-title h3 {
    margin-bottom: 1px;
}

.search-title h1 {
    font-size: 1.1rem;
    margin-left: 1rem;
}

@media (min-width: 768px) {
    .search-title h1 {
        font-size: 1.5rem;
    }
}

.dc-clinics.citamed_schedule {
    background: #499fd8;
}
  
.dc-clinics.citamed_schedule .dc-clinics-title a,
.dc-clinics.citamed_schedule .dc-clinics-title h4,
.dc-clinics.citamed_schedule .dc-clinics-title i,
.dc-clinics.citamed_schedule .dc-clinics-title span,
.dc-clinics.citamed_schedule .dc-team-status.dc-publish {
    color: white;
}
  
.dc-clinics.citamed_schedule .dc-clinics-title a,
.dc-clinics.citamed_schedule .dc-clinics-title h4,
.dc-clinics.citamed_schedule .dc-clinics-title i {
    font-weight: bold;
    text-transform: uppercase;
}
  
.dc-clinics.citamed_schedule .dc-btn.dc-btn-sm {
    background: white;
    border: 2px solid white;
}
  
.dc-clinics.citamed_schedule:hover .dc-btn.dc-btn-sm,
.dc-clinics.citamed_schedule .dc-btn.dc-btn-sm:hover,
.dc-clinics.citamed_schedule .dc-btn.dc-btn-sm:focus {
    text-decoration: underline;
    color: inherit;
    background: lightgrey;
}

body.single-post .elementor-heading-title {
    font-size: 1.8rem !important;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

@media (min-width: 1080px) {
    /* Moves content more to the right after forcing the dashboard drawer */
    body:not(.single-post) .dc-wrapper .dc-main {
        padding: 20px 40px 20px 310px;
    }
}

body.single-post .elementor-widget-wrap {
    background: #f4fbff !important;
    max-width: 800px;
}

body.single-post .elementor-widget-theme-post-content {
    color: var( --e-global-color-secondary );
    font-size: 1.2rem;
}

/* Componente de selector de opciones */
.option-selector {
    display: flex;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.option-button {
    padding: 10px 20px;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    outline: none;
    background-color: white;
    color: #666;
    transition: background-color 0.3s ease, color 0.3s ease;
    flex-grow: 1;
}

.option-button.active {
    background-color: var(--themecolor);
    color: white;
}

.option-selector .option-button:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.option-selector .option-button:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* Show price button listing */
.doctor-sections-container .show-price-btn-listing {
    min-width: 96px;
    height: 40px;
    line-height: 40px;
}

.doctor-sections-container .price-info-listing {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.doctor-sections-container .price-info-listing,
.doctor-sections-container .views,
.doctor-sections-container .opinions {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
}

.views .value,
.opinions .value {
    margin-right: 5px;
}

@media (max-width: 767px) {
    
    .doctor-sections-container .price-info-listing,
    .doctor-sections-container .views,
    .doctor-sections-container .opinions {
        flex: 1 1 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .show-price-btn-listing {
        padding: 0 2px;
        min-width: 80px;
        font-size: .8rem;
    }
}

.home #search_form .dc-innerbannerform h2 {
    font-weight: normal;
    font-size: 1.3rem;
    margin-bottom: 0;
    color: black;
}

.home #search_form .dc-innerbannerform .sub-heading {
    font-size: 1rem;
    width: 100%;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 20px;
    line-height: 20px;
}

@media (min-width: 768px) {
    .home #search_form .dc-innerbannerform h2 {
        font-size: 2.2rem;
        margin-bottom: 10px;
    }

    .home #search_form .dc-innerbannerform .sub-heading {
        font-size: 1.3rem;
        width: 60%;
        margin-bottom: 15px;
        line-height: 25px;
    }
}

/**
 * Doctor dropdown menu
 */ 
.dc-doctor-dropdown .dropdown-menu {
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    padding: 0.5rem 0;
}
.dc-doctor-dropdown .dashboard-menu-top li a {
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    color: #333;
    text-decoration: none;
}
.dc-doctor-dropdown .dashboard-menu-top li a:hover {
    background: #f5f5f5;
}
.dc-doctor-dropdown .dashboard-menu-top li i {
    margin-right: 8px;
}

@media (max-width: 480px) {
  #doctor-options-btn {
    font-size: .8rem;
  }
}

.is-doctor {
    padding: 0;
}

@media (max-width: 480px) {
    .is-doctor a {
        min-width: 110px;
    }
}

@media (min-width: 768px) {
    .is-doctor {
        padding: 10px 0;
    }
}

/* Nuevos cambios */
#desktop-search-fields.dc-innerbannerform {
    padding: 10px 110px 10px 0;
}

/* Muestra el menú al hacer hover o cuando tiene la clase .dropdown-open */
.dc-userlogedin:hover .dc-usernav,
.dc-userlogedin.dropdown-open .dc-usernav {
    top: 100%;
    opacity: 1;
    visibility: visible;
}

@media (max-width: 768px) {
    .hidpi-logowrap.is-empty {
        display: flex;
        justify-content: space-between;
    }

    .dc-innerbannerform.dc-form-advancedsearch.not-logged {
        width: auto;
    }
}

@media (max-width: 768px) {
  .hidpi-logowrap .dc-rightarea.is-empty {
    display: none !important;
  }
}

@media (max-width: 768px) {
    button#trigger-mobile-search-overlay {
        width: auto !important;
        min-width: 46px;
        max-width: 160px;
    }

    button#trigger-mobile-search-overlay.not-logged {
        width: 51px !important;
    }

    .dc-formtheme.dc-form-advancedsearch.logged {
        display: flex;
        justify-content: flex-end;
    }
}

.select2-selection.select2-selection--single,
.dc-form-advancedsearch input.form-control {
    border-radius: 30px;
}

.home .dc-form-advancedsearch fieldset {
    background: transparent;
}

input.form-control, select.form-control {
    border-radius: 10px;
}
