﻿@font-face {
    font-family: 'Roboto';
    src: url('../Content/Roboto/Roboto-Regular.ttf');
}

body {
    margin: 0;
    font-family: 'Roboto', sans-serif;
    overflow-x: hidden;
}

.body-maximo {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: white;
    overflow: hidden;
}

.img-icon {
    /* width:40px; */
    width: 24px;
}
/*.tabs button[aria-selected=true],*/
.tabs button.active {
    background: -moz-linear-gradient(50% 0.18% -90deg,rgba(26, 148, 208, 1) 0%,rgba(0, 91, 203, 1) 100%);
    background: -webkit-linear-gradient(-90deg, rgba(26, 148, 208, 1) 0%, rgba(0, 91, 203, 1) 100%);
    background: -webkit-gradient(linear,50% 0.18%,50% 94.25%,color-stop(0,rgba(26, 148, 208, 1) ),color-stop(1,rgba(0, 91, 203, 1) ));
    background: -o-linear-gradient(-90deg, rgba(26, 148, 208, 1) 0%, rgba(0, 91, 203, 1) 100%);
    background: -ms-linear-gradient(-90deg, rgba(26, 148, 208, 1) 0%, rgba(0, 91, 203, 1) 100%);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#1A94D0', endColorstr='#005BCB' ,GradientType=0)";
    background: linear-gradient(180deg, rgba(26, 148, 208, 1) 0%, rgba(0, 91, 203, 1) 100%);
    border-radius: 9px 9px 0px 0px;
    -moz-border-radius: 9px 9px 0px 0px;
    -webkit-border-radius: 9px 9px 0px 0px;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1A94D0',endColorstr='#005BCB', GradientType=0);
}

    /*.tabs button[aria-selected=true].salida,*/
    .tabs button.active.salida {
        background: -moz-linear-gradient(50% 0.18% -90deg,rgba(43, 95, 204, 1) 0%,rgba(34, 50, 101, 1) 100%);
        background: -webkit-linear-gradient(-90deg, rgba(43, 95, 204, 1) 0%, rgba(34, 50, 101, 1) 100%);
        background: -webkit-gradient(linear,50% 0.18%,50% 94.25%,color-stop(0,rgba(43, 95, 204, 1) ),color-stop(1,rgba(34, 50, 101, 1) ));
        background: -o-linear-gradient(-90deg, rgba(43, 95, 204, 1) 0%, rgba(34, 50, 101, 1) 100%);
        background: -ms-linear-gradient(-90deg, rgba(43, 95, 204, 1) 0%, rgba(34, 50, 101, 1) 100%);
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#2B5FCC', endColorstr='#223265' ,GradientType=0)";
        background: linear-gradient(180deg, rgba(43, 95, 204, 1) 0%, rgba(34, 50, 101, 1) 100%);
        border-radius: 9px 9px 0px 0px;
        -moz-border-radius: 9px 9px 0px 0px;
        -webkit-border-radius: 9px 9px 0px 0px;
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2B5FCC',endColorstr='#223265', GradientType=0);
    }

h4 {
    font-size: 13px;
}

.cierreboton {
    float: right;
    margin-top: -10px;
    margin-right: -10px;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    border: 1px solid gray;
    background: #AEAEAE;
    color: white;
    border: none;
    position: relative;
    display: block;
    padding: 0;
    /*-webkit-box-shadow: 5px 5px 22px -8px rgba(0,0,0,0.75);
    -moz-box-shadow: 5px 5px 22px -8px rgba(0,0,0,0.75);
    box-shadow: 5px 5px 22px -8px rgba(0,0,0,0.75);*/
}

#entrada-tabcontenedor_rutas.active .img-nocolor, #salida-tabcontenedor_rutas.active .img-nocolor,
#entrada-tabcontenedor_rutas_servidores.active .img-nocolor, #salida-tabcontenedor_rutas_servidores.active .img-nocolor {
    display: block;
}

#entrada-tabcontenedor_rutas.active .img-color, #salida-tabcontenedor_rutas.active .img-color,
#entrada-tabcontenedor_rutas_servidores.active .img-color, #salida-tabcontenedor_rutas_servidores.active .img-color {
    display: none;
}

#entrada-tabcontenedor_rutas .img-nocolor, #salida-tabcontenedor_rutas .img-nocolor,
#entrada-tabcontenedor_rutas_servidores .img-nocolor, #salida-tabcontenedor_rutas_servidores .img-nocolor {
    display: none;
}

#entrada-tabcontenedor_rutas .img-color, #salida-tabcontenedor_rutas .img-color,
#entrada-tabcontenedor_rutas_servidores .img-color, #salida-tabcontenedor_rutas_servidores .img-color {
    display: block;
}

h1, h4 {
    margin: 1rem;
    text-align: center;
    color: black;
    font-family: 'Roboto', sans-serif;
}


p {
    margin: 1rem;
    color: #9A9999;
    font-size: small;
}

div {
    color: #9A9999;
    font-size: medium;
}

table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
    /* color: #0A3F65; */
    background-color: #FFFFFF;
    /*margin: 29px 0;*/
    border: 1px solid #FFFFFF;
}

#contenedor_rutas h1, contenedor_rutas_servidores h1 {
    margin-bottom: 20px;
}

.fbgg {
    background: #F1F1F1;
    padding: 20px;
    border-radius: 20px 20px 0 0;
}

.sbgg {
    background: white;
    /*padding: 10px;*/
    border-radius: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.oculto {
    display: none;
}

table th {
    background: white;
    color: black;
    font-size: 12px;
    text-transform: uppercase;
}



/* table tr:nth-of-type(even) {
			background: #ededed;
			} */

/* table tr {
			border-bottom: 1px solid #97D6D9;
			} */

table td,
table th {
    padding: 10px;
    text-align: left;
}

table td {
    font-size: 12px;
    color: #000;
}

/* table td a {
			display: block;
			text-decoration: underline;
			color: #059AB0 !important;
			} */

table tr {
    /*border-bottom: #9A9999;*/
    border-bottom: #F1F1F1;
    /*border-top: #9A9999;*/
    border-style: solid;
    border-right: none;
    border-left: none;
    border-width: 1px;
}

.nav-tabs {
    /*border-bottom:none;*/
    border-bottom: solid #F1F1F1 5px;
    padding: 0 10px 0 10px;
}

    .nav-tabs .nav-link {
        color: black;
        /*padding-left: 2rem;
    padding-right: 2rem;*/
    }

.tabs .nav-link.active {
    color: white;
    /*background-color: #0075BB;*/
    border-color: #0075BB;
}


.btn-primary {
    /*background-color: #2B4373 !important;*/
    background: -moz-linear-gradient(50% 0.18% -90deg,rgba(26, 148, 208, 1) 0%,rgba(0, 91, 203, 1) 100%) !important;
    background: -webkit-linear-gradient(-90deg, rgba(26, 148, 208, 1) 0%, rgba(0, 91, 203, 1) 100%) !important;
    background: -webkit-gradient(linear,50% 0.18%,50% 94.25%,color-stop(0,rgba(26, 148, 208, 1) ),color-stop(1,rgba(0, 91, 203, 1) )) !important;
    background: -o-linear-gradient(-90deg, rgba(26, 148, 208, 1) 0%, rgba(0, 91, 203, 1) 100%) !important;
    background: -ms-linear-gradient(-90deg, rgba(26, 148, 208, 1) 0%, rgba(0, 91, 203, 1) 100%) !important;
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#1A94D0', endColorstr='#005BCB' ,GradientType=0)";
    background: linear-gradient(180deg, rgba(26, 148, 208, 1) 0%, rgba(0, 91, 203, 1) 100%) !important;
    border-radius: 9px 9px 0px 0px;
    -moz-border-radius: 9px 9px 0px 0px;
    -webkit-border-radius: 9px 9px 0px 0px;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1A94D0',endColorstr='#005BCB', GradientType=0);
    border-radius: 25px;
    padding-left: 2rem;
    padding-right: 2rem;
    color: white;
    display: inline-flex;
}

#seccionbotones {
    display: flex;
    align-items: center;
    justify-content: center;
}

    #seccionbotones li {
        margin-bottom: 1rem;
    }

    #seccionbotones ul {
        list-style-type: none;
        padding-left: 0;
        position: absolute;
        align-items: center;
        justify-content: center;
        top: 50%;
        /* margin-top: -206px; */
        transform: translate(0%, -50%);
    }
/*td a:before {*/
/*font-family: "FontAwesome";*/
/*content: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#0075bb" d="M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"/%3E%3C/svg%3E');*/
/*'\f278';*/
/*font-weight: bold;
    margin-right: 10px;
}*/
td a svg.mapaazul {
    margin-right: 10px;
    display: none;
    width: 20px;
}

td a svg.mapablanco {
    margin-right: 10px;
    display: block;
    width: 20px;
}

.chevron {
    display: none;
    width: 15px;
}

.btn-svg {
    background: none;
    border: none;
    /*margin-right: 5rem;*/
    width: 15rem;
    transition: width 0.5s;
    border: solid 1px gray;
    border-radius: 15px;
    padding: 20px;
}

    .btn-svg img {
        padding: 0 1rem 0 1rem;
        width: 80%;
    }

    .btn-svg:hover {
        width: 16rem;
    }
/*.btn-svg.selected{
        width: 17rem;
    }*/
.lbl-servidores {
    text-align: center;
    /*color: #4BA0FB;*/
    color: black;
}

.lbl-estudiantes {
    text-align: center;
    /*color: #00C4D2;*/
    color: black;
}

@keyframes fadeInAnimation {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeOutAnimation {
    100% {
        opacity: 1;
    }

    0% {
        opacity: 0;
    }
}

@keyframes rotation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(180deg);
    }
}

.bg-primary {
    color: #9A9999 !important;
    background: none !important;
}

td p, td strong {
    margin: 0;
    /*color:black;*/
}

table tbody td:nth-child(1) {
    font-weight: bolder;
}

@media only screen and (max-width : 900px) {
    table thead tr {
        display: none;
    }

    table thead tr {
        border: none;
    }

    .chevron {
        display: block;
    }

    table td:nth-child(2),
    table td:nth-child(3),
    table td:nth-child(4),
    table td:nth-child(5),
    table td:nth-child(6) {
        display: none;
        animation: fadeOutAnimation ease 1s;
        animation-iteration-count: 1;
        animation-fill-mode: forwards;
    }

    td.showMe {
        display: block !important;
        animation: fadeInAnimation ease 1s;
        animation-iteration-count: 1;
        animation-fill-mode: forwards;
    }

    table td:nth-child(1) {
        background: white;
        display: block;
        color: black;
        font-size: 12px;
        text-transform: uppercase;
        cursor: pointer;
        padding: 12px;
    }

    table tr {
        border-left: none;
        border-right: none;
        border-top: none;
    }

    table td:nth-child(1):hover {
        background: white;
    }

    table td:nth-child(2):before {
        content: '';
        font-weight: bold;
    }


    table td:nth-child(3):before {
        content: 'Recorrido: ';
        font-weight: bold;
        color: #0075BB;
    }

    table td:nth-child(3) {
        display: none;
    }

    table td:nth-child(4):before {
        content: 'Horarios: ';
        font-weight: bold;
        color: #0075BB;
        text-align: start;
    }

    table td:nth-child(5):before {
        content: 'Unidades: ';
        font-weight: bold;
        color: #0075BB;
    }

    table td:nth-child(6):before {
        content: 'Precio: ';
        font-weight: bold;
        color: #0075BB;
    }

    td.selected {
        background: white !important;
    }

    /* table td.selected:nth-child(1):before{
					content:' - '
				} */
    table td:nth-child(1) strong {
        width: 100%;
        position: relative;
        display: inherit;
        font-size: inherit;
    }

        /*table td:nth-child(1) strong:after {*/
        /*font-family: "FontAwesome";*/
        /* animation: rotation 0.5s normal linear; */
        /* animation: rotation 0.5s normal linear; */
        /*content: '\f078';*/
        /*content: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#0075bb" d="M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z"/%3E%3C/svg%3E');
            
            float: right;
            color: #0075BB;
        }*/
        table td:nth-child(1) strong svg {
            float: right;
        }

    /*table td:nth-child(1).selected strong:after {*/
    /* font-family: "FontAwesome"; */
    /*animation: rotation 0.5s normal forwards;*/
    /* content:'\f078'; */
    /*float: right;
        color: #0075BB;
    }*/
    table td:nth-child(1).selected strong svg {
        /* font-family: "FontAwesome"; */
        animation: rotation 0.5s normal forwards;
        /* content:'\f078'; */
        float: right;
        /*color: #0075BB;*/
    }

    td:nth-child(4) p {
        color: black;
        margin: 0;
        text-align: center;
        display: inline list-item;
        list-style-type: square;
    }

    .btn-svg {
        margin-right: auto;
        width: 7rem;
        height: 7rem;
        padding: 10px;
    }

    .lbl-servidores, .lbl-estudiantes {
        margin: 0;
        margin-top: 1rem;
    }

    .btn-svg:hover {
        width: 11rem;
    }

    .btn-svg.selected {
        width: 12rem;
    }
}
/* Estilos para el modo oscuro */
@media (prefers-color-scheme: dark) {
    :root {
        --background-color: #000;
        --text-color: #fff;
    }
}

html[data-theme='dark'] body {
    background: black;
}

html[data-theme='dark'] h1, html[data-theme='dark'] h4 {
    color: white;
}

html[data-theme='dark'] table {
    background-color: black;
    border: 1px solid black;
}

    html[data-theme='dark'] table th {
        background: black;
        color: white;
    }

html[data-theme='dark'] .nav-tabs .nav-link {
    color: white;
}

html[data-theme='dark'] table td:nth-child(1) {
    background: black;
    color: white;
}

html[data-theme='dark'] table td {
    border: none !important;
}

html[data-theme='dark'] table {
    background-color: black;
    border: none;
}

    html[data-theme='dark'] table th {
        background: black;
        color: white;
    }

html[data-theme='dark'] td.showMe {
    background: black;
    color: white !important;
}

html[data-theme='dark'] td.selected {
    background: black !important;
}

html[data-theme='dark'] td:nth-child(4) p {
    color: white !important;
}

html[data-theme='dark'] table thead th {
    background: black !important;
    color: white !important;
    border: none;
}

html[data-theme='dark'] table tbody td {
    background: black !important;
    color: white !important;
}

html[data-theme='dark'] .btn-primary {
    /*background-color: white !important;*/
    color: #2B4373;
}

html[data-theme='dark'] td a svg.mapaazul {
    margin-right: 10px;
    display: block;
}

html[data-theme='dark'] td a svg.mapablanco {
    margin-right: 10px;
    display: none;
}

html[data-theme='dark'] .lbl-servidores, html[data-theme='dark'] .lbl-estudiantes {
    color: white;
}

html[data-theme='dark'] .fbgg {
    background: #353839;
}

html[data-theme='dark'] .nav-tabs, html[data-theme='dark'] .tabs {
    border-bottom: 5px solid #353839;
}

html[data-theme='dark'] .sbgg {
    background: black;
}

html[data-theme='dark'] .cierreboton {
    color: black;
    background: white;
}

html[data-theme='dark'] .tabs {
    background: black;
    border-bottom: 4px solid #353839;
}

html[data-theme='dark'] .swiper-slide {
    background: black;
}

h1 {
    color: #233064;
    font-weight: bold;
    font-size: 22px !important;
}


.tab-content {
    display: flex;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.tab-pane {
    flex: 0 0 100%;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
}

    .tab-pane.active {
        transform: translateX(0);
        opacity: 1;
        position: relative;
    }

.slide-left {
    transform: translateX(-100%);
}

.slide-right {
    transform: translateX(100%);
}



/**/

.swiper-container {
    width: 100%;
    height: 100%;
    margin: 50px auto 0;
}

@media screen and (min-width: 800px) {
    .swiper-container {
        width: 70%;
        margin-left: 15%;
    }
}

.swiper-slide {
    background: #fff;
    color: #333;
    font-size: 1.8rem;
    min-height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.swiper-container-horizontal > .swiper-pagination {
    top: 0;
    bottom: auto;
}

    .swiper-container-horizontal > .swiper-pagination .swiper-pagination-bullet {
        margin: 0;
    }

.active-mark {
    background: #ffeb3b;
    width: 25%;
    height: 4px;
    position: absolute;
    left: 0;
    top: 52px;
    transition: left 0.2s ease-out;
}

/*.swiper-pagination-bullet {
    background-color: #00D42B;
    border-radius: 0;
    box-sizing: border-box;
    color: #0e8927;
    cursor: pointer;
    font-size: 1.6rem;
    font-weight: normal;
    opacity: 1;
    height: 56px;
    width: 25%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: font-weight 0.22s ease;
}

    .swiper-pagination-bullet:nth-of-type(1).swiper-pagination-bullet-active ~ .active-mark {
        left: 0%;
    }

    .swiper-pagination-bullet:nth-of-type(2).swiper-pagination-bullet-active ~ .active-mark {
        left: 25%;
    }

    .swiper-pagination-bullet:nth-of-type(3).swiper-pagination-bullet-active ~ .active-mark {
        left: 50%;
    }

    .swiper-pagination-bullet:nth-of-type(4).swiper-pagination-bullet-active ~ .active-mark {
        left: 75%;
    }

    .swiper-pagination-bullet:first-of-type.swiper-pagination-bullet-active ~ .active-mark {
        left: 0;
    }

.swiper-pagination-bullet-active {
    font-weight: bold;
}*/

.tabs {
    display: flex;
    justify-content: left;
    background: #fff;
    padding: 0 10px 0 40px;
    border-bottom: 4px solid #F1F1F1;
}

.tab {
    padding: 10px 20px;
    cursor: pointer;
    border: none;
    background: none;
    font-size: 16px;
}

    .tab.active {
        font-weight: bold;
        border-bottom: 2px solid #007bff;
    }

.swiper {
    width: 100%;
    /*height: 300px;*/
}

.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    background: #fff;
}

div.m-3 {
    font-size: 13px;
}
