@import url(https://fonts.googleapis.com/css?family=Montserrat:300,400,400i,500,500i,600,600i,700,700i,800|Open+Sans:400,400i,600,600i,700,700i,800&display=swap);
body {
  background: #fff;
  color: #555;
}

body,
p {
  font-family: "Open Sans", sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased !important;
  line-height: 26px;
  font-size: 15px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #212121;
  font-weight: 700;
  font-family: "Montserrat", sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased !important;
}

h1 {
  font-size: 36px;
  line-height: 48px;
}

h2 {
  font-size: 28px;
  line-height: 36px;
  text-transform: uppercase;
  letter-spacing: -1px;
}

h3 {
  font-size: 24px;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: -0.5px;
}

h4 {
  font-size: 18px;
  line-height: 28px;
  text-transform: uppercase;
  letter-spacing: -0.2px;
}

h5 {
  font-size: 14px;
  line-height: 24px;
}

/* Global styles
================================================== */
html {
  overflow-x: hidden !important;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  border: 0;
  margin: 0;
  padding: 0;
}

.body-inner {
  position: relative;
  overflow: hidden;
}

a:link,
a:visited {
  text-decoration: none;
}

a {
  color: inherit;
  transition: 0.2s ease;
}

a:hover {
  text-decoration: none;
  color: #ffffff;
}

section,
.section-padding {
  padding: 70px 0;
  position: relative;
}

.no-padding {
  padding: 0;
}

.gap-60 {
  clear: both;
  height: 60px;
}

.gap-40 {
  clear: both;
  height: 40px;
}

.gap-30 {
  clear: both;
  height: 30px;
}

.gap-20 {
  clear: both;
  height: 20px;
}

.mrb-30 {
  margin-bottom: 30px;
}

.mrb-80 {
  margin-bottom: -80px;
}

.mrt-0 {
  margin-top: 0 !important;
  margin-bottom: 20px !important;
}

.pab {
  padding-bottom: 0;
}

a:focus {
  outline: 0;
}

.ts-padding {
  padding: 60px;
}

.solid-bg {
  background: #f9f9f9;
}

.dark-bg {
  background: #252525;
  color: #fff;
}

.dark-bg h2,
.dark-bg h3 {
  color: #fff;
}

.solid-row {
  background: #f0f0f0;
}

.bg-overlay {
  position: relative;
}

.bg-overlay .container {
  position: relative;
  z-index: 1;
}

.bg-overlay:after {
  background-color: rgba(0, 46, 91, 0.8);
  z-index: 0;
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.bg-overlay:after {
  position: relative;
}

.bg-overlay:after {
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 0;
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.content-hidden {
  position: absolute;
  height: 1px;
  width: 1px;
  clip: rect(1px, 1px, 1px, 1px);
  border: 0;
  overflow: hidden;
}

/* Dropcap */
.dropcap {
  font-size: 48px;
  line-height: 60px;
  padding: 0 7px;
  display: inline-block;
  font-weight: 700;
  margin: 5px 15px 5px 0;
  position: relative;
  text-transform: uppercase;
}

.dropcap.primary {
  background: #ffb600;
  color: #fff;
}

.dropcap.secondary {
  background: #3a5371;
  color: #fff;
}

/* Title */
.title {
  font-size: 32px;
  line-height: 36px;
  margin-bottom: 20px;
}

/* Title Border */
/* Section title */
.section-title {
  font-size: 18px;
  line-height: 28px;
  margin: 0;
  text-transform: uppercase;
  font-weight: 300;
}

.section-sub-title {
  font-weight: 900;
  font-size: 36px;
  line-height: 46px;
  margin: 0 0 60px;
  color: #212121;
}

@media (max-width: 575px) {
  .section-sub-title {
    font-size: 28px;
  }
}

/* Column title */
.column-title {
  margin: 0 0 40px;
}

.column-title-small {
  font-size: 20px;
  margin: 0 0 25px;
}

/* Page content title */
.page-content-title.first {
  margin-top: 0;
}

/* Video responsive */
.embed-responsive {
  padding-bottom: 56.25%;
  position: relative;
  display: block;
  height: 0;
  overflow: hidden;
}

.embed-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

hr {
  background-color: #e7e7e7;
  border: 0;
  height: 1px;
  margin: 40px 0;
}

/* Ul, Ol */
.list-round,
.list-arrow,
.list-check {
  list-style: none;
  margin: 0;
  padding: 0 0 0 15px;
}

.list-round li {
  line-height: 28px;
}

.list-round li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  margin-right: 10px;
  color: #ffb600;
  font-size: 12px;
}

.list-arrow {
  padding: 0;
}

ul.list-arrow li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  margin-right: 10px;
  color: #ffb600;
  font-size: 16px;
  font-weight: bold;
}

ul.list-check li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  margin-right: 10px;
  color: #ffb600;
  font-size: 14px;
}

/* Bootstrap */
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover,
.nav-tabs > li > a:hover,
.nav-tabs > li > a {
  border: 0;
}

.nav > li > a:focus,
.nav > li > a:hover {
  background: none;
}

.pattern-bg {
  background: #f5f5f5 url(../images/crossword.png);
}

a[href^="tel"] {
  color: inherit;
  text-decoration: none;
}

/* Button */
.btn:active,
.btn:focus {
  box-shadow: none !important;
}

.btn-primary,
.btn-dark {
  border: 0;
  border-radius: 3px;
  padding: 12px 20px 10px;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  transition: 350ms;
  font-size: 14px;
}

@media (max-width: 767px) {
  .btn-primary,
  .btn-dark {
    font-size: 13px;
  }
}

.btn-white.btn-primary {
  background: #fff;
  color: #ffb600;
}

.btn-primary {
  background: #ffb600;
}

.btn-dark {
  background: #23282d;
}

.btn-primary:hover,
.btn-dark:hover,
.btn-white.btn-primary:hover {
  background: #111;
  color: #fff;
}

.btn-primary:hover:active,
.btn-primary:hover:focus,
.btn-dark:hover:active,
.btn-dark:hover:focus,
.btn-white.btn-primary:hover:active,
.btn-white.btn-primary:hover:focus {
  color: #fff;
  background-color: #111 !important;
}

.general-btn {
  margin-top: 50px;
}

/* Bootstrap */
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover,
.nav-tabs > li > a:hover,
.nav-tabs > li > a {
  border: 0;
}

.nav > li > a:focus,
.nav > li > a:hover {
  background: none;
}

.pattern-bg {
  background: #f5f5f5 url(../images/crossword.png);
}

a[href^="tel"] {
  color: inherit;
  text-decoration: none;
}

/* Header area
================================================== */
/* Header area
================================================== */
#header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  background-color: #f5f5f5; /* Will be overridden by .header-two */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Will be overridden by .header-two */
}

.header-two .navbar-collapse {
  padding-left: 0;
}

@media (max-width: 991px) {
  .navbar-collapse.collapse {
    overflow-y: auto;
  }
}

/*
.navbar-fixed is not directly applied to #header or .header-two in your HTML,
but it's a common class added by JS for sticky headers. Keeping it.
*/
.navbar-fixed {
  z-index: 9999;
  position: fixed;
  width: 100%;
  top: 0;
}

.header-two {
  background: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.15);
}

/*
.header-two .navbar-fixed is for when .navbar-fixed is applied to .header-two.
Keeping it.
*/
.header-two .navbar-fixed {
  background-color: #fff;
}

ul.navbar-nav > li > a {
  padding: 15px 0 !important;
  color: #fff; /* This will be overridden by .navbar-light if applied */
  font-family: "Montserrat", sans-serif;
  text-rendering: optimizeLegibility;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: -0.2px;
  font-size: 14px;
  margin: 0;
  line-height: 40px;
  padding: 30px 0; /* This padding overrides the one above, consolidate! */
  transition: 350ms;
}

/* Consolidated `ul.navbar-nav > li > a` styles: */
ul.navbar-nav > li > a {
  font-family: "Montserrat", sans-serif;
  color: #fff !important; /* Will be overridden by .navbar-light ul.navbar-nav > li > a */
  text-rendering: optimizeLegibility;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: -0.2px;
  font-size: 14px;
  margin: 0;
  line-height: 40px;
  padding: 30px 0; /* Keeping this as the primary padding */
  transition: 350ms;
}

@media (max-width: 991px) {
  ul.navbar-nav > li > a {
    padding: 1px 0 !important; /* Mobile specific padding */
  }
  .navbar-nav {
    margin-bottom: 15px;
  }
}

/* Hover effect for nav links */
.navbar-nav .nav-link:hover {
  color: #007bff !important; /* Bootstrap primary color or any custom */
  text-decoration: underline !important;
  transition: color 0.3s ease;
}

/* Active nav item (highlighted item) */
.navbar-nav .nav-item.active .nav-link {
  color: #ffb600 !important;
  font-weight: bold;
}

ul.navbar-nav > li:hover > a,
ul.navbar-nav > li.active > a {
  color: #ffb600;
  position: relative;
}

ul.navbar-nav > li {
  padding: 0 13px;
  position: relative;
}

@media (max-width: 1200px) {
  ul.navbar-nav > li {
    padding: 0 9px;
  }
  ul.navbar-nav > li .nav-link {
    font-size: 12px;
  }
}

.header-two .navbar-nav > .header-get-a-quote {
  top: -4px;
}

@media (max-width: 991px) {
  .header-two ul.navbar-nav > li {
    padding: 0;
    width: 100%;
  }
}

ul.navbar-nav > li:last-child {
  padding-right: 0;
}

ul.navbar-nav > li:last-child:after {
  background: none;
}

ul.navbar-nav > li > a:hover,
ul.navbar-nav > li > a:focus {
  background: none;
}

ul.navbar-nav > li > a i {
  font-weight: 700;
}

@media (max-width: 991px) {
  ul.navbar-nav > li > a i {
    float: right;
    background: #222;
    padding: 6px 10px;
    margin-top: 7px;
  }
  .header-two ul.navbar-nav > li > a i {
    color: #fff;
  }
  .header-two ul.navbar-nav > li.active > a i,
  .header-two ul.navbar-nav > li > a.active i {
    color: #ffb600;
  }
}

ul.navbar-nav > li > a:after,
ul.navbar-nav > li > a:after {
  /* Consolidated to a single selector if possible */
  display: none;
}

.navbar-light ul.navbar-nav > li > a {
  color: #000 !important;
  font-size: 13px;
}

/*-- Logo --*/
.logo img {
  width: auto;
  height: 35px;
}

.header-two .logo img {
  height: 70px;
}

/* Main navigation */
.navbar-toggler {
  float: left;
  margin-top: 10px;
  padding: 12px;
  border-radius: 0;
  font-size: 1rem;
  background: #ffb600;
  margin: 10px 0; /* This overrides margin-top: 10px; */
  padding: 6px; /* This overrides padding: 12px; */
}

.navbar {
  border-radius: 0;
  border: 0;
  margin-bottom: 0;
}

.navbar-toggler:focus {
  outline: 0;
}

.navbar-dark .navbar-toggler-icon,
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}


/* Table of Content
==================================================
1.    Slider
2.    Call to action
3.    Features
4.    Facts
5.    Services
6.   Project area
7.   Content area
8.   Testimonial
9.   Subscribe area
10.   News section
11.   Footer
12.   Sub Pages
13.   Contact Us
14.   News Listing
15.   News Single
16.   Sidebar
17.   Error page
*/
/* Slider
================================================== */
/*-- Main slide --*/
.banner-carousel .banner-carousel-item {
  height: 600px;
  color: #fff;
  background-position: 50% 50%;
  background-size: cover;
}

@media (max-width: 991px) {
  .banner-carousel .banner-carousel-item {
    height: 550px;
  }
}

@media (max-width: 575px) {
  .banner-carousel .banner-carousel-item {
    height: 450px;
  }
}

.slider-content {
  position: relative;
  height: 100%;
  width: 100%;
}

.slide-title-box {
  font-size: 16px;
  line-height: 39px;
  background: #215678;
  color: #fff;
  display: inline-block;
  padding: 0 15px;
  margin: 0 0 10px;
}

.slide-title {
  font-size: 30px;
  line-height: 36px;
  font-weight: 300;
  color: #fff;
  margin: 20px 0 10px;
}

@media (max-width: 991px) {
  .slide-title {
    font-size: 22px;
  }
}

@media (max-width: 575px) {
  .slide-title {
    font-size: 16px;
  }
}

.slide-sub-title {
  font-style: normal;
  font-size: 60px;
  line-height: 58px;
  margin: 20px 0;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -1px;
}

@media (max-width: 991px) {
  .slide-sub-title {
    font-size: 46px;
  }
}

@media (max-width: 575px) {
  .slide-sub-title {
    font-size: 30px;
    line-height: 30px;
  }
}

.slider-text {
  display: table;
  vertical-align: bottom;
  color: #fff;
  padding-left: 40%;
  width: 100%;
  padding-bottom: 0;
  padding-top: 20px;
}

.slider-text .slide-head {
  font-size: 36px;
  color: #0052a5;
  position: relative;
}

.slider-img {
  display: block;
  position: absolute;
  top: -80px;
  left: 20%;
  width: 314px;
  max-height: 100%;
}

.slider-img img {
  display: block;
  position: relative;
  max-height: 100%;
  width: auto;
}

.slider.btn {
  margin: 15px 5px 0;
  border: 2px solid transparent;
}

@media (max-width: 575px) {
  .slider.btn {
    font-size: 12px;
  }
}

.slider.border {
  background: none;
  border: 2px solid #ffb600 !important;
}

.slider.border:hover {
  background: #ffb600;
  border: 2px solid transparent;
}

/* Carousel control */
.banner-carousel .carousel-control {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-block;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: transparent;
  opacity: 0;
  filter: alpha(opacity=0);
  text-shadow: none;
  transition: all 0.25s ease;
  padding: 0;
  outline: 0;
  border: 0;
}

@media (max-width: 575px) {
  .banner-carousel .carousel-control {
    display: none !important;
  }
}

.banner-carousel .slick-dots {
  opacity: 0;
  filter: alpha(opacity=0);
  bottom: 60px;
}

.slick-dots li button::before {
  font-size: 12px;
}

.slick-dots li button:hover:before,
.slick-dots .slick-dots li button:focus:before,
.slick-dots li.slick-active button:before {
  opacity: 1;
  color: #ffb600;
}

.slick-slide {
  outline: 0;
}

.banner-carousel:hover .carousel-control,
.banner-carousel:hover .carousel-control,
.banner-carousel:hover .slick-dots {
  opacity: 1;
  filter: alpha(opacity=100);
}

.banner-carousel .carousel-control.left {
  left: 20px;
}

.banner-carousel .carousel-control.right {
  right: 20px;
}

.banner-carousel .carousel-control i {
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  line-height: 58px;
  width: 60px;
  height: 60px;
  font-size: 22px;
  border-radius: 0;
  transition: all 500ms ease;
}

.banner-carousel .carousel-control i:hover {
  background: #ffb600;
  color: #fff;
}

/*-- Animation */
.banner-carousel [data-animation-in] {
  opacity: 0;
}

/* slick Box slider */
.box-slider-content {
  top: 50%;
  padding: 0;
  position: absolute;
  width: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media (max-width: 767px) {
  .box-slider-content {
    top: auto;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    left: 20px;
    bottom: 20px;
    width: calc(100% - 40px);
  }
}

.box-slider-text {
  background: #111;
  background: rgba(0, 0, 0, 0.65);
  display: inline-block;
  padding: 20px 30px;
  max-width: 650px;
}

.box-slide-title {
  font-size: 18px;
  font-weight: 300;
  margin: 0;
  color: #fff;
}

@media (max-width: 767px) {
  .box-slide-title {
    font-size: 16px;
  }
}

.box-slide-sub-title {
  font-size: 36px;
  margin: 8px 0 10px;
  color: #fff;
}

@media (max-width: 767px) {
  .box-slide-sub-title {
    font-size: 26px;
  }
}

.box-slide-description {
  color: #fff;
}

@media (max-width: 767px) {
  .box-slide-description {
    font-size: 15px;
  }
}

.box-slider-text .btn {
  padding: 10px 20px;
}

.box-slide.owl-theme .owl-controls {
  margin: -20px;
}

/* Call to action
================================================== */
.call-to-action {
  background-color: #2a4f75;
  padding: 30px;
}

.call-to-action-title {
  color: #fff;
  margin: 0;
  padding: 25px 0;
  line-height: normal;
  font-size: 22px;
  text-transform: capitalize;
}

/* Action style box */
.call-to-action-box {
  margin-top: -50px;
}

.call-to-action-box .action-style-box {
  background: #ffb600;
  padding: 30px;
}

.action-title {
  color: #fff;
  margin: 0;
  line-height: 36px;
  font-size: 18px;
  text-transform: uppercase;
}

/* Intro
================================================== */
/* Intro */
.ts-intro {
  padding-right: 20px;
}

.into-title {
  font-weight: 300;
  text-transform: uppercase;
  font-size: 18px;
  line-height: normal;
  margin: 0;
}

.into-sub-title {
  font-weight: 900;
  text-transform: uppercase;
  font-size: 32px;
  line-height: normal;
  margin: 10px 0;
}



/* Facts
================================================== */
.facts-wrapper {
  text-align: center;
}

.facts-wrapper .ts-facts {
  color: #fff;
}

.ts-facts .ts-facts-icon i {
  font-size: 42px;
  color: #ffb600;
}

.ts-facts .ts-facts-content .ts-facts-num {
  color: #fff;
  font-size: 44px;
  margin: 30px 0 20px;
}

.ts-facts .ts-facts-content .ts-facts-title {
  font-size: 16px;
  color: #ffb600;
  margin: 0;
}

/* Services
================================================== */
/* Service box */
.ts-service-box .ts-service-icon i {
  font-size: 36px;
  float: left;
  color: #ffb600;
}

.ts-service-box .ts-service-box-content {
  margin-left: 62px;
  margin-bottom: 30px;
}

.tab-content .ts-service-box .ts-service-box-content {
  margin-left: 90px;
}

.ts-service-box .ts-service-box-content h3 {
  font-size: 16px;
  margin-bottom: 10px;
  line-height: 28px;
}

.ts-service-box .ts-service-box-info {
  margin-left: 25px;
  margin-bottom: 40px;
}

.service-box-title {
  font-size: 16px;
  margin: 0 0 10px;
}

.service-box-title a {
  color: #333;
}

.service-box-title a:hover {
  color: #ffb600;
}

/* Service box bg */
.ts-service-box-bg {
  background: #252525;
  color: #fff;
  padding: 30px;
  border-radius: 5%;
}

.ts-service-box-bg h4,
.ts-service-box-bg h3 {
  color: #fff;
}
/* Icon squre */
.ts-service-icon.icon-round i {
  font-size: 24px;
  color: #fff;
  background: #ffb600;
  text-align: center;
  border-radius: 100%;
  width: 60px;
  height: 60px;
  line-height: 60px;
  margin-bottom: 20px;
  position: relative;
  float: none;
}

/* Icon left */
.ts-service-box.icon-left .ts-service-box-icon {
  float: left;
}

.ts-service-box.icon-left .ts-service-box-icon i {
  background: #ffb600;
  color: #fff;
}

.ts-service-box.icon-left .ts-service-box-info {
  margin-left: 90px;
}

.ts-service-box.icon-left .ts-service-box-info h3 {
  margin-top: 0;
  margin-bottom: 5px;
}

/* Service no box */
.service-no {
  font-size: 48px;
  color: #dbdbdb;
  float: left;
  margin-top: 10px;
}

.ts-service-box-content .ts-service-box-info {
  margin-left: 90px;
}

/* Service Image */
.ts-service-image-wrapper {
  margin-bottom: 30px;
}

.ts-service-icon i {
  font-size: 28px;
  margin-right: 15px;
  margin-top: 2px;
}

.ts-service-info {
  margin-left: 30px;
}

.ts-service-info h3 {
  font-size: 16px;
}

.ts-service-info .learn-more {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 600;
}

.ts-service-info .learn-more:hover {
  color: #ffb600;
}

/* Service Classic */
.ts-service-classic .ts-service-icon i {
  font-size: 24px;
  float: left;
  color: #fff;
  background: #ffb600;
  border-radius: 100%;
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  transition: all 0.3s;
}

.ts-service-classic .ts-service-box-info {
  margin-left: 80px;
}

.ts-service-classic:hover .ts-service-icon i {
  background: #ffb600;
}

/* Projects area
================================================== */
/* Project filter nav */
.shuffle-btn-group {
  display: inline-block;
  margin: 20px 0 50px;
  width: 100%;
  border-bottom: 3px solid #ffb600;
}

.shuffle-btn-group label {
  display: inline-block;
  color: #212121;
  font-size: 14px;
  padding: 6px 25px;
  padding-top: 10px;
  font-weight: 700;
  text-transform: uppercase;
  transition: all 0.3s;
  cursor: pointer;
  margin: 0;
}

.shuffle-btn-group label.active {
  color: #212121;
  background: #ffb600;
}

.shuffle-btn-group label input {
  display: none;
}

/* Project shuffle Item */
.shuffle-item {
  padding: 0;
}

.shuffle-item .project-img-container {
  position: relative;
  overflow: hidden;
}

.shuffle-item .project-img-container img {
  -webkit-transform: perspective(1px) scale3d(1.1, 1.1, 1);
  transform: perspective(1px) scale3d(1.1, 1.1, 1);
  transition: all 400ms;
}

.shuffle-item .project-img-container:hover img {
  -webkit-transform: perspective(1px) scale3d(1.15, 1.15, 1);
  transform: perspective(1px) scale3d(1.15, 1.15, 1);
}

.shuffle-item .project-img-container:after {
  opacity: 0;
  position: absolute;
  content: "";
  top: 0;
  right: auto;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  transition: all 400ms;
}

.shuffle-item .project-img-container:hover:after {
  opacity: 1;
}

.shuffle-item .project-img-container .gallery-popup .gallery-icon {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  padding: 5px 12px;
  background: #ffb600;
  color: #fff;
  opacity: 0;
  -webkit-transform: perspective(1px) scale3d(0, 0, 0);
  transform: perspective(1px) scale3d(0, 0, 0);
  transition: all 400ms;
}

.shuffle-item .project-img-container:hover .gallery-popup .gallery-icon {
  opacity: 1;
  -webkit-transform: perspective(1px) scale3d(1, 1, 1);
  transform: perspective(1px) scale3d(1, 1, 1);
}

.shuffle-item .project-img-container .project-item-info {
  position: absolute;
  top: 50%;
  margin-top: -10%;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 30px;
  z-index: 1;
}

.shuffle-item .project-img-container .project-item-info-content {
  opacity: 0;
  -webkit-transform: perspective(1px) translate3d(0, 15px, 0);
  transform: perspective(1px) translate3d(0, 15px, 0);
  transition: all 400ms;
}

.shuffle-item
  .project-img-container
  .project-item-info-content
  .project-item-title {
  font-size: 20px;
}

.shuffle-item
  .project-img-container
  .project-item-info-content
  .project-item-title
  a {
  color: #fff;
}

.shuffle-item
  .project-img-container
  .project-item-info-content
  .project-item-title
  a:hover {
  color: #ffb600;
}

.shuffle-item .project-img-container .project-item-info-content .project-cat {
  /* background: #ffb600; */
  display: inline-block;
  padding: 2px 8px;
  font-weight: 700;
  color: #ffffff;
  font-size: 11px;
  text-transform: uppercase;
}

.shuffle-item .project-img-container:hover .project-item-info-content {
  opacity: 1;
  -webkit-transform: perspective(1px) translate3d(0, 0, 0);
  transform: perspective(1px) translate3d(0, 0, 0);
}

.general-btn .btn-primary:hover {
  background: #000;
}

/* Project owl */
.owl-theme.project-slide {
  margin-top: 60px;
}

.project-slide .item {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.project-item img {
  width: 100%;
  max-width: auto;
  transition: all 0.6s ease 0s;
}

.project-item:hover img {
  -webkit-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}

.project-item-content {
  position: absolute;
  bottom: -1px;
  padding: 15px 20px;
  width: 100%;
  background: #ffb600;
}

.owl-theme.project-slide .owl-nav > div {
  position: absolute;
  top: -70px;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.project-slide .owl-nav > div {
  display: inline-block;
  margin: 0 2px;
  font-size: 20px;
  background: #ffb600;
  color: #fff;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
}

.owl-theme.project-slide .owl-nav > .owl-prev {
  right: 35px;
  left: auto;
}

/* Projects Single page */
.project-title {
  font-size: 30px;
}

.project-info-label {
  color: #303030;
  font-weight: 700;
  font-size: 14px;
}

.project-info-content {
  font-size: 12px;
}

.project-info li {
  margin-bottom: 5px;
}

.project-link {
  margin-top: 15px;
}

/* Content area
================================================== */
/* Accordion */
.accordion-group .card {
  border-radius: 0;
  margin-bottom: 10px;
  border-bottom: 1px solid #dfdfdf !important;
}

.accordion-group .card-body {
  padding: 15px 20px;
}

.accordion-group .card-body img {
  max-width: 100px;
  margin-bottom: 10px;
}

.accordion-group .card-header .btn {
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 700;
  padding: 13px 15px;
  padding-bottom: 10px;
}

.accordion-group .card-header .btn:before {
  font-family: "Font Awesome 5 Free";
  position: absolute;
  z-index: 0;
  font-size: 14px;
  right: 16px;
  padding: 3px 8px 1px;
  text-align: center;
  border-radius: 3px;
  top: 12px;
  content: "\f107";
  font-weight: 700;
  background-color: #333;
  color: #fff;
  transition: 0.3s;
}

.accordion-group .card-header .btn[aria-expanded="true"] {
  color: #ffb600;
}

.accordion-group .card-header .btn[aria-expanded="true"]::before {
  content: "\f106";
  background-color: #ffb600;
}

.accordion-group.accordion-classic .card-header .btn:before {
  display: none;
}

/* Clients */
.clients-logo {
  margin: 0 0 30px;
  border: 1px solid #dadada;
  min-height: 105px;
  padding: 0 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-content: center;
}

/* Testimonial
================================================== */
.testimonial-area {
  padding: 100px 0;
  background-color: #ffb600;
  background-image: url(../images/parallax2.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: 50% 50%;
}

.testimonial-area .border-title,
.testimonial-area .border-sub-title {
  color: #fff;
}

.quote-item .quote-text {
  margin: 0 0 10px;
  display: inline-block;
  padding: 0 40px 30px 60px;
  background-color: #fff;
  position: relative;
  font-size: 16px;
  font-style: italic;
}

@media (max-width: 575px) {
  .quote-item .quote-text {
    padding: 0 40px 30px 50px;
  }
}

.quote-item .quote-text:before {
  content: "\f10d";
  font-family: "Font Awesome 5 Free";
  position: absolute;
  font-size: 30px;
  left: 0;
  top: 0;
  font-weight: 700;
  color: #ffc009;
}

.testimonial-slide .slick-dots {
  bottom: -35px;
}

img.testimonial-thumb {
  max-width: 80px;
  float: left;
  margin-right: 20px;
  border-radius: 5px;
}

.quote-item-info {
  padding-top: 15px;
  display: inline-block;
}





@media (max-width: 575px) {
  .quote-item-footer {
    margin-left: 0;
  }
}

/* Testimonial Border */
.quote-item.quote-border .quote-text-border {
  border: 1px solid #ffb600;
  padding: 20px;
  position: relative;
  line-height: 28px;
  color: #666;
  font-size: 18px;
  text-align: center;
}

.quote-item.quote-border .quote-text-border:before {
  border: 12px solid;
  border-color: #e1e1e1 transparent transparent;
  border-top-color: #ffb600;
  bottom: -24px;
  position: absolute;
  content: "";
  display: block;
  height: 0;
  width: 0;
  left: 0;
  margin: 0 auto;
  right: 0;
}

.quote-item.quote-border .quote-text-border:after {
  border: 12px solid;
  border-color: #fff transparent transparent;
  bottom: -22px;
  position: absolute;
  content: "";
  display: block;
  height: 0;
  width: 0;
  left: 0;
  margin: 0 auto;
  right: 0;
}

.quote-item.quote-border .quote-item-footer {
  margin-left: 0;
  text-align: center;
  margin-top: 35px;
}

.quote-item.quote-border .quote-item-footer img.testimonial-thumb {
  float: none;
  margin: 0;
}

.quote-item.quote-border .quote-item-footer .quote-item-info {
  display: block;
}


/* Footer
================================================== */
/*- Footer common */
.footer {
  background-color: #0a2a38;
  color: #999;
}

.footer-main {
  padding: 80px 0 60px;
}

.footer .widget-title {
  font-size: 16px;
  font-weight: 700;
  position: relative;
  margin: 0 0 30px;
  padding-left: 15px;
  text-transform: uppercase;
  color: #fff;
  border-left: 3px solid #ffb600;
}

/* Footer about us */
.footer-logo {
  margin-bottom: 25px;
  max-height: 35px;
}

/* Footer social */
.footer-social {
  margin-top: 15px;
}

.footer-social .widget-title {
  font-size: 14px;
  margin-bottom: 10px;
}

.footer-social ul {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-left: -13px;
}

.footer-social ul li {
  display: inline-block;
}

.footer-social ul li a i {
  display: block;
  font-size: 16px;
  color: #999;
  transition: 400ms;
  padding: 10px 13px;
}

.footer-social ul li:hover {
  color: #fff;
}

.working-hours {
  padding-right: 10px;
}

.hours-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}

.hours-row .time {
  color: #747474;
}


/*-- Copyright --*/
.copyright {
  background: #ffb600;
  color: #111;
  padding: 25px 0;
  position: relative;
  z-index: 1;
  font-weight: 600;
  font-size: 12px;
}

.footer-menu ul li {
  display: inline-block;
  line-height: 12px;
  padding-left: 15px;
}

.footer-menu ul.nav li a {
  background: none;
  color: #111;
  padding: 0;
}

.footer-menu ul li a:hover {
  color: #fff;
}

#back-to-top {
  right: 40px;
  top: auto;
  z-index: 10;
  display: none;
}

#back-to-top .btn:focus {
  outline: 0;
  box-shadow: none;
}

@media (max-width: 767px) {
  #back-to-top {
    right: 15px;
  }
}

#back-to-top.position-fixed {
  bottom: 20px;
}

#back-to-top .btn.btn-primary {
  width: 36px;
  height: 36px;
  line-height: 36px;
  background: rgba(0, 0, 0, 0.9);
  border-radius: 3px;
  color: #ffb600;
  font-weight: 700;
  font-size: 16px;
  padding: 0;
}

@media (max-width: 767px) {
  #back-to-top .btn.btn-primary {
    width: 32px;
    height: 32px;
    line-height: 32px;
    font-size: 14px;
  }
}

#back-to-top .btn.btn-primary:hover {
  color: #fff;
}

/* Sub Pages
================================================== */
/*-- Title border --*/
.main-container .border-left {
  margin-bottom: 30px;
}

/*-- Banner --*/
.banner-area {
  position: relative;
  min-height: 500px;
  color: #fff;
  background-position: 50% 50%;
  background-size: cover;
}

.banner-title {
  color: #fff;
  text-transform: uppercase;
  font-size: 58px;
  font-weight: 900;
}

@media (max-width: 767px) {
  .banner-title {
    font-size: 48px;
  }
}

@media (max-width: 575px) {
  .banner-title {
    font-size: 32px;
  }
}

.banner-text {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  max-width: 1170px;
  margin: 0 auto;
  width: 100%;
  z-index: 1;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.banner-heading {
  text-align: center;
}

.breadcrumb {
  padding: 0;
  background: none;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px;
}

.breadcrumb li a,
.breadcrumb .breadcrumb-item,
.breadcrumb li a:focus,
.breadcrumb li a:hover {
  color: #fff !important;
}

.breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: #fff;
}

/*-- About us page --*/
/* Slider pages */
.page-slider .carousel-control {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-block;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: transparent;
  text-shadow: none;
  transition: all 0.25s ease;
  padding: 0;
  outline: 0;
  border: 0;
}

.page-slider .carousel-control.left {
  left: 0;
}

.page-slider .carousel-control.right {
  right: 0;
}

.page-slider .carousel-control i {
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  line-height: 70px;
  width: 40px;
  height: 70px;
  font-size: 22px;
  border-radius: 0;
  transition: all 500ms ease;
}

.page-slider .carousel-control i:hover {
  background: #ffb600;
  color: #fff;
}

.page-slider.small-bg .item {
  min-height: 330px;
  background-size: cover;
}

.page-slider.small-bg .box-slider-content {
  left: 20%;
}

.page-slider.small-bg .box-slider-text {
  background: rgba(0, 0, 0, 0.55);
  padding: 5px 20px;
}

.page-slider.small-bg .box-slide-title {
  font-size: 28px;
  color: #fff;
  font-weight: 900;
}

/*-- Get a quote page --*/
.page-quote-form {
  background: #f2f2f2;
  padding: 30px 50px 50px;
}

.get-a-quote-img {
  margin-bottom: -190px;
}

/*-- Partners carousel --*/
.partner-logo {
  border: 1px solid #eee;
  padding: 20px;
  margin-top: 40px;
  margin-bottom: 10px;
}

.partner-logo img {
  transition: 350ms;
  opacity: 0.6;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

.partner-logo:hover img {
  opacity: 1;
  -webkit-filter: grayscale(0%);
  filter: grayscale(0%);
}

#partners-carousel .partner-logo {
  border: 0;
  border-right: 1px solid #eee;
  padding: 0 15px;
  margin-top: 20px;
}

#partners-carousel .partner-logo.last {
  border-right: 0;
}

/*-- Team page --*/
.team-slide .slick-slide {
  margin-left: 25px;
  padding-bottom: 60px;
}

.team-slide .slick-list {
  margin-left: -25px;
}

.team-slide .carousel-control {
  position: absolute;
  bottom: 0;
  left: 50%;
  border: 0;
  background-color: #ddd;
  height: 37px;
  width: 37px;
  border-radius: 4px;
  transition: 0.3s;
  z-index: 6;
}

.team-slide .carousel-control:hover {
  background-color: #ffb600;
  color: #fff;
}

.team-slide .carousel-control.left {
  -webkit-transform: translateX(calc(-50% - 25px));
  transform: translateX(calc(-50% - 25px));
}

.team-slide .carousel-control.right {
  -webkit-transform: translateX(calc(-50% + 25px));
  transform: translateX(calc(-50% + 25px));
}

.team-slide .carousel-control.slick-disabled {
  opacity: 0.4;
}

.team-slide .carousel-control.slick-disabled:hover {
  background-color: #ddd;
  color: #000;
}

.ts-team-wrapper {
  position: relative;
  overflow: hidden;
}

.ts-team-wrapper .ts-team-content {
  position: absolute;
  top: 76%;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 15px 25px;
  margin-top: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  transition: 350ms;
}

@media (max-width: 1200px) {
  .ts-team-wrapper .ts-team-content {
    top: 72%;
  }
}

@media (max-width: 575px) {
  .ts-team-wrapper .ts-team-content {
    text-align: center;
  }
}

.ts-team-wrapper .ts-name {
  font-size: 16px;
  margin-top: 0;
  margin-bottom: 3px;
  line-height: normal;
  color: #ffb600;
}

.ts-team-wrapper .ts-designation {
  color: #fff;
  font-size: 14px;
  margin-bottom: 15px;
  font-weight: 700;
}

.ts-team-wrapper .team-social-icons a i {
  color: #fff;
  margin-right: 8px;
  text-align: center;
  transition: 400ms;
}

.ts-team-wrapper .team-social-icons a i:hover {
  color: #ffb600;
}

.ts-team-wrapper:hover .ts-team-content {
  top: 0;
  padding-top: 50px;
}

/* Team Classic */
.ts-team-content-classic {
  margin-top: 15px;
}

.ts-team-content-classic .ts-name {
  font-size: 16px;
  margin-bottom: 5px;
  color: #212121;
}

.ts-team-content-classic .ts-designation {
  color: #888;
  margin-bottom: 5px;
  font-weight: 600;
}

.ts-team-content-classic .team-social-icons a i {
  color: #999;
}

.ts-team-content-classic .team-social-icons a i:hover {
  color: #ffb600;
}
/* Contact Us
================================================== */
.map {
  height: 450px;
  z-index: 1;
}

.contact-info-box {
  margin-top: 20px;
}

.contact-info-box i {
  float: left;
  font-size: 24px;
  color: #ffb600;
}

.contact-info-box-content {
  padding-left: 40px;
}

.contact-info-box-content h4 {
  font-size: 16px;
  margin-top: 0;
  line-height: normal;
  font-weight: 700;
}

.contact-info-box-content p {
  margin-bottom: 0;
}

label {
  font-weight: 400;
}

/* Contact page 2 */
.ts-service-box.text-center .ts-service-icon.icon-squre i {
  float: none;
  margin-bottom: 20px;
}

.ts-service-box.text-center .ts-service-box-content {
  margin: 0;
}

/* Author box */
.author-box {
  border: 1px solid #dadada;
  padding: 20px 20px 15px;
  margin: 20px 0;
}

.author-img img {
  width: 110px;
  height: 110px;
  margin-right: 30px;
}

.author-info h3 {
  margin-top: 0;
  margin-bottom: 5px;
  font-size: 18px;
  font-weight: 600;
}

.author-info h3 span {
  font-size: 12px;
  color: #999;
  border-left: 1px solid #afafaf;
  padding-left: 10px;
  margin-left: 10px;
  font-weight: 500;
}



/* Error page
================================================== */
.error-page .error-code h2 {
  display: block;
  font-size: 200px;
  line-height: 200px;
  color: #303030;
  margin-bottom: 20px;
}

.error-page .error-body .btn {
  margin-top: 30px;
  font-weight: 700;
}

/*# sourceMappingURL=style.css.map */
.service-icon {
  color: #ffb600;
  font-size: 2.5rem;
  margin-right: 15px;
  flex-shrink: 0;
}
.vision-mission-section {
  padding: 50px 20px;
  background-color: #f2f2f2;
  font-family: "Arial", sans-serif;
}

.vision-mission-container {
  max-width: 900px;
  margin: auto;
}

.section-header {
  text-align: center;
  margin-bottom: 40px;
}

.section-header h2 {
  font-size: 28px;
  color: #005b7f;
  margin-bottom: 10px;
}

.section-header p {
  font-size: 16px;
  color: #555;
}

.vision-mission-content {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.vision-box,
.mission-box {
  background-color: #ffffff;
  padding: 25px 30px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.vision-box h3,
.mission-box h3 {
  color: #005b7f;
  margin-bottom: 15px;
  font-size: 22px;
}

.vision-box p,
.mission-box p {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}

@media (min-width: 768px) {
  .vision-mission-content {
    flex-direction: row;
    justify-content: space-between;
  }

  .vision-box,
  .mission-box {
    flex: 0 0 48%;
  }
}
/* contact */
/* --- Form Styling --- */

/* Overall form container padding */
#contact-form {
  padding: 30px; /* Add some internal padding to the form */
  border: 1px solid #e0e0e0; /* Subtle border around the form */
  border-radius: 8px; /* Slightly rounded corners */
  background-color: #fcfcfc; /* Very light background for the form area */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); /* Soft shadow for depth */
}

/* Column title styling */
h3.column-title {
  font-size: 2em; /* Slightly larger heading */
  color: #333; /* Darker text for prominence */
  margin-bottom: 30px; /* More space below the title */
  text-align: center; /* Center the title */
  font-weight: 600; /* Make it a bit bolder */
}

/* Form Group (label + input) spacing */
.form-group {
  margin-bottom: 25px; /* Increase vertical spacing between form groups */
}

/* Labels */
.form-group label {
  display: block; /* Ensure label is on its own line */
  margin-bottom: 8px; /* Space between label and input */
  font-weight: 500; /* Slightly bolder label text */
  color: #555; /* Medium grey color */
  font-size: 0.95em; /* Slightly smaller font size */
}

/* Form Controls (Inputs and Textarea) */
.form-control {
  width: 100%; /* Ensure it takes full width of its column */
  padding: 12px 15px; /* Increase padding for better touch targets */
  border: 1px solid #dcdcdc; /* Lighter border color */
  border-radius: 5px; /* Slightly more rounded input fields */
  font-size: 1em; /* Standard font size for input text */
  color: #333; /* Input text color */
  background-color: #ffffff; /* White background for inputs */
  transition: border-color 0.3s ease, box-shadow 0.3s ease; /* Smooth transition for focus */
}

/* Focus state for form controls */
.form-control:focus {
  border-color: #007bff; /* Accent color on focus */
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); /* Subtle glowing shadow on focus */
  outline: none; /* Remove default outline */
}

/* Specific styling for message textarea */
textarea.form-control-message {
  min-height: 120px; /* Ensure a decent height for the message area */
  resize: vertical; /* Allow vertical resizing, but not horizontal */
}

/* Error Container */
.error-container {
  color: #dc3545; /* Red color for error messages */
  font-size: 0.9em;
  margin-bottom: 15px; /* Space below the error message */
  text-align: center;
  min-height: 20px; /* Reserve space to prevent layout shifts */
}

/* Submit Button Container */
.text-right {
  text-align: center !important; /* Force center alignment for the button */
  margin-top: 20px; /* Space above the button */
}

/* Submit Button */
.btn-primary.solid.blank {
  background-color: #005b7f; /* A fresh green color */
  color: white;
  padding: 14px 30px; /* Larger padding for a more substantial button */
  font-size: 1.1em; /* Slightly larger text */
  font-weight: 600; /* Bolder text */
  border: none; /* No border */
  border-radius: 5px; /* Slightly rounded corners */
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease; /* Smooth hover effects */
  text-transform: uppercase; /* Uppercase text */
  letter-spacing: 0.5px; /* Slight letter spacing */
}

.btn-primary.solid.blank:hover {
  background-color: #114d64; /* Darker green on hover */
  transform: translateY(-2px); /* Slight lift effect on hover */
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15); /* Soft shadow on hover */
}
.section-sub {
  font-weight: 900;
  font-size: 36px;
  color: #212121;
}
.service-description.truncated {
  display: -webkit-box;
  -webkit-line-clamp: 3; /* Limit to 3 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Ensure full text is visible when not truncated */
.service-description:not(.truncated) {
  display: block; /* Override flex or other display properties if necessary */
  overflow: visible;
  text-overflow: unset;
}
.contact-info {
  display: flex; /* Default to flex for larger screens */
  flex-direction: row; /* Arrange items in a row */
  flex-wrap: wrap; /* Allow items to wrap to the next line if needed */
  justify-content: space-around; /* Distribute space around items */
  align-items: center; /* Vertically align items in the center */
}

/* Media query for small screens */
@media (max-width: 768px) { /* You can adjust this breakpoint */
  .contact-info {
    flex-direction: column; /* Stack items in a column on small screens */
    align-items: flex-start; /* Align items to the start of the column */
  }
}

/* Modern Service Card Redesign */
.modern-service-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08), 0 1.5px 6px rgba(0,0,0,0.04);
  padding: 2.5rem 1.5rem 2rem 1.5rem;
  margin-bottom: 2rem;
  transition: box-shadow 0.3s cubic-bezier(.4,2,.6,1), transform 0.2s cubic-bezier(.4,2,.6,1);
  border: none;
  position: relative;
}
.modern-service-card:hover {
  box-shadow: 0 8px 32px rgba(0,46,91,0.18), 0 3px 12px rgba(0,0,0,0.08);
  transform: translateY(-6px) scale(1.025);
  border-left: 6px solid #002e5b;
}
.modern-icon-wrapper {
  width: 100%;
  margin-bottom: 1.2rem;
  justify-content: center;
  align-items: center;
}
.modern-service-card .ts-service-box-img {
  background: linear-gradient(135deg, #002e5b 60%, #00b4d8 100%);
  border-radius: 50%;
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.5rem auto;
  box-shadow: 0 2px 8px rgba(0,46,91,0.10);
  transition: background 0.3s;
}
.modern-service-card:hover .ts-service-box-img {
  background: linear-gradient(135deg, #00b4d8 60%, #002e5b 100%);
}
.modern-service-card .service-icon {
  font-size: 2.2rem;
  color: #fff;
  transition: color 0.3s;
}
.modern-service-card .service-box-title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.7rem;
  color: #002e5b;
  letter-spacing: 0.01em;
  text-transform: none;
}
.modern-service-card p {
  color: #444;
  font-size: 1rem;
  margin-bottom: 1.1rem;
}
.modern-service-card .learn-more {
  color: #00b4d8;
  font-weight: 600;
  font-size: 1rem;
  transition: color 0.2s;
}
.modern-service-card .learn-more:hover {
  color: #002e5b;
  text-decoration: underline;
}
.modern-service-card .fa-plus-circle,
.modern-service-card .fa-minus-circle {
  margin-right: 0.4em;
  font-size: 1.1em;
  vertical-align: middle;
}
@media (max-width: 991px) {
  .modern-service-card {
    padding: 2rem 1rem 1.5rem 1rem;
  }
  .modern-service-card .ts-service-box-img {
    width: 56px;
    height: 56px;
  }
  .modern-service-card .service-icon {
    font-size: 1.5rem;
  }
}
@media (max-width: 575px) {
  .modern-service-card {
    padding: 1.2rem 0.5rem 1rem 0.5rem;
  }
}

/* === Moved from index.html === */
/* Modern sticky nav */
.modern-navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #002e5b;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: background 0.3s;
}
.modern-navbar .nav-link {
  color: #fff;
  font-weight: 600;
  margin: 0 1rem;
  transition: color 0.2s;
}
.modern-navbar .nav-link:hover,
.modern-navbar .nav-item.active .nav-link {
  color: #ffb600;
}
.modern-navbar .navbar-brand img {
  height: 48px;
}
@media (max-width: 991px) {
  .modern-navbar .nav-link {
    margin: 0.5rem 0;
  }
}
/* Hero section */
.modern-hero {
  min-height: 90vh;
  background: linear-gradient(rgba(0, 46, 91, 0.7), rgba(0, 46, 91, 0.7)),
    url("images/slider-main/bg1.png") center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  position: relative;
}
.modern-hero .hero-content {
  max-width: 700px;
  margin: auto;
  padding: 2rem;
  animation: fadeInUp 1.2s;
}
.modern-hero h1 {
  font-size: 3rem;
  font-weight: 800;
  color: #ffb600;
  margin-bottom: 1rem;
  letter-spacing: -1px;
}
.modern-hero h2 {
  font-size: 1.5rem;
  font-weight: 400;
  margin-bottom: 2rem;
  color: #fff;
}
.modern-hero .hero-btns .btn {
  margin: 0 0.5rem;
  padding: 0.75rem 2rem;
  font-size: 1.1rem;
  border-radius: 30px;
  font-weight: 600;
  transition: background 0.2s, color 0.2s;
}
.modern-hero .btn-primary {
  background: #ffb600;
  color: #002e5b;
  border: none;
}
.modern-hero .btn-primary:hover {
  background: #fff;
  color: #002e5b;
}
.modern-hero .btn-outline {
  background: transparent;
  border: 2px solid #ffb600;
  color: #ffb600;
}
.modern-hero .btn-outline:hover {
  background: #ffb600;
  color: #002e5b;
}
@media (max-width: 767px) {
  .modern-hero h1 {
    font-size: 2rem;
  }
  .modern-hero h2 {
    font-size: 1.1rem;
  }
}
/* About/Why Choose Us */
.why-choose-us {
  background: #fff;
  padding: 60px 0 40px 0;
  text-align: center;
}
.why-choose-us h2 {
  color: #002e5b;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 2rem;
}
.why-choose-us .features {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}
.why-choose-us .feature {
  background: #f9f9f9;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  padding: 2rem 1.5rem;
  max-width: 260px;
  flex: 1 1 220px;
  transition: transform 0.2s, box-shadow 0.2s;
}
.why-choose-us .feature:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 8px 24px rgba(0, 46, 91, 0.08);
}
.why-choose-us .feature i {
  font-size: 2.5rem;
  color: #ffb600;
  margin-bottom: 1rem;
}
.why-choose-us .feature h4 {
  color: #002e5b;
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.why-choose-us .feature p {
  color: #555;
  font-size: 1rem;
}
@media (max-width: 991px) {
  .why-choose-us .features {
    flex-direction: column;
    align-items: center;
  }
}
.modern-client-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0;
  justify-content: flex-start;
}
.modern-client-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 46, 91, 0.04);
  padding: 1.2rem 0.5rem;
  height: 100px;
  transition: box-shadow 0.2s, transform 0.2s;
}
.modern-client-logo img {
  filter: grayscale(100%);
  opacity: 0.7;
  width: 90px;
  height: 60px;
  object-fit: contain;
  object-position: center;
  transition: filter 0.3s, opacity 0.3s, transform 0.2s;
  background: #fff;
}
.modern-client-logo:hover {
  box-shadow: 0 8px 24px rgba(0, 46, 91, 0.1);
  transform: translateY(-4px) scale(1.04);
}
.modern-client-logo:hover img {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.08);
}
@media (max-width: 991px) {
  .modern-client-logo {
    height: 80px;
  }
  .modern-client-logo img {
    width: 60px;
    height: 40px;
  }
}
/* Modern Services Section */
.modern-services {
  background: #f7f7f7;
  padding: 70px 0 40px 0;
}
.modern-service-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 0;
  justify-content: center;
}
.modern-service-card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 2px 16px rgba(0, 46, 91, 0.07);
  padding: 2.2rem 1.5rem 1.5rem 1.5rem;
  text-align: left;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: box-shadow 0.2s, transform 0.2s;
  position: relative;
}
.modern-service-card:hover {
  box-shadow: 0 8px 32px rgba(0, 46, 91, 0.13);
  transform: translateY(-6px) scale(1.03);
}
.modern-icon-wrapper {
  background: #ffb600;
  color: #002e5b;
  border-radius: 50%;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin-bottom: 1.2rem;
  box-shadow: 0 2px 8px rgba(255, 182, 0, 0.08);
}
.service-box-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #002e5b;
  margin-bottom: 0.7rem;
}
.modern-service-card p {
  color: #555;
  font-size: 1rem;
  margin-bottom: 1.2rem;
}
.learn-more {
  color: #ffb600;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s;
}
.learn-more:hover {
  color: #002e5b;
  text-decoration: underline;
}
@media (max-width: 991px) {
  .modern-service-grid {
    flex-direction: column;
    align-items: center;
  }
  .modern-service-card {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
  }
}
/* Modern Projects Section */
.modern-projects {
  background: #fff;
  padding: 70px 0 40px 0;
}
.modern-project-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 0;
  justify-content: center;
}
.modern-project-card {
  background: #f9f9f9;
  border-radius: 18px;
  box-shadow: 0 2px 16px rgba(0, 46, 91, 0.07);
  overflow: hidden;
  transition: box-shadow 0.2s, transform 0.2s;
  height: 100%;
  position: relative;
}
.modern-project-card:hover {
  box-shadow: 0 8px 32px rgba(0, 46, 91, 0.13);
  transform: translateY(-6px) scale(1.03);
}
.modern-project-img-container {
  position: relative;
  overflow: hidden;
}
.modern-project-img-container img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(0.4, 2, 0.6, 1);
}
.modern-project-card:hover .modern-project-img-container img {
  transform: scale(1.08);
}
.modern-project-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 46, 91, 0.82);
  color: #fff;
  opacity: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.5rem;
  transition: opacity 0.3s;
}
.modern-project-card:hover .modern-project-overlay {
  opacity: 1;
}
.modern-project-overlay h4 {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #ffb600;
}
.modern-project-overlay p {
  font-size: 1rem;
  margin-bottom: 1rem;
}
.modern-project-zoom {
  color: #ffb600;
  font-size: 1.5rem;
  background: #fff;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  transition: background 0.2s, color 0.2s;
}
.modern-project-zoom:hover {
  background: #ffb600;
  color: #002e5b;
}
@media (max-width: 991px) {
  .modern-project-grid {
    flex-direction: column;
    align-items: center;
  }
  .modern-project-card {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
  }
  .modern-project-img-container img {
    height: 200px;
  }
}
@media (max-width: 575px) {
  .modern-project-img-container img {
    height: 140px;
  }
}

.skip-link {
  position: absolute;
  left: -999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: 1000;
  background: #fff;
  color: #007bff;
  padding: 8px 16px;
  border-radius: 4px;
  transition: left 0.3s;
}
.skip-link:focus {
  left: 16px;
  top: 16px;
  width: auto;
  height: auto;
  outline: 2px solid #007bff;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #007bff;
}

:focus {
  outline: 2px solid #007bff !important;
  outline-offset: 2px;
}

button:focus, a:focus {
  outline: 2px solid #007bff !important;
  outline-offset: 2px;
}

/* Modern About Page Styles */
.modern-banner {
  position: relative;
  min-height: 320px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modern-banner .banner-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 46, 91, 0.55);
  z-index: 1;
}
.modern-banner-text {
  position: relative;
  z-index: 2;
  color: #fff;
}
.modern-section {
  padding: 60px 0 60px 0;
  background: #f9f9f9;
}
.modern-card {
  border: none;
  border-radius: 1rem;
  box-shadow: 0 4px 24px rgba(0,0,0,0.07);
  background: #fff;
}
.modern-gm-img {
  border: 4px solid #007bff;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.modern-icon {
  color: #007bff;
  background: #e6f0fa;
  border-radius: 50%;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem auto;
}
.modern-team-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 0;
  justify-content: center;
}
.modern-team-card {
  border: none;
  border-radius: 1rem;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07);
  background: #fff;
  transition: transform 0.2s, box-shadow 0.2s;
  position: relative;
}
.modern-team-card:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 8px 32px rgba(0,46,91,0.13);
}
.modern-team-img {
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 50%;
  border: 4px solid #007bff;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  transition: box-shadow 0.2s;
}
.modern-team-card:hover .modern-team-img {
  box-shadow: 0 6px 24px rgba(0,46,91,0.18);
}
.team-social-icons a {
  color: #007bff;
  font-size: 1.25rem;
  transition: color 0.2s, transform 0.2s;
  display: inline-block;
}
.team-social-icons a:hover {
  color: #0056b3;
  transform: scale(1.2);
}
@media (max-width: 991px) {
  .modern-team-grid {
    gap: 1.5rem 0;
  }
}
@media (max-width: 767px) {
  .modern-section {
    padding: 40px 0 40px 0;
  }
  .modern-team-img {
    width: 120px;
    height: 120px;
  }
}
@media (max-width: 575px) {
  .modern-section {
    padding: 24px 0 24px 0;
  }
  .modern-team-img {
    width: 90px;
    height: 90px;
  }
}

.team-carousel {
  padding: 0 16px;
}
.team-carousel .slick-slide {
  padding: 0 16px;
  box-sizing: border-box;
}
.modern-team-img {
  width: 160px;
  height: 160px;
  object-fit: contain;
  background: #fff;
  border-radius: 50%;
  border: 4px solid #007bff;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  transition: box-shadow 0.2s;
  display: block;
}
@media (max-width: 767px) {
  .modern-team-img {
    width: 120px;
    height: 120px;
  }
}
@media (max-width: 575px) {
  .modern-team-img {
    width: 90px;
    height: 90px;
  }
}