:root {
    /* COLORS */
    --dark-blue: #232841;
    --light-blue: #34a7de;
    --green: #57bd7d;
    --light-gray: #e4f7ff;
    --neutral-green: #eefaff;

    --transparent-light-blue: rgba(52, 167, 222, 0.6);
    --transparent-white: rgba(255, 255, 255, 0.7);
}

/* TEXT */


* {
  font-family: "Dosis", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
}

.dark-blue-text {
    color: var(--dark-blue);
}

.light-blue-text {
    color: var(--light-blue);
}

.green-text {
    color: var(--green);
}

.white-text {
    color: white;
}

h2 {
    color: var(--dark-blue)
}

/* BACKGROUND COLOR */

.dark-blue-bg {
    background-color: var(--dark-blue);
    color: white;
}

.light-blue-bg {
    background-color: var(--light-blue);
}

.green-bg {
    background-color: var(--green);
    color: var(--dark-blue);
}

.light-gray-bg {
    background-color: var(--light-gray);
    color: var(--dark-blue);
}

.white-bg {
    background-color: white;
    color: var(--dark-blue)
}

.transparent-white-bg {
    background-color: var(--transparent-white);
    backdrop-filter: blur(10px);
    color: var(--dark-blue)
}

/* GENERAL */

body {
    background-image: url(../Images/fondo.svg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.row img {
    width: 100%;
    height: 100%;
}

.card, .shadow {
    height: 100%;
    border: none;
    border-radius: 0;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
}

/* NAVBAR */

nav {
    background-color: var(--dark-blue);
    backdrop-filter: blur(10px);
}

.custom-btn-green {
    background-color: var(--green);
    color: var(--dark-blue);
    font-weight: 600;
}

.custom-btn-green:hover {
    background-color: #489c67;
    color: white;
}

/* HERO */

.hero {
    padding-top: 5rem;
}

.hero .container-lg {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hero .logotipo {
    width: min(500px, 70%);
    height: auto;
}

.hero .container-lg .row {
    height: inherit;
    height: min-content;
    background-color: white;
    backdrop-filter: blur(10px);
    color: var(--dark-blue);
}

.hero div img {
    width: 100%;
    height: 100%;
}

/* tratamientos */

.tratamientos .card {
    display: flex;
    flex-direction: row;
    height: min-content;
}

.tratamientos .card img {
    width: 100px;
}

.tratamientos .card .card-body {
    align-self: flex-start;
}

.tratamientos .accordion-item {
    background-color: rgba(0, 0, 0, 0);
    border: none;
}

.tratamientos .accordion-button {
    background-color: inherit;
}

.tratamientos .accordion-button:focus {
    box-shadow: none;
}

.tratamientos .accordion-header {
    border: none;
}

li::marker {
    color: var(--green);
}

/* INSTALACIONES */


/* OPINIONES */

.card i {
    color: var(--green);
}

/* CONTACTO */

.contacto {
    background-color: var(--dark-blue);
    color: white;
    text-align: center;
}

.contacto li, .contacto li a {
    color: white;
    text-decoration: none;
    list-style: none;
}

/* ANIMATIONS */

section {
    overflow: hidden;
}

.animate {
    transition: transform 0.7s, opacity 0.7s;
}

.fade-in {
    opacity: 0;
}

.show-animate .fade-in {
    opacity: 100%;
}

.fade-in-grow {
    opacity: 0;
    transform: scale(0.95);
}

.show-animate .fade-in-grow {
    opacity: 100%;
    transform: scale(1);
}

.fade-in-to-right {
    transform: translateX(-50px);
    opacity: 0;
}

.show-animate .fade-in-to-right {
    transform: translateX(0);
    opacity: 100%;
}

.fade-in-to-left {
    transform: translateX(50px);
    opacity: 0;
}

.show-animate .fade-in-to-left {
transform: translateX(0);
opacity: 100%;
}

.fade-in-to-up {
    transform: translateY(50px);
    opacity: 0;
}

.show-animate .fade-in-to-up {
    transform: translateX(0);
    opacity: 100%;
}

.fade-in-to-down {
    transform: translateY(-50px);
    opacity: 0;
}

.show-animate .fade-in-to-down {
    transform: translateX(0);
    opacity: 100%;
}

@media (min-width: 576px) {    
    .contacto {
        text-align: start;
    }
}

@media (min-width: 768px) {
    .hero {
        height: 100vh;
    }
}