@font-face {
    font-family: "Gibson";
    src: url("/dist/fonts/Gibson-Bold.woff2") format("woff2"), url("/dist/fonts/Gibson-Bold.woff") format("woff");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Gibson";
    src: url("/dist/fonts/Gibson-SemiBold.woff2") format("woff2"), url("/dist/fonts/Gibson-SemiBold.woff") format("woff");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

:root {
    --bs-font-general: "Lato", sans-serif;
    --bs-font-secondary: "Gibson", sans-serif;
    --bs-font-terc: "Inter", sans-serif;
    --color-white: #ffffff;
    --color-black: #000000;
    --color-primary: #433e3f;
    --color-secondary: #000EB5;
    --color-back: #FAFAFA;
    --color-blue-01: #000753;
    --color-blue-02: #0011de;
    --color-blue-03: #000B8C;
    --color-blue-04: #002E7A;
    --color-blue-05: #b4d0ff;
    --color-blue-06: #1b52fc;
    --color-blue-07: #0056E3;
    --color-blue-08: #938FA3;
    --color-blue-08-t20: #938FA333;
    --color-blue-09: #0047BA;
    --color-blue-10: #1ecad3;
    --color-blue-11: #00096f;
    --color-blue-12: #150E34;
    --color-blue-13: #AECDFF;
    --color-blue-14: #3071fd;
    --color-blue-15: #003B9A;
    --color-blue-16: #4567ba;
    --color-blue-17: #01A7D7;
    --color-blue-18: #8FCFE4;
    --color-blue-19: #064C84;
    --color-red-01: #c03744;
    --color-red-02: #E1081F;
    --color-red-03: #E0375A;
    --color-red-04: #E6331F;
    --color-red-05: #931631;
    --color-red-06: #DE0A79;
    --color-yellow-01: #DBCB2C;
    --color-yellow-02: #FBB800;
    --color-orange-01: #EA6411;
    --color-orange-02: #F59C0E;
    --color-orange-03: #D28E09;
    --color-green-01: #239437;
    --color-green-02: #497635;
    --color-green-03: #3EA635;
    --color-light-blue-01: #D7E6FF;
    --color-title-01: #000753;
    --color-title-02: #2B2829;
    --color-grey-01: #00043299;
    --color-grey-02: #9F9C9C;
    --color-grey-03: #dddddd;
    --color-grey-04: #5A5555;
    --color-grey-05: #E3E3E3;
    --color-grey-06: #cccccc;
    --color-grey-07: #eaeaea;
    --color-grey-08: #eeeeee;
    --color-grey-09: #cfd0d1;
    --color-grey-10-t80: #000432CC;
    --color-grey-11: #898384;
    --color-grey-12: #f7f7fb;
    --color-white-t24: #ffffff3D;
    --color-white-t40: #ffffff66;
    --color-black-t05: #0000000D;
    --color-black-t10: #0000001A;
    --color-black-t29: #0000004a;
    --color-black-t25: #00000040;
    --color-black-t42: #0000006B;
    --color-black-t44: #00000070;
    --color-black-t07: #00000010;
    --bs-border-radius: 15px;
}

html {
    font-size: 1rem;
    line-height: 1.5
}

body {
    margin: 0;
    font-size: 1rem;
    font-family: var(--bs-font-general);
    line-height: 1.5;
    background-color: var(--color-back);
    color: var(--color-primary);
    font-weight: 400
}

a {
    text-decoration: none
}

    a:hover {
        text-decoration: underline;
        color: inherit
    }

    a, a:hover, a:visited, a:link {
        color: var(--color-blue-02);
    }

ul {
    list-style: none;
    margin: 0;
    padding: 0
}

select, input, button, option {
    font-family: var(--bs-font-general);
}

*[class*="col-"] {
    padding-left: 15px;
    padding-right: 15px
}

* {
    transition: all 0.3s ease
}

h1 {
    font-family: var(--bs-font-secondary);
    font-size: 30px;
    color: var(--color-blue-01);
    margin-bottom: 15px;
    font-weight: 600;
}

h2 {
    font-size: 26px;
    font-weight: 600;
}

h3 {
    font-size: 25px;
    font-weight: 600;
}

h1.h3 {
    font-size: 31px;
    line-height: 130%;
    font-family: var(--bs-font-general);
    font-weight: 600;
    color: var(--color-primary);

    @media (max-width:768px) {
        font-size: 24px;
    }
}

    h1.h3 small {
        font-size: 16px;
        color: var(--color-grey-02);
        font-weight: 400;

        @media (max-width:768px) {
            font-size: 14px;
        }
    }

.text-s-20 {
    font-size: 20px;
}

.text-s-18 {
    font-size: 18px;
}
/*main*/
main {
    margin-top: -50px;
    padding-top: 5px;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
    position: relative;
    z-index: 2;
    background-color: var(--color-white);
}
/*colores*/
.color-blue-01 {
    color: var(--color-blue-01);
}

.color-blue-02 {
    color: var(--color-blue-02);
}

.color-blue-03 {
    color: var(--color-blue-03);
}

.color-blue-04 {
    color: var(--color-blue-04);
}

.color-light-blue-01 {
    color: var(--color-light-blue-01);
}

.color-title-01 {
    color: var(--color-blue-01);
}

.color-title-02 {
    color: var(--color-title-01);
}

.color-grey-01 {
    color: var(--color-grey-01);
}

/*botones*/
.btn-primary {
    background-color: var(--color-secondary);
    color: var(--color-white);
    font-weight: 700;
    font-size: 20px;
    line-height: 140%;
    padding: 10px 20px;
    text-decoration: none;
}

a.btn-primary {
    color: var(--color-white);
}

.btn-primary:hover {
    background-color: var(--color-blue-01);
    color: var(--color-white);
    text-decoration: none;
}

.btn-secondary {
    background-color: transparent;
    color: var(--color-secondary);
    font-weight: 400;
    font-size: 20px;
    line-height: 140%;
    padding: 10px 20px;
    border: 0;
}

a.btn-secondary {
    color: var(--color-secondary);
}

.btn-secondary:hover {
    background-color: var(--color-blue-06);
    color: var(--color-white);
    text-decoration: none;
}

    .btn-secondary:hover img {
        filter: brightness(0) saturate(100%) invert(98%) brightness(102%) contrast(102%);
    }

.btn-terciary {
    background-color: var(--color-blue-05);
    color: var(--color-secondary);
    font-weight: 400;
    font-size: 20px;
    line-height: 140%;
    padding: 10px 20px;
    border: 0;
}

a.btn-terciary {
    color: var(--color-secondary);
}

.btn-terciary:hover {
    background-color: var(--color-blue-06);
    color: var(--color-white);
    text-decoration: none;
}

    .btn-terciary:hover img {
        filter: brightness(0) saturate(100%) invert(98%) brightness(102%) contrast(102%);
    }

.btn-opc {
    border: 1px solid var(--color-blue-03);
    background-color: transparent;
    color: var(--color-blue-03);
    font-weight: 400;
    font-size: 20px;
    line-height: 140%;
    padding: 10px 20px;
    border-radius: 50px;
}

    .btn-opc:hover, .btn-opc.active {
        background-color: var(--color-blue-07);
        color: var(--color-white);
        border: 1px solid var(--color-blue-07);
        text-decoration: none;
    }


/*varios*/
img {
    max-width: 100%;
}

.my-120 {
    margin-top: 120px;
    margin-bottom: 120px;

    @media (max-width:768px) {
        margin-top:40px;
        margin-bottom:40px;
    }
}

.mt-120 {
    margin-top: 120px;

    @media (max-width:768px) {
        margin-top:40px;
    }
}

.mb-120 {
    margin-bottom: 120px;

    @media (max-width:768px) {
        margin-bottom:40px;
    }
}

.py-120 {
    padding-top: 120px;
    padding-bottom: 120px;

    @media (max-width:768px) {
        padding-top:40px;
        padding-bottom:40px;
    }
}

.pt-120 {
    padding-top: 120px;

    @media (max-width:768px) {
        padding-top:40px;
    }
}

.pb-120 {
    padding-bottom: 120px;

    @media (max-width:768px) {
        padding-bottom:40px;
    }
}

.pt-70 {
    padding-top: 70px;

    @media (max-width:768px) {
        padding-top:30px;
    }
}

.mt-80 {
    margin-top: 80px;

    @media (max-width:768px) {
        margin-top:40px;
    }
}

.antetitle {
    font-weight: 700;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: 1px;
    margin-bottom: 5px;
    color: var(--color-blue-02);
    text-transform: uppercase;
}

.postitle {
    font-weight: 700;
    font-size: 18px;
    line-height: 140%;
    letter-spacing: 1px;
    text-transform: uppercase;
}

h1 {
    font-family: var(--bs-font-secondary);
    font-weight: 700;
    font-size: 52px;
    line-height: 110%;
}

@media (max-width:768px) {
    h1 {
        font-size: 28px;
    }

    h2 {
        font-size: 18px;
    }

    h2 {
        font-size: 18px;
    }
}

.contenedor {
    padding-left: 9vw;
    padding-right: 9vw;
}

.contsliders {
    padding-left: 9vw;
}

ul.list-default {
    list-style: disc;
    padding-left: 20px;
    margin-bottom: 1rem;
}

ul.list-line li:before {
    content: "-";
    display: inline-block;
    margin-right: 10px;
}

/*HEADER*/

/*FIN HEADER*/

.intro {
    font-size: 25px;
    line-height: 130%;

    @media (max-width:768px) {
        font-size:18px;
    }
}
/*breadcrumb*/
.breadcrumb .breadcrumb-item {
    font-size: 16px;
    color: var(--color-grey-02);
    text-transform: uppercase;
}

    .breadcrumb .breadcrumb-item a {
        color: var(--color-grey-02);
    }

    .breadcrumb .breadcrumb-item.active {
        color: var(--color-grey-04);
    }
/*fin breadcrumb*/
/*accordion */
.accordion-b {
    max-width: 75%;
    margin: auto;

    @media (max-width:768px) {
        max-width:100%;
    }
}

    .accordion-b .accordion-item {
        border: 0;
        background-color: transparent;
        margin-bottom: 20px;
    }

    .accordion-b .accordion-body {
        background-color: var(--color-white);
        border-left: 1px solid var(--color-grey-03);
        border-right: 1px solid var(--color-grey-03);
        border-bottom: 1px solid var(--color-grey-03);
        border-bottom-right-radius: 8px;
        border-bottom-left-radius: 8px;
    }

    .accordion-b .accordion-header {
        background-color: transparent;
    }

    .accordion-b .accordion-button-b {
        font-size: 20px;
        font-weight: 700;
        color: var(--color-blue-12);
        background-color: transparent;

        @media (max-width:768px) {
            font-size:17px;
        }
    }

        .accordion-b .accordion-button-b:focus {
            box-shadow: none;
        }

        .accordion-b .accordion-button-b:not(.collapsed) {
            color: var(--color-blue-03);
            background-color: var(--color-blue-13);
        }

            .accordion-b .accordion-button-b:not(.collapsed)::before {
                background-image: var(--bs-accordion-btn-icon);
                transform: var(--bs-accordion-btn-icon-transform);
                transform: rotate(360deg);
            }

            .accordion-b .accordion-button-b:not(.collapsed)::after {
                background-image: none;
            }

        .accordion-b .accordion-button-b::before {
            transform: rotate(270deg);
            flex-shrink: 0;
            width: var(--bs-accordion-btn-icon-width);
            height: var(--bs-accordion-btn-icon-width);
            margin-right: 20px;
            content: "";
            background-image: var(--bs-accordion-btn-icon);
            background-repeat: no-repeat;
            background-size: var(--bs-accordion-btn-icon-width);
            transition: var(--bs-accordion-btn-icon-transition);
        }

        .accordion-b .accordion-button-b::after {
            background-image: none;
        }
/*HOME*/
/*accordion*/
.accord-primary {
    border: 0;
    border-radius: 20px;
}

    .accord-primary .accordion-item {
        background-color: var(--color-light-blue-01);
        border: 0;
        border-radius: 20px;
        margin-bottom: 20px;
    }

        .accord-primary .accordion-item .accordion-header button {
            background-color: var(--color-light-blue-01);
            border-radius: 20px;
            font-size: 25px;
            font-weight: 700;
            line-height: 130%;
            padding: 30px;
        }

            .accord-primary .accordion-item .accordion-header button.collapsed {
                background-color: var(--color-white);
            }

            .accord-primary .accordion-item .accordion-header button:focus {
                box-shadow: none;
            }

            .accord-primary .accordion-item .accordion-header button.collapsed:focus {
                -webkit-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.2);
                -moz-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.2);
                box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.2);
            }

            .accord-primary .accordion-item .accordion-header button.collapsed {
                -webkit-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.2);
                -moz-box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.2);
                box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.2);
                border-radius: 20px;
            }

        .accord-primary .accordion-item .accordion-body {
            padding: 30px;
            padding-top: 0;
        }

            .accord-primary .accordion-item .accordion-body .texttop {
                border-top: 1px solid var(--color-blue-13);
                font-size: 20px;
            }

/*planifica*/
#planifica .planificaimg {
    display: grid;
    justify-items: stretch;
    align-items: stretch;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;

    @media (max-width:768px) {
        min-height:300px;
    }
}

    #planifica .planificaimg figure {
        display: block;
        position: relative;
        overflow: hidden;
        border-radius: 0.5rem;
    }

        #planifica .planificaimg figure img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        #planifica .planificaimg figure:nth-child(1) {
            grid-area: 1 / 1 / 3 / 2;
        }

        #planifica .planificaimg figure:nth-child(2) {
            grid-area: 1 / 2 / 2 / 3;
        }

        #planifica .planificaimg figure:nth-child(3) {
            grid-area: 2 / 2 / 3 / 3;
        }

/* Slider perder */
/*#perder .sliderh .slideh .itemsh {
    padding-left: 8.5vw;
    @media (max-width:768px) {
        padding-left: 15px;
    }
}*/

#perder .sliderh .slideh .itemsh .itemh.highlight {
    width: 40vw;

    @media (max-width:768px) {
        width:90%;
    }
}

#perder .sliderh .slideh .itemsh .itemh {
    width: 26vw;
    transition: width 1s;

    @media (max-width:768px) {
        width:90%;
    }
}

    #perder .sliderh .slideh .itemsh .itemh a {
        display: block;
        width: 100%;
        height: 100%;
        text-decoration: none;
        color: var(--color-primary);
    }

    #perder .sliderh .slideh .itemsh .itemh span.carditem {
        display: grid;
        grid-template-columns: 100%;
        grid-template-rows: repeat(2, auto);
        grid-column-gap: 0px;
        grid-row-gap: 0.8rem;
    }

        #perder .sliderh .slideh .itemsh .itemh span.carditem h2 {
            grid-area: 2 / 1 / 3 / 2;
            display: block;
            font-size: 1.4rem;
            font-weight: bold;
            padding-bottom: 1rem;
            overflow-x: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }

        #perder .sliderh .slideh .itemsh .itemh span.carditem figure {
            grid-area: 1 / 1 / 2 / 2;
            display: block;
            width: 100%;
            height: 26vw;
            position: relative;
            overflow: hidden;
            border-radius: 0.5rem;

            @media (max-width:768px) {
                height: 300px;
            }
        }

            #perder .sliderh .slideh .itemsh .itemh span.carditem figure img {
                display: block;
                position: absolute;
                width: 100%;
                height: 100%;
                object-fit: cover;
                transition: transform 1s;
            }

    #perder .sliderh .slideh .itemsh .itemh a:hover span.carditem figure img {
        transform: scale(1.2);
    }

#perder .sliderh .controls {
    margin: 1rem auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}

    #perder .sliderh .controls div.scrollb button {
        margin: 0 0.5rem;
    }
/*ideal*/
#ideal-3 ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    @media (max-width:768px) {
        grid-template-columns: repeat(2, 1fr);
    }

    grid-column-row: 35%;
    grid-template-rows: auto;
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    list-style: none;
}
















#ideal ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    @media (max-width:768px) {
        grid-template-columns: repeat(2, 1fr);
    }

    grid-column-row: 35%;
    grid-template-rows: auto;
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    list-style: none;
}

    #ideal ul li {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 5;
    }

#ideal a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

#ideal figure {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    border-radius: 0.5rem;
}

    #ideal figure img {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 1s;
    }

        #ideal figure img:hover {
            transform: scale(1.15);
        }

    #ideal figure figcaption {
        display: block;
        width: 100%;
        height: auto;
        position: absolute;
        bottom: 0;
        left: 0;
        color: var(--color-back);
        font-weight: bold;
        text-align: center;
        padding: 1rem;
        margin: 0 0 1rem;
        font-size: 24px;
        font-weight: 800;
        list-height: 140%;

        @media (max-width:768px) {
            font-size:16px;
        }
    }

/* Carrusel horizontal de imágenes */
button.scroll {
    display: inline-block;
    width: 3.5rem;
    height: 3.5rem;
    background-color: var(--color-light-blue-01);
    border: 0;
    border-radius: 50%;
    position: relative;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
}

    button.scroll span {
        display: none;
    }

    button.scroll::before {
        display: block;
        content: "";
        width: 1.2rem;
        height: 1.2rem;
        position: absolute;
        top: 50%;
        left: 50%;
        background-color: transparent;
        background-image: url("/dist/images/arrow_1_b.svg");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
    }

    button.scroll.prev::before {
        transform: translate(-55%, -50%) rotate(90deg);
    }

    button.scroll.next::before {
        transform: translate(-45%, -50%) rotate(-90deg);
    }

    button.scroll:hover {
        background-color: var(--color-blue-09);
    }

        button.scroll:hover::before {
            background-image: url("/dist/images/arrow_1_b.svg");
            filter: brightness(0) saturate(100%) invert(98%) brightness(102%) contrast(102%);
        }

    button.scroll:disabled {
        cursor: not-allowed;
        opacity: 0.5;
        background-color: var(--color-light-blue-01);
    }

        button.scroll:disabled::before {
            background-image: url("/dist/images/arrow_1_b.svg");
        }

/*Slider Big*/
.sliderh {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
}

    .sliderh .slideh {
        display: block;
        width: 100%;
        height: auto;
        position: relative;
        overflow-x: scroll;
        overflow-y: visible;
        -ms-overflow-style: none;
        scrollbar-width: none;
        scroll-behavior: smooth;
    }

    .sliderh .slide::-webkit-scrollbar {
        display: none;
    }

    .sliderh .slideh .itemsh {
        display: flex;
        flex-flow: row nowrap;
        justify-slide: flex-start;
        align-items: stretch;
        position: relative;
    }

        .sliderh .slideh .itemsh .itemh {
            display: block;
            width: 30vw;
            padding-right: 1rem;
            flex: 0 0 auto;
            position: relative;
        }

    .sliderh .slide.active .itemsh {
        cursor: -webkit-grabbing !important;
        cursor: grabbing !important;
        transform: scale(1);
    }

    .sliderh .controls {
        display: block;
    }

        .sliderh .controls .paginate ol {
            display: block;
            list-style: none;
            padding-left: 0;
        }

            .sliderh .controls .paginate ol li span {
                display: none;
            }

            .sliderh .controls .paginate ol li {
                display: inline-block;
                width: 8px;
                height: 8px;
                background-color: var(--color-blue-09);
                margin: 4px 1px;
                border-radius: 4px;
            }

                .sliderh .controls .paginate ol li.highlight {
                    width: 32px;
                    background-color: var(--color-light-blue-01);
                }

    /*slider options*/
    .sliderh .slideh .itemsh .itemh.highlight {
        width: 40vw;

        @media (max-width:768px) {
            width:90%;
        }
    }

    .sliderh .slideh .itemsh .itemh {
        width: 26vw;
        transition: width 1s;

        @media (max-width:768px) {
            width:90%;
        }
    }

        .sliderh .slideh .itemsh .itemh a {
            display: block;
            width: 100%;
            height: 100%;
            text-decoration: none;
            color: var(--color-primary);
        }

        .sliderh .slideh .itemsh .itemh span.carditem {
            display: grid;
            grid-template-columns: 100%;
            grid-template-rows: repeat(2, auto);
            grid-column-gap: 0px;
            grid-row-gap: 0.8rem;
        }

        .sliderh .slideh .itemsh .itemh span.hdr {
            grid-area: 2 / 1 / 3 / 2;
            display: block;
        }

            .sliderh .slideh .itemsh .itemh span.hdr h2 {
                display: block;
                font-size: 25px;
                font-weight: bold;
                padding-bottom: 0.5rem;
            }

            .sliderh .slideh .itemsh .itemh span.hdr dl {
                display: block;
                list-style: none;
            }

                .sliderh .slideh .itemsh .itemh span.hdr dl > span {
                    display: block;
                    padding: 0.1rem 0 0.1rem 1.3rem;
                    position: relative;
                }

.imp-extra-title {
    margin-bottom: 1rem;
}

.sliderh .slideh .itemsh .itemh span.hdr dl > span::before {
    display: block;
    content: "";
    width: 0.9rem;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

.sliderh .slideh .itemsh .itemh span.hdr dl > span.loc, .sliderh .slideh .itemsh .itemh span.hdr dl > span.plus {
    margin-top: 20px;
}

    .sliderh .slideh .itemsh .itemh span.hdr dl > span.loc::before {
        background-image: url("/dist/images/pin_b.svg");
    }

    .sliderh .slideh .itemsh .itemh span.hdr dl > span.plus::before {
        background-image: url("/dist/images/ico-plus.svg");
    }

.sliderh .slideh .itemsh .itemh span.hdr dl > span.date::before {
    background-image: url("/dist/images/calendar_b.svg");
}

.sliderh .slideh .itemsh .itemh span.carditem span.hdr dl dt {
    display: none;
}

.sliderh .slideh .itemsh .itemh span.carditem span.hdr dl dd {
    color: var(--color-blue-04);
    font-size: 18px;
    margin-bottom: 0;
}

.sliderh .slideh .itemsh .itemh span.carditem h2 {
    grid-area: 2 / 1 / 3 / 2;
    display: block;
    font-size: 1.4rem;
    font-weight: bold;
    padding-bottom: 1rem;
    overflow-x: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.sliderh .slideh .itemsh .itemh span.carditem span.img {
    grid-area: 1 / 1 / 2 / 2;
    display: block;
    position: relative;
}

    .sliderh .slideh .itemsh .itemh span.carditem span.img figure {
        display: block;
        width: 100%;
        height: 20vw;
        position: relative;
        overflow: hidden;
        border-radius: .9rem;
        margin-bottom: 0;

        @media (max-width:768px) {
            height: 300px;
        }
    }

.sliderh .slideh .itemsh .itemh span.carditem figure {
    margin-bottom: 0;
    grid-area: 1 / 1 / 2 / 2;
    display: block;
    width: 100%;
    height: 26vw;
    position: relative;
    overflow: hidden;
    border-radius: 0.5rem;

    @media (max-width:768px) {
        height: 300px;
    }
}

    .sliderh .slideh .itemsh .itemh span.carditem figure img {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 1s;
    }

.sliderh .slideh .itemsh .itemh a:hover span.carditem figure img {
    transform: scale(1.2);
}

span.carditem {
    position: relative;
}

span.opt {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

span.comp {
    display: block;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

span.opt span.tag {
    display: inline-block;
    padding: 0.4rem 0.6rem;
    background-color: rgba(0, 4, 50, 0.8);
    color: var(--color-back);
    font-size: 0.7rem;
    border-radius: 1rem;
    text-transform: uppercase;
    width: auto;
    height: auto;
    position: absolute;
    top: 0.8rem;
    left: 0.8rem;
}

    span.opt span.tag.bot {
        top: 85%;
    }

span.opt span.actions, span.comp span.actions {
    display: inline-block;
    width: auto;
    height: auto;
    position: absolute;
    top: 0.8rem;
    right: 1.5rem;
}

    span.opt span.actions ul, span.comp span.actions ul {
        display: block;
        list-style: none;
        text-align: left;
    }

        span.opt span.actions ul li, span.comp span.actions ul li {
            display: inline-block;
            width: 1.6rem;
            height: 1.6rem;
            margin: 0 0.1rem 0.2rem 0;
        }

            span.opt span.actions ul li button, span.comp span.actions ul li button {
                display: block;
                width: 100%;
                height: 100%;
                border-radius: 50%;
                background-color: rgba(0, 4, 50, 0.8);
                background-repeat: no-repeat;
                background-position: center center;
                background-size: auto 0.8rem;
                border: 0;
            }

span.img {
    position: relative; /* referencia para el play */
    display: block;
}

    span.img .play-icon {
        position: absolute;
        bottom: 1rem;
        right: 1.5rem;
        cursor: pointer;
    }

        span.img .play-icon img {
            height: 2.8rem;
        }

/* span.opt span.play-icon img{
    position: absolute;
    height: 2.8rem;
    bottom: 1rem;
    right: 1.5rem;
}
					   
span.comp span.play-icon {
    position: absolute;
    top: 250px;
    right: 1.5rem;
    cursor: pointer;
}
											 
span.comp span.play-icon img {
    height: 2.8rem;
} */

span.comp span.likes {
    display: inline-block;
    position: absolute;
    top: 0.8rem;
    left: 0.8rem;
}

    span.comp span.likes button {
        display: inline-block;
        padding: 0.3rem 0.6rem 0.3rem 1.8rem;
        background-color: rgba(250, 250, 250, 0.8);
        color: var(--color-blue-04);
        font-size: 16px;
        border-radius: 1rem;
        width: auto;
        height: auto;
        border: 0;
    }

        span.comp span.likes button span {
            display: none;
        }

        span.comp span.likes button strong {
            font-weight: normal;
        }

        span.comp span.likes button:hover {
            background-color: rgba(0, 4, 50, 0.8);
            color: var(--color-back);
        }

        span.comp span.likes button::before {
            display: block;
            content: "";
            width: 0.8rem;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0.6rem;
            background-image: url(/dist/images/like_b.svg);
            background-color: transparent;
            background-repeat: no-repeat;
            background-position: center center;
            background-size: contain;
        }

        span.comp span.likes button:hover::before {
            background-image: url(/dist/images/like_w.svg);
        }


span.hdr .card-extra {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: .5rem;
    margin-left: -1.3rem;
    margin-top: .5rem;
}

span.hdr .card-info {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .4rem;
    background-color: var(--color-light-blue-01);
    width: fit-content;
    height: fit-content;
    padding: .3rem 1rem !important;
    border-radius: 2vw;
}

    span.hdr .card-info img {
        height: .85rem !important;
    }

    span.hdr .card-info .stats {
        height: .75rem !important;
    }

span.opt span.actions ul li button span, span.comp span.actions ul li button span {
    display: none;
}

span.opt span.actions ul li.share button, span.comp span.actions ul li.share button {
    background-image: url(/dist/images/share_w.svg);
}

span.opt span.actions ul li.fav button, span.comp span.actions ul li.fav button {
    background-image: url(/dist/images/fav_w.svg);
}

span.opt span.actions ul li.plan button, span.comp span.actions ul li.plan button {
    background-image: url(/dist/images/plan_w.svg);
}

span.opt span.actions ul li button:hover, span.comp span.actions ul li button:hover {
    background-color: var(--color-blue-06);
}

span.opt span.date {
    display: inline-block;
    padding: 0.4rem .7rem;
    background-color: rgba(28, 30, 52, 0.8);
    color: var(--color-back);
    text-align: left;
    border-radius: .5rem;
    font-size: .8rem;
    width: auto;
    height: auto;
    position: absolute;
    bottom: 0.8rem;
    left: 0.8rem;
}

    span.opt span.date strong {
        display: block;
        font-weight: bold;
        font-size: 1.8rem;
        line-height: 1.8rem;
    }

    span.opt span.date span {
        display: block;
        font-weight: bold;
        font-size: 0.8rem;
        text-transform: uppercase;
    }

.sliderh .slideh.heightmin .itemsh .itemh span.carditem figure {
    height: 16vw;

    @media (max-width: 768px) {
        height: 300px;
    }
}

.sliderh .slideh.heightmin .itemsh .itemh span.img figure {
    height: 16vw;

    @media (max-width: 768px) {
        height: 300px;
    }
}

.sliderh .slideh .itemsh .itemh span.carditem p {
    font-size: 20px;

    @media (max-width:768px) {
        font-size:16px;
    }
}

.sliderh .slideh .itemsh .itemh span.carditem h2 {
    margin-bottom: 0;
    padding-bottom: 0;
    margin-top: 0.5rem;
}

.sliderh .controls {
    margin: 1rem auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}

/*slider little*/
.sliderh.sliderlittle .slideh .itemsh .itemh {
    width: 15vw;

    @media (max-width: 768px) {
        width: 90%;
    }
}

    .sliderh.sliderlittle .slideh .itemsh .itemh.highlight {
        width: 22vw;

        @media (max-width: 768px) {
            width: 90%;
        }
    }

    .sliderh.sliderlittle .slideh .itemsh .itemh span.carditem figure {
        height: 15vw;

        @media (max-width: 768px) {
            height: 250px;
        }
    }

.sliderh.sliderlittle .slideh.contsliders {
    padding-left: 0;
}

.sliderh.sliderlittle .controls {
    margin: 1rem 0;
}

    .sliderh.sliderlittle .controls button.scroll {
        width: 1.6rem;
        height: 1.6rem;
        background-color: transparent;
    }

        .sliderh.sliderlittle .controls button.scroll:hover {
            background-color: var(--color-blue-09);
        }

        .sliderh.sliderlittle .controls button.scroll:disabled {
            cursor: not-allowed;
            opacity: 0.5;
            background-color: transparent;
        }

        .sliderh.sliderlittle .controls button .scroll::before {
            width: 0.8rem;
            height: 0.8rem;
        }

    .sliderh.sliderlittle .controls .paginate ol {
        margin-bottom: 0;
    }

.sliderh.sliderlittle .guias h4 {
    font-size: 22px;
    font-weight: 600;
    max-width: 70%;

    @media (max-width:768px) {
        font-size: 17px;
        max-width: 100%;
    }
}

.sliderh.sliderlittle .guias {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}

.sliderh.sliderlittle figure figcaption {
    display: block;
    width: 100%;
    height: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    color: var(--color-back);
    text-align: center;
    padding: 1rem;
    font-size: 18px;
    background-color: var(--color-black-t25);
}
/*vídeo header*/
#headerTexto {
    display: block;
}

#headerVideo {
    display: none;
}
/*modal*/
.modal {
    z-index: 1060 !important;
    /*height: auto;
    width:auto!important;
    */
    width: 100%;
    height: 100%;
    min-width: 40%;
    padding: 0px !important;

    @media (max-width:758px) {
        min-width:80%;
    }
}

    .modal .modal-body {
        min-width: 600px;

        @media (max-width:758px) {
            min-width:100%;
        }
    }

    .modal .modal-content {
        border: 0;
        box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
        width: auto;
    }

    .modal .modal-header {
        display: block;
    }

    .modal .modal-dialog {
        margin: 0;
        max-width: 100%;
    }

    .modal .modal-dialog-centered {
        justify-content: center;
    }

    .modal .modal-content span.hdr {
        grid-area: 2 / 1 / 3 / 2;
        display: block;
    }

        .modal .modal-content span.hdr h2 {
            display: block;
            font-size: 25px;
            font-weight: bold;
            padding-bottom: 0.5rem;
        }

        .modal .modal-content span.hdr dl {
            display: block;
            list-style: none;
        }

            .modal .modal-content span.hdr dl > span {
                display: block;
                padding: 0.1rem 0 0.1rem 1.3rem;
                position: relative;
            }

                .modal .modal-content span.hdr dl > span::before {
                    display: block;
                    content: "";
                    width: 0.9rem;
                    height: 100%;
                    position: absolute;
                    top: 0;
                    left: 0;
                    background-color: transparent;
                    background-repeat: no-repeat;
                    background-position: center center;
                    background-size: contain;
                }

                .modal .modal-content span.hdr dl > span.loc::before {
                    background-image: url("/dist/images/pin_b.svg");
                }

                .modal .modal-content span.hdr dl > span.date::before {
                    background-image: url("/dist/images/calendar_b.svg");
                }

            .modal .modal-content span.hdr dl dt {
                display: none;
            }

            .modal .modal-content span.hdr dl dd {
                color: var(--color-blue-04);
                font-size: 18px;
                margin-bottom: 0;
            }

.modal-backdrop {
    /*z-index:1;*/
}
/*gallery modal*/
.gallerymodal {
    top: 10px;
}

    .gallerymodal .modal-header {
        margin-bottom: 0;
    }

        .gallerymodal .modal-header h2 {
            margin: 0;
        }

        .gallerymodal .modal-header .int-data-div {
            padding-left: 0;
            margin-bottom: 0;
            ;
        }

    .gallerymodal .carousel-inner img {
        max-height: 300px;
        object-fit: cover;
        width: 100%;
        height: 100%;
        border-radius: 20px;
    }

    .gallerymodal .miniaturas {
        display: flex;
        justify-content: flex-start;
        overflow-y: hidden;
        overflow-x: auto;
        margin: 0;
        margin-top: 30px;
        position: relative;
    }

        .gallerymodal .miniaturas button {
            border: 0;
            padding: 0;
            opacity: 30%;
            box-sizing: inherit;
            width: auto;
            height: auto;
            text-indent: inherit;
        }

            .gallerymodal .miniaturas button.active {
                opacity: 100%;
            }

            .gallerymodal .miniaturas button span {
                display: block;
                width: 120px;
                height: 120px;
                overflow: hidden;
            }

            .gallerymodal .miniaturas button img {
                object-fit: cover;
                width: 100%;
                height: 100%;
                border: 0;
                padding: 0 5px;
                border-radius: 10px;
            }

.galleryImg .carousel-control-next, .galleryImg .carousel-control-prev {
    opacity: 0.8;
    height: fit-content;
    width: fit-content;
    top: 25%;
}

.galleryImg .carousel-control-prev {
    left: 20px;
    ;
}

.galleryImg .carousel-control-next {
    right: 20px;
}

    .galleryImg .carousel-control-next .carousel-control-next-icon, .galleryImg .carousel-control-prev .carousel-control-prev-icon {
        display: inline-block;
        width: 3.5rem;
        height: 3.5rem;
        background-color: var(--color-white);
        border: 0;
        border-radius: 50%;
        position: relative;
        background-image: none;
    }

        .galleryImg .carousel-control-next .carousel-control-next-icon:hover, .galleryImg .carousel-control-prev .carousel-control-prev-icon:hover {
            background-color: var(--color-blue-09);
        }

        .galleryImg .carousel-control-next .carousel-control-next-icon:before, .galleryImg .carousel-control-prev .carousel-control-prev-icon:before {
            display: block;
            content: "";
            width: 1.2rem;
            height: 1.2rem;
            position: absolute;
            top: 50%;
            left: 50%;
            background-color: transparent;
            background-image: url(/dist/images/arrow_1_b.svg);
            background-repeat: no-repeat;
            background-position: center center;
            background-size: contain;
        }

        .galleryImg .carousel-control-next .carousel-control-next-icon:before {
            transform: translate(-45%, -50%) rotate(-90deg);
        }

        .galleryImg .carousel-control-prev .carousel-control-prev-icon:before {
            transform: translate(-55%, -50%) rotate(90deg);
        }

        .galleryImg .carousel-control-next .carousel-control-next-icon:hover:before, .galleryImg .carousel-control-prev .carousel-control-prev-icon:hover:before {
            background-image: url(/dist/images/arrow_1_b.svg);
            filter: brightness(0) saturate(100%) invert(98%) brightness(102%) contrast(102%);
        }
/*gallery*/
.gallery-2 {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: .5rem;
    align-items: stretch;

    @media (max-width:768px) {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
    }
}

.gallery-row-3 {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    gap: .5rem;
    height: 100%;

    @media (max-width:768px) {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(3, 1fr);
    }
}

    .gallery-row-3 img {
        width: 100%;
        height: 100%;
        border-radius: 1vw;
        object-fit: cover;
        background-color: var(--color-grey-07);
    }

.gallery-1 {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

.gallery-2-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;

    @media (max-width:768px) {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
    }
}

    .gallery-1 img, .gallery-row-3 img, .gallery-2-2 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 25px;
        background-color: var(--color-grey-07);
    }

/* slider eventos*/
/*#eventos .sliderh .slideh .itemsh {
    padding-left: 8.5vw;
    @media (max-width:768px) {
        padding-left: 15px;
    }
}*/

#eventos .sliderh .slideh .itemsh .itemh {
    width: 26vw;
    transition: width 1s;

    @media (max-width:768px) {
        width: 90%;
    }
}

    #eventos .sliderh .slideh .itemsh .itemh.highlight {
        width: 40vw;

        @media (max-width:768px) {
            width: 90%;
        }
    }

    #eventos .sliderh .slideh .itemsh .itemh a {
        display: block;
        width: 100%;
        height: 100%;
        text-decoration: none;
        color: var(--color-primary);
    }

    #eventos .sliderh .slideh .itemsh .itemh div.carditem {
        display: grid;
        grid-template-columns: 100%;
        grid-template-rows: repeat(2, auto);
        grid-column-gap: 0px;
        grid-row-gap: 0.8rem;
    }

        #eventos .sliderh .slideh .itemsh .itemh div.carditem div.hdr {
            grid-area: 2 / 1 / 3 / 2;
            display: block;
        }

            #eventos .sliderh .slideh .itemsh .itemh div.carditem div.hdr h2 {
                display: block;
                font-size: 25px;
                font-weight: bold;
                padding-bottom: 0.5rem;
                overflow-x: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
            }

            #eventos .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl {
                display: block;
                list-style: none;
            }

                #eventos .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl > div {
                    display: block;
                    padding: 0.1rem 0 0.1rem 1.3rem;
                    position: relative;
                }

.imp-extra-title {
    margin-bottom: 1rem;
}

#eventos .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl > div::before {
    display: block;
    content: "";
    width: 0.9rem;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

#eventos .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl > div.loc::before {
    background-image: url("/dist/images/pin_b.svg");
}

#eventos .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl > div.date::before {
    background-image: url("/dist/images/calendar_b.svg");
}

#eventos .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl dt {
    display: none;
}

#eventos .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl dd {
    color: var(--color-blue-04);
    font-size: 18px;
    margin-bottom: 0;
}

#eventos .sliderh .slideh .itemsh .itemh div.carditem div.img {
    grid-area: 1 / 1 / 2 / 2;
    display: block;
    position: relative;
}

    #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img figure {
        display: block;
        width: 100%;
        height: 20vw;
        position: relative;
        overflow: hidden;
        border-radius: .9rem;
        margin-bottom: 0;

        @media (max-width:768px) {
            height: 300px;
        }
    }

        #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img figure img {
            display: block;
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 1s;
        }

#eventos .sliderh .slideh .itemsh .itemh a:hover div.carditem div.img figure img {
    transform: scale(1.2);
}

#eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

    #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.tag {
        display: inline-block;
        padding: 0.4rem 0.6rem;
        background-color: rgba(0, 4, 50, 0.8);
        color: var(--color-back);
        font-size: 0.7rem;
        border-radius: 1rem;
        text-transform: uppercase;
        width: auto;
        height: auto;
        position: absolute;
        top: 0.8rem;
        left: 0.8rem;
    }

    #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.actions {
        display: inline-block;
        width: auto;
        height: auto;
        position: absolute;
        top: 0.8rem;
        right: 0.8rem;
    }

        #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.actions ul {
            display: block;
            list-style: none;
            text-align: left;
        }

            #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.actions ul li {
                display: inline-block;
                width: 1.6rem;
                height: 1.6rem;
                margin: 0 0.1rem 0.2rem 0;
            }

                #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.actions ul li button {
                    display: block;
                    width: 100%;
                    height: 100%;
                    border-radius: 50%;
                    background-color: rgba(0, 4, 50, 0.8);
                    background-repeat: no-repeat;
                    background-position: center center;
                    background-size: auto 0.8rem;
                    border: 0;
                }

                    #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.actions ul li button span {
                        display: none;
                    }

                #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.actions ul li.share button {
                    background-image: url(/dist/images/share_w.svg);
                }

                #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.actions ul li.fav button {
                    background-image: url(/dist/images/fav_w.svg);
                }

                #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.actions ul li.plan button {
                    background-image: url(/dist/images/plan_w.svg);
                }

                #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.actions ul li button:hover {
                    background-color: var(--color-blue-06);
                }

    #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.date {
        display: inline-block;
        padding: 0.4rem .7rem;
        background-color: rgba(28, 30, 52, 0.8);
        color: var(--color-back);
        text-align: left;
        border-radius: .5rem;
        font-size: .8rem;
        width: auto;
        height: auto;
        position: absolute;
        bottom: 0.8rem;
        left: 0.8rem;
    }

        #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.date strong {
            display: block;
            font-weight: bold;
            font-size: 1.8rem;
            line-height: 1.8rem;
        }

        #eventos .sliderh .slideh .itemsh .itemh div.carditem div.img div.opt div.date span {
            display: block;
            font-weight: bold;
            font-size: 0.8rem;
            text-transform: uppercase;
        }

#eventos .sliderh .controls {
    margin: 1rem auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}

    #eventos .sliderh .controls div.scrollb button {
        margin: 0 0.5rem;
    }

/*sostenible*/
#sostenible figure {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    border-radius: 0.5rem;

    @media (max-width:768px) {
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
        min-height:300px;
        padding-bottom: 20px;
    }
}

    #sostenible figure img {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 1s;
    }

/* Slider blog */
#blog .sliderh .slideh .itemsh .itemh {
    width: 26vw;
    transition: width 1s;

    @media (max-width:768px) {
        width:90%;
    }
}

    #blog .sliderh .slideh .itemsh .itemh.highlight {
        width: 40vw;

        @media (max-width:768px) {
            width:90%;
        }
    }

    #blog .sliderh .slideh .itemsh .itemh a {
        display: block;
        width: 100%;
        height: 100%;
        text-decoration: none;
        color: var(--color-primary);
    }

    #blog .sliderh .slideh .itemsh .itemh span.carditem {
        display: grid;
        grid-template-columns: 100%;
        grid-template-rows: repeat(2, auto);
        grid-column-gap: 0px;
        grid-row-gap: 0.8rem;
    }

        #blog .sliderh .slideh .itemsh .itemh span.carditem span.hdr {
            grid-area: 2 / 1 / 3 / 2;
            display: block;
        }

            #blog .sliderh .slideh .itemsh .itemh span.carditem span.hdr h2 {
                display: block;
                font-size: 25px;
                font-weight: bold;
                margin-bottom: 15px;
                padding-top: 25px;
            }

            #blog .sliderh .slideh .itemsh .itemh span.carditem span.hdr time {
                display: block;
                color: var(--color-blue-04);
                font-size: 20px;
            }

        #blog .sliderh .slideh .itemsh .itemh span.carditem span.img {
            grid-area: 1 / 1 / 2 / 2;
            display: block;
            position: relative;
        }

            #blog .sliderh .slideh .itemsh .itemh span.carditem span.img figure {
                display: block;
                width: 100%;
                height: 20vw;
                position: relative;
                overflow: hidden;
                border-radius: 0.5rem;
                margin-bottom: 0;

                @media (max-width:768px) {
                    height: 300px;
                }
            }

                #blog .sliderh .slideh .itemsh .itemh span.carditem span.img figure img {
                    display: block;
                    position: absolute;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    transition: transform 1s;
                }

    #blog .sliderh .slideh .itemsh .itemh a:hover span.carditem span.img figure img {
        transform: scale(1.2);
    }

    #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt {
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }

        #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.tag {
            display: inline-block;
            padding: 0.4rem 0.6rem;
            background-color: rgba(0, 4, 50, 0.8);
            color: var(--color-back);
            font-size: 16px;
            border-radius: 1rem;
            text-transform: uppercase;
            width: auto;
            height: auto;
            position: absolute;
            top: 85%;
            left: 0.8rem;
        }

        #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.actions {
            display: inline-block;
            width: auto;
            height: auto;
            position: absolute;
            top: 0.8rem;
            right: 0.8rem;
        }

            #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.actions ul {
                display: block;
                list-style: none;
                text-align: left;
            }

                #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.actions ul li {
                    display: inline-block;
                    width: 1.6rem;
                    height: 1.6rem;
                    margin: 0 0.1rem 0.2rem 0;
                }

                    #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.actions ul li button {
                        display: block;
                        width: 100%;
                        height: 100%;
                        border-radius: 50%;
                        background-color: rgba(0, 4, 50, 0.8);
                        background-repeat: no-repeat;
                        background-position: center center;
                        background-size: auto 0.8rem;
                        border: 0;
                    }

                        #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.actions ul li button span {
                            display: none;
                        }

                    #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.actions ul li.share button {
                        background-image: url(/dist/images/share_w.svg);
                    }

                    #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.actions ul li.fav button {
                        background-image: url(/dist/images/fav_w.svg);
                    }

                    #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.actions ul li.plan button {
                        background-image: url(/dist/images/plan_w.svg);
                    }

                    #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.actions ul li button:hover {
                        background-color: var(--color-blue-06);
                    }

        #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.likes {
            display: inline-block;
            position: absolute;
            top: 0.8rem;
            left: 0.8rem;
        }

            #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.likes button {
                display: inline-block;
                padding: 0.3rem 0.6rem 0.3rem 1.8rem;
                background-color: rgba(250, 250, 250, 0.8);
                color: var(--color-blue-04);
                font-size: 16px;
                border-radius: 1rem;
                width: auto;
                height: auto;
                border: 0;
            }

                #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.likes button span {
                    display: none;
                }

                #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.likes button strong {
                    font-weight: normal;
                }

                #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.likes button:hover {
                    background-color: rgba(0, 4, 50, 0.8);
                    color: var(--color-back);
                }

                #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.likes button::before {
                    display: block;
                    content: "";
                    width: 0.8rem;
                    height: 100%;
                    position: absolute;
                    top: 0;
                    left: 0.6rem;
                    background-image: url(/dist/images/like_b.svg);
                    background-color: transparent;
                    background-repeat: no-repeat;
                    background-position: center center;
                    background-size: contain;
                }

                #blog .sliderh .slideh .itemsh .itemh span.carditem span.img span.opt span.likes button:hover::before {
                    background-image: url(/dist/images/like_w.svg);
                }

/*#blog .sliderh .slideh .itemsh {
    padding-left: 8.5vw;
    @media (max-width:768px) {
        padding-left: 15px;
    }
}*/
#blog .sliderh .controls {
    margin: 1rem auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}

    #blog .sliderh .controls div.scrollb button {
        margin: 0 0.5rem;
    }

/* WEBCAMS */
#webcams {
    grid-area: 1 / 2 / 2 / 3;
    display: block;
    position: relative;
    overflow-x: hidden !important;
}

    /* Slider webcams */
    #webcams .slider::after {
        display: block;
        content: "";
        width: 2.5vw;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        background: linear-gradient(90deg, rgba(248, 248, 248, 1) 10%, rgba(248, 248, 248, 0.8) 30%, rgba(248, 248, 248, 0.6) 40%, rgba(248, 248, 248, 0) 100%);
        z-index: 5;
    }

    #webcams .sliderh .slideh .itemsh {
        /*padding-left: 3vw;*/
    }

        #webcams .sliderh .slideh .itemsh .itemh {
            width: 20vw;
            transition: width 1s;

            @media (max-width:768px) {
                width:90%;
            }
        }

            #webcams .sliderh .slideh .itemsh .itemh.highlight {
                width: 25vw;

                @media (max-width:768px) {
                    width:90%;
                }
            }

            #webcams .sliderh .slideh .itemsh .itemh a {
                display: block;
                width: 100%;
                height: 100%;
                text-decoration: none;
                color: var(--color-primary);
            }

            #webcams .sliderh .slideh .itemsh .itemh div.carditem {
                display: grid;
                grid-template-columns: 100%;
                grid-template-rows: repeat(2, auto);
                grid-column-gap: 0px;
                grid-row-gap: 0.8rem;
            }

                #webcams .sliderh .slideh .itemsh .itemh div.carditem div.hdr {
                    grid-area: 2 / 1 / 3 / 2;
                    display: block;
                }

                    #webcams .sliderh .slideh .itemsh .itemh div.carditem div.hdr h2 {
                        display: block;
                        font-size: 25px;
                        font-weight: bold;
                        padding-bottom: 0.5rem;
                    }

                    #webcams .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl {
                        display: block;
                        list-style: none;
                    }

                        #webcams .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl > div {
                            display: block;
                            padding: 0.1rem 0 0.2rem 1.3rem;
                            position: relative;
                        }

                            #webcams .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl > div::before {
                                display: block;
                                content: "";
                                width: 0.9rem;
                                height: 100%;
                                position: absolute;
                                top: 0;
                                left: 0;
                                background-color: transparent;
                                background-repeat: no-repeat;
                                background-position: center center;
                                background-size: contain;
                            }

                            #webcams .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl > div.loc::before {
                                background-image: url("/dist/images/pin_b.svg");
                            }

                        #webcams .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl dt {
                            display: none;
                        }

                        #webcams .sliderh .slideh .itemsh .itemh div.carditem div.hdr dl dd {
                            color: var(--color-blue-04);
                            font-size: 20px;
                        }

                #webcams .sliderh .slideh .itemsh .itemh div.carditem div.img {
                    grid-area: 1 / 1 / 2 / 2;
                    display: block;
                    position: relative;
                }

                    #webcams .sliderh .slideh .itemsh .itemh div.carditem div.img figure {
                        display: block;
                        width: 100%;
                        height: 18vw;
                        position: relative;
                        overflow: hidden;
                        border-radius: 0.5rem;

                        @media (max-width:768px) {
                            height: 300px;
                        }
                    }

                        #webcams .sliderh .slideh .itemsh .itemh div.carditem div.img figure::after {
                            display: block;
                            content: "";
                            width: 2.8rem;
                            height: 2.8rem;
                            position: absolute;
                            top: 50%;
                            left: 50%;
                            transform: translate(-50%, -50%);
                            border-radius: 50%;
                            background-color: rgba(0, 4, 50, 0.8);
                            background-image: url("/dist/images/play_w.svg");
                            background-repeat: no-repeat;
                            background-position: center center;
                            background-size: 40% auto;
                        }

                        #webcams .sliderh .slideh .itemsh .itemh div.carditem div.img figure img {
                            display: block;
                            position: absolute;
                            width: 100%;
                            height: 100%;
                            object-fit: cover;
                            transition: transform 1s;
                        }

            #webcams .sliderh .slideh .itemsh .itemh a:hover div.carditem div.img figure img {
                transform: scale(1.2);
            }

    #webcams .sliderh .controls {
        margin: 1rem auto;
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: center;
    }

        #webcams .sliderh .controls div.scrollb button {
            margin: 0 0.5rem;
        }

/*experiencia*/
#experiencia p.tags {
    display: block;
    margin: 0 auto 2rem;
    max-width: 400px;
    text-align: center;
    font-size: 20px;
    color: var(--color-blue-04);

    @media (max-width:768px) {
        max-width: 80%;
    }
}

#experiencia div.rrss {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 1.5rem;
}

    #experiencia div.rrss h2 {
        display: none;
    }

    #experiencia div.rrss ul {
        display: block;
        list-style: none;
        text-align: center;
    }

        #experiencia div.rrss ul li {
            display: inline-block;
            width: 56px;
            height: 56px;
            margin: 0 0.5rem 0.5rem 0;

            @media (max-width:768px) {
                width: 40px;
                height: 40px;
            }
        }

            #experiencia div.rrss ul li a {
                display: block;
                width: 100%;
                height: 100%;
                border-radius: 50%;
                background-color: var(--color-light-blue-01);
                background-repeat: no-repeat;
                background-position: center center;
                background-size: auto 24px;

                @media (max-width:768px) {
                    background-size: auto 18px;
                }
            }

                #experiencia div.rrss ul li a span {
                    display: none;
                }

            #experiencia div.rrss ul li.youtube a {
                background-image: url(/dist/images/youtube_b.svg);
            }

            #experiencia div.rrss ul li.instagram a {
                background-image: url(/dist/images/instagram_b.svg);
            }

            #experiencia div.rrss ul li.facebook a {
                background-image: url(/dist/images/facebook_b.svg);
            }

            #experiencia div.rrss ul li.pinterest a {
                background-image: url(/dist/images/pinterest_b.svg);
            }

            #experiencia div.rrss ul li.x a {
                background-image: url(/dist/images/x_b.svg);
            }

            #experiencia div.rrss ul li.tiktok a {
                background-image: url(/dist/images/tiktok_b.svg);
            }

            #experiencia div.rrss ul li a:hover {
                background-color: var(--color-blue-09);
            }

            #experiencia div.rrss ul li.youtube a:hover {
                background-image: url(/dist/images/youtube_w.svg);
            }

            #experiencia div.rrss ul li.instagram a:hover {
                background-image: url(/dist/images/instagram_w.svg);
            }

            #experiencia div.rrss ul li.facebook a:hover {
                background-image: url(/dist/images/facebook_w.svg);
            }

            #experiencia div.rrss ul li.pinterest a:hover {
                background-image: url(/dist/images/pinterest_w.svg);
            }

            #experiencia div.rrss ul li.x a:hover {
                background-image: url(/dist/images/x_w.svg);
            }

            #experiencia div.rrss ul li.tiktok a:hover {
                background-image: url(/dist/images/tiktok_w.svg);
            }
/* slider experiencia*/
#experiencia .sliderh .slideh .itemsh {
    padding-left: 1rem;
}

    #experiencia .sliderh .slideh .itemsh .itemh {
        width: 26vw;
        transition: width 1s;

        @media (max-width:768px) {
            width:90%;
        }
    }

        #experiencia .sliderh .slideh .itemsh .itemh.highlight {
            width: 40vw;

            @media (max-width:768px) {
                width:90%;
            }
        }

        #experiencia .sliderh .slideh .itemsh .itemh a {
            display: block;
            width: 100%;
            height: 100%;
            text-decoration: none;
            color: var(--color-primary);
        }

        #experiencia .sliderh .slideh .itemsh .itemh div.carditem {
            display: block;
        }

            #experiencia .sliderh .slideh .itemsh .itemh div.carditem figure {
                display: block;
                width: 100%;
                height: 26vw;
                position: relative;
                overflow: hidden;
                border-radius: 0.5rem;

                @media (max-width:768px) {
                    height: 300px;
                }
            }

                #experiencia .sliderh .slideh .itemsh .itemh div.carditem figure img {
                    display: block;
                    position: absolute;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    transition: transform 1s;
                }

        #experiencia .sliderh .slideh .itemsh .itemh a:hover div.carditem figure img {
            transform: scale(1.2);
        }

#experiencia .sliderh .controls {
    margin: 1rem auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}

    #experiencia .sliderh .controls div.scrollb button {
        margin: 0 0.5rem;
    }

/*suscription*/
#suscription:before {
    display: block;
    content: "";
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    background: transparent url(/dist/images/teide_nubes.jpg) no-repeat top center;
    background-size: cover;
}

#suscription form {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

#suscription label {
    display: none;
}

#suscription input {
    display: block;
    width: 100%;
    max-width: 40vw;
    border: 2px solid var(--color-grey-08);
    border-right: 0;
    padding: 0.8rem;
    background-color: var(--color-white);
    color: var(--color-primary);
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    font-size: 20px;

    @media (max-width:768px) {
        font-size:16px;
    }
}

#suscription button {
    display: inline-block;
    padding: 0.8rem;
    background-color: var(--color-secondary);
    color: var(--color-back);
    font-size: 20px;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    position: relative;

    @media (max-width:768px) {
        font-size:16px;
    }
}

    #suscription button:hover {
        background-color: var(--color-blue-01);
    }
/*FIN HOME*/

/*deportes*/
.deportesimg {
    display: grid;
    justify-items: stretch;
    align-items: stretch;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;

    @media (max-width:768px) {
        min-height:300px;
        margin-bottom:20px;
    }
}

    .deportesimg figure {
        display: block;
        position: relative;
        overflow: hidden;
        border-radius: 0.5rem;
        margin-bottom: 0;
    }

        .deportesimg figure img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .deportesimg figure:nth-child(1) {
            grid-area: 1 / 1 / 3 / 2;
        }

        .deportesimg figure:nth-child(2) {
            grid-area: 1 / 2 / 2 / 3;
        }

        .deportesimg figure:nth-child(3) {
            grid-area: 2 / 2 / 3 / 3;
        }

.map-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: .5rem;
}

.pagination {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: .5rem;
}

.pag-buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .7rem;
    font-size: 14px;
}

    .pag-buttons button {
        padding: 7px 14px;
        border-radius: 50px;
        border: 1px solid rgba(49, 0, 227, 0);
        background-color: transparent;
    }

        .pag-buttons button:hover {
            background-color: rgba(0, 79, 227, 0.103);
            border: 1px solid rgba(49, 0, 227, 0.185);
        }

    .pag-buttons > :nth-child(2) {
        color: var(--color-blue-03);
    }

.pag-input {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .7rem;
    font-size: 16px;
}

    .pag-input input {
        width: 50px;
        background-color: var(--color-white);
        border: 1px solid var(--color-grey-09);
        padding: 6px;
        border-radius: .3rem;
        box-decoration-break: none;
    }

.map-zone {
    transition: fill 0.3s ease;
}

.map-marker {
    cursor: pointer;
}

.map-zone {
    cursor: pointer;
    transition: fill 0.3s ease;
}

    .map-zone.selected {
        fill: var(--color-blue-03);
    }

    .map-zone:hover {
        opacity: 0.7;
    }

    .map-zone.highlight {
        fill: var(--color-blue-03);
    }

.original-color {
    fill: var(--color-grey-05);
}

.blue-color {
    fill: var(--color-blue-03);
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 999;
    display: none;
}

.modal {
    /*position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--color-white);
    border-radius: 12px;
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
    width: 350px;
    z-index: 1000;*/
    padding: 1rem;
    display: none;
    animation: fadeIn 0.3s ease-out;
}

.cont-listado {
    display: grid;
    grid-template-columns: repeat(2, .6fr);
    gap: 1rem;

    @media (max-width:768px) {
        display: flex;
        flex-wrap: wrap;
    }
}

.cont-listado-3c {
    display: grid;
    grid-template-columns: repeat(3, .6fr);
    gap: 1rem;

    @media (max-width:768px) {
        display: flex;
        flex-wrap: wrap;
    }
}

    .cont-listado h4, .cont-listado-3c h4 {
        margin-top: 10px;
        font-weight: 700;
        color: var(--color-title-01);
    }

        .cont-listado h4:hover, .cont-listado-3c h4:hover {
            text-decoration: none;
        }

.map-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    background-color: rgb(255, 255, 255);
    padding: 1rem;
    border-radius: 1rem;
}

.sports-title {
    font-family: var(--bs-font-secondary);
    position: absolute;
    z-index: 10;
    top: 18rem;
    left: 7rem;
    font-weight: 700;
    font-kerning: 1rem;
    font-size: 2.3rem;
    color: var(--color-white);
}

.sports {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.sports-col {
    display: flex;
    flex-direction: column;
}

.sports-img-container {
    width: 100%;
}

    .sports-img-container a img {
        height: 15rem;
        width: 100%;
        object-fit: cover;
        border-radius: 1rem;
        box-shadow: 0px 4px 12px rgba(44, 44, 44, 0.158);
        cursor: pointer;
        transition: 1s ease;
    }

        .sports-img-container a img:hover {
            transform: scale(1.2);
            transition: 1s ease;
        }

    .sports-img-container:hover {
        text-decoration: none;
    }

.img-container a img {
    height: 15rem;
    width: 100%;
    object-fit: cover;
    border-radius: 1rem;
    box-shadow: 0px 4px 12px rgba(44, 44, 44, 0.158);
    cursor: pointer;
    transition: 1s ease;
}

    .img-container a img:hover {
        transform: scale(1.2);
        transition: 1s ease;
    }

.img-container:hover {
    text-decoration: none;
}

.select-sort {
    padding: .5rem .9rem;
    border-radius: .5rem;
    border: 1px solid transparent;
    color: var(--color-blue-03);
    cursor: pointer;
}

    .select-sort:hover {
        border: 1px solid var(--color-blue-14);
    }

.alf-sort {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem;
    padding: .5rem .9rem;
    border-radius: .5rem;
    color: var(--color-blue-03);
    cursor: pointer;
}

    .alf-sort img {
        height: .4rem;
        width: .8rem;
    }

    .alf-sort:hover img {
        filter: invert(1) brightness(1000%);
    }

    .alf-sort:hover {
        color: var(--color-white);
        !important;
        background-color: var(--color-blue-14);
    }

.sort {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 2rem;
}

    .sort p {
        color: var(--color-blue-03);
    }

.map-col {
    @media (max-width:768px) {
        margin-top: 3rem;
    }
}

.check-map {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .5rem;
    padding: .5rem .9rem;
    border-radius: .5rem;
    color: var(--color-blue-03);
    cursor: pointer;
}

    .check-map:hover {
        color: var(--color-white);
        !important;
        background-color: var(--color-blue-14);
        text-decoration: none;
    }

        .check-map:hover img {
            filter: invert(1) brightness(1000%);
        }

    .check-map img {
        margin-top: .2rem;
        height: 1rem;
    }

.i-wrapper {
    overflow: hidden;
    height: 15rem;
    width: 100%;
    border-radius: 1rem;
    box-shadow: 0px 7px 20px rgba(0, 0, 0, 0.1);
    position: relative;
    display: inline-block;
}

.iconos {
    position: absolute;
    top: 20px;
    right: 15px;
    display: flex;
    flex-direction: row;
    gap: .25rem;
    align-items: center;
    z-index: 1;
}

.icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    align-self: center;
    border: 0;
    margin-right: 5px;
    background-color: #000432CC;
}


    .icon:hover {
        background-color: var(--color-blue-06);
    }

    .icon img {
        width: 50%;
        height: 50%;
        object-fit: contain;
        z-index: 100;
        transform: none;
        overflow: visible;
    }

    .icon:hover img {
        transform: none;
    }

    .icon.sharer {
        margin-bottom: 2.2rem !important;
    }

    .icon.like {
        margin-bottom: 2.2rem !important;
    }

    .icon.pin {
        margin-bottom: 2.2rem !important;
    }

.favorites a, .favorites button {
    height: 24px;
    margin-right: 20px;
    font-size: 20px;
    color: var(--color-blue-03);
}

    .favorites a:hover {
        text-decoration: none;
    }

    .favorites a img, .favorites button img {
        height: 24px;
        margin-right: 10px;
    }

.favorites .icong {
    cursor: pointer;
    background-color: transparent;
    border: 0;
}

.imgdetalle {
    max-height: 585px;
    overflow: hidden;
    border-radius: 25px;
    margin-bottom: 25px;
}

    .imgdetalle img {
        width: 100%;
        object-fit: cover;
    }

.share {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: .5rem;
}

    .share p {
        text-align: right;
        font-size: 20px;
        margin-bottom: 0;
    }

    .share .media {
        height: 24px;
        margin-left: 10px;
    }

        .share .media:hover {
            filter: grayscale(1)
        }

.description h2 {
    font-size: 31px;
    line-height: 130%;
    margin-bottom: 30px;

    @media (max-width:768px) {
        font-size:20px;
    }
}

.description p {
    font-size: 25px;
    line-height: 130%;
    margin-bottom: 20px;

    @media (max-width:768px) {
        font-size:16px;
    }
}

.resume p {
    font-size: 20px;
    line-height: 140%;
    margin-bottom: 20px;

    @media (max-width:768px) {
        font-size:16px;
    }
}

.resume ul {
    font-size: 20px;
    line-height: 140%;
    margin-bottom: 20px;

    @media (max-width:768px) {
        font-size:16px;
    }
}

    .resume ul li {
        margin-bottom: 20px;
    }

.resume a {
    color: inherit;
    text-decoration: underline;
}

/*ruta*/
#alt-map {
    border-radius: .65rem;
}

.int-title {
    margin-top: 1rem;
    font-weight: 700 !important;
    font-size: .8rem;
}

.alt-title {
    font-weight: 700 !important;
    font-size: .8rem;
}

.weather-title {
    margin-top: 1rem;
    font-weight: 700 !important;
    font-size: .8rem
}

.download-title {
    font-size: .95rem;
    font-weight: 400;
    margin-top: 1.8rem;
}

.route-info p {
    font-size: .9rem;
    line-height: 1.5;
    margin-bottom: 1.2rem;
}

.route-data h2 {
    font-size: 20px;
    text-transform: uppercase;
}

.route-data h3 {
    font-size: 20px;
    font-weight: 700;
}

.icon-download {
    height: 1rem;
    color: black !important;
    padding-right: .8rem;
}

.weather-title-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

    .weather-title-container h2 {
        margin: 0;
    }

    .weather-title-container p {
        margin: 0;
    }

.main-weather-data {
    /*display: grid;
    grid-template-columns: .4fr 1fr;*/
    margin: 1rem 1rem 1.5rem;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
}

.main-weather-data-3 {
    display: flex;
    flex-direction: row;
    align-self: center;
    align-items: center;
}

    .main-weather-data-3 h3 {
        margin-left: .5rem;
        font-size: 1.1rem !important;
        margin-top: .9rem;
    }

    .main-weather-data-3 h2 {
        font-size: 45px;
        font-weight: 900;
        color: var(--color-title-01);
    }

.main-weather-data-2 span {
    font-size: 20px !important;
}

.weather-data-icons {
    padding-right: .5rem;
    max-height: 24px;
}

.int-dataspan {
    color: black !important;
}

.int-data-div {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding-left: .7rem;
    gap: .2rem;
    margin-bottom: 10px;
}

    .int-data-div p {
        margin-bottom: 0;
        font-size: 20px;
    }

    .int-data-div a {
        color: var(--color-primary);
    }

.int-data-point {
    color: var(--color-grey-11);
    font-style: italic;
}

.main-weather-data-2 h2 {
    font-family: var(--bs-font-secondary);
    font-size: 45px;
}

.main-weather-data-2 h3 {
    font-size: 25px;
}

.weather-data {
    padding: 1.5rem;
    background-color: var(--color-white);
    border-radius: .5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.weather-stat-div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.weather-stats {
    margin: 1.5rem 1.3rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    gap: 2.7rem;
    text-align: center;
}

#weather-icon {
    /*height: 4.5rem;*/
    width: 100%;
    min-width: 50px;
    max-width: 72px;
}

.int-data {
    background-color: var(--color-white);
    padding: 1rem;
    border-radius: .5rem;
}

    .int-data div {
        /*margin-bottom: 1rem;*/
    }

.int-title {
    margin-top: 1rem;
    font-weight: 700 !important;
    font-size: .8rem;
}

.alt-title {
    font-weight: 700 !important;
    font-size: .8rem;
}

.weather-title {
    margin-top: 1rem;
    font-weight: 700 !important;
    font-size: .8rem
}

.download-title {
    font-size: .95rem;
    font-weight: 400;
    margin-top: 1.8rem;
}

.w-icon,
.h-icon,
.r-icon {
    height: 28px;
    margin-bottom: 5px;
}

.weather-d {
    font-size: 20px;
    margin-bottom: 5px;
    font-weight: 600;
}

.weather-t {
    font-size: 16px;
    margin-bottom: 5px;
}

.weather-data button {
    background-color: var(--color-secondary);
    color: var(--color-white);
    border-radius: .4rem;
    padding: .5rem 2.3rem;
    font-size: 20px;
    margin-top: 1rem;
    text-align: center !important;
    place-content: center;
    transition: .3s ease;
    border: 0;
}

.weather-webcam {
    margin-top: 30px;
    text-align: center;
}

    .weather-webcam img {
        width: 100%;
        max-width: 400px;
        border-radius: 10px;
    }

    .weather-webcam b {
        display: block;
        padding-top: 10px;
        ;
    }

.arrow-rt {
    height: 15px;
    padding-left: .5rem;
}

/*mapa*/
.mapa-lugar {
    max-width: 700px;
    width: 100%;
}
/* SPECIAL OPTIONS*/

.special-options {
    margin-top: .7rem;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 400px;
    margin-bottom: 2rem;
}

    .special-options button {
        background-color: transparent;
        border: 1px solid var(--color-blue-07);
        padding: .4rem .7rem;
        border-radius: 10rem;
        font-size: 16px;
        color: var(--color-blue-03);
    }

        .special-options button:hover {
            background-color: rgba(0, 79, 227, 0.103)
        }

        .special-options button.active {
            background-color: var(--color-blue-07);
            color: var(--color-white);
        }

/* DOWNLOAD */
.download-items {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    margin-top: .8rem;
}

    .download-items button, .download-items a {
        color: var(--color-blue-15);
        font-weight: 500;
        background-color: var(--color-light-blue-01);
        border-radius: .5rem;
        width: 100%;
        padding: .6rem .7rem;
        /*white-space: nowrap;*/
        border: 0;
        font-size: 20px;
        text-align: center;
    }

.icon-download {
    height: 1rem;
    color: black !important;
    padding-right: .8rem;
    padding-left: .8rem;
}

.download-items button:hover, .download-items a:hover {
    /* background-color: var(--color-blue-05); */
    background-color: var(--color-secondary);
    color: var(--color-white);
    !important;
}

    .download-items button:hover img, .download-items a:hover img {
        filter: brightness(0) invert(1);
    }

/*listado*/
.experiencias {
    margin-bottom: 40px;
}

    .experiencias p {
        font-size: 20px;
        line-height: 130%;
        color: var(--color-primary);

        @media (max-width:768px) {
            font-size:16px;
        }
    }

        .experiencias p.titul {
            margin-top: 20px;
            font-size: 25px;
            font-weight: 600;
            color: var(--color-title-01);

            @media (max-width:768px) {
                font-size:20px;
            }
        }

    .experiencias span {
        font-size: 20px;
        line-height: 130%;
        color: var(--color-primary);

        @media (max-width:768px) {
            font-size:16px;
        }
    }

        .experiencias span.titul {
            display: block;
            margin-top: 20px;
            font-size: 25px;
            line-height: 130%;
            font-weight: 600;
            color: var(--color-title-01);

            @media (max-width:768px) {
                font-size:20px;
            }
        }

    .experiencias img.principal {
        height: 15rem;
        width: 100%;
        object-fit: cover;
        border-radius: 1rem;
        box-shadow: 0px 4px 12px rgba(44, 44, 44, 0.158);
        cursor: pointer;
        transition: 1s ease;
    }

        .experiencias img.principal:hover {
            transform: scale(1.2);
            transition: 1s ease;
        }

    .experiencias:hover {
        text-decoration: none;
    }

#map-svg-50 {
    max-width: 50%;

    @media (max-width:768px) {
        max-width:100%;
    }
}
/*popover dirección*/
.map-content {
    position: relative;
    max-width: 50%;

    @media (max-width:768px) {
        max-width:100%;
    }
}

.map-content-v {
    width: 100%;
    max-width: 70%;
    position: relative;

    @media (max-width:768px) {
        max-width:100%;
    }
}

.mapadireccionimg {
    position: absolute;
    pointer-events: none;
    transform: translate(-50%, -100%);
    will-change: top, left;
    width: 30px;
    height: 30px;
    z-index: 10;
}

    .mapadireccionimg img {
        /* position: absolute; */
        /* pointer-events: none;
    transform: translate(-50%, -100%); /* punta del pin en el centro del path */
        /* will-change: top, left; */
        height: 30px;
        /*width:10px;*/
    }

.zonapopover img {
    min-width: 20px;
    margin-right: 5px;
}

.zonapopover span {
    font-weight: 600;
}

.bluecolor {
    color: var(--color-blue-04);
}

.pagdetalle .popover {
    @media (max-width:768px) {
        display: none;
    }
}

.popover-body .card-extra {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .5rem;
}

.popover-body .card-info {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: .4rem;
    background-color: var(--color-light-blue-01);
    width: fit-content;
    height: fit-content;
    padding: .2rem 0.5rem !important;
    border-radius: 30px;
}

    .popover-body .card-info .stats {
        height: .75rem !important;
    }

.popover {
    z-index: 1030 !important;
}

path:focus {
    outline: 0;
}
/*ico localización*/
.locatio {
    display: flex;
    align-items: center;
    color: var(--color-blue-04) !important;
    font-size: 18px;
    font-weight: 600;

    @media (max-width:768px) {
        font-size:16px;
    }
}

    .locatio:before {
        display: block;
        content: "";
        background-image: url(/dist/images/pin_b.svg);
        width: 0.9rem;
        height: 24px;
        margin-right: 5px;
        background-color: transparent;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center center;
    }
/*ico persons*/
.person {
    display: flex;
    align-items: center;
    color: var(--color-blue-04) !important;
    font-size: 18px;
    font-weight: 600;

    @media (max-width:768px) {
        font-size:16px;
    }
}

    .person:before {
        display: block;
        content: "";
        background-image: url(/dist/images/ico-person.svg);
        width: 0.9rem;
        height: 24px;
        margin-right: 5px;
        background-color: transparent;
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center center;
    }
/*estrellas alojamientos*/
.stars {
    display: flex;
    float: right;
    margin-top: 10px;
    margin-left: 5px;
}

.special-options .stars {
    margin-top: 2px;
}
/*descubre la isla*/
.islalist {
    display: flex;
    flex-wrap: wrap;
}

    .islalist li {
        display: block;
        height: auto;
        aspect-ratio: 5 / 4;
        margin-bottom: 20px;
    }

    .islalist a {
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
    }

    .islalist figure {
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
        overflow: hidden;
        border-radius: 0.5rem;
    }

        .islalist figure img {
            display: block;
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 1s;
        }

            .islalist figure img:hover {
                transform: scale(1.15);
            }

        .islalist figure figcaption {
            display: block;
            width: 100%;
            height: auto;
            position: absolute;
            bottom: 0;
            left: 0;
            color: var(--color-back);
            font-weight: bold;
            text-align: center;
            padding: 1rem;
            margin: 0 0 1rem;
            font-size: 24px;
            font-weight: 800;
            list-height: 140%;

            @media (max-width:768px) {
                font-size:16px;
            }
        }

.tipobutton {
    background-color: var(--color-white);
    border-radius: .5rem;
    display: flex;
}

.imgalone:hover figure img {
    transform: scale(1.2);
}

.imgalone .imag {
    display: block;
    position: relative;
}

.imgalone figure {
    display: block;
    width: 100%;
    height: 20vw;
    position: relative;
    margin-bottom: 0px;
    overflow: hidden;
    border-radius: 0.9rem;
}

    .imgalone figure img {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 1s;
    }

.imgalone .imag span.opt span.play-icon img, .imgalone .imag span.comp span.play-icon img {
    position: absolute;
    height: 30%;
    margin-bottom: auto;
    margin-right: auto;
    margin-left: auto;
    margin-top: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

/*cómo llegar*/
#llegaraire {
    background-image: url(/dist/images/fondo-conoce-aire.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--color-white);
    !important;
}

#llegarmar {
    background-image: url(/dist/images/fondo-conoce-mar.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--color-white);
    !important;
}

#llegaraire h1, #llegaraire div, #llegaraire p, #llegaraire span {
    color: var(--color-white);
    !important;
}

#llegarmar h1, #llegarmar div, #llegarmar p, #llegarmar span {
    color: var(--color-white);
    !important;
}

#llegaraire .btn-opc, #llegarmar .btn-opc {
    border: 1px solid var(--color-white);
    background-color: var(--color-white);
}

    #llegaraire .btn-opc.active, #llegarmar .btn-opc.active, #llegaraire .btn-opc:hover, #llegarmar .btn-opc:hover {
        background-color: var(--color-blue-07);
        color: var(--color-white);
        border: 1px solid var(--color-blue-07);
    }

#llegarairenorte.d-none, #llegarairesur.d-none, #llegarmarnorte.d-none, #llegarmarsur.d-none {
    animation: fade_out_show 0.5s;
}

#llegarairenorte, #llegarairesur, #llegarmarnorte, #llegarmarsur {
    animation: fade_in_show 0.5s;
}

@keyframes fade_in_show {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fade_out_show {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.llegar-mapa h2 {
    font-size: 39px;
    margin-top: 20px;
    margin-bottom: 25px;

    @media (max-width:768px) {
        font-size:25px;
    }
}

.llegar-mapa .texto {
    font-size: 25px;

    @media (max-width:768px) {
        font-size:20px;
    }
}

.carousimtexto .carousitem {
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: var(--color-primary);
}

    .carousimtexto .carousitem span.carditem figure {
        height: 15vw;
    }

    .carousimtexto .carousitem span.carditem figure {
        display: block;
        width: 100%;
        min-height: 20vw;
        position: relative;
        overflow: hidden;
        border-radius: 0.5rem;
    }

        .carousimtexto .carousitem span.carditem figure img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 1s;
        }

.link-lft {
    height: 20px;
    padding-right: .5rem;
}

.consejos-bq .figure {
    min-height: 25vw;
}

.consejos-bq article {
    margin-bottom: 120px;
}

.consejos-bq h2 {
    font-size: 39px;
    margin-bottom: 25px;

    @media (max-width:768px) {
        font-size:25px;
    }
}

.consejos-bq h1 {
    font-size: 39px;
    color: #433e3f;
    margin-bottom: 25px;
    font-weight: 600;
    font-family: Lato;

    @media (max-width:768px) {
        font-size:25px;
    }
}










.consejos-bq h3 {
    font-size: 20px;
    margin-bottom: 5px;

    @media (max-width:768px) {
        font-size:18px;
    }
}

.consejos-bq ul {
    margin-top: 0;
}

/*objetivos*/
.objetivo {
    background-color: var(--color-blue-16);
    min-height: 120px;
    display: flex;
    align-items: flex-start;
    padding: 15px;
    border-radius: 15px;
    box-shadow: 4px 4px 25px var(--color-black-t10);
    margin-bottom: 20px;
}

    .objetivo:hover {
        min-height: 140px;
        margin-top: -10px;
    }

.objetnum {
    width: 54px;
    height: 54px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 42px;
    font-family: var(--bs-font-secondary);
    font-weight: 700;
    color: var(--color-white);
    background-color: var(--color-white-t24);
    margin-right: 20px;
}

.objettxt {
    font-weight: 800;
    color: var(--color-white);
    font-size: 20px;
    text-transform: uppercase;
    text-shadow: 0px 4px 24px 0px var(--color-black-t42);
    line-height: 140%;
}

.objet01 {
    background-color: var(--color-red-02);
}

.objet02 {
    background-color: var(--color-yellow-01);
}

.objet03 {
    background-color: var(--color-green-01);
}

.objet04 {
    background-color: var(--color-red-03);
}

.objet05 {
    background-color: var(--color-red-04);
}

.objet06 {
    background-color: var(--color-blue-17);
}

.objet07 {
    background-color: var(--color-yellow-02);
}

.objet08 {
    background-color: var(--color-red-05);
}

.objet09 {
    background-color: var(--color-orange-01);
}

.objet10 {
    background-color: var(--color-red-06);
}

.objet11 {
    background-color: var(--color-orange-02);
}

.objet12 {
    background-color: var(--color-orange-03);
}

.objet13 {
    background-color: var(--color-green-02);
}

.objet14 {
    background-color: var(--color-blue-18);
}

.objet15 {
    background-color: var(--color-green-02);
}

.objet16 {
    background-color: var(--color-blue-19);
}

.objet17 {
    background-color: var(--color-blue-19);
}

/*Faqs*/
#faqsMenu .accordion-item {
    background-color: var(--color-white);
    border: 1px solid var(--color-grey-03);
    border-radius: 8px;
}

    #faqsMenu .accordion-item:has(.accordion-button.collapsed) {
        background-color: transparent;
        border: 1px solid transparent;
    }

#faqsMenu .accordion-button:not(.collapsed) {
    border-radius: 8px;
}

#faqsMenu .accordion-collapse a {
    display: block;
    border-bottom: 1px solid var(--color-grey-03);
    padding: 15px 15px 15px 25px;
    font-size: 20px;
    color: var(--color-blue-12);

    @media (max-width:768px) {
        font-size:16px;
    }
}

    #faqsMenu .accordion-collapse a.active {
        color: var(--color-secondary);
    }

    #faqsMenu .accordion-collapse a:last-child {
        border-bottom: 0;
    }

.faqstitle {
    font-size: 39px;
    font-weight: 700;
    letter-spacing: 0.25%;
    font-family: var(--bs-font-general);
    color: var(--color-primary);

    @media (max-width:768px) {
        font-size:28px;
    }
}

.faqsnavbar-toggler {
    padding: 0.25.rem 0.75rem;
    font-size: 1.25rem;
    line-height: 1;
    color: var(--color-black-t44);
    background-color: transparent;
    border: 1px solid var(--color-black-07);
    border-radius: 0.375rem;
    transition: 0.15s ease-in-out;
}

.faqsnavbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}

.faqshead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    background-color: var(--color-black-07);
    margin-bottom: 10px;
    border-radius: 10px;
    text-transform: uppercase;
    font-weight: 600;

    @media (min-width:769px) {
        display: none;
    }
}
/*buscador*/
#buscadorFaqs {
    position: relative;
}

#buscinputFaqs {
    width: 100%;
    border-radius: 50px;
    padding: 15px 20px 15px 50px;
    border: 1px solid var(--color-blue-08-t20);
    background-image: url("/dist/images/ico-buscar.svg");
    background-repeat: no-repeat;
    background-position: 20px center;
}

#buscFaqsPanel {
    position: absolute;
    top: 80px;
    left: 0;
    border: 1px solid var(--color-blue-08-t20);
    padding: 50px;
    z-index: 10;
    background-color: var(--color-white);
    width: 100%;
    border-radius: 20px;
    box-shadow: 04px 6px 10px var(--color-black-t10);
}

    #buscFaqsPanel li.level-1 {
        text-transform: uppercase;
        color: var(--color-grey-02);
        margin-bottom: 30px;
    }

        #buscFaqsPanel li.level-1 span.seccion {
            color: var(--color-grey-04);
        }

    #buscFaqsPanel ul.level-2 {
        margin-left: 20px;
        margin-top: 30px;
    }

    #buscFaqsPanel li.level-2 {
        font-weight: 600;
        text-transform: initial;
        color: var(--color-primary);
        display: flex;
        margin-bottom: 30px;
        justify-content: space-between;
        cursor: pointer;
    }

.maxw-100 {
    max-width: 100%;
}

.aviso {
    border-radius: 40px;
    background-color: var(--color-red-01);
    color: var(--color-white);
    padding: 10px 20px;
    text-transform: uppercase;
    margin-bottom: 20px;
    display: inline-block;
}

/*Sliders Texto*/
.slidertexto .carousel-inner {
    width: 100%;
    max-height: 400px;
    border-radius: 20px;
}

    .slidertexto .carousel-inner .carousel-item {
        width: 100%;
        height: 100%;
    }

        .slidertexto .carousel-inner .carousel-item img {
            object-fit: cover;
            width: 100%;
            height: 100%;
        }

.slidertexto .carousel-indicators {
    position: relative;
    margin-left: 0;
    margin-right: 0;
}

    .slidertexto .carousel-indicators [data-bs-target] {
        background-color: var(--color-light-blue-01);
        width: 40vh;
    }

        .slidertexto .carousel-indicators [data-bs-target].active {
            background-color: var(--color-blue-09);
        }

.carousel-control-next, .carousel-control-prev {
    opacity: 1;
}

.slidertexto .carousel-control-next-icon, .slidertexto .carousel-control-prev-icon {
    display: inline-block;
    width: 3.5rem;
    height: 3.5rem;
    background-color: var(--color-white-t40);
    border: 0;
    border-radius: 50%;
    position: relative;
    background-image: none;
}

    .slidertexto .carousel-control-next-icon:hover, .slidertexto .carousel-control-prev-icon:hover {
        background-color: var(--color-white);
    }

.slidertexto .carousel-control-next-icon {
    background-image: url(/dist/images/arrow_1_b.svg);
    background-size: 50% 50%;
    transform: rotate(-90deg);
}

.slidertexto .carousel-control-prev-icon {
    background-image: url(/dist/images/arrow_1_b.svg);
    background-size: 50% 50%;
    transform: rotate(90deg);
}

h2 .number {
    color: var(--color-blue-09);
    font-size: 49px;
    background-color: var(--color-light-blue-01);
    padding: 5px 10px 0 10px;
    font-family: var(--bs-font-secondary);
    margin-right: 10px;
    border-radius: 4px;
}

.descubre {
    margin-top: 30px;
}

    .descubre img {
        border-radius: 20px;
        object-fit: cover;
        width: 100%;
        height: 100%;
        margin-bottom: 20px;
    }

    .descubre .descript {
        font-size: 16px;
    }
/*tabla*/
.datos table {
    margin-bottom: 80px;
    font-size: 14px;
    text-transform: uppercase;
    color: var(--color-primary);
    border: 1px solid var(--color-grey-05);
}

    .datos table th[scope="col"] {
        color: var(--color-grey-02);
    }

    .datos table th, .datos table td {
        padding-top: 12px;
        padding-bottom: 12px;
    }

    .datos table tr {
        border-color: var(--color-grey-05);
    }

.datos p {
    font-size: 20px;
}

    .datos p span {
        font-weight: 600;
    }
/*cards*/
.card {
    border-radius: 20px;
    border: 0;
    box-shadow: 4px 4px 25px rgba(0, 0, 0, 0.1);
}

    .card .card-body {
        padding: 24px;
    }

        .card .card-body .i-wrapper {
            box-shadow: 0 0;
        }

    .card .card-img-top {
        margin-bottom: 25px;
        border-radius: 20px;
    }

    .card .card-title {
        margin-bottom: 25px;
        margin-top: 25px;
        font-weight: 700;
        color: var(--color-primary);
    }

    .card .card-subtitle {
        margin-top: 25px;
        font-size: 20px;
        text-transform: uppercase;
    }

    .card .card-link {
        font-weight: 600;
        color: var(--color-primary);
        font-size: 20px;
    }

        .card .card-link span {
            display: block;
            margin-top: 10px;
            font-weight: 400;
            font-size: 16px;
        }

.contenedor-header {
    padding-left: 3vw;
    padding-right: 3vw;
}

.color-light-blue-02 {
    color: var(--color-blue-10);
}
/*gradient left 445e77 right #0b2039 */
/*Clase para invisibilizar elementos*/
.inv {
    background: transparent none !important;
    border: none !important;
    display: block !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    left: -999999em !important;
    width: 1px !important;
}

header {
    /*margin-bottom: 50px;*/
    position: relative;
}
/*Estilos header - menu - banner principal - buscador*/
#top-bar {
    height: 42px;
}

.top-bar-container {
    background-color: var(--color-white);
}

@media (max-width: 480px) {
    .weather {
        font-size: 12px;
        max-width: 90%;
        height: 26px;
        overflow: hidden;
    }

    #top-bar-menu #langSelector .dropdown-menu[data-bs-popper] {
        left: -36px;
    }

    #top-bar-menu #langSelector::before {
        display: none;
    }
}
/*Altura del banner - En la home cambia*/
.header-banner.home-banner {
    height: 500px;
}

.header-banner.inter-banner {
    height: 400px;
}

.header-banner.inter-porta-banner {
    height: 800px;
}

@media all and (max-width: 991px) {
    .top-bar-container {
    }

    .header-banner.home-banner, .header-banner.inter-porta-banner {
        top: 0;
        height: 100vh !important;
    }

    .header-banner.inter-banner {
        top: 0;
        height: 175px !important;
    }
}

.header-banner.home-banner .header-banner-img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    z-index: -1;
    /*border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;*/
}

.header-banner.inter-banner .header-banner-img, .header-banner.inter-porta-banner .header-banner-img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    z-index: -1;
}

header #top-bar a {
    color: var(--color-blue-03);
}

.menu-full-width {
    background: rgb(68,94,119);
    background: linear-gradient(90deg, rgba(68,94,119,1) 0%, rgba(17,38,66,1) 35%, rgba(11,32,57,1) 100%);
}

.menu-full-width-bureau {
    background: rgb(17,71,78);
    background: linear-gradient(90deg, rgb(40 114 122) 0%, rgb(17, 71, 78) 35%, rgb(12, 75, 82) 100%);
}
/*Header slider*/
.headerSlider {
    z-index: 1;
    height: 100%;
    overflow: hidden;
}

    .headerSlider .carousel-indicators {
        bottom: 7%;
    }

    .headerSlider .carousel-control-next, .headerSlider .carousel-control-prev {
        opacity: 1;
        top: 80%;
        height: fit-content;
        width: fit-content;
    }

    .headerSlider .carousel-control-prev {
        left: calc(50% - 60px);
    }

    .headerSlider .carousel-control-next {
        left: calc(50% + 5px);
    }

        .headerSlider .carousel-control-next .carousel-control-next-icon, .headerSlider .carousel-control-prev .carousel-control-prev-icon {
            display: inline-block;
            width: 3.5rem;
            height: 3.5rem;
            background-color: var(--color-white);
            border: 0;
            border-radius: 50%;
            position: relative;
            background-image: none;
        }

            .headerSlider .carousel-control-next .carousel-control-next-icon:hover, .headerSlider .carousel-control-prev .carousel-control-prev-icon:hover {
                background-color: var(--color-blue-09);
            }

            .headerSlider .carousel-control-next .carousel-control-next-icon:before, .headerSlider .carousel-control-prev .carousel-control-prev-icon:before {
                display: block;
                content: "";
                width: 1.2rem;
                height: 1.2rem;
                position: absolute;
                top: 50%;
                left: 50%;
                background-color: transparent;
                background-image: url(/dist/images/arrow_1_b.svg);
                background-repeat: no-repeat;
                background-position: center center;
                background-size: contain;
            }

            .headerSlider .carousel-control-next .carousel-control-next-icon:before {
                transform: translate(-45%, -50%) rotate(-90deg);
            }

            .headerSlider .carousel-control-prev .carousel-control-prev-icon:before {
                transform: translate(-55%, -50%) rotate(90deg);
            }

            .headerSlider .carousel-control-next .carousel-control-next-icon:hover:before, .headerSlider .carousel-control-prev .carousel-control-prev-icon:hover:before {
                background-image: url(/dist/images/arrow_1_b.svg);
                filter: brightness(0) saturate(100%) invert(98%) brightness(102%) contrast(102%);
            }

    .headerSlider .carousel-caption {
        left: 3vw;
        text-align: left;
        top: 50%;

        @media all and (max-width: 991px) {
            top: 30%;
        }
    }

        .headerSlider .carousel-caption .carousel-title {
            font-family: var(--bs-font-terc);
            font-size: 49px;
            font-weight: 600;
            line-height: 120%;
            letter-spacing: -0.75%;
            max-width: 50%;
            margin-bottom: 20px;
            text-shadow: 0px 0px 10px var(--color-black);

            @media all and (max-width: 991px) {
                max-width: 100%;
                font-size: 35px;
                line-height: 40px;
            }
        }

        .headerSlider .carousel-caption .carousel-location {
            font-size: 25px;
            font-weight: 500;
            text-shadow: 0px 0px 10px var(--color-black);
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            margin-bottom: 20px;

            @media all and (max-width: 991px) {
                font-size: 18px;
            }
        }

            .headerSlider .carousel-caption .carousel-location img {
                max-height: 32px;
                margin-right: 10px;
                filter: drop-shadow(0px 0px 10px var(--color-black));

                @media all and (max-width: 991px) {
                    max-height: 25px;
                }
            }

        .headerSlider .carousel-caption .carousel-see {
            font-size: 20px;
            text-shadow: 0px 0px 10px var(--color-black);
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            color: var(--color-white);

            @media all and (max-width: 991px) {
                font-size: 16px;
            }
        }

            .headerSlider .carousel-caption .carousel-see img {
                max-height: 15px;
                margin-left: 10px;
                filter: drop-shadow(0px 0px 10px var(--color-black));

                @media all and (max-width: 991px) {
                    max-height: 15px;
                }
            }

    .headerSlider .carousel-indicators [data-bs-target] {
        width: 8px;
        height: 8px;
        opacity: 1;
        border-radius: 8px;
        background-clip: inherit;
        border: 0;
    }

    .headerSlider .carousel-indicators .active {
        width: 32px;
        background-color: var(--color-light-blue-01);
    }

    .headerSlider .carousel-inner {
        height: 100%;
        overflow: hidden;
    }

        .headerSlider .carousel-inner .carousel-item {
            height: 100%;
        }

.banner-container-slider {
    position: absolute;
    top: 42px;
    z-index: 5;
    width: 100%;
    background-color: rgba(0, 0, 0, .1);
}
/*Selector de idiomas*/
#langSelector::before {
    content: "|";
    display: inline-block;
    width: 2rem;
    text-align: center;
}

#langSelector .dropdown-menu[data-bs-popper] {
    margin-top: 9px;
    margin-left: 20px;
    min-width: 36px;
}
/*Fin de selector de idiomas*/
/*Menú*/
#main-menu a {
    color: var(--color-white);
    font-size: 20px;
}

#main-menu .dropdown-menu {
    position: absolute;
    box-sizing: border-box;
    top: 85px;
    left: 2%;
    padding: 0;
    /*height: 100%;*/
    background-color: var(--color-white);
    border: none;
    width: 96%;
    z-index: 100;
}

    #main-menu .dropdown-menu .menu-left {
        position: relative;
        width: 100%;
        padding-left: 40px;
        padding-top: 40px;
        padding-bottom: 40px;
        height: 100%;
        min-height: 500px;
    }

/*#main-menu .dropdown-menu .menu-left li:nth-last-child(2) {
    margin-bottom:60px;
}*/

#main-menu .nav-link ~ .dropdown-menu {
    border-radius: 30px;
    box-shadow: -0 2px 5px 1px var(--color-grey-06);
    -webkit-box-shadow: 0 2px 5px 1px var(--color-grey-06);
    -moz-box-shadow: 0 2px 5px 1px var(--color-grey-06);
}

    #main-menu .nav-link ~ .dropdown-menu .dropdown-menu {
        border-top-right-radius: 30px;
        border-bottom-right-radius: 30px;
    }

#main-menu .dropdown-menu a {
    color: var(--color-blue-03);
    margin-bottom: 10px;
}

#main-menu .dropdown, #main-menu.navbar {
    position: static;
}

#main-menu .dropdown-submenu .dropdown-menu {
    left: 50%;
    width: 48%;
    top: 0;
    padding: 40px;
    background-color: var(--color-grey-12);
    height: 100%;
}

    #main-menu .dropdown-submenu .dropdown-menu.submenu-left {
        left: 25%;
        width: 25%;
        background-color: transparent;
    }

    #main-menu .dropdown-submenu .dropdown-menu.submenu-right {
        left: 100%;
        width: 200%;
    }




    #main-menu .dropdown-submenu .dropdown-menu a.dropdown-item {
        font-size: 15px;
        margin-bottom: 5px;
    }

    #main-menu .dropdown-submenu .dropdown-menu.submenu-left a {
        font-size: 20px;
    }

    #main-menu .dropdown-submenu .dropdown-menu.submenu-left .dropdown-menu .dropdown-item {
        font-size: 15px;
    }

.submenu-general-link {
    position: absolute;
    bottom: 40px;
    left: 56px;
}

#main-menu .nav-link {
    position: relative;
}

    #main-menu .nav-link.show:before {
        position: absolute;
        left: 50%;
        margin-left: -6px;
        top: 54px;
        bottom: 100%;
        content: "";
        width: 0;
        height: 0;
        border: 10px solid transparent;
        border-bottom-color: var(--color-white);
        z-index: 9999;
    }

.menu-image-container {
    position: absolute;
    right: 0;
    z-index: 0;
    top: 0;
    width: 50%;
    height: 100%;
    background-color: var(--color-grey-12);
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    /*z-index: 200;*/
}

    .menu-image-container .menu-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-top-right-radius: 30px;
        border-bottom-right-radius: 30px;
    }

.show ~ .menu-image-container {
    display: block;
}

#menu-playas ~ .show:has(.dropdown-menu.show) ~ .menu-image-container {
    left: 75%;
    width: 24%;
    height: 85%;
}

#menu-playas ~ .show ~ .menu-image-container .menu-image {
    height: 75%;
}

#menu-cosas ~ .show:has(.submenu-left .dropdown-menu.show) ~ .menu-image-container {
    left: 75%;
    width: 24%;
    height: 85%;
}

#menu-cosas ~ .show ~ .menu-image-container .menu-image {
    height: 75%;
}

#menu-cosas ~ .dropdown-menu .dropdown-submenu .submenu-left .dropdown-menu {
    left: 100%;
    width: 200%;
}

#menu-descubre ~ .show:has(.dropdown-menu.show) ~ .menu-image-container {
    left: 75%;
    width: 24%;
    height: 85%;
}

#menu-descubre ~ .show ~ .menu-image-container .menu-image {
    height: 75%;
}

.dropdown-menu-title {
    font-size: 20px;
    margin-bottom: 10px;
    padding-left: 1rem;
    font-weight: 700;
}

.dropdown-item:hover, .dropdown-item:focus, #main-menu a {
    text-decoration-color: var(--color-blue-10);
    text-underline-offset: 8px;
    background-color: transparent;
}

.dropdown-item:focus {
    text-decoration: underline;
}

.banner-container {
    height: 100%;
    background-color: rgba(0, 0, 0, .1);
    /*border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;*/
}

@media all and (max-width: 991px) {
    .banner-container {
        background-color: rgba(0, 0, 0, .3);
    }
}
/*Título home*/
.bloque-titulo {
    position: absolute;
    width: 100%;
    height: 105px;
    color: var(--color-white);
    bottom: calc(50% - 50px);
}

.bloque-titulo-left {
    position: absolute;
    width: 90%;
    height: 105px;
    color: var(--color-white);
    left: 3vw;
    bottom: calc(40% - 50px);

    @media all and (min-width: 992px) {
        max-width: 50%;
    }

    @media all and (min-width: 992px) {
        max-width: 100%;
    }
}

    .bloque-titulo-left.reduced {
        bottom: 5vw;

        @media all and (max-width: 991px) {
            display:none;
        }
    }

.bloque-titulo .titulo {
    font-family: var(--bs-font-secondary);
    font-size: 72px;
    width: 100%;
    text-align: center;
    text-shadow: 1px 1px 10px var(--color-black-t29);

    @media all and (max-width: 768px) {
        font-size: 35px;
    }
}

.bloque-titulo-left .titulo {
    font-family: var(--bs-font-secondary);
    font-size: 49px;
    width: 100%;
    text-align: left;
    text-shadow: 1px 1px 10px var(--color-black-t29);

    @media all and (max-width: 768px) {
        font-size: 30px;
        line-height: 32px;
    }
}

.bloque-titulo .subtitulo {
    font-family: var(--bs-font-general);
    font-size: 18px;
    letter-spacing: 4px;
    font-weight: 800;
    text-transform: uppercase;
    width: 100%;
    text-align: center;
    text-shadow: 1px 1px 10px var(--color-black-t29);
    font-size: 16px;
}

.bloque-titulo-left .subtitulo {
    font-family: var(--bs-font-general);
    font-size: 18px;
    letter-spacing: 4px;
    font-weight: 800;
    text-transform: uppercase;
    width: 100%;
    text-align: left;
    text-shadow: 1px 1px 10px var(--color-black-t29);
    font-size: 16px;
}
/*Botón play*/
.play {
    position: absolute;
    left: 3rem;
    bottom: 5rem;
}

a.play {
    color: var(--color-white);
    font-size: 20px;
}

.play-int {
    position: absolute;
    left: 3rem;
    bottom: 5rem;
}

a.play-int {
    color: var(--color-white);
    font-size: 20px;
}

@media all and (max-width: 991px) {
    .bloque-titulo {
        bottom: 100vw;
        left: 3vw;
        width: 90%;
    }

        .bloque-titulo .titulo {
            font-size: 48px;
            text-align: left;
        }

    .bloque-titulo-left .titulo {
        font-size: 32px;
        text-align: left;
    }

    .bloque-titulo .subtitulo {
        text-align: left;
    }

    .play {
        left: 5%;
        bottom: 20%;
    }

    .play-int {
        left: 5%;
        bottom: 20%;
    }
}



/*Buscador - Para que aparezca el input de texto hay que añadir la clase .searchbox-open al formulario*/
.buscador #search-button, #acciones #fav-button {
    background-color: transparent;
    border: none;
}

.buscador .searchbox {
    position: relative;
    margin-right: .1em;
    text-align: right;
}

.buscador .searchbox-input {
    margin: 3px 0 0;
    height: 2.8em;
    display: inline-block;
    width: 0;
    border-radius: 4px;
    border: 0px solid var(--color-black-t29);
    transition: all .3s
}

.buscador .searchbox-icon, .buscador .searchbox-submit {
    width: 2.5em;
    height: auto;
    border: 0;
    font-size: 100%;
    display: inline-block;
    position: absolute;
    top: 1px;
    right: 1px;
    outline: 0;
    cursor: pointer;
    margin: 4px 1px 0 0;
    text-align: center
}

.buscador .searchbox-submit, .buscador .searchbox-input {
    opacity: 0;
}

.buscador .searchbox-submit {
    z-index: -1;
}

.buscador .searchbox-open .searchbox-input {
    opacity: 1;
    width: 75%;
    border-width: 1px
}
/*buscador móvil*/
.searchbox-mobile {
    width: 100%;
}

.searchbox-mobile {
    padding: 0 10px;
    margin: 5px;
    border: 1px solid var(--color-black-t29);
    border-radius: 30px;
}

.searchbox-mobile-input {
    width: 80%;
    line-height: 50px;
    font-size: 20px;
    border: none;
}

    .searchbox-mobile-input::placeholder {
        font-size: 16px;
    }

#search-button-mobile {
    background-color: transparent;
    width: 50px;
    height: 50px;
    border: none;
}

/* Fin estilos buscador*/

/*Icono Chat bot*/
#chat-bot {
    position: fixed;
    background-color: var(--color-white);
    bottom: 50px;
    right: 0;
    width: 86px;
    padding-top: 8px;
    border-top-left-radius: 39px;
    border-bottom-left-radius: 39px;
    z-index: 500;
}

    #chat-bot button {
        background-image: url(/dist/images/Icon_Goio_Tortuga_Azul_Mar.png);
        background-size: contain;
        background-color: transparent;
        background-position: 8px;
        background-repeat: no-repeat;
        border: none;
        width: 78px;
        height: 62px;
    }
/*Menú móvil*/
#menu-trigger {
    position: absolute;
    top: 50px;
    right: 5px;
    z-index: 10;
}

#menu-trigger-button {
    background-color: transparent;
    border: none;
    width: 64px;
    height: 64px;
    padding: 0;
}

.mmactive .sm_menu_outer {
    height: calc(100vh - 115px);
}

@media (min-width: 992px) {
    #menu-trigger, .sm_menu_outer {
        display: none;
    }
}

.mmactive .header-movil {
    background-color: var(--color-blue-11);
}

.sm_menu_outer .mobile_menu .submenu li:not(.back) a {
    text-transform: none;
}

.sm_menu_outer .mobile_menu li a {
    font-size: 20px;
}

.sm_menu_outer .mobile_menu .submenu .submenu li:not(.back) > a {
    font-size: 16px;
}

.hasChild.active ~ .destacados-item {
    display: none;
}

#fav-button-mobile {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 0px;
    background-color: var(--color-light-blue-01);
    text-align: center;
    font-size: 20px;
    border-radius: 8px;
    border: none;
}

.sm_menu_outer .main-menu-bottom .destacados-movil .fila {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
}

.sm_menu_outer .main-menu-bottom .dest-movil {
    display: inline-flex;
    width: 48%;
    font-size: 14px;
    text-transform: none;
    box-sizing: border-box;
    gap: 10px;
    margin: 10px 0;
    padding-left: 10%;
    padding-right: 10%;
    border: 1px solid var(--color-black);
    height: 130px;
    border-radius: 8px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

    .sm_menu_outer .main-menu-bottom .dest-movil img {
        width: 36px;
        margin-left: auto;
        margin-right: auto;
    }

.sm_menu_outer .submenu-general-link {
    position: relative;
    margin-top: 50px;
    bottom: 0;
    left: 0;
}

    .sm_menu_outer .submenu-general-link > img {
        padding: 15px;
        width: 100%;
    }
/*Estilos footer*/
footer {
    background-color: var(--color-blue-03);
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

    footer a.footer-link, footer h3 {
        color: var(--color-white);
    }

    footer .footer-logo img {
        width: auto;
        max-height: 70px;

        @media (max-width:768px) {
            max-height:50px;
        }
    }

    footer h3 {
        font-size: 16px;
        font-weight: 700;
    }

    footer .cenefa {
        height: 20px;
        background-image: url(/dist/images/footer-wave-line.png);
    }

#subfooter p, #subfooter a.subfooter-link {
    font-size: 13px;
    color: var(--color-white);
}

    #subfooter a.subfooter-link:not(:last-child)::after {
        content: "|";
        display: inline-block;
        width: 2rem;
        text-align: center;
    }
/*Bureau*/
.blog-date {
    color: var(--color-blue-04);
    font-size: 20px;
    font-weight: 600;
}

.blog-title {
    color: var(--color-blue-01);
    font-family: var(--bs-font-general);
    font-size: 40px;
    font-weight: 800;
}

.blog-text {
    font-size: 20px;
}
/*grid img 1+2*/
.gridimg12 {
    display: grid;
    justify-items: stretch;
    align-items: stretch;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;

    @media (max-width:768px) {
        min-height:300px;
    }
}

    .gridimg12 figure {
        display: block;
        position: relative;
        overflow: hidden;
        border-radius: 0.5rem;
    }

        .gridimg12 figure img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .gridimg12 figure:nth-child(1) {
            grid-area: 1 / 1 / 3 / 2;
        }

        .gridimg12 figure:nth-child(2) {
            grid-area: 1 / 2 / 2 / 3;
        }

        .gridimg12 figure:nth-child(3) {
            grid-area: 2 / 2 / 3 / 3;
        }
/*form*/
.form-input-optional {
    padding-right: 83px;
}

.form-control {
    background-color: var(--color-black-t05);
}

.form-floating > textarea.form-control {
    height: auto;
}

.form-optional {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    padding: 1rem .75rem;
    overflow: hidden;
    text-align: end;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    border: 1px solid transparent;
    transform-origin: 0 0;
    transition: opacity .1s ease-in-out, transform .1s ease-in-out;
}

.log-icon {
    width: 28px;
    height: 28px;
    object-fit: contain;
    display: inline-block;
}

.top-weather-icon {
    height: 24px;
    width: 24px;
    margin-right: 10px;
    background-color: unset;
}

.reverted {
    flex-direction: row-reverse;
}

.figure-normal {
    height: 100%;
    overflow: hidden;
}

#menuMp4-normal {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#btnvideoModal {
    z-index: 10;
    cursor: pointer;
    padding: 20px 10px;
    text-decoration: none;
}










    #btnvideoModal:hover::before {
        background-color: rgba(27,82,252,.9);
    }


    #btnvideoModal::before {
        display: block;
        content: "";
        width: 4rem;
        height: 4rem;
        position: relative;
        border-radius: 50%;
        background: hsla(0, 0%, 100%, .3) url(/dist/images/play_w.svg) no-repeat 50%;
        background-size: 30% auto;
        border: 1px solid #fff;
        transition: background-color .5s;
    }

    #btnvideoModal.pause::before {
        background: hsla(0, 0%, 100%, .3) url(/dist/images/pause2.png) no-repeat 50%;
        background-size: 30% auto;
    }

.carousel-item {
    transition: transform 0.6s ease-in-out;
}

img.log-icon {
    height: 20px;
}

header.home div.main div.menu nav ul.ico li.log-icon a {
    background-image: url(/dist/icons/login-icon-tenerife.svg)
}

span.comp span.play-icon img {
    height: 2.8rem;
}
span.comp span.play-icon {
    position: absolute;
    top: 250px;
    right: 1.5rem;
    cursor: pointer;
}
