@import 'swiper-bundle.min.css';
@import 'style_dist.css';


/* ==========================================================================
    GENERAL LAYOUT
    ========================================================================== */
.wrapper {
    display: flex;
    min-height: 100vh;
    position: relative;
    flex-direction: column;
    justify-content: space-between;
}

.content {
    flex-grow: 1;
}

/* Used to move some sections upwards and put them on top of background*/
.upper {
    margin-top: -80px;
    z-index: 100;
    position: relative;
}


/* ==========================================================================
    RESPONSIVE UTILITIES
    ========================================================================== */
.mobile {
    display: none;
}

.desktop {
    display: inherit;
}

/* Mobile visibility controls seen in menu-lang.php */
@media screen and (max-width: 51.2em) {
    .mobile {
        display: inherit;
    }

    .desktop {
        display: none;
    }
}


/* ==========================================================================
    FORM ELEMENTS
    ========================================================================== */
.jqibutton {
    background-color: transparent;
}

.form-check-input {
    /* FOR DEBUGGING */
    float: left !important;
    /* Checkbox appear to the right otherwise */
}

/* Example: Login form */

.select-dropdown select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 2rem;
    background-image: url('data:image/svg+xml;charset=UTF-8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 10"><path fill="%23888" d="M15 10L0 0h30z"/></svg>');
    background-repeat: no-repeat;
    background-position: center right;
    background-size: 10px 10px;
}

label {
    margin-bottom: 4px;
}

.label {
    background: none;
    padding: 0;
    color: initial;
    display: block;
    color: #999;
    text-transform: uppercase;
    font-size: 75%;
}

#card-element {
    height: 2.4375rem;
    margin: 0 0 1rem;
    padding: 0.5rem;
    border: 1px solid #cacaca;
    border-radius: 4px;
}



/* ==========================================================================
    ICONS AND VISUAL ELEMENTS
    ========================================================================== */
.icon {
    position: relative;
    padding-left: 32px;
}

.icon span {
    position: absolute;
    top: 8px;
    left: 12px;
    font-size: 120%;
}

.circle {
    width: 32px;
    height: 32px;
    text-align: center;
    /*background:#0078da;*/
    border-radius: 16px;
    display: inline-block;
    padding-top: 2px;
}

.circle.small {
    width: 24px;
    height: 24px;
    padding-top: 0;
}

.circle span {
    font-size: 120%;
    color: #fff;
}

.circle.small span {
    font-size: 90%;
    color: #fff;
}

.icon-feat {
    margin: 0 auto;
    max-width: 120px;
    display: block;
    padding: 0 0 11px 0;
}

.icon-feat-academy {
    margin: 0 auto;
    max-width: 70%;
    display: block;
    padding-top: 30px;
}

.centre-qa {
    margin: 0 auto;
    max-width: 48px;
    display: block;
}


/* ==========================================================================
    TABS AND ACCORDION
    ========================================================================== */
.tabs {
    border: none;
    border-bottom: 1px solid #e6e6e6;
    margin-bottom: 16px;
}

.tabs-title>a {
    font-size: 0.85rem;
}

div.accordion.background-transparent button.accordion-button {
    background-color: transparent;
}

div.accordion .accordion-header {
    background-color: transparent;
}

div.accordion .accordion-item {
    background-color: transparent;
}

.accordion-title {
    font-size: 1rem;
}


/* ==========================================================================
    ORBIT SLIDER
    ========================================================================== */
.orbit {
    z-index: 0;
}

.orbit-slide {
    min-height: 600px;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    text-align: center;
}

.deg {
    background: rgba(216, 227, 236, 1);
    background: -moz-linear-gradient(top, rgba(216, 227, 236, 1) 10%, rgba(216, 227, 236, 0) 47%);
    background: -webkit-gradient(left top, left bottom, color-stop(10%, rgba(216, 227, 236, 1)), color-stop(47%, rgba(216, 227, 236, 0)));
    background: -webkit-linear-gradient(top, rgba(216, 227, 236, 1) 10%, rgba(216, 227, 236, 0) 47%);
    background: -o-linear-gradient(top, rgba(216, 227, 236, 1) 10%, rgba(216, 227, 236, 0) 47%);
    background: -ms-linear-gradient(top, rgba(216, 227, 236, 1) 10%, rgba(216, 227, 236, 0) 47%);
    background: linear-gradient(to bottom, rgba(216, 227, 236, 1) 10%, rgba(216, 227, 236, 0) 47%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#d8e3ec', endColorstr='#d8e3ec', GradientType=0);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
}

.slide-content {
    margin: 0 auto;
    max-width: 800px;
}

.slide-content p {
    color: #fff;
}

.slide-content blockquote {
    padding-top: 260px;
    color: #fff;
    border: 0;
    font-weight: 300;
    font-size: 200%;
    line-height: 1.4;
}

.reference-profile .orbit-slide {
    min-height: 0px;
}

.reference-profile .slide-content {
    max-width: 100%;
}

.reference-profile .slide-content p {
    color: #999;
}

.reference-profile .orbit-previous,
.reference-profile .orbit-next {
    line-height: inherit;
    color: #2ba6cb;
    text-decoration: none;
    cursor: pointer;
}

.reference-profile .orbit-previous:hover,
.reference-profile .orbit-next:hover,
.reference-profile .orbit-previous:focus,
.reference-profile .orbit-next:focus {
    color: #258faf;
    background-color: rgba(255, 255, 255, 0.5);
}


/* ==========================================================================
    STARS AND RATINGS
    ========================================================================== */
.stars {
    margin: 0;
    padding: 0;
    display: inline-block;
}

.stars li {
    width: 24px;
    height: 24px;
    display: inline-block;
}

.stars li.star {
    background: url(../img/star.svg);
}

.stars li.star-active {
    background: url(../img/star-active.svg);
}

.stars li.star-middle {
    background: url(../img/star-middle.svg);
}

.stars.small li {
    width: 12px;
    height: 12px;
}

.stars.medium li {
    width: 16px;
    height: 16px;
}

.stars-review {
    margin-top: 8px;
    margin-bottom: 8px;
}


/* ==========================================================================
    COURSE ELEMENTS
    ========================================================================== */
.course {
    width: 100%;
    padding-bottom: 8px;
    border-bottom: solid 1px #ededed;
    border-right: solid 1px #ededed;
    margin-bottom: 16px;
}

.course h3 {
    color: #0078da;
    margin-bottom: 2px;
}

.course p {
    margin-bottom: 0;
}

.course .credential {
    position: relative;
    padding-left: 0;
    padding-right: 0;
    min-height: 106px;
}

.course .credential img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

.course .credential img.level1 {
    left: 25%;
}

.course .credential img.level2 {
    left: 75%;
}

.course hr {
    margin: 0 auto 0.5rem;
    border-bottom: 1px solid #ededed;
}

.course .button {
    margin-top: 4px;
}


/* ==========================================================================
    PROFILE BOXES
    ========================================================================== */
.box-profile h1 {
    font-size: 140%;
    line-height: 1.3;
}

.box-profile h2 {
    font-size: 120%;
    color: var(--font-contrast-highest);
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 16px;
}

.box-profile h3 {
    font-size: 100%;
    color: var(--font-contrast-medium);
    font-weight: 600;
}

.extend-cred {
    position: absolute;
    color: var(--font-color-primary);
    font-size: 200%;
    top: -56px;
    right: -12px;
}

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

.profile-data p {
    margin-bottom: 4px;
}

.location .flag-icon {
    margin: 0;
    margin-right: 8px;
    border-radius: 2px;
}

.user-pro .bp-certs,
.bp-top {
    border-bottom: solid 1px #ededed;
}

.bp-top-left {
    border-right: solid 1px #ededed;
}

.bp-top-center {
    border-right: solid 1px #ededed;
}

.bp-medium-left {
    border-right: solid 1px #ededed;
}

.eval-level {
    display: inline-block;
    width: 16px;
}

.test-languages {
    width: 70px;
    height: 70px;
    position: absolute;
    right: 0;
    top: 0;
    border-top-right-radius: 4px;
}


/* ==========================================================================
    CERTIFICATION ELEMENTS
    ========================================================================== */
.level {
    margin-bottom: 24px;
}

.pdas {
    line-height: 1;
    margin-bottom: 0;
}

big {
    font-size: 240%;
    font-weight: 900;
}

.cert {
    width: 115px;
    display: inline-block;
}

.certs img {
    margin: 0 16px 16px 0;
}


/* ==========================================================================
    LISTS
    ========================================================================== */
ul.list li {
    list-style: none;
    margin-bottom: 8px;
}

footer ul.list li {
    margin-bottom: 2px;
}

ul.list-inline li {
    display: inline-block;
}


/* ==========================================================================
    PAGINATION
    ========================================================================== */
.pagination .current {
    background: #fff;
    color: #999;
}

.pagination a,
.pagination button {
    color: #999;
}


/* ==========================================================================
    IMAGES AND MEDIA
    ========================================================================== */
.upload-wrap,
.image-wrap {
    width: 400px;
    height: 400px;
    margin: 0 auto;
    margin-bottom: 1rem;
}

.image-wrap {
    width: 300px;
    height: 300px;
}

.reference-edit .image-wrap {
    width: 420px;
    height: 180px;
}

.upload-wrap.reference {
    text-align: center;
    margin-bottom: 7rem;
}

.upload-wrap.reference a {
    margin-top: 0.75rem;
}


.suitable img {
    max-width: 48px;
}


/* ==========================================================================
    TEXT STYLES
    ========================================================================== */
.long-text p {
    text-align: justify;
}

.detail {
    text-transform: uppercase;
    font-size: 90%;
}

.color01 {
    color: #0078da;
}

.color02 {
    color: #526183;
}


/* ==========================================================================
    JOB ELEMENTS
    ========================================================================== */
.add-job,
.delete-job {
    font-size: 150%;
    display: flex;
    justify-content: left;
    align-items: center;
    height: 100%;
}


/* ==========================================================================
    REVIEWS
    ========================================================================== */
.review {
    margin-bottom: 24px;
}

.user {
    margin-bottom: 4px;
}


/* ==========================================================================
    PARTNER ELEMENTS
    ========================================================================== */
.partner {
    margin-top: 16px;
    margin-bottom: 4px;
    text-align: center;
}

.partner img {
    max-width: 180px;
}


/* ==========================================================================
    PROCESSING OVERLAY
    ========================================================================== */
.processing-overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    text-align: center;
    padding: 50px;
    display: none;
    z-index: 999999;
}

.processing-overlay img {
    display: block;
    margin: auto;
}


/* ==========================================================================
    GRID ADJUSTMENTS
    ========================================================================== */
.grid-container {
    max-width: 96em;
}

.scroll-infinite:not(.full) .grid-padding-x {
    margin-right: -0.9375rem;
    margin-left: -0.9375rem;
}

.no-margin {
    margin: 0 !important;
}


/* ==========================================================================
    INFO LINK STYLES
    ========================================================================== */
.info-link img {
    display: block;
    margin: 0 auto 2px auto;
}

.info-link span {
    float: left;
    width: 100%;
    text-align: center;
}


/* ==========================================================================
    TABLE STYLES
    ========================================================================== */
table i.alert {
    color: #c60f13;
}

table i.success {
    color: #5da423;
}

table i.warning {
    color: #ffae00;
}


/* ==========================================================================
    EXPANDABLE CONTENT
    ========================================================================== */
.expandable {
    position: relative;
    max-height: 120px;
    /* valor por defecto */
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
}

#courses-container .expandable {
    max-height: 400px;
    /* valor por defecto */
}

.expandable.expanded {
    max-height: 2000px !important;
}

.expandable:after {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    content: "";
    background: linear-gradient(to top,
            rgba(255, 255, 255, 0.55) 0,
            rgba(255, 255, 255, 0) 36px);
    pointer-events: none;
    /* so the text is still selectable */
    transition: opacity 0.3s ease-in-out;
}

.expandable.expanded:after {
    display: none;
}

.expand-arrow {
    position: relative;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 20px;
    height: 20px;
    border-right: 3px solid #0078da;
    border-bottom: 3px solid #0078da;
    opacity: 0.6;
    z-index: 999;
}

.expand-arrow:hover {
    cursor: pointer;
}

.expand-arrow {
    -webkit-animation: slide-expand 1s linear infinite;
    animation: slide 1s linear infinite;
}

@-webkit-keyframes slide-expand {
    0% {
        opacity: 0;
        transform: translateY(0px) rotate(45deg);
    }

    50% {
        opacity: 1;
        transform: translateY(5px) rotate(45deg);
    }

    100% {
        opacity: 0;
        transform: translateY(0px) rotate(45deg);
    }
}

@keyframes slide-expand {
    0% {
        opacity: 0;
        transform: translateY(0px) rotate(45deg);
    }

    50% {
        opacity: 1;
        transform: translateY(5px) rotate(45deg);
    }

    100% {
        opacity: 0;
        transform: translateY(0px) rotate(45deg);
    }
}

.expand-arrow.active {
    -webkit-transform: rotate(225deg);
    -moz-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
    ;
    -webkit-animation: none;
    animation: none;
}


/* ==========================================================================
    MEDIA QUERIES
    ========================================================================== */
@media screen and (max-width: 51.2em) {
    ul.lan {
        margin-left: 0;
    }

    ul.lan li a {
        padding: 16px 4px;
    }

    .logo {
        float: none;
        display: block;
    }

    .menu a,
    .dropdown.menu>li>a,
    .dropdown.menu>li>a:hover,
    .dropdown.menu>li.is-active>a {
        padding: 13px 8px;
    }

    .dropdown.menu>li>a,
    .dropdown.menu>li>a:hover,
    .dropdown.menu>li.is-active>a {
        padding: 13px 32px 12px 8px !important;
    }

    .menu a.logout {
        padding: 13px 8px;
    }

    footer .inner {
        padding: 16px 0px 0px;
    }

    footer .inner ul {
        margin-bottom: 0rem;
    }

    .image-wrap {
        max-width: 100%;
    }

    .code {
        word-break: break-word;
    }

    .box-profile.center-profile .inner,
    .box-profile.reference-profile .inner {
        padding: 24px;
    }
}

@media screen and (max-width: 40em) {
    footer {
        height: auto;
        position: relative;
    }

    .wrapper {
        padding-bottom: 0;
    }

    .box .inner,
    .box-profile .inner {
        padding: 16px;
    }

    .menu-v-icon li {
        display: inline-block;
        width: 33.3333%;
    }

    .menu-v-icon li a {
        min-height: 100px;
    }

    .table-radio td {
        display: block;
    }

    .table-radio td.radio {
        display: inline-block;
    }

    .course .credential {
        position: inherit;
        padding-left: 0;
        padding-right: 0;
    }

    .course .credential img {
        position: inherit;
        transform: none;
    }

    .course .credential img.level1 {
        left: 0;
        transform: none;
    }

    .course .credential img.level2 {
        right: 0;
        transform: none;
    }

    .orbit-next {
        right: -30px;
    }

    .orbit-previous {
        left: -30px;
    }
}

.ck-powered-by-balloon {
    display: none !important;
}