/* ===================================
    Crafto - Architecture
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Antonio:wght@100;200;300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;600;700;800&display=swap');
/* variable */
:root {     
    --base-color: #0066A6;
    --green: #70B040;
    --yellow: #55C0F0;
    --golden-yellow: #70B040;
    --tussock-yellow: #009080;
    --dark-gray:#202020;
    --medium-gray:#8C9296;
    --extra-medium-gray:#5F666A;
    --charcoal-blue: #0066A6;
    --slate-blue: #00B0D0;
    --medium-slate-blue: #009080;
    --extra-medium-slate-blue: #0066A6;
    --dark-slate-blue: #009080;
    --extra-dark-slate-blue: #202020;
    --extra-very-slate-blue: #101010;
    --alt-font: 'Antonio', sans-serif;
    --primary-font: 'Plus Jakarta Sans', sans-serif;
} 
html {
    overflow-x: hidden;
}
body{
    line-height: 30px;
}
/* reset */
.word-break-normal {
    word-break: normal;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-bottom: 25px;
}
h1, .h1 {
    line-height: 4.6rem;
}
h2 {
    line-height: 3.7rem;
}
h3 {
    line-height: 3.4rem;
}
h4 {
    line-height: 3rem;
}
h5 {
    line-height: 2.5rem;
}
h6 {
    line-height: 2.3rem;
}
/* header */ 
header .widget-text {
    font-size: 15px;
}
header .navbar-brand {
    padding: 28px 0;
}
header.sticky .disable-fixed .navbar-brand {
    padding: 18px 0;
}
header .navbar-brand img {
    max-height: 60px;
}
.hamburger-logo img {
    max-height: 85px;
}
.header-icon .header-social-icon a {
    font-size: 17px;
    padding-left: 15px;
    font-weight: 600;
}

/* Galeria de proyectos en Nosotros: recorte uniforme sin deformar las imagenes. */
.about-project-gallery .swiper-slide img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
}
.header-icon .header-social-icon a svg {
    width: 22px;
    height: 22px;
}

.hamburger-menu-simple .menu-address a[href^="mailto:"] {
    display: inline-block;
    max-width: 100%;
    font-size: 13px;
    white-space: nowrap;
}

.hamburger-menu-simple .elements-social .medium-icon {
    display: flex;
    align-items: center;
    gap: 18px;
}

.hamburger-menu-simple .elements-social .medium-icon li,
.hamburger-menu-simple .elements-social .medium-icon a {
    margin: 0 !important;
}
.home-header-contrast {
    background: linear-gradient(180deg, rgba(3, 10, 14, .78) 0%, rgba(3, 10, 14, .42) 58%, rgba(3, 10, 14, 0) 100%) !important;
}

/* El hero de Inicio comparte el mismo tratamiento oscuro que Servicios. */
#architecture-slider .slotholder::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(3, 10, 14, .42) 0%, rgba(3, 10, 14, .58) 100%);
}
.home-header-contrast .navbar-brand img {
    max-height: 72px;
    filter: drop-shadow(0 3px 10px rgba(0, 0, 0, .65));
}
header.sticky .navbar {
    min-height: 70px;
}
.hamburger-menu-simple .menu-item-list .nav-link {
    font-size: 55px;
    line-height: 50px;
}

.hamburger-menu-simple .menu-item-list .menu-item.active .nav-link {
    color: #8d8d8d;
}
header .elements-social ul li {
    margin-right: 25px;
    margin-left: 0;
}
header .elements-social ul li a {
    width: auto;
    height: auto;
}
.signature-name {
    display: inline-block;
    font-family: 'Herr Von Muellerhoff', cursive;
    font-size: 54px;
    line-height: 1;
    font-weight: 400;
}
.project-integral-video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.interactive-banner-style-06 .interactive-banners-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.slider-three-slide .interactive-banner-style-06 {
    height: 505px;
}
.slider-three-slide .interactive-banner-style-06 .interactive-banners-image {
    height: 100%;
}
.interactive-banner-style-06:hover .banners-icon {
    opacity: 0;
    visibility: hidden;
}
.interactive-banner-style-06:hover .interactive-banners-content .interactive-banners-content-text {
    color: rgba(255, 255, 255, .88);
}
/* revolution slider */
#architecture-slider .tp-splitted {
    text-align: inherit !important;
}
.magic-cursor-base-color #ball-cursor:before, .magic-cursor-base-color #ball-cursor:after {
    color: var(--dark-gray);  
}
/* tag */
.blog-comment li .btn-reply:hover {
    color: var(--dark-gray);
}
.tag-cloud a:hover, .tag-cloud a.active {
    border-color: var(--white);
}
.blog-comment li .btn-reply {
    border: 1px solid var(--extra-medium-gray);
    background-color: transparent;
}
.blog-comment li .btn-reply {
    padding: 6px 20px 7px;
}
.categories-btn {
    padding: 4px 18px;
    border-radius: 24px;
}
/* first letter block  */ 
.first-letter-block {
    line-height: 88px;
}
/* top right bottom left */
.top-25 {
    top: 25%;
}
.right-18 {
    right: 18%;
}
/* text color */ 
.text-nero-grey {
    color: #202020;
}
.text-charcoal {
    color: #0066A6;
}
.text-yellow,
.text-golden-yellow,
.text-tussock-yellow,
.text-warning {
    color: #55C0F0 !important;
}
/* bg color */ 
.bg-nero-grey {
    background-color: #202020;
}
.bg-dark-gray-transparent {
    background-color:rgba(32, 32, 32,.78);
}
.bg-charcoal-grey {
    background-color: #0066A6;
}
.bg-yellow,
.bg-golden-yellow,
.bg-tussock-yellow,
.bg-warning {
    background-color: #70B040 !important;
}
.bg-base-color-transparent {
    background-color: rgba(0, 102, 166,.18);
}
.bg-gradient-dark-transparent {
    background: -webkit-gradient(linear, left bottom, left top, color-stop(-4%, #101010), to(transparent));
    background: linear-gradient(to top, #101010 -4%, transparent 100%);
}
.bg-gradient-dark-gray-transparent {
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(32, 32, 32, 1)), to(transparent));
    background-image: linear-gradient(to top, rgba(32, 32, 32, .92) 20%, transparent 90%);
}
/* border color */
.border-color-charcoal-grey {
    border-color: #009080 !important;
}
.border-color-yellow,
.border-color-golden-yellow,
.border-color-tussock-yellow,
.border-warning {
    border-color: #009080 !important;
}
/* slider navigation*/
.slider-navigation-style-07 {
    left: 58.4%;
}
/* btn */ 
.btn.btn-base-color, .btn.btn-box-shadow.btn-base-color:hover {
    color: var(--dark-gray);  
}
.btn.btn-link {
    padding: 0 0 2px;
    font-weight: 600;
}
.btn { 
    font-family: var(--primary-font);
}
/* page title */
.page-title-extra-small h1 {
    font-size: 5.375rem;
    line-height: 5.5rem;
}

/* Escala tipografica comun para todos los heroes interiores. */
.project-detail-hero h1 {
    font-size: 5.375rem;
    line-height: 5.5rem;
}
.page-title-extra-small h2 {
    font-size: 13px;
    line-height: 26px;
}
/* footer */
footer .footer-logo img {
    max-height: 70px;
}
footer .elements-social li {
    margin: 0 15px 0 0;
}
.video-icon-extra-large .video-icon {
    width: 170px;
    height: 170px;
    font-size: 16px;
}
/* magic cursor */
.magic-drag-cursor #ball-cursor:before {
  content: "< ARRASTRÁ >" !important;
  font-size: 15px;
}
/* media query responsive */
@media (max-width: 1430px) {
    .architecture-number {
        display: none !important;
    }
}
@media (orientation: landscape) and (max-width: 1080px) {
    .architecture-slider-text-row {
        margin-top: 200px !important;
    }
}
@media (orientation: landscape) and (max-width: 850px) {
    .architecture-slider-text-row { 
        margin-bottom: 200px !important;
    }
}
@media (orientation: landscape) and (max-width: 768px) {
    .architecture-slider-text-row {
        margin-top: 200px !important;
        margin-bottom: 200px !important; 
    }
}
@media (max-width: 991px) {
    .interactive-banner-style-06 .interactive-banners-content {
        transform: translateY(calc(100% - 100px));
    }
    .md-right-0 {
        right: 0;
    }
    header .navbar-brand {
        padding: 20px 0;
    }
}
@media (max-width: 767px) {
    .home-header-contrast .navbar-brand img {
        max-height: 54px;
    }
    .video-icon-extra-large .video-icon {
        width: 120px;
        height: 120px;
    }
    .slider-three-slide .interactive-banner-style-06 {
        height: 440px;
    }
    .slider-navigation-style-07 {
        left: 0;
    }
    .interactive-banner-style-06 .interactive-banners-content {
        transform: translateY(calc(100% - 110px));
    }
    .hamburger-menu-simple .menu-item-list .nav-link {
        font-size: 38px;
        line-height: 34px;
    }
}

@media (max-width: 991px) {
    .page-title-extra-small h1,
    .project-detail-hero h1 {
        font-size: 4rem;
        line-height: 4.2rem;
        letter-spacing: -3px;
    }
}

@media (max-width: 767px) {
    .home-header-contrast {
        min-height: 100px;
        background: transparent !important;
        box-shadow: none !important;
    }

    .home-header-contrast .navbar-brand img {
        filter: none;
    }

    .btn.btn-link,
    footer .footer-navbar .nav-link {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    .page-title-extra-small h1,
    .project-detail-hero h1 {
        font-size: 3rem;
        line-height: 3.2rem;
        letter-spacing: -2px;
    }
}

@media (max-width: 575px) {
    .page-title-extra-small h1,
    .project-detail-hero h1 {
        font-size: 2.55rem;
        line-height: 2.8rem;
        letter-spacing: -1.5px;
    }
}
/* Accesibilidad de navegación por teclado */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid #35b7e6;
    outline-offset: 4px;
}

@media (max-width: 767px) {
    .push-button,
    .close-menu {
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

@media (max-width: 575px) {
    footer a[href^="mailto:"] {
        max-width: 100%;
        font-size: clamp(14px, 4.2vw, 18px) !important;
        line-height: 1.4;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 767px) {
    .scroll-progress.d-none {
        display: block !important;
        top: auto;
        right: 18px;
        bottom: 18px;
        width: 48px;
        height: 48px;
        transform: none;
        mix-blend-mode: normal;
    }

    .scroll-progress .scroll-top {
        width: 48px;
        height: 48px;
        border-radius: 50%;
        background: #35b7e6;
        box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
    }

    .scroll-progress .scroll-text,
    .scroll-progress .scroll-line {
        display: none;
    }

    .scroll-progress .scroll-top::before {
        content: "";
        width: 11px;
        height: 11px;
        margin-top: 5px;
        border-top: 2px solid #fff;
        border-left: 2px solid #fff;
        transform: rotate(45deg);
    }
}
