/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    /*-webkit-transform: scale(1);*/
}

body {
    font-family: 'Lato', sans-serif;
    font-size: 20px;
    line-height: 1.2;
    color: #2b2a2a;
    font-weight: 300;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

a {
    color: #f05726;
    outline: 0;
    text-decoration: none;
    transition: color 0.2s ease-in-out 0s;
}
a:hover, a:focus {
    color: #f05726 ;
    text-decoration: none;
}

p, ul {
    margin: 0 0 1.5rem 0;
}
ul {
    list-style: none;
}

h1,h2,h3 {
    font-family: 'Lato', sans-serif;
    margin: 0 0 1.5rem 0;
    line-height: 1.2;
    font-weight: 300;
}

h1 {
    font-size: 80px;
    font-weight: bold;
}
h2 {
    font-size: 50px;
}
h3 {
    font-size: 25px;
}

a.b, input.b {
    cursor: pointer;
    display: inline-block;
    border: none;
    color: #ffffff;
    font-size: 14px;
    padding: 8px 12px;
    line-height: 1.2;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.4s ease-in-out 0s;
    background-color: #f05726;
    font-family: 'Lato', sans-serif;
    -webkit-appearance: none;
}

/* Estilo específico para el botón "Te llamamos" del header */
header div.social a.b {
    font-size: 18px !important;
    font-weight: bold !important;
    padding: 4px 10px !important;
    line-height: 3.5 !important;
    height: auto !important;
}

/* Estilos para los iconos de WhatsApp y teléfono en el header */
header div.social a#btnWhatsapp img,
header div.social a#btnPhone img {
    width: 52px !important;
    height: 52px !important;
    transition: transform 0.3s ease;
    vertical-align: middle;
}

header div.social a#btnWhatsapp,
header div.social a#btnPhone {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

header div.social a#btnWhatsapp:hover img,
header div.social a#btnPhone:hover img {
    transform: scale(1.1);
}

header div.socialok a {
    display: inline-block;
    margin-left: 13px;
    margin-right: 12px;
    position: relative;
    z-index: 1;
}

a.b:hover, input.b:hover, span.b:hover {
    text-decoration: none;
    background-color: #143554;
}

.hover:hover {
    opacity:.80;
    filter:alpha(opacity=80);
    cursor:pointer;
    transition: all 0.4s ease-in-out 0s;
}

.center {
    width: 100%;
}

img {
    max-width: 100%;
}


/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

#wrapper {
    overflow: hidden;
    min-height: 480px;
}

.content {
    max-width: 1800px;
    /*width: 95%*/
    margin: 0 0 0 auto;
    overflow: hidden;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 8px 0;
    background: #ffffff;
    -webkit-box-shadow: 0px 0px 30px 0px rgba(52, 52, 52, 0.35);
    -moz-box-shadow: 0px 0px 30px 0px rgba(52, 52, 52, 0.35);
    box-shadow: 0px 0px 30px 0px rgba(52, 52, 52, 0.35);
    z-index: 3;
}

/* Fix logo positioning for Chrome */
header div#logo {
    margin-left: 25px;
}

/* Responsive logo margins */
@media screen and (max-width: 768px) {
    header div#logo {
        margin-left: 15px;
    }
}

@media screen and (max-width: 480px) {
    header div#logo {
        margin-left: 10px;
    }
}

header div.content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header div.social {
    display: flex;
    justify-content: flex-end;
    align-items: left;
}
header div.social a {
    display: inline-block;
    margin-left: 25px;
    position: relative;
    z-index: 1;
}

div.head {
    width: 100%;
    background: url('../img/cabecera.7.jpg') no-repeat right center; /*Cambio color de fondo #000121 por imagen*/
    color: #ffffff;
    margin-top: 83px;
    padding: 35px 0 0 0; /*Antes 25px 0*/
    position: relative;
}

div.head div.text p {
    max-width: 540px;
    margin-bottom: 4rem;
}
div.head div.text img {
    margin: 0;
    max-width: 85%;
}
div.head .text img {
    margin: 0 auto;
}
div.head div.col img.stamp {
    position: absolute;
    top: 15px;
    right: 15px;
    margin: 0;
    max-width: 35%;
}
div.head div.row-flex div.col {
    position: inherit;
}

div.row-flex {
    display: flex;
}
/*Añadido o cambiado*/
div.row-flex div.col:first-child {
    display: flex;
    align-items: center;
}
.stamp {
    position: absolute;
    top: 15px;
    right: 15px;
    max-width: 35%;
    height: auto;
    z-index: 2;
}
.posicion-derecha {
    position: relative;
    display: flex;
    justify-content: flex-end; /* ESTO la alinea a la derecha */
    align-items: flex-start;
}
/* Elimina padding lateral solo para la columna */
.sin-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.deco-img {
    display: block;
    margin: 0;
    padding: 0;
    width: auto;
    height: auto;
    max-width: 100%; /* para que no se salga del contenedor en pantallas más pequeñas */
}
.col.col-md-6.col-texto {
    padding-left: 40px; /* o el valor que veas adecuado */
    padding-right: 15px; /* conserva el padding normal derecho */
}
/*Fin añadido*/
h2 strong,
h3 strong {
    color: #f05726;
}
h2 {
    position: relative;
    padding-bottom: 18px;
    margin-bottom: 6rem;
}
h2:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 225px;
    height: 2px;
    background: #f05726;
}
h2:after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 110px;
    width: 115px;
    height: 4px;
    background: #143554;
}

div.dialog {
    padding: 3%;
}

/*Añadido*/
div.dialog ul {
    list-style: square;
}
/*Fin añadido*/
div.dialog h2 {
    padding: 1em 0 0 0;
}

div.especial {
    padding: 8rem 4rem;
}

div.program {
    padding: 8rem 0 14rem 0;
    background: url('../img/blue_economy.png') no-repeat left bottom;
}
div.program form {
    padding: 25px;
    border: 2px solid #f05726;
    background: #ffffff;
    max-width: 750px;
    margin: 2rem auto;
    -webkit-box-shadow: 8px 8px 15px 0px rgba(52, 52, 52, 0.25);
    -moz-box-shadow: 8px 8px 15px 0px rgba(52, 52, 52, 0.25);
    box-shadow: 8px 8px 15px 0px rgba(52, 52, 52, 0.25);
    overflow: hidden;
}

form div.conditions {
    margin-bottom: 25px;
}
form div.conditions label {
    display: inline-block;
    width: 100%;
    text-align: right;
    font-size: 14px;
    font-weight: 300;
}
form div.conditions label a {
    text-decoration: underline;
    color: #2b2a2a;
}
form div.error-values {
    float: left;
}
form label.error,
form label.check {
    display: block;
    color: #dd0808;
    margin: 4px 0 0 0;
    font-size: 14px;
}
form div.form-block {
    margin-bottom: 20px;
    display: inline-block;
    width: 100%;
}
form input.txt, form select.txt {
    width: 100%;
}
form input.b {
    float: right;
    clear: both;
    padding: 8px 25px;
    text-transform: uppercase;
    margin-top: 5px;
}

input.require, select.require {
    border: 1px solid #dd0808 !important;
}

input.txt, select.txt {
    background: #ffffff;
    border: 1px solid #7b7b7b;
    font-size: 20px;
    height: 45px;
    line-height: 45px;
    outline: none;
    color: #2b2a2a;
    padding: 0 10px;
}
input[type="checkbox"] {
    margin-right: 4px;
}

div.courses {
    padding: 0 0 8rem 0;
}
div.courses div.content-row {
    max-width: 1605px;
    margin: 0 auto;
    width: 90%;
}
div.courses div.row-flex {
    justify-content: center;
    flex-wrap: wrap;
}
div.courses div.row-flex div.col {
    align-items: flex-start;
    margin-top: 65px;
    margin-bottom: 60px;
}
div.courses div.course {
    text-align: left;
    width: 100%;
    height: 100%;
    background: #ffffff;
    padding: 0 25px 45px 25px;
    font-size: 22px;
    position: relative;
    border: 1px solid #f4f4f4;
    -webkit-box-shadow: 0px 19px 15px 0px rgba(52, 52, 52, 0.23);
    -moz-box-shadow: 0px 19px 15px 0px rgba(52, 52, 52, 0.23);
    box-shadow: 0px 19px 15px 0px rgba(52, 52, 52, 0.23);
}
div.courses div.course div.icon {
    margin-top: -65px;
    margin-bottom: 20px;
    text-align: center;
}
div.courses div.course h3 {
    font-weight: bold;
}
div.courses div.course span {
    font-weight: bold;
    color: #f05726;
    display: block;
    margin-bottom: 15px;
}
div.courses div.course a.b,
div.courses div.courses-carousel div.course span.b {
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: center;
    width: 100%;
    font-weight: bold;
    background-color: #143554;
}
div.courses div.course a.b:hover {
    background-color: #f05726;
}
div.courses div.courses-carousel div.owl-item {
    padding: 15px 15px 35px 15px;
}
div.courses div.courses-carousel div.course {
    padding: 25px 25px 45px 25px;
}
div.courses div.courses-carousel div.course span.b {
    background-color: #f05726;
    margin: 0;
    padding: 8px 12px;
    color: #ffffff;
    display: inline-block;
}

.owl-carousel .owl-stage {
    display: flex;
}
/* Cambio */
div.who {
    color: #ffffff;
    background: url('../img/cabecera.jpg') no-repeat left center;
    padding: 0 0 0 0;
    /*background-image: url("img/economiazul_detalles.jpg"); 
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;*/
}
div.who div.content {
    position: relative;
    padding: 4rem 2rem;
    overflow: visible;
    z-index: 2;
    /* Opcional: para mejorar la legibilidad del texto */
    /* background-color: rgba(0, 0, 0, 0.4); */
}
/*Fin cambios*/
div.who h2 {
    margin-bottom: 2.5rem;
}
div.who h2 strong {
    color: #ffffff;
}
div.who h2:before,
div.who h2:after {
    background-color: #ffffff;
}
div.who p {
    max-width: 70%; /*Modificado*/
    position: relative;
    z-index: 1;
    margin-bottom: 3rem;
}
div.who img.img-who {
    position: absolute;
    bottom: -10rem;
    right: 15px;
    max-width: 30%;
    min-width: 275px;
}
div.who div.icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /*flex-start*/
    margin: 6rem 0 3rem 0;
    max-width: 100%; /*70%*/
    position: relative;
    z-index: 1;
}
div.who div.icons div.icon {
    margin-left: 4%;
    margin-right: 4%;
    text-align: center;
    font-weight: bold;
    flex: 0 0 15%;
    min-width: 290px; /*Valor original: 140*/
    max-width: 350px; /*Valor original: 155*/
}
div.who div.icons div.icon2 {
    /*margin-right: 8%;*/
    text-align: center;
    font-weight: bold;
    flex: 0 0 15%;
    min-width: 240px; /*Valor original: 140*/
    max-width: 255px; /*Valor original: 155*/
}
div.who a.b {
    /*position: relative; 
    z-index: 1;*/
    display: block;
    max-width: 350px;
    /*font-size: 28px;*/
    text-align: center;
    margin: 0 auto;
}

.border-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}
.border-top svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 124px;
    transform: rotateY(180deg);
}
.border-top .shape-fill {
    fill: #FFFFFF;
}

.border-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotateY(180deg);
}
.border-bottom svg {
    position: relative;
    display: block;
    width: calc(144% + 1.3px);
    height: 425px;
}
.border-bottom .shape-fill {
    fill: #FFFFFF;
}

.border-footer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}
.border-footer svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 70px;
}
.border-footer .shape-fill {
    fill: #FFFFFF;
}


div.testimonials {
    padding: 8rem 0;
}
div.testimonials div.testimonials-carousel {
    width: 100%;
    padding: 25px;
}
div.testimonials div.testimonial {
    margin: 25px;
    padding: 35px 70px;
    background: #ffffff;
    -webkit-box-shadow: 0px 12px 15px 0px rgba(52, 52, 52, 0.15);
    -moz-box-shadow: 0px 12px 15px 0px rgba(52, 52, 52, 0.15);
    box-shadow: 0px 12px 15px 0px rgba(52, 52, 52, 0.15);
    position: relative;
}
div.testimonials div.testimonial:after {
    content: '';
    position: absolute;
    top: 15px;
    left: 15px;
    width: 34px;
    height: 31px;
    background: url('../img/testimonial1.jpg') no-repeat center center;
}
div.testimonials div.testimonial:before {
    content: '';
    position: absolute;
    bottom: 15px;
    right: 15px;
    width: 34px;
    height: 31px;
    background: url('../img/testimonial2.jpg') no-repeat center center;
}
div.testimonials div.testimonial div.title {
    font-weight: bold;
}
.owl-dots {
    text-align: center;
    width: 100%;
    display: flex;
    justify-content: center;
}
.owl-dots .owl-dot {
    margin: 0 4px;
}
.owl-dots .owl-dot span {
    width: 34px;
    height: 3px;
    background: #7f9ab4;
    display: inline-block;
}
.owl-dots .owl-dot.active span {
    background: #143554;
}

div.why {
    padding: 0 0 8rem 0;
}
div.why div.block {
    max-width: 515px;
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
}
div.why div.block div.icon {
    flex: 0 0 100px;
}
div.why div.block div.text div.title {
    font-weight: bold;
    margin-bottom: 15px;
}

/*Quito degradado*/
footer div.footer-top {
    position: relative;
    padding: 12rem 0 4rem 0;
    color: #ffffff;
    background: rgb(20,53,84);
    /*background: rgb(0,53,105);
    background: -moz-linear-gradient(-190deg,  rgba(0,53,105,1) 0%, rgba(0,53,105,1) 33%, rgba(0,80,158,1) 71%, rgba(0,80,158,1) 100%);
    background: -webkit-linear-gradient(-190deg,  rgba(0,53,105,1) 0%,rgba(0,53,105,1) 33%,rgba(0,80,158,1) 71%,rgba(0,80,158,1) 100%);
    background: linear-gradient(190deg,  rgba(0,53,105,1) 0%,rgba(0,53,105,1) 33%,rgba(0,80,158,1) 71%,rgba(0,80,158,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#143554', endColorstr='#00509e',GradientType=1 );*/
    font-size: 18px;
}
footer div.footer-top div.copy {
    width: 100%;
}
footer div.footer-top div.copy div.title {
    font-size: 25px;
    position: relative;
    padding-bottom: 15px;
    font-weight: bold;
    margin-bottom: 3rem;
}
footer div.footer-top div.copy div.title:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 75px;
    height: 2px;
    background: #ffffff;
}
footer div.footer-top div.copy div.title:after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 35px;
    width: 40px;
    height: 4px;
    background: #ffffff;
}

footer div.footer-top div.menu {
    width: 100%;
}
footer div.footer-top div.menu div.title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 3rem;
}
footer div.footer-top div.copy ul,
footer div.footer-top div.menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
footer div.footer-top div.copy ul li {
    margin: 0 10px;
    display: inline-block;
    font-size: 24px;
}
footer div.footer-top div.menu ul li {
    margin: 0 0 5px 0;
    display: block;
}
footer div.footer-top div.copy ul li a,
footer div.footer-top div.menu ul li a {
    color: #ffffff;
}

footer div.footer-top a.b {
    width: 450px;
    font-size: 28px;
    text-align: center;
    margin: 0 auto;
}

footer div.footer-bottom {
    padding: 15px 0;
    background-color: #000121; /*original 00162c*/
    color: #ffffff;
    font-size: 15px;
}
footer div.footer-bottom a {
    color: #ffffff;
}
footer div.footer-bottom p {
    margin-bottom: 0;
}
footer div.footer-bottom .right {
    text-align: right;
}



/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after,
    *:first-letter,
    *:first-line {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
