@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?8zreii');
  src:  url('fonts/icomoon.eot?8zreii#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?8zreii') format('truetype'),
    url('fonts/icomoon.woff?8zreii') format('woff'),
    url('fonts/icomoon.svg?8zreii#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-visa:before {
  content: "\e933";
}
.icon-quote-2:before {
  content: "\e932";
}
.icon-zoom-in:before {
  content: "\e92f";
}
.icon-play:before {
  content: "\e928";
}
.icon-trolley-cart:before {
  content: "\e926";
}
.icon-quote:before {
  content: "\e924";
}
.icon-checked:before {
  content: "\e913";
}
.icon-brainstorming:before {
  content: "\e911";
}
.icon-passport:before {
  content: "\e912";
}
.icon-comment-2:before {
  content: "\e930";
}
.icon-arrow-bottom-2:before {
  content: "\e908";
}
.icon-location-2:before {
  content: "\e903";
}
.icon-email-2:before {
  content: "\e904";
}
.icon-phone-call:before {
  content: "\e905";
}
.icon-arrow-right-3:before {
  content: "\e900";
}
.icon-arrow-left-2:before {
  content: "\e934";
}
.icon-arrow-left:before {
  content: "\e901";
}
.icon-arrow-right:before {
  content: "\e902";
}
.icon-plus:before {
  content: "\e927";
}
.icon-comment:before {
  content: "\e923";
}
.icon-user:before {
  content: "\e925";
}
.icon-search:before {
  content: "\e916";
}
.icon-close:before {
  content: "\e917";
}
.icon-grid:before {
  content: "\e918";
}
.icon-arrow-right-up:before {
  content: "\e919";
}
.icon-arrow-left-up:before {
  content: "\e93c";
}
.icon-arrow-bottom:before {
  content: "\e91a";
}
.icon-location:before {
  content: "\e91d";
}
.icon-email:before {
  content: "\e91e";
}
.icon-calendar:before {
  content: "\e920";
}
.icon-arrow-right-2:before {
  content: "\e922";
}
.icon-eye:before {
  content: "\e937";
}
.icon-loop:before {
  content: "\e938";
}
.icon-heart:before {
  content: "\e939";
}
.icon-down-arrow:before {
  content: "\e92c";
}
.icon-up-arrow:before {
  content: "\e92d";
}
.icon-airplane:before {
  content: "\e906";
}
.icon-airplane-2:before {
  content: "\e907";
}
.icon-travel-visa:before {
  content: "\e909";
}
.icon-students-visa:before {
  content: "\e90a";
}
.icon-family-visa:before {
  content: "\e90b";
}
.icon-business-visa:before {
  content: "\e90c";
}
.icon-visa-processing:before {
  content: "\e90d";
}
.icon-immigration-visa:before {
  content: "\e90e";
}
.icon-download:before {
  content: "\e90f";
}
.icon-pdf:before {
  content: "\e910";
}
.icon-support:before {
  content: "\e914";
}
.icon-luggage:before {
  content: "\e915";
}
.icon-supportive:before {
  content: "\e91b";
}
.icon-immigration:before {
  content: "\e91c";
}
.icon-email-3:before {
  content: "\e91f";
}
.icon-paper-plane:before {
  content: "\e921";
}
.icon-completed-task:before {
  content: "\e929";
}
.icon-immigration-officer:before {
  content: "\e92a";
}
.icon-place:before {
  content: "\e92b";
}
.icon-satisfaction:before {
  content: "\e92e";
}
.icon-check:before {
  content: "\e931";
}

.work-process__step span::after {
    content: none !important;
    display: none !important;
}

.video-one {
    position: relative;
    overflow: hidden;
}

.video-one__background-video {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    z-index: 0;
}

.video-one__overlay {
    position: absolute;
    inset: 0;

    background: rgba(0, 0, 0, 0.35);

    z-index: 1;
}

.video-one .container {
    position: relative;
    z-index: 2;
}

@media (max-width: 767px) {

    .video-one__background-video {
        object-position: center center;
    }

}

.training-two__fixed-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px;
    width: 100%;
}

.training-two__fixed-grid .item {
    width: 100%;
    min-width: 0;
}

.training-two__fixed-grid .training-card-two {
    width: 100%;
    height: 100%;
}

@media (max-width: 1199px) {

    .training-two__fixed-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px;
    }

}

@media (max-width: 767px) {

    .training-two__fixed-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

}


.testimonial-video-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    margin-top: 18px;
    padding: 12px 20px;

    background: #68b037;
    color: #ffffff;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;
    border-radius: 5px;

    transition: all 0.3s ease;
}


.testimonial-video-btn__icon {
    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ffffff;
    color: #68b037;

    border-radius: 50%;
    font-size: 11px;

    transition: all 0.3s ease;
}


.testimonial-video-btn:hover {
    background: #0c344c;
    color: #ffffff;

    transform: translateY(-3px);
}


.testimonial-video-btn:hover .testimonial-video-btn__icon {
    background: #ffffff;
    color: #0c344c;
}


@media (max-width: 767px) {

    .testimonial-video-btn {
        margin-top: 15px;
        padding: 10px 16px;
        font-size: 13px;
    }

    .testimonial-video-btn__icon {
        width: 28px;
        height: 28px;
    }

}

/* =========================================================
   ICONO FLOTANTE - SECCIÓN HISTORIA
========================================================= */

/* =========================================================
   CONTENEDOR PRINCIPAL
========================================================= */

.why-choose-two {
    position: relative;
    overflow: hidden;
}


/* =========================================================
   ICONO IZQUIERDO
========================================================= */

.why-choose-floating-icon-left {
    position: absolute;

    left: -25px;
    top: 28%;

    z-index: 2;

    pointer-events: none;
	
	opacity: 0.15;
}

.why-choose-floating-icon-left img {
    width: 300px;
    height: auto;

    display: block;

    opacity: 0.85;

    animation: floatingIconLeft 4.5s ease-in-out infinite;
}


/* =========================================================
   ICONO DERECHO
========================================================= */

.why-choose-floating-icon-right {
    position: absolute;

    right: -5px;
    top: 58%;

    z-index: 2;

    pointer-events: none;
	
	opacity: 0.15;
}

.why-choose-floating-icon-right img {
    width: 300px;
    height: auto;

    display: block;

    opacity: 0.85;

    animation: floatingIconRight 4s ease-in-out infinite;
}


/* =========================================================
   ANIMACIÓN IZQUIERDA
========================================================= */

@keyframes floatingIconLeft {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-15px) rotate(4deg);
    }
}


/* =========================================================
   ANIMACIÓN DERECHA
========================================================= */

@keyframes floatingIconRight {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-20px) rotate(-4deg);
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .why-choose-floating-icon-left img,
    .why-choose-floating-icon-right img {
        width: 70px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .why-choose-floating-icon-left,
    .why-choose-floating-icon-right {
        display: none;
    }

}

/* =========================================================
   ICONOS DECORATIVOS - VISA SECTION
========================================================= */

.visa-one {
    position: relative;
    overflow: hidden;
}


/* CONFIGURACIÓN GENERAL */

.visa-floating-icon {
    position: absolute;
    z-index: 2;

    pointer-events: none;
}

.visa-floating-icon img {
    width: 250px;
    height: auto;

    display: block;

    opacity: 0.90;
}


/* =========================================================
   ICONO SUPERIOR DERECHO
========================================================= */

.visa-floating-icon--top-right {
    top: 60px;
    right: 70px;
	opacity: 0.25;
    animation: visaFloatRight 4.5s ease-in-out infinite;
}


/* =========================================================
   ICONO INFERIOR IZQUIERDO
========================================================= */

.visa-floating-icon--bottom-left {
    bottom: 50px;
    left: 10px;
	opacity: 0.25;
    animation: visaFloatLeft 5s ease-in-out infinite;
}


/* =========================================================
   ANIMACIONES
========================================================= */

@keyframes visaFloatRight {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-18px) rotate(4deg);
    }
}


@keyframes visaFloatLeft {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(18px) rotate(-4deg);
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199.98px) {

    .visa-floating-icon img {
        width: 80px;
    }

    .visa-floating-icon--top-right {
        right: -20px;
    }

    .visa-floating-icon--bottom-left {
        left: -20px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .visa-floating-icon {
        display: none;
    }

}

/* =========================================================
   FORMULARIO GMS
========================================================= */

.gms-contact-form-section {
    padding: 100px 0;
    background: #f5f8f3;
}

.gms-contact-form-wrapper {
    max-width: 1000px;
    margin: 0 auto;

    padding: 60px;

    background: #ffffff;

    border-radius: 25px;

    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.07);
}


/* =========================================================
   ENCABEZADO
========================================================= */

.gms-contact-form-header {
    max-width: 720px;
    margin: 0 auto 45px;

    text-align: center;
}

.gms-contact-form-label {
    display: inline-block;

    margin-bottom: 12px;

    color: #63b52f;

    font-size: 14px;
    font-weight: 700;

    letter-spacing: 2px;
}

.gms-contact-form-header h2 {
    margin-bottom: 18px;

    font-size: 42px;
    font-weight: 700;
    line-height: 1.15;

    color: #1d2433;
}

.gms-contact-form-header h2 span {
    color: #63b52f;
}

.gms-contact-form-header p {
    max-width: 650px;
    margin: 0 auto;

    font-size: 16px;
    line-height: 1.7;

    color: #6d747d;
}


/* =========================================================
   CAMPOS
========================================================= */

.gms-form-group label {
    display: block;

    margin-bottom: 9px;

    font-size: 14px;
    font-weight: 600;

    color: #252b33;
}

.gms-form-input,
.gms-form-select {
    position: relative;
}

.gms-form-input > i,
.gms-form-select > i {
    position: absolute;

    left: 20px;
    top: 50%;

    transform: translateY(-50%);

    z-index: 2;

    font-size: 16px;

    color: #63b52f;

    pointer-events: none;
}


/* INPUT */

.gms-form-input input {
    width: 100%;
    height: 60px;

    padding: 0 20px 0 52px;

    border: 1px solid #dde3e7;

    border-radius: 12px;

    background: #ffffff;

    font-size: 15px;

    color: #333333;

    outline: none;

    transition: all 0.3s ease;
}

.gms-form-input input::placeholder {
    color: #a0a7ae;
}

.gms-form-input input:focus {
    border-color: #63b52f;

    box-shadow: 0 0 0 4px rgba(99, 181, 47, 0.10);
}


/* =========================================================
   SELECT
========================================================= */

.gms-form-select select {
    width: 100%;
    height: 60px;

    padding: 0 50px 0 52px;

    border: 1px solid #dde3e7;

    border-radius: 12px;

    background: #ffffff;

    color: #555555;

    font-size: 15px;

    outline: none;

    cursor: pointer;

    transition: all 0.3s ease;
}

.gms-form-select select:focus {
    border-color: #63b52f;

    box-shadow: 0 0 0 4px rgba(99, 181, 47, 0.10);
}


/* =========================================================
   MÉTODO DE CONTACTO
========================================================= */

.gms-contact-method-title {
    margin-bottom: 15px !important;
}

.gms-contact-methods {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 15px;
}

.gms-contact-option {
    margin: 0 !important;

    cursor: pointer;
}

.gms-contact-option input {
    position: absolute;

    opacity: 0;
    pointer-events: none;
}

.gms-contact-option-content {
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    border: 1px solid #dde3e7;

    border-radius: 12px;

    background: #ffffff;

    color: #555555;

    font-size: 15px;
    font-weight: 600;

    transition: all 0.3s ease;
}

.gms-contact-option-content i {
    color: #63b52f;

    font-size: 18px;
}


/* HOVER */

.gms-contact-option:hover .gms-contact-option-content {
    border-color: #63b52f;

    background: rgba(99, 181, 47, 0.05);
}


/* SELECCIONADO */

.gms-contact-option input:checked + .gms-contact-option-content {
    border-color: #63b52f;

    background: #63b52f;

    color: #ffffff;

    box-shadow: 0 8px 20px rgba(99, 181, 47, 0.20);
}

.gms-contact-option input:checked + .gms-contact-option-content i {
    color: #ffffff;
}


/* =========================================================
   BOTÓN
========================================================= */

.gms-form-submit {
    width: 100%;
    height: 64px;

    margin-top: 8px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    border: none;

    border-radius: 12px;

    background: #63b52f;

    color: #ffffff;

    font-size: 16px;
    font-weight: 700;

    cursor: pointer;

    transition: all 0.3s ease;
}

.gms-form-submit:hover {
    background: #4f9823;

    transform: translateY(-2px);

    box-shadow: 0 12px 25px rgba(99, 181, 47, 0.25);
}

.gms-form-submit i {
    transition: transform 0.3s ease;
}

.gms-form-submit:hover i {
    transform: translateX(5px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .gms-contact-form-section {
        padding: 80px 0;
    }

    .gms-contact-form-wrapper {
        padding: 45px 35px;
    }

    .gms-contact-form-header h2 {
        font-size: 36px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .gms-contact-form-section {
        padding: 60px 0;
    }

    .gms-contact-form-wrapper {
        padding: 35px 20px;

        border-radius: 18px;
    }

    .gms-contact-form-header {
        margin-bottom: 35px;
    }

    .gms-contact-form-header h2 {
        font-size: 30px;
    }

    .gms-contact-form-header p {
        font-size: 15px;
    }

    .gms-contact-methods {
        grid-template-columns: 1fr;
    }

}

/* =========================================================
   MENSAJES FORMULARIO
========================================================= */

.gms-form-alert {
    display: flex;
    align-items: flex-start;

    gap: 15px;

    margin-bottom: 30px;
    padding: 20px 22px;

    border-radius: 12px;
}

.gms-form-alert i {
    margin-top: 3px;
    font-size: 22px;
}

.gms-form-alert strong {
    display: block;
    margin-bottom: 4px;

    font-size: 16px;
}

.gms-form-alert p {
    margin: 0;

    font-size: 14px;
    line-height: 1.6;
}


/* ÉXITO */

.gms-form-alert-success {
    background: rgba(99, 181, 47, 0.10);
    border: 1px solid rgba(99, 181, 47, 0.25);

    color: #4b8f25;
}


/* ERROR */

.gms-form-alert-error {
    background: rgba(220, 53, 69, 0.08);
    border: 1px solid rgba(220, 53, 69, 0.20);

    color: #b52a37;
}