@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');


:root{
    --heading-font: "DM Sans", sans-serif;
    --body-font: "DM Sans", sans-serif;
    --common-transition: all 0.3s ease 0s;
    --primary:#003F88;  
    --secondary:#FDC500;
    --black: #222222;  
    --white: #FFFFFF; 
}

/* ~-~-~-~-~-~-~-~-~-~ global adjustments ~-~-~-~-~-~-~-~-~-~ */ 
body { margin: 0; padding: 0; font-family: var(--body-font); font-size: clamp(0.875rem, 0.323rem + 0.891vw, 1.125rem); line-height: 1.4; font-weight: 400; color: var(--black); overflow-x: hidden; font-size: 18px; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 20px; padding: 0; line-height: 1.2; font-weight: 400; font-family: var(--heading-font); font-weight: 500; }
:is(h1, h2, h3, h4, h5, h6) span { color: var(--primary); }

h1{ font-size: 65px; letter-spacing: 2px; /* 65 - 35 */ }
h2{ font-size: 48px; /* 48 - 25 */ }
h3{ font-size: 36px }
h4{ font-size: 20px } /*-- Not in use -- */
h5{ font-size: 18px; } /*-- Not in use -- */
h6{ font-size: 16px; } 

p{ margin: 0 0 20px; padding: 0; line-height: 1.5; }
p:last-child { margin-bottom: 0; }
.fw-600 { font-weight: 600;}

img { max-width: 100%; }
figure { margin: 0;}
a, img { border: 0; text-decoration: none; outline: none; }
a, a:link, a:visited, a:focus, a:hover { color: var(--black); outline: none; text-decoration: none; transition: var(--common-transition); }
a:hover{  text-decoration: none; transition: var(--common-transition); }
 

textarea:focus, select:focus, .form-control:focus, input:focus { outline: none; box-shadow: inherit;}

select { background-image: url(../images/icon-down.svg); background-repeat: no-repeat; background-position: 95% center; }
input:focus, input:focus-visible { border: none; outline: none; box-shadow: none; }
.btn-check:focus+.btn, .btn:focus { box-shadow: inherit;}
/* --- for placeholder color --- */
*::-moz-placeholder { color: var(--black); opacity: 1; }
*:-ms-input-placeholder { color: var(--black); }
*::-webkit-input-placeholder { color: var(--black); }
/* --- for placeholder color --- */

/* --- only use for wordpress (Image alignment) --- */
.alignleft, .alignnone { float: left; margin: 0 15px 10px 0; }
.alignright { float: right; margin: 0 0 10px 15px; }
.aligncenter { margin: 10px auto; display: block; }
/* --- only use for wordpress (Image alignment) --- */

/*..............common styles..............*/
.common-padding { padding-top: 100px; padding-bottom: 100px; }
.common-small-padding{ padding-top: 80px; padding-bottom: 80px; } 

.btn { background-color: var(--secondary); color: var(--black); padding: 17px 34px; font-weight: 600; border-radius: 0; font-size: 18px; }
.btn:hover, .btn:focus, .btn:active{ background-color: var(--white) !important  }


 
/* ============ header Start ============ */
body.open { height: 100vh; overflow: hidden; }
  
/*top menu*/
.main-header { width: 100%; padding: 16px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.2); z-index: 9999; position: absolute; top: 0; left: 0; right: 0;  }
.navigation-bar { display: flex; align-items: center;}
.main-menu { margin-left: auto;}
.mobile-menu{ display:none; transition:all 0.45s ease-in-out; }

.logo-block{ max-width: 100px; }
.logo-block a{ display: block; }
.logo-block a img{ width: 100%; height: auto; }

.main-menu ul li { margin-right: 50px; position: relative; }
.main-menu ul li:first-of-type{ margin-left: 0; }
.main-menu ul li:last-of-type{ margin-right: 0; }
.main-menu ul li a{ line-height: 1.2; color: var(--white); font-weight: 500; display: inline-block; padding: 20px 0; transition: var(--common-transition); }
.main-menu ul li.current-menu-item a, .main-menu ul li a:hover { color: var(--secondary); }

/* dropdown */
li.menu-item-has-children{position: relative;display: inline-block;}
.main-menu ul li.menu-item-has-children a{margin-right: 15px;}
li.menu-item-has-children > a::after { position: absolute; top: 50%; transform: translate(0%, -50%); content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 16px; margin-left: 4px; color: var(--green); transition: var(--common-transition); }
li.menu-item-has-children > ul.sub-menu {display: none;position: absolute;background: #FFF;box-shadow: 0px 4px 6px 0px rgba(46, 45, 45, 0.16);min-width: 460px;z-index: 1; padding: 15px 0px;list-style: none;}
li.menu-item-has-children ul.sub-menu a{display: block;color: #343434;font-weight: 400;margin-right: 0;padding: 10px 15px;font-size: 16px;}
li.menu-item-has-children > ul.sub-menu > li:hover > a{background-color: var(--yellow) !important; font-weight: 500; }
li.menu-item-has-children:hover ul.sub-menu {display: block;}
li.menu-item-has-children:hover a::after { transform: translate(0%, -50%) rotate(180deg); color: var(--green); }
li.menu-item-has-children > ul.sub-menu li { margin: 0; }
li.menu-item-has-children ul.sub-menu li{margin-right: 0;width: 100%;padding: 0;}
li.menu-item-has-children ul.sub-menu li:last-child{border: 0;}

.minus, .plus{display: none;} 

.header-sticky.main-header { left: 0; position: fixed; top: 0; width: 100%; transition: all 0.5s; -ms-transition: all 0.5s; -webkit-transition: all 0.5s; animation: slide-down 0.7s; -ms-animation: slide-down 0.7s; -webkit-animation: slide-down 0.7s; background-color: rgba(0, 63, 136, .86); backdrop-filter: blur(5px); border-bottom: 0; padding-top: 10px; padding-bottom: 10px; }

.header-sticky .logo-block { max-width: 80px; }

.nav_btn { display: none; }
.nav_close { display: none; color: var(--white); }
 
@keyframes slide-down {
    0% {
        opacity: 0;
        transform: translateY(-100%);
    } 
    100% {
        opacity: 1;
        transform: translateY(0);
    } 
}

.main-menu ul li.header-btn a { background-color: var(--secondary); color: var(--black) !important; padding: 20px 35px; font-weight: 600; }
.main-menu ul li.header-btn a:hover { background-color: var(--white); }
/* ============ header End ============ */

.hero-banner {overflow: hidden;}
.hero-banner__slide {margin-bottom: 0 !important;}
.hero-banner__slide-item { position: relative; padding-top: 180px; padding-bottom: 60px; min-height: 100vh; display: flex; align-items: center; }
.hero-banner__image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.hero-banner__image:before { content:''; background: linear-gradient(180deg, rgba(0, 20, 51, 0.6) 8.88%, rgba(0, 20, 51, 0) 82.25%); display: block; position: absolute; top: 0; right: 0; left: 0; height: 400px; z-index: 1; }
.hero-banner__image::after { content:''; background: rgba(1, 36, 94, 0.7); display: block; position: absolute; top: 0; right: 0; left: 0; bottom: 0; }
.hero-banner__image img { width: 100%; height: 100%; object-fit: cover; }
.hero-banner__content { position: relative; z-index: 2; max-width: 824px; padding: 80px 60px;}
.hero-banner__content * { color: var(--white); }
.hero-banner__content h1 { margin-bottom: 50px; }
.banner__shape { border: 15px solid var(--secondary); position: absolute; top: 0; left: 0; bottom: 0; right: calc(50% - 10px); border-right: 0; }
.banner__shape:after { content: ''; position: absolute; right: 0; top: 0; height: 40px; background-color: var(--secondary); width: 15px; }
.banner__shape:before { content: ''; position: absolute; right: 0; bottom:  0; height: 40px; background-color: var(--secondary); width: 15px; }

.hero-banner .slick-dots { width: auto; bottom: auto; right: 120px; left: auto; top: 50%; counter-reset: dot-counter; color: var(--white); }
.hero-banner .slick-dots li { width: 100%; counter-increment: dot-counter; position: relative; margin: 0; display: flex; align-items: center; justify-content: flex-end; margin-bottom: 25px; opacity: .6; transition: var(--common-transition);}
.hero-banner .slick-dots li::before {content:"0" counter(dot-counter);font-weight: 600; margin-right: 12px;}
.hero-banner .slick-dots li button { background-color: var(--white); padding: 0;  width: 24px; height: 2px;}
.hero-banner .slick-dots li button:before { display: none; }
.hero-banner .slick-dots li.slick-active { opacity: 1; transform: scale(1.5); }


.wpcf7 form.sent .wpcf7-response-output {border-color: #fdc500;}


.bg-light { background-color: rgba(236, 245, 255, 1) !important; }
.image-text__section { position: relative; z-index: 1; padding-bottom: 150px; overflow: hidden; }
.image-text__section .image-text__content {box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.08); background-color: var(--white); padding: 90px 50px; height: 100%; position: relative;}
.image-text__section .image-text__content h2 { margin-bottom: 40px; }
.image-text__section .image-text__imgage { height: 100%; position: relative;}
.image-text__section .image-text__imgage img { height: 100%; object-fit: cover; width: 100%; }
.image-text__content .shape { position: absolute; right: -55px; bottom: -55px; z-index: -1;}


.stripe-banner .hero-banner__slide-item { min-height: inherit; padding-top: 100px; padding-bottom: 100px; }
.stripe-banner .hero-banner__cta { position: relative; z-index: 1;}
.stripe-banner .hero-banner__content { max-width: 894px; }
.stripe-banner .hero-banner__row { display: flex; justify-content: space-between; align-items: center;}
.stripe-banner .hero-banner__image::after { content:''; background: rgba(1, 36, 94, 0.6); display: block; position: absolute; top: 0; right: 0; left: 0; bottom: 0; }
.stripe-banner .hero-banner__image::before { display: none; }
.stripe-banner .hero-banner__image img { filter: grayscale(100%); }
.stripe-banner .banner__shape { right: auto; width: 250px;}


.pb-150 { padding-bottom: 150px; }
.text-image__section {overflow: hidden;}
.text-image__section .text-image__content {box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.08); padding: 85px 60px; background-color: #FFF; position: relative; z-index: 1; max-height:530px; overflow:auto}
.text-image__image { position: relative; padding-bottom: 85%; transform: translateY(50px); margin-left: -90px; }
.text-image__image > img { position: absolute; top: 0; bottom: 0; right: 0; left: 0; height: 100%; width: 100%; object-fit: cover; }
.text-image__image .shape { position: absolute; top: -60px;  right: -60px;  }


.full-slider__section { background-size: cover; overflow: hidden; }
.full-slider__item-img { position: relative; padding-bottom: 127%; }
.full-slider__item-img:after { content:''; position: absolute; top: 0; bottom: 0; left: 0; right: 0; display: block; background: linear-gradient(180deg, rgba(0, 15, 38, 0) 23.75%, #000F26 100%); }
.full-slider__item-img img { position: absolute; left: 0; right: 0; top: 0; bottom: 0; object-fit: cover; width: 100%; height: 100%; }
.full-slider__item-inner { position: relative;  }
.full-slider__item-text { position: absolute; left: 0; bottom: 0; right: 0; z-index: 1; padding: 40px; top: 0; overflow: auto; display: flex; flex-direction: column; }
.full-slider__item-text * {color: var(--white);}
.full-slider__item-text h3 { margin-top: auto;}
.full-slider__item-text p { max-height: 0; overflow: hidden; transition: var(--common-transition);  }
.full-slider__item-inner:hover p { max-height:400px;  }


.full-slider__section .slick-slide { margin: 0 12px; }
.full-slider__section .slick-list { margin: 0 -12px; }
.full-slider__slide { margin-left: -150px; width: calc(100% + 300px); }
.slick-custom { width: 67px; height: 67px; border: 1px solid var(--secondary); border-radius: 50%; background-color: var(--white); transition: var(--common-transition); margin-left: 10px; }
.slick-custom:hover { background-color: var(--secondary); } 
.full-slider__header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 40px;}
.full-slider__header h2 { margin-bottom: 0; }



.image-text2__section { background-size: cover; }
.image-text2__section .image-text2__content { padding-right: 100px;  }

/* ============ Footer Start ============ */
.main-footer { padding: 60px 0 0; text-align: center;}
.main-footer .ftr-nav ul { list-style: none; padding: 0; margin: 0; display: flex; justify-content: center; margin-top: 40px; margin-bottom: 35px;  font-weight: 500;}
.main-footer .ftr-nav ul li { margin:0 30px;}
.main-footer a:hover { color: var(--primary);}

.bottom-ftr { border-top: 1px solid #B3BDC9; padding-top: 25px; padding-bottom: 25px; display: flex; justify-content: space-between;}
.bottom-ftr p { margin-bottom: 0; color: #333333;  font-weight: 500;}
/* ============ Footer End ============ */

/* ============ social icon start ============ */
.social-icon { display: flex; list-style: none; }
.social-icon li a {width: 30px; height: 30px; background-color: #2e86d8; border-radius: 50%; margin-right: 6px; margin-bottom: 0; color: #FFF; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.social-icon li a { color: #FFF;  }
.social-icon li a:hover { background-color: #98a5b6; }
.social-icon li:last-child a { margin-right: 0; }
/* ============  social icon End ============ */

/* ============  pagination start ============ */
.pagination { justify-content: center; margin-top: 40px; }
.pagination span { color: #FFF; font-weight: 600; display: inline-block; padding: 10px 20px;  margin: 0;  background-color: #595959 ; border: 1px solid #595959;}
.pagination a { color: #595959; font-weight: 600; display: inline-block; padding: 10px 20px;  margin: 0;  background-color: #FFF ; border: 1px solid #595959; }
/* ============  pagination End ============ */


.innner-banner .hero-banner__slide-item { min-height:500px ; }
.innner-banner h1 { margin-bottom: 0; }
.innner-banner .hero-banner__image:before { max-height: 220px;}
.innner-banner .hero-banner__image::after { background: rgba(1, 36, 94, 0.5); }


.fancy-yellow-box { position: relative; padding:60px; z-index: 1; }
.fancy-yellow-box .banner__shape { z-index: -1; }
.icon-list { padding: 0; margin: 0; list-style: none; margin-bottom: -12px; margin-top: 30px; }
.icon-list li { margin-bottom: 20px; display: flex; align-items: flex-start;}
.icon-list li span { width: 45px; height: 45px; background-color: var(--secondary); border-radius: 50%; display: flex; align-items: center; justify-content: center; transform: translateY(-12px); flex-shrink: 0; margin-right: 15px;}
.icon-list li a:hover { color: var(--secondary); }
.get-in-touch h2 { letter-spacing: 3px; }
.form-holder { border: 1px solid rgba(220, 224, 228, 1); background: rgba(236, 245, 255, 1); padding: 40px; }
input:not([type="submit"]), textarea { width: 100%; height: auto; border: 1px solid rgba(233, 233, 233, 1) !important;background: rgba(210, 225, 242, 1); padding:17px 20px; outline: none; }
input[type="submit"] { border: none !important;}


textarea { resize: none; height: 128px;}
.inp-wrap { margin-bottom: 20px;}

.wpcf7-not-valid-tip { display: none !important; }
body .wpcf7-not-valid { border-color:#F00 !important }
.wpcf7-response-output { margin-left: 0 !important; margin-right: 0 !important; font-size: 16px; text-align: center;}

.btn-hov-blue:hover { background-color: var(--primary) !important; color: #FFF !important; }
.bottom-ftr ul { list-style: none; display: flex; margin: 0; padding: 0; }
.bottom-ftr ul li { margin-left: 20px; }
.image-text2__image img { width: 100%; }

/*Service Page*/
.image-text__section .row:nth-child(even) {flex-direction: row-reverse;}
.image-text__section .row:not(:last-child) {margin-bottom: 100px;}

.image-text__section .row:nth-child(even) .shape {position: absolute; left: -55px; bottom: -55px; z-index: -1;}


/*Service Page End*/

@media only screen and (max-width:1399px) {  
  h1{ font-size: 50px; letter-spacing: 2px; }
  h2{ font-size: 40px; }
  h3{ font-size: 30px }
  body { font-size: 16px; }
  .hero-banner__content { max-width: 724px;}
  .innner-banner .hero-banner__slide-item { min-height: 400px;}
}



@media only screen and ( max-width: 1199px )  {
  h3{ font-size: 25px }
  .hero-banner .slick-dots { right: 60px; }
  .hero-banner__content h1 { margin-bottom: 30px; }
  .image-text__section .image-text__content {padding: 50px;}
  .image-text__content .shape { right: -30px; bottom: -30px; }
  .image-text__section .row:nth-child(even) .shape { bottom: -30px; left: -30px; }
  .full-slider__item-text {padding: 30px; padding-bottom: 10px; }
  .text-image__section .text-image__content {padding: 50px;}
  .text-image__image .shape { top: -30px; right: -30px; }
  
  .stripe-banner .hero-banner__content { max-width: 684px; }
  .image-text2__section .image-text2__content { padding-right: 0;}

  .get-in-touch .fancy-yellow-box { margin-bottom: 50px; }
  .get-in-touch .banner__shape { max-width: 300px; }
} 

@media only screen and ( max-width: 991px )  {

  .hero-banner .slick-dots { right: 0; }
  .image-text__content .shape,.text-image__image .shape {display: none;}
  .full-slider__slide {margin-left: 0; width: 100%;}
  .text-image__image {margin-left: 0; transform: none;}
  .pb-150 {padding-bottom: 100px;}
  .stripe-banner .hero-banner__content { max-width: 474px; }
  .bottom-ftr { flex-direction: column; }
  .bottom-ftr p:first-child {margin-bottom: 15px;}
  
  .bottom-ftr ul { justify-content: center;}
  .bottom-ftr ul li { margin-left: 10px; margin-right: 10px;}

  .text-image__section > .container > .row { flex-direction:column-reverse }
  .image-text2__section > .container > .row { flex-direction:column-reverse }
  .image-text2__section .image-text2__content { padding-top: 50px;}
}

@media only screen and (max-width:767px) { 
  h1{ font-size: 30px; letter-spacing: normal; }
  h2{ font-size: 25px; }
  h3{ font-size: 20px }

  .logo-block { max-width: 60px; }
  .container { max-width: 95%; }
   
  .header-right-btn { margin: 0 0 0 auto; }
  .nav_btn { cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; height: 22px; width: 30px; margin-left: 0; }
  .nav_btn span { background-color: var(--white); height: 2px; width: 30px; border-radius: 5px; }
   
  .main-menu { position: fixed; transform:translateX(100%); right: 0; top: 0; bottom: 0; z-index: 999; max-width: 250px; box-shadow: 4px 0 27px rgba(0, 0, 0, 0.11); background-color: var(--primary); padding:40px 30px; margin:0; display:block; width: 100%; transition: 250ms ease-in; height: 100vh;}
  .main-menu ul li { width: 100%; margin: 0; }
  .main-menu ul li:not(:last-child) { margin-right: 0; }
  .main-menu ul li a { display: block;color: var(--white); padding: 15px 0; }
  .nav_close { display: block; position: absolute; top: 8px; right: 10px; z-index: 999; font-size: 30px; }
  .main-menu.menu-is-open { transform: none;}
  .main-menu ul li.header-btn { margin-top: 15px;}
 
  .minus, .plus { display: block; padding: 6px 5px 6px 8px; font-weight: 700; color: #fff; font-size: 20px !important; cursor: pointer; position: absolute; right: 5px; width: 40px; top: -1px; font-size: 25px; text-align: right; }
  li.menu-item-has-children > ul.sub-menu {position: relative; margin-top: 0;min-width: 100%;padding: 0px 0px;box-shadow: inherit;background: inherit;} 
  li.menu-item-has-children ul.sub-menu a { color: #FFF; padding: 10px 20px; }
  li.menu-item-has-children:hover ul.sub-menu { display: none; }
  li.menu-item-has-children > a::after{content: none;}
  li.menu-item-has-children.open-sub ul.sub-menu { display: block !important; }
  .minus { display: none; }
  .open-sub .plus { display: none; }
  .open-sub .minus { display: block; }
  .header-sticky .logo-block { max-width: 60px;}


  .hero-banner__slide-item { padding-top: 160px; padding-bottom: 80px;}
  .hero-banner .slick-dots li { font-size: 12px; margin-bottom: 10px;}
  .hero-banner .slick-dots li button { width: 10px;}
  .hero-banner .slick-dots li.slick-active { transform: none; }
  .hero-banner__content { padding: 0 40px 0 0; }

  .banner__shape { display: none;}
  .banner__shape { border-width: 5px;}
  .banner__shape:before { width: 5px; }
  .banner__shape:after { width: 5px; }

  .image-text__section .image-text__content h2 { margin-bottom: 20px; }
  .image-text__section .image-text__content { padding: 25px;}
  .common-padding { padding-top: 80px; padding-bottom: 80px; }
  .image-text__section { padding-bottom: 80px; }

  .full-slider__header { flex-direction: column; align-items: flex-start;}
  .full-slider__header-action { margin-top: 20px;}
  .slick-custom { margin-right: 10px;margin-left: 0; }
  .text-image__section .text-image__content { padding: 25px;}
  .stripe-banner .hero-banner__row { flex-direction: column; align-items: flex-start;}
  .stripe-banner .hero-banner__cta { margin-top: 20px; }
  .stripe-banner .hero-banner__slide-item { padding-top: 70px; padding-bottom: 70px; }
  .main-footer .ftr-nav ul { flex-direction: column;}
  .main-footer .ftr-nav ul li { margin: 0; margin-bottom: 20px;}
  .main-footer .ftr-nav ul li:last-child { margin-bottom: 0;}

  .innner-banner .hero-banner__slide-item { min-height: 300px;  }
  .get-in-touch .fancy-yellow-box { padding: 0;}
  .form-holder { padding: 25px;}
}