/* GENERAL */

@font-face {
    font-family: "Avenir-Medium";
    src: url(../assets/fonts/Avenir-Medium-09.ttf);
    font-weight: normal;
}

@font-face {
    font-family: "Avenir-Black";
    src: url(../assets/fonts/Avenir-Black-03.ttf);
    font-weight: bold;
}

@font-face {
    font-family: "ZillaSlab-Regular";
    src: url(../assets/fonts/ZillaSlab-Regular.ttf);
    font-weight: normal;
}

@font-face {
    font-family: "ZillaSlab-Regular";
    src: url(../assets/fonts/ZillaSlab-Bold.ttf);
    font-weight: bold;
}

@font-face {
    font-family: "AvenirNextCondensed";
    src: url(../assets/fonts/AvenirNext-Regular-08.ttf);
    font-weight: normal;
}

@font-face {
    font-family: "AvenirNextCondensed";
    src: url(../assets/fonts/AvenirNext-Bold-01.ttf);
    font-weight: bold;
}

@font-face {
    font-family: "AvenirNextCondensed";
    src: url(../assets/fonts/AvenirNext-Italic-05.ttf);
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: "AvenirNextCondensed";
    src: url(../assets/fonts/AvenirNext-BoldItalic-02.ttf);
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: "AvenirNextCondensed-DemiBold";
    src: url(../assets/fonts/AvenirNext-DemiBold-03.ttf);
    font-weight: bold;
}
/* Ocultar placeholder para pantallas grandes */

@media (min-width:1025px) and (min-width:1281px) {
        ::-webkit-input-placeholder {
        /* WebKit browsers */
        color: transparent !important;
    }
        :-moz-placeholder {
        /* Mozilla Firefox 4 to 18 */
        color: transparent !important;
    }
        ::-moz-placeholder {
        /* Mozilla Firefox 19+ */
        color: transparent !important;
    }
        :-ms-input-placeholder {
        /* Internet Explorer 10+ */
        color: transparent !important;
    }
    input::placeholder {
        color: transparent !important;
    }
    textarea::-webkit-input-placeholder {
        /* WebKit browsers */
        color: transparent !important;
    }
    textarea:-moz-placeholder {
        /* Mozilla Firefox 4 to 18 */
        color: transparent !important;
    }
    textarea::-moz-placeholder {
        /* Mozilla Firefox 19+ */
        color: transparent !important;
    }
    textarea:-ms-input-placeholder {
        /* Internet Explorer 10+ */
        color: transparent !important;
    }
    textarea::placeholder {
        color: transparent !important;
    }
}

.container-fluid.px-5 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

@media (min-width: 1400px) {
    .container-fluid.px-5 {
        padding-left: 6rem !important;
        padding-right: 6rem !important;
    }
}

body {
    font-family: "Avenir-Medium";
    font-weight: normal;
    font-size: calc(12px + 0.25vw);
}

body p,
body ul li,
body ol li {
    font-family: "AvenirNextCondensed";
}

strong,
b {
    font-family: "Avenir-Medium";
}

main {
    min-height: 40vh;
}

.modal {
    background-color: rgba(255, 255, 255, 0.8);
}

.modal-dialog {
    max-width: 1100px;
    top: 20%;
}

.modal-content {
    border: none;
}

.modal-header {
    padding: 1.5rem 1rem 1rem;
    border-bottom: 1px solid #000;
}

.modal-body {
    padding: 0.937rem 0;
}

.modal-document {
    max-width: 70%;
    margin: auto;
}

.modal-title {
    width: 100%;
    text-align: center;
    color: var(--color-article);
    font-family: 'ZillaSlab-Regular';
    font-size: calc(25px + 0.5vw);
    letter-spacing: 0.1vw;
}

#largeModal h4 {
    font-size: calc(16px + 0.7vw);
    color: #ce6b2f;
    font-family: "ZillaSlab-Regular";
    font-weight: normal;
}

.modal-doc-subtitle {
    font-family: "Avenir-Medium";
    font-size: calc(18px + 0.2vw);
    letter-spacing: 0.1vw;
}

.pointer { cursor: pointer; }

.iconUP {
    background: #d07138;
    width: 50px;
    height: 50px;
    opacity: 0;
}

.iconUP.visible-arrow {
    position: fixed;
    right: 45px;
    bottom: 45px;
    opacity: 1;
    -webkit-transition: opacity 0.75s;
    -moz-transition: opacity 0.75s;
    -o-transition: opacity 0.75s;
    transition: opacity 0.75s;
}

@media (max-width: 768px) {
    .iconUP {
        width: 35px;
        height: 35px;
    }
    .iconUP.visible-arrow {
        right: 0px;
    }
}

.icon-modal-document {
    width: 30px !important;
    height: 30px !important;
    padding: 5px;
}

.form-inline .expansive {
    flex-grow: 1
}

.form-control:focus {
    box-shadow: none;
    color: inherit;
}

button,
.btn {
    letter-spacing: 0.1vw !important;
    font-size: calc(10px + 0.1vw) !important;
    padding: 5px 15px !important;
}

/* header */

header .toolbar .row-login-form {
    width: 100%;
}

.header_name span { color: #001136; }
header .ajax-logout-session {
    background:#E7783F;
    border-color:#E7783F;
}

header .toolbar label,
header .toolbar input:not([type='text']),
header .toolbar a,
header #header_buscador a {
    font-size: calc(10px + 0.2vw);
    line-height: 0.938vw;
    color: #82a27b;
    text-transform: uppercase;
}

header .toolbar a:hover {
    color: #36495e;
}

header .background {
    min-height: 125px;
}

header .logo-semfyc {
    max-width: 150px;
    width: 100%;
}

.banner-cursos {
    margin-right: -6rem;
    margin-left: -6rem;
    width: -webkit-fill-available;
}

@media (max-width: 768px) {
    header .background {
        background-position-x: left;
        min-height: 80px;
    }
    header .toolbar label,
    header .toolbar input:not([type='text']),
    header .toolbar a,
    header #header_buscador a {
        font-size: calc(10px + 0.34vw);
        line-height: calc(10px + 0.34vw);
    }
}

header .navigation {
    background-color: #E7783F;
    min-height: 2.344vw;
}

header nav a {
    color: white;
    font-size: calc(12px + 0.08vw);
    letter-spacing: 0.05vw;
    line-height: calc(12px + 0.15vw);
    text-transform: uppercase;
    text-decoration: none;
}

header nav :is(a:hover, a.active) {
    color: #36495e;
}

header nav .sub-menu {
    display: none;
    width: 100%;
    position: absolute;
    margin-top: 10px;
    left: 0px;
    background-color: white;
    z-index: 9;
    column-count: 3;
    -moz-box-shadow: 0 40px 40px -25px rgba(0, 0, 0, .75);
    -webkit-box-shadow: 0 40px 40px -25px rgba(0, 0, 0, .75);
    box-shadow: 0 40px 40px -25px rgba(0, 0, 0, .75);
    padding-left: 6rem;
    padding-right: 6rem;
}

header nav .has-submenu:hover .sub-menu {
    display: flex;
}

header nav .has-submenu.sections:hover .sub-menu {
    display: block;
}

header nav .sub-menu a {
    color: #1d1d1b;
    line-height: calc(12px + 1vw);
    margin-left: -20px;
    text-indent: 20px;
}

header nav .sub-menu a:is(:hover, .active) {
    color: var(--section-hover);
}

.header_auth_menu #login_nav {
    max-width: 1000px;
}

header input {
    outline: 0 !important;
    border-width: 0 0 2px !important;
    border-color: #82a27b !important;
}

header input:focus {
    border-color: #82a27b !important;
}

header span.separator {
    color: white;
}

form#search_form label {
    font-family: 'Avenir-Black';
}

.bloque_login {
    position: absolute;
    width: 100%;
    z-index: 1;
    background: white;
    top: -100px;
    min-height: 39px;
    transition: top 0.4s ease 0s;
}

@media (max-width: 768px) {
    .bloque_login {
        transition: top 0.4s ease 0s;
        top: -230px;
    }
}

.bloque_login.show {
    transition: top 0.4s ease 0s;
    top: 0px;
}

.font-italic {
    font-style: italic;
}

/* BREADCUMBS */
.breadcrumb li {
    font-size: calc(10px + 0.25vw);
}

.breadcrumb :is(a, span) {
    text-transform: uppercase;
    color: #5d5d5d;
}

/* FOOTER */
footer .socked #socked_menu {
    border-top: 2px solid white;
}

footer #footer_menu {
    margin-left: 13.4%;
}

footer a {
    color: #ffffff;
    text-decoration: none;
}

footer .col-footer-1 {
    width: 32%;
}

footer .col-footer-2 {
    width: 42%;
}

footer .col-footer-3 {
    width: 25%;
}

footer .inner-container {
    padding: 35px 0;
}

footer .separator {
    margin-top: 5px;
}
/* body */



@media print {
    header,
    .breadcrumb,
    .section-related-articles,
    footer {
        display: none !important;
    }
}


/** SEARCH **/

.text-selected {
    background-color: yellow;
}
/************/

@media (max-width: 1024px) {
    .container-fluid.px-5 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

@media (max-width: 770px) {
    header nav a {
        color: white;
        font-size: 2vh;
        line-height: 3vh;
    }
    button {
        font-size: calc(12px + 0.1vw) !important;
        padding: 2px 12px !important;
    }
}

@media (max-width: 1024px) {
    h2,
    .h2 {
        font-size: 25px;
        line-height: 26px;
    }
}

@media (max-width: 768px) {
    /* Ipad vertical */
    h2,
    .h2 {
        font-size: 25px;
        line-height: 26px;
    }

    .course-div {
        text-align-last: left !important;
      }
}

@media (max-width: 480px) {
    /*Mobile*/
    h2,
    .h2 {
        font-size: 25px;
        line-height: 26px;
    }
}

/* LOGIN */
.title-login {
    font-size: 1.771vw;
}

/* HOME */
.square-platform {
    border-radius: 5px;
    box-shadow: 0 0 10px rgb(0 0 0 / 15%);
    transition: all .3s ease-out 0s;
}

/* CARD COURSES */
.card-text label { font-weight: bold; }
.card-text p { display: inline; }

/* FORM */
.select2-selection.select2-selection--single {
    height: calc(1.5em + 0.75rem + 2px) !important;
    padding: 0.2rem 0.8rem;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1;
    color: #495057;
    background-clip: padding-box;
    border: 1px solid #ced4da !important;
    border-radius: 0 !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.nav-form .nav-link:not(.disabled) {
    color: #ffffff;
    background-color: #e8deca;
    cursor: pointer;
}

.nav-form .nav-link.active {
    background-color: #E7783F;
    color: white;
}

.nav-form .nav-link.disabled {
    background-color: #e8ebf1;
}

.custom-file-label::after {
    content: 'Subir';
}
/******/

/* DATEPICKER */
div.datepicker {
    border: 1px solid lightgray;
}

:is(.datepicker-days, .datepicker-months, .datepicker-years) .active {
    background-image: linear-gradient(to bottom, #d07138, #d07138);
}

.datepicker table tr td.today, .datepicker table tr td.today:hover, .datepicker table tr td.today.disabled, .datepicker table tr td.today.disabled:hover {
    background-color: white !important;
    background-image: linear-gradient(to bottom, #ffffff, #ffffff) !important;
}
/******/

/* FILTERS */
.knobs, .layer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.button {
    position: relative;
    width: 50px;
    height: 25px;
    overflow: hidden;
}

.button.r, .button.r .layer { border-radius: 100px; }

.button.b2 { border-radius: 2px; }

.checkbox {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 3;
}

.knobs { z-index: 2; }

.layer {
    width: 100%;
    background-color: #e8deca;
    transition: 0.3s ease all;
    z-index: 1;
}

.button-switcher .knobs:before {
    content: "  ";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 18px;
    height: 10px;
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    padding: 9px 4px;
    background-color: white;
    border-radius: 50%;
    transition: 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15) all;
}

.button-switcher .checkbox:checked + .knobs:before {
    content: "  ";
    left: 25px;
    background-color: #E7783F;
}

.button-switcher .knobs, .button-switcher .knobs:before, .button-switcher .layer { transition: 0.3s ease all; }

/** LOGIN - LOGOUT **/
.login-logout {
    height: 70vh;
}
  
.login-logout .spinner {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 4px solid #ccc;
    border-top-color: #333;
    animation: spin 1s infinite ease-in-out;
}
  
.login-logout .text {
    margin-left: 10px;
    font-weight: bold;
    font-size: 18px;
}
  
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
/******/

/*** INPUT RANGE ***/

.input-range {
    width: 100%;
    -webkit-appearance: none;
}

.input-range::-webkit-slider-runnable-track { background-color: #E7783F30; }
.input-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    background: #E7783F;
    height: 15px;
    width: 20px;
}
.input-range::-moz-range-thumb { background-color: #E7783F30; }
.input-range::-ms-track { background: transparent; }
.input-range::-ms-fill-upper { background: #eee; }
  
.input-range::-ms-fill-lower {
    background: #e1e1e1;
    border-radius: 10px; 
}
.range-datalist option { margin-left: 5px; }
.range-datalist option::before {
    content: '';
    display: block;
    width: 0;
    height: auto;
    padding-left: 3px;
    text-indent: 0;
}
/******/

/*** RESPONSIVE ***/

@media(max-width:576px){
    table {
        display: block;
        overflow-x: scroll;
    }
}

/******/

/** img profile **/

.img-profile-header {
    width: 50px;
    height: auto;
    position: absolute;
    top: 10px;
    left: 25px;
}

.img-profile, .img-profile-header {
    border-radius: 100%;
}

.info-role {
    /*font-size: calc(8px + 0.1vw) !important;
    padding: 3px 8px!important;
    border-radius: 10px !important;
    align-self: center;
    */
    cursor: default !important;
    opacity: 0.8 !important;
    background-color: #297ca5 !important;
    border-color: #2f7395 !important;
    
}

.info-no-abierto {
    /*font-size: calc(8px + 0.1vw) !important;
    padding: 3px 8px!important;
    border-radius: 10px !important;
    margin-right: 2px;
    align-self: center;
    */
    cursor: default !important;
    opacity: 0.8 !important;
    background-color: #818181 !important;
    border-color: #818181 !important;
    
}

.datepicker.datepicker-dropdown {
    padding: 10px;
    width: 25%;
    max-width: 320px;
    min-width: 250px;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05);
  }
  .datepicker.datepicker-dropdown .datepicker-days {
    padding: 0;
  }
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed {
    width: 100%;
  }
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th {
    text-align: center;
    padding: 0.5rem 0;
  }
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.prev {
    color: #000;
    padding-bottom: 1rem;
    padding-top: 1rem;
    background: #ffffff;
  }
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.datepicker-switch {
    color: #000;
    background: #ffffff;
    padding-bottom: 1rem;
    padding-top: 1rem;
    font-size: 1rem;
    font-weight: 600;
  }
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.next {
    color: #000;
    padding-bottom: 1rem;
    padding-top: 1rem;
    background: #ffffff;
  }
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed thead tr th.dow {
    font-family: "Overpass", sans-serif;
    color: #000;
    font-size: 0.875rem;
    font-weight: initial;
  }
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody {
    position: relative;
    top: 13px;
  }
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td {
    text-align: center;
  }
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day {
    font-size: 0.9375rem;
    padding: 0.5rem 0;
    color: #000;
  }
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day:hover {
    background: #ffffff;
  }
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day.active {
    color: #fff;
    background: transparent;
    position: relative;
    z-index: 1;
    text-shadow: none;
  }
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.day.active:before {
    content: "";
    width: 28px;
    height: 25px;
    background: #66d1d1;
    text-shadow: none;
    border-radius: 2px;
    display: block;
    margin: auto;
    vertical-align: middle;
    position: absolute;
    top: 6px;
    z-index: -1;
    left: 0;
    right: 0;
  }
  
  .datepicker.datepicker-dropdown .datepicker-days table.table-condensed tbody td.old.day {
    color: #d9dde3;
  }
  .datepicker > div {
    display: initial;
    padding: 0.375rem 0.75rem;
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    text-align: center;
    white-space: nowrap;
    border-radius: 2px;
  }
  .datepicker.input-group {
    padding: 0;
    border: 1px solid #e8ebf1;
  }
  .datepicker.input-group .form-control, .datepicker.input-group .typeahead,
  .datepicker.input-group .tt-query,
  .datepicker.input-group .tt-hint, .datepicker.input-group .select2-container--default .select2-selection--single .select2-search__field, .select2-container--default .select2-selection--single .datepicker.input-group .select2-search__field, .datepicker.input-group .select2-container--default .select2-selection--single, .select2-container--default .datepicker.input-group .select2-selection--single, .datepicker.input-group select, .datepicker.input-group .email-compose-fields .select2-container--default .select2-selection--multiple, .email-compose-fields .select2-container--default .datepicker.input-group .select2-selection--multiple {
    border: 0;
  }
  .datepicker.input-group .input-group-addon {
    padding: 0 10px;
    border-left: 1px solid #e8ebf1;
    display: flex;
    align-items: center;
  }
  .datepicker.input-group .input-group-addon svg {
    width: 18px;
    color: #686868;
  }
  
  .datepicker-dropdown:after {
    border-bottom-color: #fff;
  }
  .datepicker-dropdown:before {
    border-bottom-color: #e8ebf1;
  }
  .datepicker-dropdown.datepicker-orient-top:before, .datepicker-dropdown.datepicker-orient-top:after {
    top: auto;
  }
  .datepicker-dropdown.datepicker-orient-top:after {
    border-top-color: #fff;
  }
  .datepicker-dropdown.datepicker-orient-top:before {
    border-top-color: #e8ebf1;
  }

  .course-div {
    text-align-last: right;
  }

.article-color {
    color: var(--color-article);
}

span.fecha-fin {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: grey;
}
/******/