/*
Theme Name: Bradford's
Text Domain: Bradford's
Author: Optimiza.mx
Author URI: https://optimiza.mx/
Version: 1.0
*/

:root {
    --blue-dark:    #172A3C;
    --blue-darker:  #0D2133;
    --blue:         #2358C6;
    --blue-light:   #356BDD;
    --blue-lighter: #8EAFCF;
    --brown-dark:   #8E673A;
    --brown-light:  #A78053;
    --brown-lighter:#B68150;
    --gray-light:   #F1F1F1;
    --yellow-light: #FBF4EB;
    --green:        #196962;

    --font-primary: "Fira Sans";
    --font-secondary: "Bebas Neue";
}

/* Text Colors */
.text-blue-dark { color: var(--blue-dark) !important; }
.text-blue-darker { color: var(--blue-darker) !important; }
.text-blue { color: var(--blue) !important; }
.text-blue-light { color: var(--blue-light) !important; }
.text-blue-lighter { color: var(--blue-lighter) !important; }
.text-brown-dark { color: var(--brown-dark) !important; }
.text-brown-light { color: var(--brown-light) !important; }
.text-brown-lighter { color: var(--brown-lighter) !important; }
.text-gray-light { color: var(--gray-light) !important; }

/* background Colors */
.bg-blue-dark { background-color: var(--blue-dark); }
.bg-blue-darker { background-color: var(--blue-darker); }
.bg-blue { background-color: var(--blue); }
.bg-blue-light { background-color: var(--blue-light); }
.bg-blue-lighter { background-color: var(--blue-lighter); }
.bg-brown-dark { background-color: var(--brown-dark); }
.bg-brown-light { background-color: var(--brown-light); }
.bg-brown-lighter { background-color: var(--brown-lighter); }
.bg-gray-light { background-color: var(--gray-light); }
.bg-yellow-light { background-color: var(--yellow-light); }
.bg-green { background-color: var(--green); }

/* Fonts */
.f-primary { font-family: var(--font-primary); }
.f-secondary { font-family: var(--font-secondary); }

/* Helpers */
.outline-0 {
    outline: none;   
    -webkit-box-shadow: none;
    box-shadow: none;
}

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

/* Buttons */
.btn-brown-light {
    background-color: var(--brown-light);
    color: #ffffff;
    z-index: 10;
    position: relative;
    text-decoration: none;
    display: inline-block;
}
/* Animations */

.animate.animate-start.fade-to-left { animation: FadeInToLeft 1.5s ease-out forwards; }
.animate.animate-start.fade-to-right { animation: FadeInToRight 1.5s ease-out forwards; }
.animate.animate-start.fade-to-bottom.delay-0 { animation: FadeInToBottom 1.5s ease-out forwards; }
.animate.animate-start.fade-to-top.delay-0 { animation: FadeInToTop 1.5s ease-out forwards; }
.animate.animate-start.fade-to-top.delay-1 { animation: FadeInToTop 1.5s ease-out forwards .1s; }
.animate.animate-start.fade-to-top.delay-2 { animation: FadeInToTop 1.5s ease-out forwards .2s; }
.animate.animate-start.fade-to-top.delay-3 { animation: FadeInToTop 1.5s ease-out forwards .3s; }
.animate.animate-start.fade-to-top.delay-4 { animation: FadeInToTop 1.5s ease-out forwards .4s; }
.animate.animate-start.fade-to-top.delay-5 { animation: FadeInToTop 1.5s ease-out forwards .5s; }
.animate.animate-start.fade-to-top.delay-6 { animation: FadeInToTop 1.5s ease-out forwards .6s; }
.animate.animate-start.fade-to-top.delay-7 { animation: FadeInToTop 1.5s ease-out forwards .7s; }
.animate.animate-start.fade-to-top.delay-8 { animation: FadeInToTop 1.5s ease-out forwards .8s; }
.animate.animate-start.fade-to-top.delay-9 { animation: FadeInToTop 1.5s ease-out forwards .9s; }
.animate.animate-start.fade-to-top.delay-10 { animation: FadeInToTop 1.5s ease-out forwards 1s; }
.animate.animate-start.slide-to-top-tree.delay-0 { animation: SlideInToTopTree 1.5s ease-out forwards; }
.animate.animate-start.slide-to-top-1.delay-0 { animation: SlideInToTop1 .6s ease-out forwards; }
.animate.animate-start.slide-to-top-2.delay-0 { animation: SlideInToTop2 .7s ease-out forwards; }
.animate.animate-start.slide-to-top-3.delay-0 { animation: SlideInToTop3 .8s ease-out forwards; }

@keyframes FadeInToLeft {
    from {
        transform: translate3d(50px, 0, 0);
        opacity: 0;
    }

    to {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}
@keyframes FadeInToRight {
    from {
        transform: translate3d(-50px, 0, 0);
        opacity: 0;
    }

    to {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}
@keyframes FadeInToTop {
    from {
        transform: translate3d(0, 25px, 0);
        opacity: 0;
    }

    to {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}
@keyframes SlideInToTopTree {
    from {
        transform: translate3d(0, 25px, 0);
    }

    to {
        transform: translate3d(0, 3px, 0);
    }
}
@keyframes FadeInToBottom {
    from {
        transform: translate3d(0, -25px, 0);
        opacity: 0;
    }

    to {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}
@keyframes SlideInToTop3 {
    from {
        transform: translate3d(0, 50px, 0);
    }

    to {
        transform: translate3d(0, -33px, 0);
    }
}
@keyframes SlideInToTop2 {
    from {
        transform: translate3d(0, 50px, 0);
    }

    to {
        transform: translate3d(0, 8px, 0);
    }
}
@keyframes SlideInToTop1 {
    from {
        transform: translate3d(0, 25px, 0);
    }

    to {
        transform: translate3d(0, -7px, 0);
    }
}

/* XS Style */
.header-menu {
    font-family: var(--font-secondary);
    font-size: 45px;
    font-weight: 700;
    line-height: 50.4px;
    text-align: left;
    letter-spacing: 2px;
}

.header-menu li {
    margin-bottom: 20px;
    padding-bottom: 20px;
    letter-spacing: 3px;
}
.header-menu li.nav-item.dropdown .dropdown-menu {
    background-color: transparent;
}
.header-menu li.nav-item.dropdown .dropdown-menu li {
    margin-bottom: 0;
}
.header-menu li.nav-item > a {
    border-bottom: 1px solid var(--brown-light);
    width: 100%;
    display: block;
}
.header-menu li.nav-item > a.dropdown-toggle::after {
    border-top-color: var(--brown-light);
    float: right;
    margin-top: 15px;
    transition: all .2s ease-out;
}
.header-menu li.nav-item > a.dropdown-toggle.show::after {
    transform: rotateX(180deg);
    transition: all .2s ease-out;
}
.header-menu li.nav-item.dropdown .dropdown-menu .dropdown-item {
    color: white;
    text-transform: uppercase;
    letter-spacing: 1px;
    white-space: normal;
    line-height: 1.2;
}
.header-menu li.nav-item.dropdown .dropdown-menu .dropdown-item:hover {
    color: var(--blue-dark);
    transition: all .2s ease-out;
}
.header-menu li.nav-item.dropdown .dropdown-menu .dropdown-item:active {
    background-color: var(--blue-darker);
    color: white;
    transition: all .2s ease-out;
}

/* MD Style */
@media only screen and (min-width: 768px) {
    .header-menu {        
        font-size: 55px;
    }
}

/* LG Style */
@media only screen and (min-width: 992px) {
    .header-menu {
        font-family: var(--font-primary);
        font-size: 13px;
        font-weight: 700;
        line-height: 23.78px;
        text-align: right;
    }

    .header-menu li {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }
    .header-menu li a.nav-item-text-top {
        transform: translate3d(0px, 0%, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
        transform-style: preserve-3d;
    }
    .header-menu li.nav-item {
        width: 120px;
        height: 28px;
    }
    .header-menu li.nav-item > a {
        border-bottom: none;
    }
    .header-menu li.nav-item > a.dropdown-toggle::after {
        border-top-color: var(--brown-light);
        margin-top: 0;
        float: none;
    }
    .header-menu li.nav-item.dropdown .dropdown-menu {
        background-color: var(--gray-light);
        margin-top: 1.65rem !important;
        left: -4rem;
    }
    .header-menu li.nav-item.dropdown .dropdown-menu li:not(:last-child) a.dropdown-item {
        border-bottom: 1px solid var(--brown-light);
    }
    .header-menu li.nav-item.dropdown .dropdown-menu .dropdown-item {
        color: var(--blue-dark);
        padding: .5rem .25rem;
        text-transform: none;
        white-space: normal;
        line-height: 1.2;
    }
    .header-menu li a.nav-item-text-bottom {
        position: absolute;
        left: 0;
        top: 0;
        opacity: 1;
    }
    .header-menu li a.nav-item-text-top {
        position: absolute;
        left: 0;
        top: 100%;
        opacity: 0;
    }
    
    .header-menu li:hover a.nav-item-text-bottom {
        opacity: 0;
        top: -100%;
        transition: all .2s;
    }
    .header-menu li:hover a.nav-item-text-top {
        opacity: 1;
        top: 0;
        transition: all .2s;
    }
}

/* XL Style */
@media only screen and (min-width: 1200px) {
    .header-menu {
        font-size: 14px;
        line-height: 24.78px;
    }
}

/* XXL Style */
@media only screen and (min-width: 1440px) {
    .header-menu {
        font-size: 15px;
        line-height: 25.78px;
    }
}

/* Estilos para las secciones de servicios */
.service-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.estates-title {
    transition: all 0.3s ease;
}

.estates-description {
    opacity: 0;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.service-link:hover .estates-title > .title,
.service-link:hover .estates-title > .details-btn {
    opacity: 0;
}

.service-link:hover .estates-description {
    opacity: 1;
}

.btn-brown-light {
    background-color: var(--brown-light);
    color: #ffffff;
    transition: opacity 0.3s ease;
}

/* Asegúrese de que el botón sea visible en dispositivos móviles */
@media only screen and (max-width: 991px) {
    .estates-title .details-btn {
        display: inline-block !important;
    }
}