/*--------------------------------------------------------------------- File Name: style.css ---------------------------------------------------------------------*/


/*--------------------------------------------------------------------- import Fonts ---------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css?family=Rajdhani:300,400,500,600,700');
@import url('https://fonts.googleapis.com/css?family=Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i');
@import url('https://fonts.googleapis.com/css?family=Raleway:100,400,600,700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Baloo+Chettan&display=swap');

/*****---------------------------------------- 1) font-family: 'Rajdhani', sans-serif;
 2) font-family: 'Poppins', sans-serif;
 ----------------------------------------*****/


/*--------------------------------------------------------------------- import Files ---------------------------------------------------------------------*/

@import url(animate.min.css);
@import url(normalize.css);
@import url(icomoon.css);
@import url(font-awesome.min.css);
@import url(meanmenu.css);
@import url(owl.carousel.min.css);
@import url(swiper.min.css);
@import url(slick.css);
@import url(jquery.fancybox.min.css);
@import url(jquery-ui.css);
@import url(nice-select.css);

/*--------------------------------------------------------------------- skeleton ---------------------------------------------------------------------*/

* {
     box-sizing: border-box !important;
}

html {
     scroll-behavior: smooth;
}

body {
     color: #666666;
     font-size: 14px;
     font-family: 'Poppins', sans-serif;
     line-height: 1.80857;
     font-weight: normal;
}

a {
     color: #1f1f1f;
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

h1,
h2,
h3,
h4,
h5,
h6 {
     letter-spacing: 0;
     font-weight: normal;
     position: relative;
     padding: 0 0 10px 0;
     font-weight: normal;
     line-height: normal;
     color: #111111;
     margin: 0
}

h1 {
     font-size: 24px;
     font-family: 'Baloo Chettan', cursive;
}

h2 {
     font-size: 22px;
     font-family: 'Baloo Chettan', cursive;
}

h3 {
     font-size: 18px;
}

h4 {
     font-size: 16px
}

h5 {
     font-size: 14px
}

h6 {
     font-size: 13px
}

*,
*::after,
*::before {
     -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
     box-sizing: border-box;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
     color: #212121;
     text-decoration: none!important;
     opacity: 1
}

button:focus {
     outline: none;
}

ul,
li,
ol {
     margin: 0px;
     padding: 0px;
     list-style: none;
}

p {
     margin: 0px;
     font-weight: 500;
     font-size: 15px;
     line-height: 24px;
}

a {
     color: #222222;
     text-decoration: none;
     outline: none !important;
}

a,
.btn {
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

img {
     max-width: 100%;
     height: auto;
}

 :focus {
     outline: 0;
}

.btn-custom {
     margin-top: 20px;
     background-color: transparent !important;
     border: 2px solid #ddd;
     padding: 12px 40px;
     font-size: 16px;
}

.lead {
     font-size: 18px;
     line-height: 30px;
     color: #767676;
     margin: 0;
     padding: 0;
}

.form-control:focus {
     border-color: #ffffff !important;
     box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}

.navbar-form input {
     border: none !important;
}

.badge {
     font-weight: 500;
}

blockquote {
     margin: 20px 0 20px;
     padding: 30px;
}

button {
     border: 0;
     margin: 0;
     padding: 0;
     cursor: pointer;
}

.full {
     float: left;
     width: 100%;
}

.full {
     width: 100%;
     float: left;
     margin: 0;
     padding: 0;
}


/**-- heading section --**/


/*---------------------------- preloader area ----------------------------*/

.loader_bg {
     position: fixed;
     z-index: 9999999;
     background: #fff;
     width: 100%;
     height: 100%;
}

.loader {
     height: 100%;
     width: 100%;
     position: absolute;
     left: 0;
     top: 0;
     display: flex;
     justify-content: center;
     align-items: center;
}

.loader img {
     width: 280px;
}


/*-- header area --*/


/*--------------------------------------------------------------------- top banner area ---------------------------------------------------------------------*/


/*-- navigation--*/

.navigation.navbar {
     float: right;
     padding-top: 18px !important;
     padding: 0;
}

.navigation.navbar-dark .navbar-nav .nav-link {
     padding: 0 25px;
     color: #fff;
     font-size: 17px;
     line-height: 20px;
     font-weight: 500;
}

.navigation.navbar-dark .navbar-nav .nav-link:focus,
.navigation.navbar-dark .navbar-nav .nav-link:hover {
     color: #fec955;
     text-decoration: underline none;
}

.navigation.navbar-dark .navbar-nav .active>.nav-link,
.navigation.navbar-dark .navbar-nav .nav-link.active,
.navigation.navbar-dark .navbar-nav .nav-link.show,
.navigation.navbar-dark .navbar-nav .show>.nav-link {
     color: #fec955;
     text-decoration: underline none;
}

.navbar-expand-md .navbar-nav {
     padding-right: 10px;
}

.header {
     width: 100%;
     padding: 30px 30px;
     background-color: #010a2b;
     position: absolute;
     z-index: 999;
}

.logo a {
     font-size: 40px;
     font-weight: bold;
     text-transform: uppercase;
     color: #fff;
     line-height: 40px;
}


/** banner section **/

.banner {
  max-width: 100%;
  height: auto;
}


.banner_main {
     background: url(../images/banner.jpg);
     background-repeat: no-repeat;
     min-height: 900px;
     background-size: 100% 100%;
     display: flex;
     justify-content: center;
     align-content: center;
     align-items: center;
     position: relative;
}

.banner_main::before {
     position: absolute;
     bottom: -63px;
     right: 17%;
     content: "";
     background: url(../images/button.png);
     background-repeat: no-repeat;
     width: 159px;
     z-index: 9999;
     height: 159px;
     cursor: pointer;
}

.text-bg {
     text-align: left;
     padding-right: 71px;
}

.text-bg h1 {
     color: #fff;
     font-size: 63px;
     line-height: 73px;
     padding-bottom: 30px;
}

.text-bg p {
     line-height: 28px;
     font-weight: 500;
     padding-bottom: 70px;
     display: block;
}

.text_img {
     margin-right: -83px;
}

.text_img figure {
     margin: 0;
}

.text_img figure h3 {
     color: #fff;
     font-size: 30px;
     top: -18px;
     background: #ffca56;
     z-index: 999999;
     width: 70px;
     height: 70px;
     border-radius: 50px;
     position: absolute;
     display: flex;
     justify-content: center;
     align-items: center;
     line-height: 40px;
     padding-top: 10px;
     left: -20px;
}

.text_img figure img {
     width: 100%;
}

.carousel-caption {
     position: inherit;
}

.carousel-inner {
     margin-right: 142px;
}

#banner1 .carousel-indicators {
     left: 6px;
     bottom: 40px;
     display: block;
     margin-left: 0;
     right: inherit;
     top: 36%;
}

#banner1 .carousel-indicators li {
     width: 20px;
     height: 20px;
     border-radius: 20px;
     background: #f6f6f6;
     margin: 7px 0;
}

#banner1 .carousel-indicators li.active {
     background: #ffca56;
     border: #fff solid 6px;
     width: 25px;
     height: 25px;
     margin: 0 !important;
     padding: 0 !important;
}

#banner1 a.carousel-control-next,
#banner1 a.carousel-control-prev {
     display: none;
}

/** mapa sección **/
.contenedor {
  position: relative;
  width: 100%;   /* Se adapta al ancho de la pantalla */
  height: auto;
}

.banner {
  width: 100%;   /* Imagen de fondo responsiva */
  height: auto;
}

.superpuesta1 {
  position: absolute;
  top: 43%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 23%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 3%;      /* Escala proporcional al contenedor */
  z-index: 10;
}

.superpuesta2 {
  position: absolute;
  top: 22%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 0%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 100%;      /* Escala proporcional al contenedor */
  height: 4%;
  z-index: 1000;
  background-color: #ffca56;
  text-align: center;
}

.superpuesta3 {
  position: absolute; 
  top: 47%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 23%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 3%;      /* Escala proporcional al contenedor */
  z-index: 1000;
  color: aliceblue;
}

.superpuesta4 {
  position: absolute;
  top: 35%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 23%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 3%;      /* Escala proporcional al contenedor */
  z-index: 10;
}

.superpuesta5 {
  position: absolute; 
  top: 39%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 20%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 11%;      /* Escala proporcional al contenedor */
  z-index: 1000;
  color: aliceblue;
}

.superpuesta6 {
  position: absolute;
  top: 26%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 22%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 3%;      /* Escala proporcional al contenedor */
  z-index: 10;
}

.superpuesta7 {
  position: absolute; 
  top: 30%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 21%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 11%;      /* Escala proporcional al contenedor */
  z-index: 1000;
  color: aliceblue;
}

.superpuesta8 {
  position: absolute;
  top: 35%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 78.2%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 3%;      /* Escala proporcional al contenedor */
  z-index: 10;
}

.superpuesta9 {
  position: absolute; 
  top: 39%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 77.6%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 11%;      /* Escala proporcional al contenedor */
  z-index: 1000;
  color: aliceblue;
}

.superpuesta10 {
  position: absolute;
  top: 29%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 48.6%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 3%;      /* Escala proporcional al contenedor */
  z-index: 10;
}

.superpuesta11 {
  position: absolute; 
  top: 30%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 51%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 11%;      /* Escala proporcional al contenedor */
  z-index: 1000;
  color: aliceblue;
}

.superpuesta12 {
  position: absolute;
  top: 30%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 46.7%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 3%;      /* Escala proporcional al contenedor */
  z-index: 10;
}

.superpuesta13 {
  position: absolute; 
  top: 31%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 43%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 11%;      /* Escala proporcional al contenedor */
  z-index: 1000;
  color: aliceblue;
}

.superpuesta14 {
  position: absolute;
  top: 34%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 45%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 3%;      /* Escala proporcional al contenedor */
  z-index: 10;
}

.superpuesta15 {
  position: absolute; 
  top: 38%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 44%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 11%;      /* Escala proporcional al contenedor */
  z-index: 1000;
  color: aliceblue;
}

.superpuesta16 {
  position: absolute;
  top: 36%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 68%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 3%;      /* Escala proporcional al contenedor */
  z-index: 10;
}

.superpuesta17 {
  position: absolute; 
  top: 41%;       /* Ajusta según la ubicación de México en tu mapa */
  left: 67.5%;      /* Ajusta según la ubicación de México en tu mapa */
  width: 11%;      /* Escala proporcional al contenedor */
  z-index: 1000;
  color: aliceblue;
}

@media screen and (max-width: 768px), screen and (max-height: 500px) {
  .contenedor {
    aspect-ratio: 16 / 9;
    max-width: 100%;
    overflow: hidden;
  }

  .banner {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .superpuesta2 {
    top: 50%;                  /* Ajusta la posición vertical */
    font-size: 14px;          /* Texto más pequeño en móvil */
    background-color: #ffca56;
    text-align: center;
    width: 100%;
    height: auto;
    z-index: 1000;
  }

  .superpuesta1, .superpuesta3, .superpuesta4, .superpuesta5,
  .superpuesta6, .superpuesta7, .superpuesta8, .superpuesta9,
  .superpuesta10, .superpuesta11, .superpuesta12, .superpuesta13,
  .superpuesta14, .superpuesta15, .superpuesta16, .superpuesta17 {
    
    z-index: 1000;
  }
}


/** End mapa sección **/

.pais-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
}

.pais-item {
  display: flex;
  flex-direction: column;
  background: #f0f8ff;
  border: 1px solid #99c;
  border-radius: 10px;
  padding: 20px;
}

.pais-item h2 {
  margin-bottom: 5px;
  color: #003366;
}

.cubicaje {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.cubicaje input, .cubicaje select, .cubicaje button {
  padding: 8px;
  font-size: 14px;
}

/** servicios index sección **/
.product-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
  margin-top: 30px;
}

.product_card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 15px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  transition: transform 0.3s ease;
}

.product_card:hover {
  transform: translateY(-5px);
}

.product_card img {
  width: 100%;
  max-width: 180px;
  height: 180px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 10px;
}

.product_card h3 {
  font-size: 20px;
  color: #003366;
  margin-bottom: 8px;
}

.product_card p {
  font-size: 14px;
  color: #555;
}


/** FAQ sección **/
.bolita {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  background: #000;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
  z-index: 1000;
  flex-direction: column; /* Permite que el menú se apile debajo */
}

.faq-menu {
  display: none; /* Oculto por defecto */
  position: fixed;   /* Flotante en pantalla */
  bottom: 90px;      /* Justo encima de la bolita */
  right: 20px;
  background: #f9f9f9;
  border: 1px solid #ccc;
  padding: 15px;
  max-width: 300px;
  max-height: 200px;   /* Limita la altura */
  overflow-y: auto;    /* Activa barra de desplazamiento */
  border-radius: 8px;
  z-index: 999;
}

.faq-item h3 {
  cursor: pointer;
  margin: 10px 0;
  font-size: 14px;
  background: #eee;
  padding: 6px;
  border-radius: 5px;
}

.faq-item .respuesta {
  display: none;
  margin: 5px 0 10px;
  font-size: 13px;
  color: #333;
}

/** end faq sección **/

/** Subscriptions Plans **/
body {
  font-family: Inter, system-ui, sans-serif;
  background-color: #ffffff;
  color: #002b5c;
  margin: 0;
  padding: 0;
}

.pricing-cards {
  max-width: 1100px;
  margin: 48px auto;
  padding: 0 20px;
  text-align: center;
}

.pricing-cards h2 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #002b5c;
  margin-bottom: 32px;
  position: relative;
}

.pricing-cards h2::after {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  margin: 12px auto 0;
  background: linear-gradient(90deg, #0057b8, #ffb800);
  opacity: 0.9;
}

.card-container {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
}

.plan-card {
  background-color: #f9fbff;
  border: 2px solid #cce0ff;
  border-radius: 16px;
  box-shadow: 0 6px 16px rgba(0, 43, 92, 0.1);
  padding: 24px;
  width: 300px;
  text-align: center;
  transition: transform 0.2s ease;
}

.plan-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 20px rgba(0, 43, 92, 0.15);
}

.icon {
  font-size: 2.5rem;
  margin-bottom: 12px;
}

.plan-card h3 {
  font-size: 1.3rem;
  font-weight: 800;
  color: #0057b8;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.description {
  font-size: 0.95rem;
  color: #000000;
  margin-bottom: 20px;
}

.price {
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffb800;
  margin-bottom: 16px;
}

.price span {
  font-size: 0.85rem;
  color: #0057b8;
  margin-left: 4px;
}

.subscribe-btn {
  background-color: #0057b8;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  padding: 10px 20px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
}

.subscribe-btn:hover {
  background-color: #003f8c;
}

/** End Subscriptions Plans **/

/** Implementation & Advisory Services **/
.services-cards {
  max-width: 1100px;
  margin: 48px auto;
  padding: 0 20px;
  text-align: center;
}

.services-cards h2 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #002b5c;
  margin-bottom: 32px;
  position: relative;
}

.services-cards h2::after {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  margin: 12px auto 0;
  background: linear-gradient(90deg, #0057b8, #ffb800);
  opacity: 0.9;
}

.service-card {
  background-color: #f9fbff;
  border: 2px solid #cce0ff;
  border-radius: 16px;
  box-shadow: 0 6px 16px rgba(0, 43, 92, 0.1);
  padding: 24px;
  width: 300px;
  text-align: center;
  transition: transform 0.2s ease;
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 20px rgba(0, 43, 92, 0.15);
}

.service-card .icon {
  font-size: 2.5rem;
  margin-bottom: 12px;
}

.service-card h3 {
  font-size: 1.3rem;
  font-weight: 800;
  color: #0057b8;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.service-card .description {
  font-size: 0.95rem;
  color: #000000; /* Negro para descripciones */
  margin-bottom: 20px;
}

.service-card .price {
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffb800;
  margin-bottom: 16px;
}

.service-card .price span {
  font-size: 0.85rem;
  color: #0057b8;
  margin-left: 4px;
}

.service-card .subscribe-btn {
  background-color: #0057b8;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  padding: 10px 20px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
}

.service-card .subscribe-btn:hover {
  background-color: #003f8c;
}

.extra-charges-note {
  margin-top: 20px;
  color: #ffb800;
  font-size: 0.9rem;
  font-weight: 600;
}
/** End Implementation & Advisory Services **/

/** Estatus message **/
.status-message {
  display: none;
  margin-top: 12px;
  padding: 10px;
  background-color: #ffeb99; /* Amarillo fuerte */
  border: 2px solid #ffb800;
  border-radius: 8px;
  color: #002b5c;
  font-weight: 700;
  text-align: center;
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}
/** End Estatus message **/


.text-bg a {
     font-size: 17px;
     background-color: transparent;
     border: #fff solid 2px;
     color: #fff;
     font-weight: 500;
     padding: 14px 0px;
     width: 100%;
     max-width: 215px;
     text-align: center;
     display: inline-block;
     transition: ease-in all 0.5s;
     margin-right: 10px;
}

.text-bg a:hover {
     background-color: #ffca56;
     color: #fff;
     transition: ease-in all 0.5s;
}


/** end banner section **/

.titlepage {
     text-align: center;
     padding-bottom: 60px;
}

.titlepage h2 {
     font-size: 40px;
     color: #02246a;
     line-height: 55px;
     padding: 0;
}

.d_flex {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
}

.blu {
     color: #0808ff;
}

.read_more {
     font-size: 17px;
     background-color: transparent;
     border: #ffca56 solid 2px;
     color: #ffca56 !important;
     padding: 13px 0px;
     width: 100%;
     max-width: 190px;
     text-align: center;
     display: inline-block;
     transition: ease-in all 0.5s;
     font-weight: 500;
}

.read_more:hover {
     background: #02246a;
     color: #fff;
     transition: ease-in all 0.5s;
}


/** team section **/


/** end team section **/

.team {
     background-color: #fff;
     padding-top: 85px;
}

.team .titlepage {
     text-align: left;
     padding-bottom: 0;
}

.team .titlepage p {
     font-weight: 400;
     font-size: 17px;
     line-height: 28px;
     padding: 20px 0px 40px 0px;
}

.team .titlepage h3 {
     color: #ffca56;
     font-size: 24px;
     line-height: 24px;
     font-weight: bold;
     float: left;
}

.team .titlepage strong {
     color: #02246a;
     font-size: 40px;
     line-height: 35px;
     font-weight: bold;
     margin-top: -5px;
     padding-left: 50px;
     display: inline-block;
}

.team .titlepage .read_more {
     margin-top: 40px;
}

.team_img figure {
     margin: 0;
}

.team_img figure img {
     width: 100%;
}


/** services section **/

.services .titlepage {
     text-align: left;
}

.services {
     background-color: #fff;
     padding: 90px 0 0px 0;
}

.services .services_box {
     text-align: center;
     background-color: #f6f6f6;
     padding: 80px 0;
     margin-bottom: 30px;
     border-radius: 10px;
     transition: ease-in all 0.5s;
}

.services .services_box i {
     background-color: #02246a;
     height: 143px;
     width: 143px;
     border-radius: 70px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-wrap: wrap;
     margin: auto;
}

.services .services_box h3 {
     color: #02246a;
     font-size: 25px;
     line-height: 20px;
     font-weight: 500;
     margin-top: 40px !important;
     transition: ease-in all 0.5s;
     margin: auto;
}

.right_irro i {
     width: 50px !important;
     height: 30px !important;
     margin-top: 40px !important;
     border-radius: 0 !important;
     color: #fff;
     opacity: 0;
     transition: ease-in all 0.5s;
}

#serv_hover:hover.services_box {
     cursor: pointer;
     box-shadow: 0px 0px 30px rgba(57, 56, 56, 0.2);
     background-color: #fff;
     border-top: #f8c659 solid 6px;
     transition: ease-in all 0.5s;
}

#serv_hover:hover.services_box h3 {
     color: #f8c659;
     transition: ease-in all 0.5s;
}

#serv_hover:hover .right_irro i {
     opacity: 1;
     transition: ease-in all 0.5s;
}

.margin_bottom1 {
     margin-bottom: 60px;
}

.services .read_more {
     margin: 0 auto;
     display: block;
     margin-top: 50px;
     background-color: transparent;
     border: #48ca95 solid 2px;
     color: #48ca95 !important;
     max-width: 232px;
     padding: 15px 0;
}

.services .read_more:hover {
     background: #48ca95;
     color: #000 !important;
}


/** end services section **/


/** New Ideas  section **/

.ideas {
     padding: 90px 0;
     background-color: #fff;
     position: relative;
}

.ideas::before {
     position: absolute;
     bottom: 0;
     right: 38px;
     content: "";
     background: url(../images/iadius_cross.png);
     background-repeat: no-repeat;
     width: 420px;
     height: 100%;
}

.ideas .titlepage {
     text-align: left;
}

.ideas .titlepage p {
     color: #2a2b2b;
     display: block;
     font-size: 17px;
     font-weight: 400;
     line-height: 30px;
}

.ideas .titlepage h2 {
     color: #02246a;
}

.border_trbl {
     border: #0e0f0f87 solid 1px;
     padding: 50px 0;
     box-shadow: 9px 0px 30px rgba(57, 56, 56, 0.2);
     background: #fff;
     z-index: 999999;
     position: relative;
}

.ideas_box {
     text-align: center;
}

.ideas_box h3 {
     color: #fff;
     font-size: 40px;
     font-weight: bold;
     background: #02246a;
     width: 180px;
     margin: 0 auto;
     border-radius: 121px;
     height: 180px;
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 0;
     border: #ffca56 solid 11px;
}

.ideas_box p {
     color: #2a2b2b;
     font-size: 20px;
     font-weight: bold;
     line-height: 20px;
     margin-top: 20px;
}

.margin_bottom {
     margin-bottom: 30px;
}


/** end New Ideas  section **/


/** testimonial section **/

.testimonial {
     padding: 0px 0px 90px 0px;
     background: #fff;
}

.testimonial .titlepage {
     text-align: left;
}

.testimonial .titlepage h2 {
     color: #02246a;
}

.testimonial .titlepage p {
     font-size: 17px;
     line-height: 28px;
}

.test_box {
     text-align: left;
}

.test_icon {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
     padding-top: 30px;
}

.test_icon i {
     border: #02246a solid 9px;
     border-radius: 40px;
}

.test_box h4 {
     font-size: 17px;
     color: #030305;
     line-height: 28px;
     display: block;
     font-weight: 500;
     text-align: left;
     padding: 0px 0px 0px 13px;
}

.yellow {
     color: #ffca56;
}

.test_box p {
     font-size: 16px;
     line-height: 28px;
     color: #222221;
     text-align: left;
     border: #bcbcbc solid 1px;
     padding: 35px 30px;
     border-radius: 5px;
     font-weight: 400;
}


/** end testimonial section **/


/** contact section **/

.contact {
     background: url(../images/contact.png);
     background-repeat: no-repeat;
     background-size: 100% 100%;
     padding: 0px 0 90px 0;
     position: relative;
     background: inherit;
}

.contact::before {
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     content: "";
     background: url(../images/con_cross.png);
     background-repeat: no-repeat;
     width: 100%;
     height: 100%;
     background-size: 100% 100%;
}

.contact .titlepage {
     text-align: left;
     padding-bottom: 107px;
}

.contact .titlepage h2 {
     color: #02246a;
}

.main_form {
     margin-right: -32px;
}

.main_form .contactus {
     border: #02246a solid 1px;
     margin-bottom: 25px;
     width: 100%;
     height: 47px;
     background: transparent;
     color: #000000;
     font-size: 18px;
     font-weight: normal;
     border-right: inherit;
     border-left: inherit;
     border-top: inherit;
}

.main_form .contactus1 {
     border: #02246a solid 1px;
     margin-bottom: 25px;
     width: 100%;
     height: 47px;
     background: transparent;
     color: #000000;
     font-size: 18px;
     font-weight: normal;
     border-right: inherit;
     border-left: inherit;
     border-top: inherit;
     margin-top: 60px;
}

.main_form .send_btn {
     font-size: 22px;
     transition: ease-in all 0.5s;
     background-color: #ffca56;
     text-transform: uppercase;
     color: #fff;
     padding: 12px 0px;
     max-width: 195px;
     width: 100%;
     display: block;
     margin-top: 30px !important;
     font-weight: 500;
}

.main_form .send_btn:hover {
     background-color: #02246a;
     transition: ease-in all 0.5s;
     color: #FFEF16;
}

#request *::placeholder {
     color: #7A7272;
     opacity: 1;
}

.map figure {
     margin: 0;
}

.map figure img {
     width: 100%;
}


/** end contact section **/


/** footer **/

.footer {
     background: #010a2b;
     padding-top: 115px;
     text-align: center;
}

.footer .titlepage {
     text-align: left;
     padding-bottom: 0px;
}

.footer .titlepage h2 {
     color: #fff;
     margin: inherit;
     border-bottom: #fff solid 1px;
}

.logo1 {
     float: left;
     margin-top: -11px;
     margin-bottom: 9px;
	 align: center;
}

ul.social_icon {
     padding-top: 14px;
     width: 100%;
     float: left;
     text-align: left;
}

ul.social_icon li {
     display: inline-block;
}

ul.social_icon li a {
     background: #fff;
     width: 40px;
     height: 40px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 25px;
     border-radius: 30px;
     margin: 0 3px;
     color: #02246a;
}

ul.social_icon li a:hover {
     background-color: #fff;
     color: #fec955;
}

.footer h3 {
     font-weight: 600;
     font-size: 25px;
     line-height: 24px;
     text-align: left;
     color: #fff;
     margin-bottom: 15px;
     border-bottom: #ffca56 solid 3px;
     padding-bottom: 3px;
     display: table;
}

.about_us li {
     color: #fff;
     font-size: 17px;
     text-align: left;
     display: inline-block;
}

ul.link_menu li {
     display: block;
     text-align: left;
}

ul.link_menu li a {
     color: #fff;
     font-size: 17px;
     line-height: 28px;
     padding-bottom: 10px;
     display: block;
     width: -moz-max-content;
}

ul.link_menu li a:hover {
     color: #ffca56;
}

.bottom_form {
     display: flex;
     flex-wrap: wrap;
     margin-top: 32px;
}

.bottom_form h3 {
     font-weight: 600;
     font-size: 20px;
     line-height: 25px;
     text-align: left;
     color: #fff;
     padding-top: 12px;
     margin-right: 93px;
     text-transform: uppercase;
     border: inherit;
}

.bottom_form .enter {
     border: inherit;
     padding: 0px 19px;
     width: 45%;
     height: 45px;
     background: #fffffff2;
     color: #ccc8c8;
     font-size: 17px;
     font-weight: 300;
     float: left;
     border-radius: 10px;
     margin-bottom: 20px;
}

.sub_btn {
     font-size: 17px;
     transition: ease-in all 0.5s;
     background-color: #ffca56;
     color: #fff;
     padding: 8px 0px;
     max-width: 163px;
     border-radius: 10px;
     width: 100%;
     font-weight: 500;
     text-transform: uppercase;
     margin-left: 7px;
     height: 46px;
}

.sub_btn:hover {
     background-color: #000;
     transition: ease-in all 0.5s;
     color: #fff;
}

.copyright {
     margin-top: 80px;
     padding-bottom: 20px;
}

.copyright p {
     color: #ddd;
     font-size: 18px;
     line-height: 22px;
     text-align: center;
     border-top: #a3aec6 solid 1px;
     padding-top: 25px;
     font-weight: normal;
}

.copyright a {
     color: #ddd;
}

.copyright a:hover {
     color: #ffca56;
}


/** end footer **/


/** inner page css **/

.inner_header .header {
     background: #010a2b;
     position: inherit;
}

.yellow_darkbg .titlepage {
     padding-bottom: 0;
}

.yellow_darkbg {
     background: #f8c659;
     display: flex;
     justify-content: center;
     align-items: center;
     height: 122px;
}

.about_page .team {
     padding-bottom: 90px;
}

.about_page .team .titlepage h3 {
     color: #02246a;
}

.about_page .team .titlepage p {
     float: left;
}

.contact_page .contact {
     padding-top: 160px;
     margin-top: 90px;
}

.service_page .services {
     padding-bottom: 60px;
}

.blog {
     margin: 90px 0px 60px 0px;
}

.blog .blog_box {
     margin-bottom: 30px;
}

.blog .blog_box h3 {
     text-align: center;
     font-weight: 600;
     font-size: 30px;
     line-height: 30px;
     padding: 30px 0px 40px 0px;
     color: #02246a;
}

.blog .blog_box figure {
     margin: 0;
}

.blog .blog_box figure img {
     width: 100%;
     height: 320px;
}

.blog .blog_box .read_more {
     margin: 0 auto;
     display: block;
}
