/*------------------------------------
   ?FUENTES
------------------------------------*/

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../../fonts/SourceSansPro-Regular.woff2') format('woff2'),
        url('../../fonts/SourceSansPro-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Source Sans Pro';
    src: url('../../fonts/SourceSansPro-Bold.woff2') format('woff2'),
        url('../../fonts/SourceSansPro-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}








/*------------------------------------
   ?ESTILOS TABLERO
------------------------------------*/

:root {
    --colorAzul: #2DA6B1;
    --colorAzulOscuro: #1A8484;
    --colorTexto: #4D4D4D;
    --colorBlanco: #fff;

    --sidebar_width: 440px;
    --tongueButton_width: 22px;

    --fuente: 'Source Sans Pro', sans-serif;

    font-family: var(--fuente) !important;
    font-size: 18px;
}








/*------------------------------------
   ?GENERALES
------------------------------------*/

.overflow-auto {
    overflow: auto;
}

:focus,
button:focus {
    outline: none !important;
}






/*------------------------------------
   ?MIGA DE PAN
------------------------------------*/


.breadcrumbs {
    margin-bottom: 20px;
}

.breadcrumbs a {
    display: inline-block;
    color: var(--colorTexto);
    font-size: 18px;
}

.breadcrumbs a:hover {
    border-bottom: 2px solid hsl(0 0% 75% / 1);
    text-decoration: none;
}

.breadcrumbs .breadcrumbs_active {
    border-bottom: 2px solid #dddddd;
    text-decoration: none;
}









/*------------------------------------
   ?WELCOME
------------------------------------*/


.ttd__welcome {
    min-height: 100vh;
    background: var(--colorAzul) url(../../images/fondo.png);
    overflow-x: hidden;
    overflow-y: auto;
    display: grid;
    grid-template-rows: auto 1fr;
}


/* Header */

.ttd__dasHeader {
    background: var(--colorAzul) url(../../images/fondo.png) !important;
}

.ttd__welcomeHeader,
.ttd__dasHeader {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: hsla(0, 0%, 0%, .1);
}

.ttd__welcomeHeaderLogos,
.ttd__dasHeaderLogos {
    background-color: hsla(0, 0%, 0%, .3);
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
}

@media (max-width: 565px) {

    .ttd__welcomeHeader {
        flex-direction: column;
    }
}

.ttd__welcomeHeaderLogoTD,
.ttd__dasHeaderLogosTD {
    max-width: 50%;
    width: 300px;
    padding: 15px 15px 20px;
}

.ttd__welcomeHeaderLogoGobierno,
.ttd__dasHeaderLogosGobierno {
    max-width: 50%;
    width: 250px;
    padding: 10px 15px;
}



/*=== Navbar===*/

.ttd__navbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 15px;
}

@media (max-width: 767px) {
    .ttd__navbar {
        justify-content: center;
    }
}

.ttd__navbar a {
    display: inline-block;
    color: var(--colorBlanco);
    font-size: 18px;
    transition: background-color .3s;
    text-decoration: none;
    border-radius: 7px;
    padding: 5px 15px;
    margin: 5px;
}

.ttd__navbar a:hover {
    background-color: hsla(0, 0%, 0%, .3);
    text-decoration: none;
    border: none;
    color: #fff;
}

.ttd__navbar a:active {
    background-color: hsla(0, 0%, 0%, .3);
}

.ttd__navbarMenu {
    display: flex;
    align-items: center;
}


.ttd__navigation__logout a {
    display: inline-block;
    color: var(--colorTexto);
    font-size: initial;
    transition: none;
    text-decoration: none;
    border-radius: 0;
    padding: initial;
    margin: 10px 20px;
}

.ttd__navigation__logout a:hover {
    color: #7c7b7b;
    background-color: transparent;
}



/*=== Footer ===*/

.ttd__dasFooter {
    background: var(--colorAzul) url(../../images/fondo.png);
    padding: 15px;
}

.ttd__dasFooter img {
    width: 120px;
    margin: auto;
}



/*=== Content ===*/


.ttd__welcomeContent {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    position: relative;
}

@media (max-width: 767px) {
    .ttd__welcomeContent {
        height: 100%;
    }
}

.ttd__welcomeMap {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
}

@media (min-width: 992px) {
    .ttd__welcomeMap {
        width: calc(100% - var(--sidebar_width))
    }
}

@media (min-width: 767px) {
    .ttd__welcomeMap #map_canvas {
        height: 100% !important;
    }
}

.ttd__welcomeSidebarRight {
    display: flex;
    flex-direction: column;
    width: var(--sidebar_width);
    max-width: 90%;
    height: 100%;
    position: absolute;
    right: 0;
    transform: translateX(100%);
    z-index: 2;
    overflow-y: auto;
    transition: transform .5s, -webkit-transform .5s;
    background-color: var(--colorBlanco);
}

.ttd__welcomeSidebarRight--open {
    transform: translateX(0);
}

@media (min-width: 992px) {
    .ttd__welcomeSidebarRight {
        transform: translateX(0);
    }
}



/*=== Mapa===*/


.ttd__welcomeMap__header {
    display: flex;
    flex-wrap: wrap;
    background: var(--colorAzulOscuro);
    color: #fff;
    align-items: center;
    justify-content: center;
}

.ttd__welcomeMap__headerTotal {
    width: 45%;
    display: grid;
    align-items: center;
    text-align: center;
    padding: 15px;
    grid-template-areas: "a b";
    grid-gap: 20px;
    grid-auto-columns: auto;
}

@media (max-width: 767px) {
    .ttd__welcomeMap__headerTotal {
        width: 100%;
        padding-right: 45px;
    }
}

.ttd__welcomeMap__headerTotal h2 {
    font-size: 40px;
    line-height: 1;
    font-weight: bold;
    margin: 0;
}

.ttd__welcomeMap__headerTotal span {
    text-align: left;
    font-size: 18px;
    line-height: 1;
}

.ttd__welcomeMap__headerProgress {
    width: calc(100% - 45%);
    background: var(--colorAzul);
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 40px 10px 20px;
}

@media (max-width: 767px) {
    .ttd__welcomeMap__headerProgress {
        width: 100%;
        height: auto;
        align-items: center;
    }
}

.ttd__welcomeMap__headerProgress h3 {
    font-size: 18px;
    line-height: 1;
    font-weight: bold;
}

.ttd__welcomeMap__headerProgressList {
    font-size: 18px;
    line-height: 1;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.welcomeProgress {
    display: flex;
    margin-bottom: 10px;
    padding-left: 10px;
    padding-right: 10px;
}

.welcomeProgressColor {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    margin-right: 10px;
}

.welcomeProgressColor1 {
    background-color: #095dd8;
}

.welcomeProgressColor2 {
    background-color: #E3E024;
}

.welcomeProgressColor3 {
    background-color: #0BB013;
}


/* Map filter */

.ttd__welcomeMap__filter {
    display: flex;
    background: #fff;
    padding: 5px;
}

.ttd__welcomeMap__filter .dropdown {
    border-radius: 5px;
    border: 2px solid #1a8484 !important;
    width: calc(100% - 255px) !important;
}

.ttd__welcomeMap__filter-btn,
.ttd__welcomeMap__clear-filter-btn {
    background-color: #2da6b1;
    border: 2px solid #1a8484;
    color: #fff;
    border-radius: 5px;
    margin-left: 10px;
    font-weight: bold;
    transition: all .3s;
    padding: 5px;
}

.ttd__welcomeMap__filter-btn:hover,
.ttd__welcomeMap__clear-filter-btn:hover {
    background-color: #1a8484;
    border: 2px solid #2da6b1;
    color: #fff;
}

.ttd__welcomeMap__filter .bootstrap-select .dropdown-toggle:focus {
    outline: none !important;
    outline-offset: 0;
}

.ttd__welcomeMap__filter .bootstrap-select>.dropdown-toggle {
    line-height: 1.2;
    height: 37px;
}

.ttd__welcomeMap__filter .bs-searchbox .form-control {
    padding: 5px;
    height: 30px;
}

.ttd__welcomeMap__filter .dropdown-item {
    line-height: 1.2;
}

.ttd__welcomeMap__filter .dropdown-item.active,
.dropdown-item:active {
    background-color: #28959f;
    line-height: 1.2;
}

.bootstrap-select .dropdown-menu.show,
.bootstrap-select .dropdown-menu {
    transform: translate3d(0px, 37px, 0px) !important;
}

@media (max-width: 767px) {
    .bootstrap-select.show-menu-arrow.dropup .dropdown-toggle .filter-option:after {
        bottom: -4px !important;
        left: 10px;
        top: auto !important;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-bottom: 6px solid #fff !important;
    }

    .bootstrap-select .dropdown-menu.show,
    .bootstrap-select .dropdown-menu {
        width: 96vw;
    }
}


/* Tooltip */

.welcomeProgress {
    position: relative;
}

.welcomeProgressColor {
    cursor: pointer;
}

.welcomeProgressColor:hover::before {
    content: "";
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
    width: 90%;
    min-width: 330px;
    max-width: 350px;
    background: #1A8484;
    border-radius: 10px;
    text-align: center;
    color: #fff;
    padding: 15px 20px;
    line-height: 1.3;
    z-index: 1;
    filter: drop-shadow(1px 2px 0px #2da6b1);
}

.welcomeProgressColor1:hover::before {
    content: "Se ha implementado por lo menos una propuesta curricular de la estrategia pedagógica en Talento Digital para educación media - Fase I, se ha implementado de manera pasiva durante la emergencia (COVID) y no se usan constantemente, las áreas que utilizan los contenidos son los relacionados directmente con las propuestas (Tecnología e informatica y Matemáticas), los docentes que implementan las contenidos digitales son los mismos que recibieron la capacitación en el 2019 (No se vinculan nuevos docentes).";
}

.welcomeProgressColor2:hover::before {
    content: "Se ha implementado por lo menos una propuesta curricular de la estrategia pedagógica en Talento Digital para educación media - Fase I, se ha implementado de manera activa durante la emergencia (COVID), las áreas que utilizan los contenidos son los relacionados directamente con las propuestas (Tecnología e informatica y Matemáticas), se vinculan nuevos docentes para implementar las contenidos digitales en las asignaturas relacionadas y otras adicionales.";
}

.welcomeProgressColor3:hover::before {
    content: "Se ha implementado por lo menos una propuesta curricular de la estrategia pedagógica en Talento Digital para educación media - Fase I, se ha implementado de manera activa durante la emergencia (COVID), las áreas que utilizan los contenidos son los relacionados directamente con las propuestas (Tecnología e informatica y Matemáticas) y se adicionan nuevas asignaturas, se vinculan nuevos docentes para implementar las contenidos digitales en las asignaturas relacionadas y otras adicionales.";
}

.welcomeProgressColor:hover::after {
    content: "";
    position: absolute;
    left: 10px;
    top: 100%;
    width: 15px;
    height: 10px;
    background: #1A8484;
    -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}




/* Map footer */

.ttd__welcomeMap__footer {
    height: 65px;
    position: absolute;
    left: 0;
    bottom: 0;
    display: inline-flex;
    background-color: var(--colorAzulOscuro);
    padding: 15px 20px;
    max-width: 160px;
    z-index: 1;
}

.ttd__welcomeMap__footer:before {
    content: "";
    position: absolute;
    left: calc(100% - 20px);
    top: 0;
    width: 50px;
    height: 100%;
    background: #1a8484;
    transform: skewX(30deg);
    z-index: -1;
}

.ttd__welcomeMap__footer img {
    max-height: 100%;
    width: 200px;
}


/*=== Lista documentos ===*/


.ttd__welcomeSidebarRight__header {
    min-height: 70px;
    color: var(--colorAzulOscuro);
    text-align: left;
    position: sticky;
    top: 0;
    background-color: var(--colorBlanco);
    padding: 20px 20px 10px;
}

.ttd__welcomeSidebarRight h2 {
    color: var(--colorAzulOscuro);
    font-weight: bold;
    font-size: 30px;
}

.ttd__welcomeSidebarRight__list {
    padding: 10px 20px 20px;
}

.ttd__welcomeSidebarRight__list a.item-link {
    color: var(--colorTexto);
    padding: 10px 0;
    border-bottom: 1px dashed #CCCCCC;
    text-decoration: none;
    display: grid;
    grid-gap: 20px;
    grid-template-areas: "a b";
    grid-auto-columns: auto;
    align-items: center;
}

.ttd__welcomeSidebarRight__list a.item-link:first-child {
    border-top: 1px dashed #CCCCCC;
}

.ttd__welcomeSidebarRight__list a.item-link .total {
    font-weight: bold;
    text-align: right;
}

/*-- Boton --*/
.tongueButton:hover {
    cursor: pointer;
}

.tongueButton {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 70px;
    transform-origin: center center;
    transition: transform .3s, -webkit-transform .3s;
    padding: 0;
    background-color: #f3f3f3;
    border: 0;
    transition: all .5s;
}

@media (min-width: 992px) {
    .tongueButton {
        display: none;
    }
}

.tongueButton--open {
    right: var(--sidebar_width);
}

@media (max-width: 460px) {
    .tongueButton--open {
        right: calc(90%);
    }
}

.tongueButton__arrow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40%;
    transform: translate(-50%, -50%) rotate(0deg);
    transition: transform .6s, -webkit-transform .6s;
}

.tongueButton--open .tongueButton__arrow {
    transform: translate(-50%, -50%) rotate(180deg);
}

.tongueButton:focus {
    outline: none;
}








/*------------------------------------
   ?TARJETAS
------------------------------------*/

.ttd__cardGroup {
    display: flex;
    flex-flow: row wrap;
    margin: 30px auto !important;
}

.ttd__cardGroup>.card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 15px;
    margin: 15px;
    width: calc((100% / 3) - 30px);
    border: 1px solid #ccc;
    border-radius: 5px;
    text-align: center;
}

@media (max-width: 767px) {
    .ttd__cardGroup>.card {
        width: calc((100% / 2) - 30px);
    }
}

@media (max-width: 576px) {
    .ttd__cardGroup>.card {
        width: calc(100% - 30px);
        max-width: 350px;
        margin: 15px auto;
    }
}

.ttd__cardGroup>.card h1 {
    font-size: 20px;
    margin-bottom: 20px;
}

.ttd__cardGroup>.card a,
.ttd__btnCreate,
.ttd__btnImport {
    display: inline-block;
    background-color: #ddd;
    padding: 5px 30px;
    width: max-content;
    border-radius: 2rem;
    margin: 0 auto;
    transition: background-color .3s;
    text-decoration: none;
    color: #333;
    font-size: 18px;
}

.ttd__cardGroup>.card a:hover,
.ttd__btnCreate:hover,
.ttd__btnImport:hover {
    background-color: hsl(0 0% 75% / 1);
}



/* Contenedor */

.ttd__content {
    background-color: #fff;
}








/*------------------------------------
   ?TABLAS
------------------------------------*/

.ttd__contentList {
    padding: 30px;
}

.ttd__tableList {
    width: calc(100% - 5px);
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1);
}

.ttd__tableList tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, .05);
}

.ttd__tableList td,
.ttd__tableList th {
    border: 1px solid #e9ecef;
    color: #635757;
    padding: .75rem;
    vertical-align: top;
    border-left-width: 0;
    border-bottom-width: 0;
}

.ttd__tableList thead td,
.ttd__tableList thead th {
    border-bottom-width: 2px;
}

.ttd__header {
    background: #f3f3f3;
}

.ttd__headerTitle {
    font-weight: bold;
    line-height: 1.25;
    font-size: 1.25rem;
    padding: 15px 20px;
}









/*------------------------------------
   ?FORMULARIOS
------------------------------------*/


/* Create */

.ttd__formCreate {
    max-width: 630px;
    padding: 25px;
    margin: 30px auto;
    background-color: #fff;
    border: solid thin #fff;
    box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1);
    border-radius: 7px;
}

.ttd__formItem {
    display: flex;
    flex-flow: row;
    margin-bottom: 5px;
}

.ttd__formItem label {
    margin-bottom: .5rem;
    width: 100%;
    display: block;
    max-width: 220px;
}

.ttd__formItem input {
    height: auto;
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-image: none;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.ttd__formItem input:focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgb(243 243 243);
}

.ttd__formItem button,
.ttd__formItem input[type="submit"],
.ttd__importForm .ttd__formItem input[type="submit"] {
    display: inline-block;
    background-color: #ddd;
    padding: 5px 30px;
    width: max-content;
    border-radius: 2rem;
    margin: 20px auto 0;
    transition: background .3s;
    text-decoration: none;
    color: #333;
    font-size: 18px;
    cursor: pointer;
    text-transform: initial;
    letter-spacing: initial;
}

.ttd__formItem button:hover,
.ttd__formItem input[type="submit"]:hover,
.ttd__importForm .ttd__formItem input[type="submit"]:hover {
    background: hsl(0 0% 75% / 1);
}

.ttd__importForm .ttd__formItem input[type="submit"]:focus {
    box-shadow: none;
    border: none;
}



/* Import */

.ttd__import {
    max-width: 660px;
    padding: 25px;
    margin: 30px auto;
    background-color: #fff;
    border: solid thin #fff;
    box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1);
    border-radius: 7px;
}

.ttd__importTxt {
    word-break: break-all;
}

.ttd__importTxt p {
    margin-bottom: 10px;
}

.ttd__importTxt p>span {
    font-weight: bold;
}

.ttd__importForm {
    margin-top: 30px;
}

.ttd__importForm label {
    margin-bottom: .5rem;
    width: 100%;
    display: block;
    max-width: 140px;
}

.ttd__importForm .ttd__formItem input {
    border: none;
    padding: 0;
}


.ttd__importForm select {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #495057;
    border: 1px solid #ced4da;
    border-radius: .25rem;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.ttd__importForm select:focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgb(243 243 243);
}



/* Edit */

form.ttd__formEdit {
    max-width: 630px;
    padding: 25px;
    margin: 30px auto;
    background-color: #fff;
    border: solid thin #fff;
    box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.1);
    border-radius: 7px;
}






/*------------------------------------
   ?MODAL
------------------------------------*/


.modal iframe#contentFrameModal {
    height: 450px;
}

@media (max-width: 992px) {
    .modal iframe#contentFrameModal {
        height: 400px;
    }
}

.modal-header {
    padding: 10px 1rem;
}

.modal-title {
    color: var(--colorAzul);
    font-weight: bold;
}

.modal-footer a {
    color: inherit;
    border-bottom: 2px solid transparent;
}

.modal-footer a:hover {
    border-bottom: 2px solid hsl(0 0% 75% / 1);
    text-decoration: none;
}


.colegio__item {
    margin-bottom: 10px;
    border-bottom: 1px dashed hsl(0, 0%, 60%);
    padding-bottom: 10px;
}

.colegio__item h5 {
    margin-bottom: 3px;
}