:root {
  --primary: #2e89f4;
  --secondary: #3f4c54;
  --tertiary: #2e6589;
  --quarternary: #3b3b3b;
  --ff-primary: "Roboto", sans-serif;
  --ff-secondary: "Roboto", sans-serif;
  --section-divider-height: 60;
  --section-divider-width: 1920;
  --section-divider-ratio: calc(
    100% * var(--section-divider-height) / var(--section-divider-width)
  );
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--ff-primary);
  font-weight: 700;
}

p,
a,
label,
span,
li,
div {
  font-family: var(--ff-secondary);
  font-weight: 400;
}

a {
  text-decoration: none;
  color: var(--primary);
  opacity: 1;
  transition: all 0.356s;
}
a:hover {
  opacity: 0.65;
  transition: all 0.356s;
}

html,
body {
  overflow-x: hidden;
}

.w-10 {
  width: 10% !important;
}
.py-3 {
  /*slight adjust for font used*/
  padding-bottom: 0.8rem !important;
}
.z-0 {
  z-index: 0;
}
.z-1 {
  z-index: 10;
}
.z-2 {
  z-index: 20;
}

.invert {
  filter: invert(100%) !important;
}
.z-9 {
  z-index: 999999;
}

.mirror {
  transform: scaleX(-1) !important;
}
.min-h-inherit {
  min-height: inherit;
}
.o-cover {
  object-fit: cover;
}

.w-short {
  width: 75%;
}
@media (max-width: 991px) {
  .w-short {
    width: 100%;
  }
}

.text-shadow{
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -o-object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
}

@media (min-width: 1200px) {
  .col-xl-5th {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

.lined-up-btns {
  position: absolute;
  bottom: 5%;
  transform: translateX(-50%);
}

.rotate-45 {
  rotate: 45deg;
}

/********************/
/*PARALLAX */
/********************/
.parallax {
  min-height: 500px;
  background-attachment: fixed;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
  -moz-box-shadow: inset 0 0 20px #00000068;
  -webkit-box-shadow: inset 0 0 20px #00000068;
  box-shadow: inset 0 0 20px #00000068;
}

@supports (-webkit-touch-callout: none) {
  /* CSS specific to iOS devices */
  .parallax {
    background-attachment: scroll;
  }
}
/****************************
*************BG**************
****************************/
.bg-primary {
  background-color: var(--primary) !important;
}
.bg-secondary {
  background-color: var(--secondary) !important;
}
.bg-tertiary {
  background-color: var(--tertiary) !important;
}
.bg-quarternary {
  background-color: var(--quarternary) !important;
}

.bg-gradient {
  width: 60%;
  background: rgb(3, 126, 200) !important;
  background: -moz-linear-gradient(
    90deg,
    rgba(7, 26, 43, 0) 0%,
    #071a2b 80%
  ) !important;
  background: -webkit-linear-gradient(
    90deg,
    rgba(7, 26, 43, 0) 0%,
    #071a2b 80%
  ) !important;
  background: linear-gradient(
    90deg,
    rgba(7, 26, 43, 0) 0%,
    #071a2b 80%
  ) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#037ec8",endColorstr="#334b87",GradientType=1);
}

.bg-waves {
  background-color: #071A2B;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 1600 800'%3E%3Cg %3E%3Cpath fill='%230c2940' d='M486 705.8c-109.3-21.8-223.4-32.2-335.3-19.4C99.5 692.1 49 703 0 719.8V800h843.8c-115.9-33.2-230.8-68.1-347.6-92.2C492.8 707.1 489.4 706.5 486 705.8z'/%3E%3Cpath fill='%23133754' d='M1600 0H0v719.8c49-16.8 99.5-27.8 150.7-33.5c111.9-12.7 226-2.4 335.3 19.4c3.4 0.7 6.8 1.4 10.2 2c116.8 24 231.7 59 347.6 92.2H1600V0z'/%3E%3Cpath fill='%231b4767' d='M478.4 581c3.2 0.8 6.4 1.7 9.5 2.5c196.2 52.5 388.7 133.5 593.5 176.6c174.2 36.6 349.5 29.2 518.6-10.2V0H0v574.9c52.3-17.6 106.5-27.7 161.1-30.9C268.4 537.4 375.7 554.2 478.4 581z'/%3E%3Cpath fill='%23245679' d='M0 0v429.4c55.6-18.4 113.5-27.3 171.4-27.7c102.8-0.8 203.2 22.7 299.3 54.5c3 1 5.9 2 8.9 3c183.6 62 365.7 146.1 562.4 192.1c186.7 43.7 376.3 34.4 557.9-12.6V0H0z'/%3E%3Cpath fill='%232E6589' d='M181.8 259.4c98.2 6 191.9 35.2 281.3 72.1c2.8 1.1 5.5 2.3 8.3 3.4c171 71.6 342.7 158.5 531.3 207.7c198.8 51.8 403.4 40.8 597.3-14.8V0H0v283.2C59 263.6 120.6 255.7 181.8 259.4z'/%3E%3Cpath fill='%23306a90' d='M1600 0H0v136.3c62.3-20.9 127.7-27.5 192.2-19.2c93.6 12.1 180.5 47.7 263.3 89.6c2.6 1.3 5.1 2.6 7.7 3.9c158.4 81.1 319.7 170.9 500.3 223.2c210.5 61 430.8 49 636.6-16.6V0z'/%3E%3Cpath fill='%23326f97' d='M454.9 86.3C600.7 177 751.6 269.3 924.1 325c208.6 67.4 431.3 60.8 637.9-5.3c12.8-4.1 25.4-8.4 38.1-12.9V0H288.1c56 21.3 108.7 50.6 159.7 82C450.2 83.4 452.5 84.9 454.9 86.3z'/%3E%3Cpath fill='%2335749d' d='M1600 0H498c118.1 85.8 243.5 164.5 386.8 216.2c191.8 69.2 400 74.7 595 21.1c40.8-11.2 81.1-25.2 120.3-41.7V0z'/%3E%3Cpath fill='%233779a4' d='M1397.5 154.8c47.2-10.6 93.6-25.3 138.6-43.8c21.7-8.9 43-18.8 63.9-29.5V0H643.4c62.9 41.7 129.7 78.2 202.1 107.4C1020.4 178.1 1214.2 196.1 1397.5 154.8z'/%3E%3Cpath fill='%23397EAB' d='M1315.3 72.4c75.3-12.6 148.9-37.1 216.8-72.4h-723C966.8 71 1144.7 101 1315.3 72.4z'/%3E%3C/g%3E%3C/svg%3E");
  /*background-attachment: fixed;*/
  background-size: cover;
}

/****************************
*************BORDER**************
****************************/
.border-primary {
  border-color: var(--primary) !important;
}
.border-secondary {
  border-color: var(--secondary) !important;
}
.border-tertiary {
  border-color: var(--tertiary) !important;
}
.border-quarternary {
  border-color: var(--quarternary) !important;
}

/****************************
************FONT*************
****************************/
.font-primary {
  font-family: var(--ff-primary) !important;
}

.font-secondary {
  font-family: var(--ff-secondary) !important;
}

/****************************
**********CLIPPATH***********
****************************/
.shape-chipped {
  clip-path: polygon(0 0, 0 100%, 85% 100%, 100% 65%, 100% 0);
}

.shape-point-right {
  clip-path: polygon(0% 0%, 75% 0%, 100% 50%, 75% 100%, 0% 100%);
}

@media (max-width: 991px) {
  .shape-point-right {
    clip-path: polygon(0% 0%, 100% 0, 100% 75%, 50% 100%, 0 75%);
  }
}

/****************************
************TEXT*************
****************************/
.text-primary {
  color: var(--primary) !important;
}
.text-secondary {
  color: var(--secondary) !important;
}
.text-tertiary {
  color: var(--tertiary) !important;
}
.text-quarternary {
  color: var(--quarternary) !important;
}

@media (max-width: 991px) {
  .text-dark-mode {
    color: white !important;
  }
  .bg-dark-mode {
    color: white !important;
  }
}

/****************************
***********HOVER*************
****************************/
.hover-dark:hover {
  background-color: #333 !important;
  color: white !important;
  transition: background-color 0.25s, white 0.25s;
}

/****************************
**********DIVIDER************
****************************/
.has-divider {
  position: relative;
  padding-bottom: var(--section-divider-ratio);
}
.section-divider {
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: auto;
}

/****************************
*********NAVIGATION**********
****************************/
nav li a {
  margin: 0;
  padding: 20px 15px !important;
  border-bottom: 3px solid transparent;
  transition: border-bottom 0.25s, color 0.25s;
}

nav li a.active {
  border-bottom: 3px solid var(--tertiary);
  transition: border-bottom 0.25s, color 0.25s;
}

.nav-link {
  font-family: var(--ff-primary);
  font-size: 14px;
  position: relative;
}

#phone-no a {
  font-size: 1.3em;
}
@media (max-width: 1080px) {
  #phone-no a {
    font-size: 0.75em;
  }
}

@media (max-width: 430px) {
  #phone-no {
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: 0;
  }
}

/****************************
************HERO*************
****************************/
@media (max-width: 991px) {
  #hero .shape-point-right {
    height: 300px;
  }
  #hero .col-lg-6.min-h-inherit {
    min-height: auto;
    margin-bottom: 25px;
  }
}

/****************************
**********SERVICES***********
****************************/
.border-right-to-bottom {
  border-width: 0 2px 0 0 !important;
}

@media (max-width: 991px) {
  .border-right-to-bottom {
    border-width: 0 0 2px 0 !important;
  }
}

ul.customlist {
  list-style: none;
  padding-left: 0;
  text-align: start;
  display: inline-block;
}

ul.customlist li {
  margin-bottom: 0.5em;
  font-weight: 500;
  display: block;
  background-repeat: no-repeat;
  background-position: left top;
  background-image: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><svg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='check-circle' class='svg-inline--fa fa-check-circle fa-w-16' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='%23FFF' d='M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z'></path></svg>");
  height: 32px;
  padding-left: 44px;
  padding-top: 7px;
  margin-top: 30px;
  line-height: 1;
}

ul.customlist.list-primary li {
  background-image: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><svg aria-hidden='true' focusable='false' data-prefix='fas' data-icon='check-circle' class='svg-inline--fa fa-check-circle fa-w-16' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='%23dd8041' d='M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z'></path></svg>");
}

/****************************
***********BADGES************
****************************/
#infinite-slider {
  position: relative;
  overflow: hidden;
}

#infinite-slider .linksList {
  width: 100%;
  margin: 5rem auto;
  overflow: hidden;
  white-space: nowrap;
  cursor: grab;
}

#imagesContainer_InfiniteScroller {
  overflow: hidden;
  white-space: nowrap;
}

#imagesContainer_InfiniteScroller .slide_InfiniteScroller {
  margin: 1rem 10rem;
  object-fit: contain;
  width: 7.5rem;
  height: auto;
  /*filter:grayscale(100%);*/
  opacity: 1;
  vertical-align: middle;
  transition: opacity 0.5s linear;
}

/*
  #imagesContainer_InfiniteScroller .slide_InfiniteScroller:hover {
    filter:grayscale(0%);
  }
*/

/****************************
***********SERVICES************
****************************/
#services .card {
  padding: 10px;
}
#services .card:hover {
  opacity: 1 !important;
}

#services .overlay {
  opacity: 0.25;
  transition: opacity 0.5s;
}

#services .card:hover .overlay {
  opacity: 0.75;
  transition: opacity 0.5s;
}

#services .card .title {
  border-top: 0px solid transparent;
  border-bottom: 0px solid transparent;
  transition: border-top 0.5s, border-bottom 0.5s;
}

#services .card:hover .title {
  border-top: 2px solid white;
  border-bottom: 2px solid white;
  transition: border-top 0.5s, border-bottom 0.5s;
}

#services .card img {
  transform: rotate(0) scale(1);
  transition: transform 0.5s;
}

#services .card:hover img {
  transform: rotate(2deg) scale(1.5);
  transition: transform 0.5s;
}
/****************************
***********FOOTER************
****************************/

footer ul {
  row-gap: 0.5rem;
  column-gap: clamp(1.75rem, 4vw, 2.5rem);
}

footer .col-md-9 ul li {
  list-style: none;
  width: auto;
}

footer .col-md-9 ul li a {
  color: white;
}
    .bg-offwhite {
            background-color: #f8f9fa;
        }
        .align-items-center {
            display: flex;
            align-items: center;
        }

     .carousel-item img {
            height: 200px;
            object-fit: cover;
        }
        .carousel-inner {
            padding: 0 15px;
        }
        .carousel-item {
            padding: 0 10px;
        }