@import url('https://fonts.googleapis.com/css?family=Roboto+Slab:400,300,700|Lato:300,400,700,900');
* {
    margin: 0;
    padding: 0
}

body {
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    line-height: 1.57143;
    font-weight: 400;
    color: #2d2e2e
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Roboto Slab', sans-serif;
    margin-top: 0
}

a {
    color: #2d2e2e;
    transition: all .3s ease 0s
}

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

a,
a:hover,
a:active,
a:focus,
button,
button:hover,
button:focus {
    outline: 0;
    text-decoration: none
}

.btn,
.btn * {
    transition: all .3s ease 0s
}

i {
    transition: all .4s ease-in-out 0s
}

.transition3s {
    transition: all .3s ease-in-out 0s
}

ul {
    list-style: outside none none;
    margin: 0;
    padding: 0
}

li {
    list-style: outside none none
}

a.line-animation {
    position: relative;
    left: 0;
    transition: all .3s;
    display: inline-block;
    text-decoration: none !important;
    font-weight: 500;
    outline: 0;
    color: #0046c0
}

.d-table {
    width: 100%;
    height: 100%
}

.d-table-cell {
    vertical-align: middle
}

.mb-30 {
    margin-bottom: 30px
}

.mb-25 {
    margin-bottom: 25px
}

.mb-20 {
    margin-bottom: 20px
}

.pl-65 {
    padding-left: 65px
}

.pr-70 {
    padding-right: 70px
}

.pl-50 {
    padding-left: 50px
}

.mb-50 {
    margin-bottom: 50px
}

section {
    float: left;
    width: 100%;
    padding: 80px 0
}

@keyframes white-shadow {
    0% {
        -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.5);
        -webkit-transition: box-shadow .3s ease-in-out;
        -webkit-transition: -webkit-box-shadow .3s ease-in-out;
        -o-transition: box-shadow .3s ease-in-out;
        transition: box-shadow .3s ease-in-out;
        transition: box-shadow .3s ease-in-out, -webkit-box-shadow .3s ease-in-out
    }
    100% {
        -webkit-box-shadow: 0 0 0 30px transparent;
        box-shadow: 0 0 0 30px transparent;
        -webkit-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        -webkit-transition: box-shadow .4s ease-in-out;
        -webkit-transition: -webkit-box-shadow .4s ease-in-out;
        -o-transition: box-shadow .4s ease-in-out;
        transition: box-shadow .4s ease-in-out;
        transition: box-shadow .4s ease-in-out, -webkit-box-shadow .4s ease-in-out
    }
}

@-webkit-keyframes red-shadow {
    0% {
        -webkit-box-shadow: 0 0 0 0 rgba(228, 31, 122, 0.4);
        box-shadow: 0 0 0 0 rgba(228, 31, 122, 0.4)
    }
    100% {
        -webkit-box-shadow: 0 0 0 30px transparent;
        box-shadow: 0 0 0 30px transparent
    }
}

@keyframes red-shadow {
    0% {
        -webkit-box-shadow: 0 0 0 0 rgba(228, 31, 122, 0.4);
        box-shadow: 0 0 0 0 rgba(228, 31, 122, 0.4)
    }
    100% {
        -webkit-box-shadow: 0 0 0 30px transparent;
        box-shadow: 0 0 0 30px transparent
    }
}

#scrollUp {
    border-radius: 50%;
    bottom: 100px;
    color: #fff;
    display: block;
    font-size: 25px;
    height: 40px;
    line-height: 0;
    position: fixed;
    right: 20px;
    text-align: center;
    text-decoration: none !important;
    width: 40px;
    z-index: 1000 !important;
    -webkit-animation: white-shadow .8s infinite, red-shadow .8s infinite;
    animation: white-shadow .8s infinite, red-shadow .8s infinite;
    -webkit-box-shadow: 0 10px 33px rgba(0, 0, 0, 0.1);
    -khtml-box-shadow: 0 10px 33px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 10px 33px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0 10px 33px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 0 10px 33px rgba(0, 0, 0, 0.1);
    box-shadow: 0 10px 33px rgba(0, 0, 0, 0.1);
    background-color: #ff7906
}

#scrollUp i {
    display: block;
    padding-top: 5px
}

.no-padding {
    padding: 0
}

.pad-b-10 {
    padding-top: 10px
}

.bg-color2 {
    background: #f2f2f2
}

.padding-20 {
    padding: 20px
}

.border-left-four {
    border-left: 1px solid #e3e0e0
}

.border-three {
    border: 1px solid #e3e0e0
}

.margin-bottom3 {
    margin-bottom: 25px
}

img {
    max-width: 100%
}

.theme-btn {
    display: inline-block;
    transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease
}

.section-icon::before {
    content: "\e60f";
    font-family: themify;
    position: absolute;
    font-size: 115px;
    opacity: .2;
    color: #e6dbce;
    animation-name: spinInfinit;
    animation-duration: 6000ms;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    left: 0;
    right: 0;
    margin: -25px 0 0
}

@keyframes spinInfinit {
    from {
        transform: rotate(0deg)
    }
    to {
        transform: rotate(360deg)
    }
}

.section-title {
    margin: 0 0 80px;
    text-align: center;
    position: relative
}

.section-title h2 {
    font-weight: 600
}

.text-underline {
    text-decoration: underline
}

.text-primary-color {
    color: #fa4612
}

.bttn {
    position: relative;
    display: inline-block;
    font-size: 16px;
    line-height: 30px;
    color: #fff;
    font-weight: 400;
    overflow: hidden;
    background: 0;
    border-radius: 0;
    padding: 14px 44px 14px;
    text-transform: capitalize;
    background-image: -ms-linear-gradient(top, #c2292a 0, #d1641a 100%);
    background-image: -moz-linear-gradient(top, #c2292a 0, #d1641a 100%);
    background-image: -o-linear-gradient(top, #c2292a 0, #d1641a 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #c2292a), color-stop(100, #d1641a));
    background-image: -webkit-linear-gradient(top, #c2292a 0, #d1641a 100%);
    background-image: linear-gradient(to bottom, #c2292a 0, #d1641a 100%);
    font-family: 'Poppins', sans-serif;
    border: 0
}

.bttn:before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0;
    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    -webkit-transform: scale(0.2, 1);
    transform: scale(0.2, 1);
    background-image: -ms-linear-gradient(top, #d1641a 0, #c2292a 100%);
    background-image: -moz-linear-gradient(top, #d1641a 0, #c2292a 100%);
    background-image: -o-linear-gradient(top, #d1641a 0, #c2292a 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #d1641a), color-stop(100, #c2292a));
    background-image: -webkit-linear-gradient(top, #d1641a 0, #c2292a 100%);
    background-image: linear-gradient(to bottom, #d1641a 0, #c2292a 100%)
}

.bttn .txt {
    position: relative;
    z-index: 1
}

.bttn:hover::before {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1)
}

.bttn:hover {
    color: #fff
}

.btn {
    background: #fa4612;
    border: 1px solid #fa4612;
    transition: .4s;
    color: #fff;
    z-index: 9;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 14px 40px;
    border-radius: 5px;
    position: relative
}

.btn:hover {
    color: #fff;
    background-color: #0046c0;
    border: 1px solid #0046c0
}

.sidebar_page_list
{
	-webkit-box-shadow: 0 0 20px 3px rgb(0 0 0 / 5%);
    box-shadow: 0 0 20px 3px rgb(0 0 0 / 5%);
    border: 1px solid #dfdfdf;
    margin-bottom: 2rem;
}

.sidebar_page_list h4
{
	background-color: #0046c0;
    padding: 1rem;
    color: #fff;
}
.sidebar_page_list ul
{
    max-height: 400px;
    overflow-y: scroll;
    padding: 0rem;
}
.get_content_div .top_image
{
    width: 100%;
    height: 400px;
    margin-bottom: 2rem;
    object-fit: cover;
    object-position: center;
}
.sidebar_page_list ul li
{
	    padding: 0.5rem 1rem;
    border-bottom: 1px dashed #c7c7c7;
    font-size: 16px;
    font-weight: 500;
}

.sidebar_page_list ul::-webkit-scrollbar {
  width: 6px;
}

.sidebar_page_list ul::-webkit-scrollbar-track {
  background: #f1f1f1; 
}
 
.sidebar_page_list ul::-webkit-scrollbar-thumb {
  background: #0046c0; 
}

.sidebar_page_list ul::-webkit-scrollbar-thumb:hover {
  background: #c1362a; 
}
.get_content_div .page_title
{
	    text-align: left;
    font-weight: 800;
    margin-bottom: 1rem;
    color: #c2372b;
}
.find_us_footer
{
    background-color: #fff;
    padding: 0.7rem;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 0px;
}
.find_footer marquee
{
        height: 100%;
    border: 1px solid #a3a3a3;
}
.find_footer marquee ul
{
    margin-top: 4px;
    margin-bottom: 0px;
}
.find_footer marquee ul li
{
        display: inline;
    padding: 0px 7px;
    border-right: 2px solid #fff;
}
.find_footer marquee ul li:last-child
{
    border-right: none;
}
.find_footer marquee ul li a{
    color: #fff;
    line-height: 34px;
}
.loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    background: #0046c0
}

.spinner {
    width: 60px;
    height: 60px;
    position: relative;
    margin: 100px auto
}

.double-bounce1,
.double-bounce2 {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #fff;
    opacity: .6;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
    animation: sk-bounce 2.0s infinite ease-in-out
}

.double-bounce2 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s
}

@-webkit-keyframes sk-bounce {
    0%,
    100% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
    50% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes sk-bounce {
    0%,
    100% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
    50% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.header-top {
    padding-top: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #3c7dee;
    background-color: #0046c0;
    z-index: 1
}

.header-top-item .header-top-left ul {
    margin: 0;
    padding: 0
}

.header-top-item .header-top-left ul li {
    display: inline-block;
    list-style-type: none;
    font-weight: 500;
    font-size: 14px;
    color: #fff;
    margin-right: 25px
}

.header-top-item .header-top-left ul li:last-child {
    margin-right: 0
}

.header-top-item .header-top-left ul li a {
    display: inline-block;
    color: #fff
}

.header-top-item .header-top-left ul li a:hover {
    color: #fff;
    opacity: .6
}

.header-top-item .header-top-left ul li a i {
    color: #fff;
    font-size: 18px;
    position: relative;
    top: 2px;
    margin-right: 4px
}

.header-top-item .header-top-right {
    text-align: right
}

.header-top-item .header-top-right ul {
    margin: 0;
    padding: 0
}

.header-top-item .header-top-right ul li {
    list-style-type: none;
    display: inline-block;
    margin-right: 5px
}

.header-top-item .header-top-right ul li:last-child {
    margin-right: 0
}

.header-top-item .header-top-right ul li a {
    display: block;
    width: 25px;
    height: 25px;
    line-height: 22px;
    color: #fff;
    font-size: 13px;
    text-align: center;
    border: 1px solid transparent;
    background-color: #fa4612;
    border-radius: 46%
}

.header-top-item .header-top-right ul li a:hover {
    color: #fa4612;
    background-color: #fff;
    border: 1px solid transparent
}

.navbar-light .navbar-brand,
.navbar-light .navbar-brand:hover {
    width: 350px
}

.main-nav {
    background: #fff;
    padding-top: 0;
    padding-bottom: 0;
    position: relative
}

.navbar-area .is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 999;
    background-color: #fff;
    -webkit-box-shadow: 0 8px 6px -6px rgba(0, 0, 0, 0.4);
    box-shadow: 0 8px 6px -6px rgba(0, 0, 0, 0.4);
    -webkit-animation: 500ms ease-in-out 0s normal none 1 running fadeInDown;
    animation: 500ms ease-in-out 0s normal none 1 running fadeInDown;
    -webkit-transition: all .5s;
    transition: all .5s;
    width: 100% !important
}

.navbar-area .is-sticky nav {
    padding: 8px 0
}

.main-nav nav {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-right: 0;
    padding-left: 0;
    -webkit-transition: .5s all ease;
    transition: .5s all ease
}

.main-nav nav .navbar-nav {
    margin-right: auto;
    margin-left: auto
}

.main-nav nav .navbar-nav .nav-item:hover a {
    color: #fa4612
}

.main-nav nav .navbar-nav .nav-item .dropdown-menu {
    background: #fff;
    -webkit-box-shadow: 0 0 15px 0 #ddd;
    box-shadow: 0 0 15px 0 #ddd;
    border: 0;
    border-left: 3px solid #fa4612;
    padding-top: 15px;
    padding-bottom: 15px
}

.main-nav nav .navbar-nav .nav-item .dropdown-menu li {
    border-bottom: 1px dashed #0046c047
}

.main-nav nav .navbar-nav .nav-item .dropdown-menu li:last-child {
    border-bottom: 0
}

.main-nav nav .navbar-nav .nav-item .dropdown-menu li a {
    color: #4a6f8a;
    font-size: 15px
}

.main-nav nav .navbar-nav .nav-item .dropdown-menu li a:hover,
.main-nav nav .navbar-nav .nav-item .dropdown-menu li a:focus,
.main-nav nav .navbar-nav .nav-item .dropdown-menu li a.active {
    color: #0046c0
}

.main-nav nav .navbar-nav .nav-item .dropdown-menu li:hover a {
    color: #0046c0
}

.main-nav nav .navbar-nav .nav-item .dropdown-menu li:hover a:hover,
.main-nav nav .navbar-nav .nav-item .dropdown-menu li:hover a:focus,
.main-nav nav .navbar-nav .nav-item .dropdown-menu li:hover a.active {
    color: #0046c0
}

.main-nav nav .navbar-nav .nav-item a {
    font-weight: 500;
    font-size: 16px;
    color: #1c3254;
    text-transform: capitalize
}

.main-nav nav .navbar-nav .nav-item a:hover,
.main-nav nav .navbar-nav .nav-item a:focus,
.main-nav nav .navbar-nav .nav-item a.active {
    color: #fa4612
}

.search-icon {
    font-size: 16px;
    border: 0;
    outline: 0;
    -webkit-transition: .5s all ease;
    transition: .5s all ease;
    color: #0046c0;
    background-color: #d8e0e8;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 5px
}

.search-icon:hover {
    background-color: #111;
    color: #fff
}

.search-toggle .search-icon.icon-close {
    display: none
}

.search-toggle.opened .search-icon.icon-search {
    display: none
}

.search-toggle.opened .search-icon.icon-close {
    display: block
}

.nav-srh {
    position: relative
}

.nav-srh .search-area {
    position: absolute;
    right: 8px;
    bottom: -100px;
    z-index: 5;
    -webkit-transition: .5s all ease;
    transition: .5s all ease;
    max-height: 0;
    overflow: hidden;
    background-color: #fff
}

.nav-srh .search-area .search-icon {
    vertical-align: middle;
    position: absolute;
    right: 30px;
    top: 22px;
    background-color: transparent;
    font-size: 20px;
    color: #0046c0;
    -webkit-transition: .5s all ease;
    transition: .5s all ease
}

.nav-srh .search-area .search-icon:hover {
    color: #111
}

.nav-srh .search-area .src-input {
    outline: 0;
    padding-left: 20px;
    margin: 0;
    width: 300px;
    background-color: #dddddd80;
    border: 1px solid #ddd;
    font-size: 15px;
    height: 45px;
    border-radius: 0
}

.nav-srh .search-area.opened {
    max-height: 100px;
    padding: 20px 25px;
    -webkit-box-shadow: 0 0 15px #dddddd80;
    box-shadow: 0 0 15px #dddddd80
}

.menu-shrink {
    -webkit-box-shadow: 0 0 15px 0 #ddd;
    box-shadow: 0 0 15px 0 #ddd
}

.menu-shrink nav {
    padding-top: 10px;
    padding-bottom: 10px
}

.main-slider {
    position: relative;
    padding: 0
}

.main-slider .container {
    position: relative
}

.main-slider .slide::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: #000;
    opacity: .3;
    z-index: -1
}

.main-slider .slide {
    position: relative;
    padding: 190px 0 280px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 1
}

.main-slider .title {
    position: relative;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 20px;
    opacity: 0;
    letter-spacing: 1px;
    transform: scaleY(0);
    transform-origin: top;
    -webkit-transition: all 1000ms ease;
    -moz-transition: all 100ms ease;
    -ms-transition: all 1000ms ease;
    -o-transition: all 1000ms ease;
    transition: all 1000ms ease
}

.main-slider .active .title {
    opacity: 1;
    transform: scaleY(1);
    -webkit-transition-delay: 500ms;
    -moz-transition-delay: 500ms;
    -ms-transition-delay: 500ms;
    -o-transition-delay: 500ms;
    transition-delay: 500ms
}

.main-slider h1 {
    position: relative;
    color: #fff;
    font-weight: 600;
    line-height: 1.2em;
    margin-bottom: 30px;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: top;
    -webkit-transition: all 1000ms ease;
    -moz-transition: all 100ms ease;
    -ms-transition: all 1000ms ease;
    -o-transition: all 1000ms ease;
    transition: all 1000ms ease
}

.main-slider .active h1 {
    opacity: 1;
    transform: scaleY(1);
    transition-delay: 1000ms
}

.main-slider .text {
    position: relative;
    color: #eee;
    font-size: 16px;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: top;
    line-height: 1.9em;
    font-weight: 400;
    margin-bottom: 42px !important;
    -webkit-transition: all 1000ms ease;
    -moz-transition: all 100ms ease;
    -ms-transition: all 1000ms ease;
    -o-transition: all 1000ms ease;
    transition: all 1000ms ease
}

.main-slider .active .text {
    opacity: 1;
    transform: scaleY(1);
    transition-delay: 1500ms
}

.main-slider .link-box {
    opacity: 0;
    transform: scaleY(0);
    transform-origin: top;
    display: inline-block;
    -webkit-transition: all 1000ms ease;
    -moz-transition: all 100ms ease;
    -ms-transition: all 1000ms ease;
    -o-transition: all 1000ms ease;
    transition: all 1000ms ease
}

.main-slider .active .link-box {
    opacity: 1;
    transform: scaleY(1);
    transition-delay: 2000ms
}

.main-slider .link-box .theme-btn {
    margin-right: 20px;
    float: left
}

.main-slider .link-box .video-box {
    position: relative;
    width: 60px;
    height: 60px;
    color: #6b6b6b;
    font-size: 18px;
    text-align: center;
    border-radius: 50px;
    line-height: 60px;
    display: inline-block;
    float: left;
    margin-right: 40px;
    transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    background-color: rgba(255, 255, 255, 1)
}

.main-slider .link-box .video-box .overlay-box span {
    position: absolute;
    width: 60px;
    height: 60px;
    left: 50%;
    top: 50%;
    z-index: 99;
    color: #fff;
    font-weight: 400;
    font-size: 16px;
    text-align: center;
    border-radius: 50%;
    padding-left: 7px;
    background-color: #fff;
    display: inline-block;
    margin-top: -30px;
    margin-left: -30px;
    transition: all 900ms ease;
    -moz-transition: all 900ms ease;
    -webkit-transition: all 900ms ease;
    -ms-transition: all 900ms ease;
    -o-transition: all 900ms ease;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.10)
}

.main-slider .link-box .video-box .ripple,
.main-slider .link-box .video-box .ripple:before,
.main-slider .link-box .video-box .ripple:after {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 60px;
    width: 60px;
    margin-left: .5px;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, .4);
    -moz-box-shadow: 0 0 0 0 rgba(255, 255, 255, .4);
    -ms-box-shadow: 0 0 0 0 rgba(255, 255, 255, .4);
    -o-box-shadow: 0 0 0 0 rgba(255, 255, 255, .4);
    box-shadow: 0 0 0 0 rgba(255, 255, 255, .4);
    -webkit-animation: ripple 3s infinite;
    -moz-animation: ripple 3s infinite;
    -ms-animation: ripple 3s infinite;
    -o-animation: ripple 3s infinite;
    animation: ripple 3s infinite
}

.main-slider .link-box .video-box .ripple:before {
    -webkit-animation-delay: .9s;
    -moz-animation-delay: .9s;
    -ms-animation-delay: .9s;
    -o-animation-delay: .9s;
    animation-delay: .9s;
    content: "";
    position: absolute
}

.main-slider .link-box .video-box .ripple:after {
    -webkit-animation-delay: .6s;
    -moz-animation-delay: .6s;
    -ms-animation-delay: .6s;
    -o-animation-delay: .6s;
    animation-delay: .6s;
    content: "";
    position: absolute
}

@-webkit-keyframes ripple {
    70% {
        box-shadow: 0 0 0 70px rgba(255, 255, 255, 0)
    }
    100% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0)
    }
}

@keyframes ripple {
    70% {
        box-shadow: 0 0 0 70px rgba(255, 255, 255, 0)
    }
    100% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0)
    }
}

.main-slider .owl-dots {
    position: absolute;
    right: 110px;
    top: 50%
}

.main-slider .owl-dots .owl-dot {
    position: relative;
    width: 16px;
    height: 16px;
    margin-bottom: 10px;
    border-radius: 50px;
    background-color: #fff;
    margin-bottom: 10px;
    display: block
}

.main-slider .owl-dots .owl-dot:before {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    border-radius: 50px;
    border: 3px solid #fa4612;
    transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease
}

.main-slider .owl-dots .owl-dot span {
    display: none
}

.main-slider .owl-dots .owl-dot.active:before,
.main-slider .owl-dots .owl-dot:hover::before {
    opacity: 1
}

.main-slider .owl-nav {
    position: absolute;
    left: 0;
    top: 50%;
    z-index: 1;
    width: 100%;
    opacity: 0;
    margin-top: -10px;
    transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease
}

.main-slider:hover .owl-nav {
    opacity: 1
}

.main-slider .owl-nav .owl-prev {
    position: absolute;
    left: 20px;
    width: 60px;
    height: 60px;
    color: #fff !important;
    line-height: 56px;
    font-size: 24px;
    text-align: center;
    border-radius: 50px;
    transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    border: 2px solid rgba(255, 255, 255, 0.60) !important
}

.main-slider .owl-nav .owl-next {
    position: absolute;
    right: 20px;
    color: #fff;
    font-size: 24px;
    width: 60px;
    height: 60px;
    color: #fff !important;
    line-height: 56px;
    border-radius: 50px;
    text-align: center;
    transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    border: 2px solid rgba(255, 255, 255, 0.60) !important
}

.main-slider .owl-nav .owl-prev:hover,
.main-slider .owl-nav .owl-next:hover {
    color: #fa0
}

.featured-sec {
    padding: 0;
    position: relative
}

.featured-sec .featured-inner {
    position: relative;
    margin-top: -160px;
    overflow-x: hidden
}

.service-block {
    position: relative;
    z-index: 1;
    margin-bottom: 60px
}

.service-block .inner-box:hover .icon-box .icon {
    color: #fff;
    -webkit-text-fill-color: inherit
}

.service-block .inner-box:hover .text,
.service-block .inner-box:hover h5 a {
    color: #fff
}

.service-block .inner-box:hover h5::before {
    background-image: -ms-linear-gradient(left, #fff 0, #fff 100%);
    background-image: -moz-linear-gradient(left, #fff 0, #fff 100%);
    background-image: -o-linear-gradient(left, #fff 0, #fff 100%);
    background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(100, #fff));
    background-image: -webkit-linear-gradient(left, #fff 0, #fff 100%);
    background-image: linear-gradient(to right, #fff 0, #fff 100%)
}

.service-block .inner-box:hover .text,
.service-block .inner-box:hover h5 a {
    color: #fff
}

.service-block .inner-box::before {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    -webkit-transition: all 600ms ease;
    -moz-transition: all 600ms ease;
    -ms-transition: all 600ms ease;
    -o-transition: all 600ms ease;
    transition: all 600ms ease;
    background-image: -ms-linear-gradient(bottom, #d1641a 0, #c2292a 100%);
    background-image: -moz-linear-gradient(bottom, #d1641a 0, #c2292a 100%);
    background-image: -o-linear-gradient(bottom, #d1641a 0, #c2292a 100%);
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #d1641a), color-stop(100, #c2292a));
    background-image: -webkit-linear-gradient(bottom, #d1641a 0, #c2292a 100%);
    background-image: linear-gradient(to top, #d1641a 0, #c2292a 100%)
}

.service-block .inner-box {
    position: relative;
    padding: 45px 55px 60px;
    background-color: #fff;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15)
}

.service-block .inner-box .content-box {
    position: relative;
    overflow: hidden
}

.service-block .inner-box .icon-box {
    position: relative
}

.service-block .inner-box .icon-box .icon:before {
    font-size: 70px;
    margin: 0 20px 0 0
}

.service-block .inner-box .icon-box .icon {
    position: relative;
    line-height: 1em;
    color: #d1641b;
    line-height: 1em;
    font-size: 70px;
    background: linear-gradient(to right, #d1641b 0, #fd5e16 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

.service-block .inner-box h5::before {
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    height: 3px;
    width: 44px;
    background-image: -ms-linear-gradient(left, #d1641a 0, #c2292a 100%);
    background-image: -moz-linear-gradient(left, #d1641a 0, #c2292a 100%);
    background-image: -o-linear-gradient(left, #d1641a 0, #c2292a 100%);
    background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #d1641a), color-stop(100, #c2292a));
    background-image: -webkit-linear-gradient(left, #d1641a 0, #c2292a 100%);
    background-image: linear-gradient(to right, #d1641a 0, #c2292a 100%)
}

.service-block .inner-box h5 {
    position: relative;
    font-weight: 600;
    margin-top: 16px;
    margin-bottom: 22px;
    padding-bottom: 14px
}

.service-block .inner-box h5 a {
    position: relative;
    color: #222;
    line-height: 1.3em;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

.service-block .inner-box .text {
    position: relative;
    color: #222;
    font-size: 16px;
    line-height: 1.8em;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

.service-block .inner-box .big-icon {
    position: absolute;
    left: 0;
    bottom: 0;
    line-height: 1em;
    color: #d1641b;
    line-height: 1em;
    font-size: 110px;
    opacity: .2;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    background: linear-gradient(to right, #d1641b 0, #fd5e16 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.service-block .inner-box .arrow-box {
    position: absolute;
    right: -40px;
    bottom: -25px;
    width: 50px;
    height: 50px;
    opacity: 0;
    color: #222;
    line-height: 50px;
    text-align: center;
    border-radius: 50px;
    font-weight: 700;
    font-size: 20px;
    display: inline-block;
    background-color: #fff;
    -webkit-transition: all 600ms ease;
    -moz-transition: all 600ms ease;
    -ms-transition: all 600ms ease;
    -o-transition: all 600ms ease;
    transition: all 600ms ease;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.12)
}

.service-block .inner-box:hover .arrow-box {
    right: 30px;
    opacity: 1
}

.service-block .inner-box:hover::before {
    width: 100%
}

.introduction-section {
    position: relative;
    padding: 30px 0 100px
}

.introduction-section .image-column {
    position: relative;
    margin-bottom: 40px
}

.introduction-section .image-column .inner-column {
    position: relative;
    padding: 55px 35px 0 40px
}

.introduction-section .image-column .inner-column:before {
    position: absolute;
    content: '';
    right: 0;
    top: 0;
    width: 448px;
    height: 570px;
    background: url(../images/pattern-bg.png);
    background-repeat: no-repeat
}

.introduction-section .image-column .image {
    position: relative
}

.introduction-section .image-column .image img {
    position: relative;
    width: 100%;
    display: block
}

.introduction-section .image-column .image .projects {
    position: absolute;
    left: -40px;
    bottom: -55px;
    padding: 22px 60px;
    font-weight: 700;
    color: #fff;
    font-size: 24px;
    line-height: 1.4em;
    display: inline-block;
    background-image: -ms-linear-gradient(left, #d1641a 0, #c2292a 100%);
    background-image: -moz-linear-gradient(left, #d1641a 0, #c2292a 100%);
    background-image: -o-linear-gradient(left, #d1641a 0, #c2292a 100%);
    background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #d1641a), color-stop(100, #c2292a));
    background-image: -webkit-linear-gradient(left, #d1641a 0, #c2292a 100%);
    background-image: linear-gradient(to right, #d1641a 0, #c2292a 100%)
}

.introduction-section .content-column {
    position: relative;
    margin-bottom: 40px
}

.introduction-section .content-column .inner-column {
    position: relative
}

.introduction-section .sec-title {
    position: relative
}

.introduction-section .sec-title .title {
    position: relative;
    color: #fd5e16;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 10px;
    text-transform: capitalize
}

.introduction-section .sec-title h2 {
    position: relative;
    color: #222;
    font-weight: 700;
    line-height: 1.3em;
    text-transform: capitalize
}

.introduction-section .content-column .text {
    position: relative;
    margin-bottom: 25px
}

.introduction-section .content-column .text p {
    position: relative;
    color: #000;
    font-size: 16px;
    line-height: 1.7em;
    margin-bottom: 18px;
    font-weight: 500
}

.introduction-section .content-column .text p:last-child {
    margin-bottom: 0
}

.introduction-section .content-column .contact {
    position: relative;
    padding-top: 26px;
    margin-top: 30px;
    color: #666;
    font-weight: 700;
    font-size: 30px;
    border-top: 1px solid #e1e1e1
}

.introduction-section .content-column .contact .question {
    position: relative;
    color: #d1651a;
    font-size: 18px;
    font-weight: 600;
    display: block
}

.introduction-section .content-column .contact a {
    position: relative;
    color: #fd5e16;
    font-weight: 700;
    line-height: 1.6em;
    margin-top: 10px;
    display: inline-block;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease
}

.introduction-section .content-column .contact a:hover {
    color: #fa4612
}

.introduction-section .list-style-three {
    position: relative
}

.introduction-section .list-style-three li::before {
    position: absolute;
    content: '\f00c';
    left: 0;
    top: 0;
    font-weight: 400;
    color: #d1651a;
    font-size: 16px;
    font-family: 'FontAwesome'
}

.introduction-section .list-style-three li {
    position: relative;
    color: #222;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
    padding-left: 30px;
    line-height: 1.6em
}

.service_section {
    background: #f6f6f9
}

.service_section.inner-content-wrapper {
    padding: 40px 0 80px
}

.service_section .section-title {
    margin: 0 0 40px
}

.service_section .service_item {
    background: #fff;
    padding: 30px;
    text-align: center;
    margin-bottom: 30px;
    transition: all .3s;
    margin: 40px 0 0
}

.service_section .service_item:hover {
    box-shadow: 0 2px 48px 0 rgba(0, 0, 0, 0.08)
}

.service_section .service_title {
    font-size: 24px;
    color: #1d3b5f;
    font-weight: 700;
    margin: 0 0 10px
}

.service_section .service_title a {
    color: #102541
}

.service_section .service_title a:hover {
    color: #fd5e16
}

.service_item p {
    font-size: 14px
}

.service_icon_wrapper {
    margin: 0 0 10px;
    line-height: normal
}

.service_icon_wrapper i:before {
    font-size: 60px;
    margin: 0;
    color: #fd5e16
}

.service_item .service_icon {
    width: 70px
}

.service_item a.line-animation {
    position: relative;
    left: 0;
    transition: all .3s
}

.service_item a.line-animation:hover::before {
    transform: translateY(-50%) scale(1);
    left: -18px
}

.service_item a.line-animation::before {
    content: '';
    width: 15px;
    height: 2px;
    background-color: #0f73ee;
    position: absolute;
    left: 0;
    top: 52%;
    transform: translateY(-50%) scale(0);
    transition: all .3s
}

.service_item a.line-animation:hover {
    left: 5px
}

.service-sidebar-area .service-details-title {
    background-color: #0046c0;
    color: #fff;
    padding: 15px 20px;
    margin-bottom: 20px
}

.service-sidebar-area .service-card {
    margin-bottom: 30px;
    background-color: #fff;
    -webkit-box-shadow: 0 0 20px 3px rgba(0, 0, 0, 0.05);
    box-shadow: 0 0 20px 3px rgba(0, 0, 0, 0.05)
}

.service-sidebar-area .service-list ul li {
    border-bottom: 1px dashed #eee;
    padding: 15px 20px;
    font-weight: 500;
    -webkit-transition: all .5s;
    transition: all .5s
}

.service-sidebar-area .service-list ul li:last-child {
    border-bottom: 0
}

.service-sidebar-area .service-list ul li a {
    color: #172541;
    display: block
}

.service-sidebar-area .service-list ul li i {
    float: right;
    width: 30px;
    height: 30px;
    line-height: 30px;
    background-color: #3c7dee;
    border-radius: 50%;
    color: #fff;
    font-size: 20px;
    text-align: center;
    -webkit-transition: all .5s;
    transition: all .5s
}

.service-sidebar-area .service-list ul li:hover {
    background-color: #3c7dee;
    color: #fff
}

.service-sidebar-area .service-list ul li:hover i {
    background-color: #fff;
    color: #3c7dee
}

.service-sidebar-area .service-list ul li:hover a {
    color: #fff
}

.service-sidebar-area .service-faq .faq-accordion {
    position: unset;
    padding: 0;
    background-color: #4424a8
}

.service-sidebar-area .service-faq .faq-accordion .accordion .accordion-item {
    -webkit-box-shadow: none;
    box-shadow: none
}

.service-sidebar-area .service-faq .faq-accordion .accordion .accordion-title {
    font-size: 15px;
    font-weight: 600
}

.service-sidebar-area .service-faq .faq-accordion .accordion .accordion-title span {
    top: 11px
}

.service-sidebar-area .paint {
    margin-bottom: 15px
}

.service-details-wrap h3 {
    font-weight: 700
}

.service-details-wrap .service-img {
    margin-bottom: 30px
}

.service-details-wrap ul {
    margin-top: 30px;
    margin-bottom: 30px
}

.service-details-wrap ul li {
    display: inline-block;
    font-weight: 600;
    color: #172541;
    font-size: 14px;
    padding-left: 35px;
    position: relative
}

.service-details-wrap ul li i {
    width: 25px;
    height: 25px;
    line-height: 25px;
    background-color: #3c7dee;
    border-radius: 50%;
    color: #fff;
    font-size: 20px;
    text-align: center;
    position: absolute;
    top: 4px;
    position: absolute;
    top: 0;
    left: 0
}

.service-details-wrap .car-service-list-wrap {
    margin-bottom: 35px
}

.service-details-wrap .car-service-list-wrap .car-service-list ul {
    margin: 0
}

.service-details-wrap .car-service-list-wrap .car-service-list ul li {
    margin-bottom: 15px;
    font-size: 13px
}

.service-details-wrap .car-service-list-wrap .car-service-list ul li:last-child {
    margin-bottom: 0
}

.service-details-wrap .list-unstyled {
    margin: 0
}

.service-details-wrap .list-unstyled li {
    color: #dc3545;
    padding-left: 0 !important;
    font-size: 14px;
    font-weight: 400;
    margin-top: 10px
}

.service-details-wrap #msgSubmit {
    margin-top: 30px
}

.service-details-wrap .ask-question {
    text-align: center;
    padding: 30px;
    -webkit-box-shadow: 0 0 20px 3px rgba(0, 0, 0, 0.05);
    box-shadow: 0 0 20px 3px rgba(0, 0, 0, 0.05);
    margin: 30px 0 0
}

.service-details-wrap .ask-question h3 {
    font-size: 25px;
    margin-bottom: 30px
}

.service-details-wrap .ask-question .form-group {
    margin-bottom: 30px
}

.service-details-wrap .ask-question .default-btn {
    margin: auto;
    display: table
}

.service-details-wrap .form-control {
    height: 50px;
    color: #172541;
    border: 1px solid #e8e8e8;
    background-color: #f9f9f9;
    border-radius: 4px;
    font-size: 15px;
    padding: 10px 20px;
    width: 100%
}

.service-details-wrap textarea.form-control {
    height: auto
}

.faq-area .faq-accordion {
    background-color: #4424a8;
    padding: 40px;
    padding: 40px;
    max-width: 570px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 350px;
    top: 100px
}

.faq-area .faq-accordion h2 {
    color: #fff;
    font-size: 35px;
    margin-bottom: 30px
}

.faq-area .faq-accordion .accordion {
    list-style-type: none;
    padding-left: 0;
    margin-bottom: 0
}

.faq-area .faq-accordion .accordion .accordion-item {
    display: block;
    -webkit-box-shadow: 0 0 1.25rem rgba(108, 118, 134, 0.1);
    box-shadow: 0 0 1.25rem rgba(108, 118, 134, 0.1);
    background: #0046c0;
    margin-bottom: 20px
}

.faq-area .faq-accordion .accordion .accordion-item:last-child {
    margin-bottom: 0
}

.faq-area .faq-accordion .accordion .accordion-title {
    padding: 12px 20px 12px 40px;
    color: #fff;
    position: relative;
    margin-bottom: -1px;
    display: block;
    font-size: 16px;
    border: 1px solid #0046c0
}

.faq-area .faq-accordion .accordion .accordion-title i {
    position: absolute;
    left: 0;
    top: 0;
    width: 40px;
    text-align: center;
    height: 100%;
    background: #0046c0;
    color: #4424a8;
    font-size: 14px;
    -webkit-transition: all .5s;
    transition: all .5s;
    color: #fff
}

.faq-area .faq-accordion .accordion .accordion-title i::before {
    position: absolute;
    left: 0;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.faq-area .faq-accordion .accordion .accordion-title span {
    position: absolute;
    top: 14px;
    left: 20px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    background-color: #4424a8;
    color: #fff;
    text-align: center;
    border-radius: 50%
}

.faq-area .faq-accordion .accordion .accordion-title.active {
    border-bottom-color: #4424a8
}

.faq-area .faq-accordion .accordion .accordion-title.active i {
    background-color: #0046c0;
    color: #fff
}

.faq-area .faq-accordion .accordion .accordion-title.active i::before {
    content: "\e622"
}

.faq-area .faq-accordion .accordion .accordion-content {
    display: none;
    position: relative;
    padding: 20px;
    color: #fff;
    font-size: 14px
}

.faq-area .faq-accordion .accordion .accordion-content.show {
    display: block
}

.our-team-sec {
    padding: 80px 0 120px
}

.our-team-sec.inner-content-wrapper {
    padding: 0 0 120px
}

.our-team-sec .section-title {
    margin: 0
}

.team-block {
    position: relative;
    margin: 80px 0 0
}

.team-block .team-upper-part {
    position: relative;
    overflow: hidden
}

.social-list.list-sm li {
    margin-right: 10px;
    width: 34px;
    height: 34px;
    font-size: 14px;
    line-height: 34px;
    display: inline-block
}

.team-block .team-upper-part img {
    -moz-transition: all .5s ease-in-out 0s;
    -webkit-transition: all .5s ease-in-out 0s;
    -ms-transition: all .5s ease-in-out 0s;
    -o-transition: all .5s ease-in-out 0s;
    transition: all .5s ease-in-out 0s
}

.team-block .team-upper-part .overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: rgba(33, 38, 49, 0.8);
    padding: 35px 40px 40px 40px;
    transform-origin: bottom;
    -webkit-transform: perspective(1em) rotateY(2deg);
    -moz-transform: perspective(1em) rotateY(2deg);
    -ms-transform: perspective(1em) rotateY(2deg);
    -o-transform: perspective(1em) rotateY(2deg);
    transform: perspective(2em) rotateX(2deg);
    -moz-transition: all .3s ease-in-out 0s;
    -webkit-transition: all .3s ease-in-out 0s;
    -ms-transition: all .3s ease-in-out 0s;
    -o-transition: all .3s ease-in-out 0s;
    transition: all .3s ease-in-out 0s;
    opacity: 0
}

.team-block .team-upper-part .social-list {
    position: absolute;
    bottom: -34px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    -moz-transition: all .3s ease-in-out 0s;
    -webkit-transition: all .3s ease-in-out 0s;
    -ms-transition: all .3s ease-in-out 0s;
    -o-transition: all .3s ease-in-out 0s;
    transition: all .3s ease-in-out 0s;
    opacity: 0
}

.team-block .team-upper-part .social-list.vertical-style li {
    float: none;
    margin-right: 5px;
    margin-bottom: 5px;
    opacity: 0;
    transform: translateY(60px);
    -moz-transition: all .5s ease-in-out 0s;
    -webkit-transition: all .5s ease-in-out 0s;
    -ms-transition: all .5s ease-in-out 0s;
    -o-transition: all .5s ease-in-out 0s;
    transition: all .5s ease-in-out 0s
}

.team-block .team-upper-part .social-list.vertical-style li a {
    border-radius: 4px;
    background: #ff7906
}

.team-block .team-bottom-part {
    background: #f9f9f9;
    padding: 20px;
    position: absolute;
    width: 90%;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -35px;
    z-index: 10;
    -moz-transition: all .3s ease-in-out 0s;
    -webkit-transition: all .3s ease-in-out 0s;
    -ms-transition: all .3s ease-in-out 0s;
    -o-transition: all .3s ease-in-out 0s;
    transition: all .3s ease-in-out 0s;
    -webkit-box-shadow: 0 10px 16px rgba(0, 0, 0, 0.1);
    -khtml-box-shadow: 0 10px 16px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0 10px 16px rgba(0, 0, 0, 0.1);
    -ms-box-shadow: 0 10px 16px rgba(0, 0, 0, 0.1);
    -o-box-shadow: 0 10px 16px rgba(0, 0, 0, 0.1);
    box-shadow: 0 10px 16px rgba(0, 0, 0, 0.1);
    background: #fff
}

.team-block .team-bottom-part h4 {
    font-weight: 600;
    font-size: 20px
}

.img-full {
    width: 100%
}

.team-block .team-bottom-part .designation {
    color: #ff7906
}

.team-block:hover .team-upper-part img {
    -moz-transform: scale3d(1.1, 1.1, 1.1);
    -o-transform: scale3d(1.1, 1.1, 1.1);
    -ms-transform: scale3d(1.1, 1.1, 1.1);
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1)
}

.team-block:hover .team-upper-part .overlay {
    -webkit-transform: perspective(0em) rotateY(0deg);
    -moz-transform: perspective(0em) rotateY(0deg);
    -ms-transform: perspective(0em) rotateY(0deg);
    -o-transform: perspective(0em) rotateY(0deg);
    transform: perspective(0em) rotateY(0deg);
    opacity: 1
}

.team-block:hover .team-upper-part .social-list {
    position: absolute;
    bottom: 25%;
    opacity: 1
}

.team-block:hover .team-upper-part .social-list.vertical-style li {
    opacity: 1;
    transform: translateY(0)
}

.team-block:hover .team-bottom-part {
    background: #ff7906;
    bottom: -60px
}

.team-block:hover .team-bottom-part .team-title {
    z-index: 1;
    color: #fff;
    position: sticky
}

.team-block:hover .team-bottom-part .team-title a {
    color: #fff
}

.team-block:hover .team-bottom-part .designation {
    z-index: 1;
    position: sticky;
    color: #fff
}

.social-list.list-sm li a {
    height: 34px;
    width: 34px;
    font-size: 14px;
    line-height: 34px;
    display: inline-block;
    color: #fff;
    text-align: center
}

.testimonial-section {
    float: left;
    width: 100%;
    padding: 80px 0
}

.testimonial-section .section-title {
    margin: 0
}

.testimonial-section .testimonial-area {
    background: rgba(0, 0, 0, 0);
    overflow: hidden;
    padding: 0
}

.testimonial-section .testimonial-image-slider {
    margin-top: 5px
}

.testimonial-section .slick-list {
    margin: 0 5px
}

.testimonial-section .sin-testiImage {
    display: inline-block;
    margin-bottom: 11px;
    outline: medium none
}

.testimonial-section .sin-testiImage img {
    border: 5px solid #fff;
    border-radius: 50%;
    cursor: pointer;
    display: inline-block !important;
    height: 80px;
    margin-bottom: 30px;
    margin-top: 36px;
    outline: 0 none;
    width: 80px
}

.testimonial-section .sin-testiImage.slick-current img {
    height: 145px;
    margin-top: 0;
    opacity: 1;
    width: 146px;
    border: 5px solid #fff;
    border-radius: 50%;
    margin-bottom: 35px
}

.testimonial-section .testimonial-text-slider h2 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #fff
}

.testimonial-section .testimonial-text-slider span {
    font-size: 14px;
    display: inline-block;
    margin-bottom: 15px;
    color: #fff
}

.testimonial-section .testimonial-text-slider {
    margin: auto;
    padding: 0;
    position: relative;
    width: unset;
    z-index: 9
}

.testimonial-section .sin-testiText {
    outline: 0
}

.testimonial-section .sin-testiText p {
    max-width: 555px;
    margin: auto;
    color: #fff
}

.testimonial-section .slick-prev,
.testimonial-section .slick-next {
    background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
    border: medium none;
    color: rgba(0, 0, 0, 0);
    cursor: pointer;
    display: block;
    font-size: 0;
    height: 25px;
    outline: medium none;
    padding: 0;
    position: absolute;
    top: 200px;
    width: 16px
}

.testimonial-section .slick-prev:hover::before,
.testimonial-section .slick-next:hover::before {
    background: #fff
}

.testimonial-section .slick-prev {
    left: -31px
}

.testimonial-section .slick-next {
    right: -31px
}

.testimonial-section .slick-prev:before,
.testimonial-section .slick-next:before {
    height: 25px;
    width: 16px;
    left: -130px;
    top: -44px;
    position: absolute;
    color: #031888;
    font-family: "foundation-icons";
    content: "<";
    font-family: "Material-Design-Iconic-Font";
    font-size: 33px !important;
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
    opacity: 1;
    background: rgba(255, 255, 255, 0.35);
    width: 45px;
    height: 45px;
    border-radius: 45px;
    line-height: 45px;
    font-family: inherit
}

.testimonial-section .slick-next:before {
    right: -130px;
    left: inherit;
    content: '>'
}

.testimonial-section .slick-slider {
    z-index: 9
}

.testimonial-section .testimonial-area:hover .slick-prev:before,
.testimonial-section .testimonial-area:hover .slick-next:before {
    opacity: 1
}

.testimonial-bg {
    background-image: url(../images/teastimonial-bg.jpg);
    background-position: center center;
    background-size: cover;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 0;
    background-attachment: fixed
}

.testimonial-bg::before {
    position: absolute;
    content: '';
    background: #031888;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    opacity: .8;
    z-index: -1
}

.pricing-sec .section-title {
    margin: 0 0 40px
}

.pricing-sec .pricing_plan {
    background-image: url(../images/shap1.png);
    background-position: top center;
    background-repeat: no-repeat;
    padding: 40px 35px;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin-top: 40px;
    box-shadow: 0 0 45px 0 rgba(205, 205, 205, 0.4);
    border-radius: 5px
}

.pricing-sec .pricing_plan .pricing_plan_wrapper {
    position: relative;
    z-index: 1
}

.pricing-sec .pricing_plan.active .plan_title {
    color: #0046c0;
    font-weight: 600
}

.pricing-sec .plan_title {
    color: #1d3b5f;
    font-size: 35px;
    margin: 15px 0 10px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif
}

.pricing_plan.business .plan_title {
    color: #0f73ee
}

.pricing_plan .price_area {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: rgba(5, 117, 255, 0.2);
    margin: 0 auto 60px;
    display: flex;
    justify-content: center;
    align-items: center
}

.pricing_plan .price_area .price_wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(100% - 7px);
    background: #0f73ee;
    height: calc(100% - 7px);
    border-radius: 50%
}

.pricing_plan .price_area .price_wrapper p {
    margin: 0
}

.pricing_plan.business {
    box-shadow: 0 2px 48px 0 rgba(0, 0, 0, 0.1)
}

.pricing_plan.business .price_area .price_wrapper {
    background-color: #1d3b5f
}

.pricing_plan .price_area p {
    color: #fff;
    font-size: 36px;
    font-weight: 600
}

.pricing_plan .price_area p span {
    font-size: 24px
}

.pricing_plan .plan_info {
    color: #6f87aa;
    font-size: 14px;
    margin-bottom: 20px
}

.request-quote-sec::before {
    position: absolute;
    content: '';
    background: #0b0c26;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    opacity: .8;
    z-index: -1
}

.request-quote-sec {
    background-image: url(../images/teastimonial-bg.jpg);
    background-position: center center;
    background-size: cover;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 0;
    background-attachment: fixed
}

.request-quote-sec h6::after {
    position: absolute;
    content: "";
    background: #f2343c;
    height: 36px;
    width: 36px;
    border-radius: 50%;
    left: -10px;
    z-index: -1;
    top: -4px;
    animation: leftright 1s infinite alternate;
    opacity: .5
}

.request-quote-sec h6 {
    position: relative;
    color: #fff;
    margin: 0 0 30px;
    font-size: 16px;
    line-height: 26px
}

.request-quote-sec h2 {
    font-size: 42px;
    line-height: 48px;
    color: #fff;
    font-weight: 700
}

.request-quote-sec .form-control {
    box-shadow: none;
    outline: 0;
    border: 1px solid #dfdce6;
    background: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    font-family: "Poppins", sans-serif;
    color: #243b60;
    height: auto;
    padding: 20px;
    resize: none;
    min-width: 100%;
    height: 56px
}

select {
    width: 268px;
    padding: 5px;
    font-size: 16px;
    line-height: 1;
    border: 0;
    border-radius: 5px;
    height: 34px;
    background: url(../images/down-arrow.png) no-repeat right #ddd;
    -webkit-appearance: none;
    background-position-x: 96%
}

.request-quote-sec .custom-select-categories {
    background-color: #fff;
    color: #243b60;
    height: 56px;
    width: 100%;
    font-size: 16px;
    font-weight: 400;
    padding: 4px 15px;
    border: 1px solid #dfdce6;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    box-shadow: none
}

.leftright {
    animation: leftright 1s infinite alternate
}

@-webkit-keyframes leftright {
    0% {
        -webkit-transform: translateX(-10px);
        -moz-transform: translateX(-10px);
        -ms-transform: translateX(-10px);
        -o-transform: translateX(-10px);
        transform: translateX(-10px)
    }
    100% {
        -webkit-transform: translateX(40px);
        -moz-transform: translateX(40px);
        -ms-transform: translateX(40px);
        -o-transform: translateX(40px);
        transform: translateX(40px)
    }
}

@keyframes rotateInfinit {
    0% {
        transform: rotate(0deg)
    }
    25% {
        transform: rotate(45deg)
    }
    50% {
        transform: rotate(90deg)
    }
    75% {
        transform: rotate(135deg)
    }
    100% {
        transform: rotate(180deg)
    }
}

@keyframes spinInfinit {
    from {
        transform: rotate(0deg)
    }
    to {
        transform: rotate(360deg)
    }
}

.latest-blog-style4-outer {
    position: relative;
    display: block;
    overflow: hidden
}

.single-blog-post-style4 {
    position: relative;
    display: block
}

.single-blog-post-style4 .img-holder {
    position: relative;
    display: block
}

.single-blog-post-style4 .img-holder .inner {
    position: relative;
    display: block;
    overflow: hidden
}

.single-blog-post-style4 .img-holder .inner img {
    width: 100%
}

.single-blog-post-style4 .img-holder .title-holder {
    position: absolute;
    left: 60px;
    bottom: -60px;
    right: 60px;
    background: #18212e;
    display: block;
    padding: 33px 40px 32px
}

.single-blog-post-style4 .img-holder .title-holder .meta-info {
    position: relative;
    display: block;
    overflow: hidden;
    padding-bottom: 12px
}

.single-blog-post-style4 .img-holder .title-holder .meta-info li {
    position: relative;
    display: inline-block;
    float: left;
    line-height: 24px;
    margin-right: 25px
}

.single-blog-post-style4 .img-holder .title-holder .meta-info li:last-child {
    margin-right: 0
}

.single-blog-post-style4 .img-holder .title-holder .meta-info li i {
    position: relative;
    display: inline-block;
    font-size: 16px;
    padding-left: 5px;
    color: #fa4612
}

.single-blog-post-style4 .img-holder .title-holder .meta-info li a {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    transition: all 200ms linear;
    transition-delay: .1s
}

.single-blog-post-style4 .img-holder .title-holder .blog-title {
    font-size: 24px;
    line-height: 34px;
    font-weight: 700
}

.single-blog-post-style4 .img-holder .title-holder .blog-title a {
    color: #fff
}

.blog-carousel.owl-carousel {
    position: relative;
    display: block;
    max-width: 750px;
    width: 100%;
    margin: 0 auto;
    height: 500px;
}

.blog-carousel.owl-carousel .owl-stage-outer {
    padding: 0 0 60px
}

.latest-blog-style4-outer .btn-block {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 15%;
    right: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap
}

.latest-blog-style4-outer .btn-block .next-btn,
.latest-blog-style4-outer .btn-block .prev-btn {
    width: 125px;
    height: 125px;
    border: 0;
    outline: 0;
    background-color: #000;
    border-radius: 0;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat
}

.thumb-img {
    display: none !important
}

.blog-carousel.owl-carousel .owl-nav {
    position: absolute;
    left: -166px;
    bottom: 56%;
    right: -166px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    height: auto
}

.blog-carousel.owl-theme .owl-nav [class*="owl-"]:hover {
    background: 0
}

.blog-carousel.owl-carousel .owl-nav button p {
    color: #222;
    font-size: 14px;
    line-height: 14px;
    display: none;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0
}

.blog-grid-item {
    box-shadow: 8px 14px 38px rgba(39, 44, 49, .06), 1px 3px 8px rgba(39, 44, 49, .03)
}

.blog-grid-info {
    padding: 30px
}

.blog-grid-item:hover {
    box-shadow: 8px 28px 50px rgba(39, 44, 49, .07), 1px 6px 12px rgba(39, 44, 49, .04);
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px)
}

.blog-grid-thubmnil img {
    border-radius: 5px 5px 0 0
}

.blog-grid-info h4 {
    line-height: 1.5;
    font-size: 20px;
    font-weight: 600
}

.blog-grid-info h5 {
    font-weight: 600
}

.blog-auth img {
    max-width: 40px;
    border-radius: 50%
}

.blog-auth span {
    float: right;
    display: inline-block;
    margin-top: 7px
}

blockquote.authore-blockquote {
    padding: 30px;
    background: #fa4612;
    position: relative
}

blockquote.authore-blockquote p {
    font-size: 20px;
    line-height: 30px;
    font-style: italic;
    color: #fff
}

.blog-grid-item.single-blog:hover {
    -webkit-transform: inherit;
    transform: inherit
}

blockquote.authore-blockquote h4,
blockquote.authore-blockquote span {
    color: #fff
}

blockquote.authore-blockquote h4 {
    margin-bottom: 0
}

blockquote.authore-blockquote i {
    color: #fff;
    position: absolute;
    right: 30px;
    bottom: 30px;
    font-size: 50px
}

.recent-post-item {
    position: relative;
    padding-left: 85px
}

.recent-post-item img {
    position: absolute;
    left: 0;
    top: 0;
    width: 80px;
    border-radius: 50%
}

.recent-post-item h5 {
    line-height: 1.5;
    font-weight: 500;
    font-size: 16px;
    margin-bottom: 3px
}

.widget.follow-us-widget a i {
    color: #fff;
    background: #fa4612;
    display: inline-block;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    border-radius: 9px 0 10px 0;
    margin-right: 5px
}

.widget.follow-us-widget a i:hover {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px)
}

.widget.follow-us-widget a i.fa-facebook {
    background: #4267b2 !important
}

.widget.follow-us-widget a i.fa-twitter {
    background: #55aded !important
}

.widget.follow-us-widget a i.fa-instagram {
    background: #e1327d !important
}

.widget.follow-us-widget a i.fa-linkedin {
    background: #0077b5 !important
}

.widget.follow-us-widget a i.fa-tumblr {
    background: #314358 !important
}

.widget_tag_cloud a {
    padding: 8px 14px;
    font-size: 12px;
    display: inline-block;
    margin: 0 0 5px;
    text-transform: uppercase;
    font-weight: 600;
    color: #000;
    position: relative;
    background: #f6f7f8
}

.widget_tag_cloud a:hover {
    background: #fa4612;
    color: #fff
}

.widget ul li a {
    color: #232323;
    position: relative;
    display: block;
    padding-left: 13px;
    -webkit-transition: .5s;
    transition: .5s
}

.widget ul li {
    padding-bottom: 10px;
    border-bottom: 1px solid #ececf0;
    margin-bottom: 10px
}

.widget {
    padding-left: 20px
}

.widget ul li a:after {
    position: absolute;
    content: "\f105";
    top: 0;
    font-family: fontawesome;
    left: 0
}

.widget ul li a:hover {
    margin-left: 10px;
    color: #fa4612
}

.instagrm-widget a {
    width: 75px;
    display: inline-block;
    margin-bottom: 3px
}

.sb-post-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

.re-post-thumbnil {
    max-width: 80px;
    max-height: 80px;
    margin-right: 20px
}

.re-post-thumbnil img {
    border-radius: 50%
}

.rs-post-content span {
    display: block
}

.rs-post-content a {
    display: block;
    margin-bottom: 5px;
    color: #232323
}

.widget.widget_search input[type="search"] {
    float: left;
    width: 80%;
    border: 1px solid #eee;
    color: #666;
    padding: 10px;
    margin-bottom: 30px
}

.widget-title {
    font-weight: 700
}

.widget.widget_search button {
    background: #fa4612;
    color: #fff;
    border: 0;
    padding: 11px 15px
}

.rs-post-content a:hover {
    color: #fa4612
}

.comment-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    border: 1px solid #dee2e6;
    padding: 30px;
    position: relative
}

.comment-thumb {
    margin-right: 20px
}

.comment-thumb img {
    border-radius: 50%
}

.reply-btn {
    position: absolute;
    top: 30px;
    right: 30px
}

.reply-btn a {
    background: #fa4612;
    color: #fff;
    padding: 8px 25px;
    border-radius: 30px
}

.comment-item.reply {
    margin-left: 50px
}

.comment-authore h5 {
    font-weight: 700
}

.comment-item p {
    margin: 0
}

.comment-item.reply-reply {
    margin-left: 100px
}

.comment-authore span {
    display: block
}

.comment-form-area h4 {
    font-weight: 700
}

form.comment-form textarea {
    height: 140px
}

.comment-form-area input {
    height: 50px;
    color: #172541;
    border: 1px solid #e8e8e8;
    background-color: #f9f9f9;
    border-radius: 4px;
    font-size: 15px;
    padding: 10px 20px;
    width: 100%;
    margin-bottom: 30px
}

form.comment-form textarea {
    height: 140px;
    color: #172541;
    border: 1px solid #e8e8e8;
    background-color: #f9f9f9;
    border-radius: 4px;
    font-size: 15px;
    padding: 10px 20px;
    width: 100%;
    margin-bottom: 30px
}

.comment-form-area input.btn {
    background: #fa4612;
    border: 1px solid #fa4612;
    transition: .4s;
    color: #fff;
    z-index: 9;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 14px 40px;
    border-radius: 5px;
    position: relative;
    width: auto
}

.subscribe-area {
    margin-bottom: -115px;
    float: left;
    width: 100%
}

.subscribe-area .subscribe-box {
    background-image: -moz-linear-gradient(0deg, #d1651a 0, #c1282a 100%);
    background-image: -webkit-linear-gradient(0deg, #d1651a 0, #c1282a 100%);
    background-image: -ms-linear-gradient(0deg, #d1651a 0, #c1282a 100%);
    padding: 40px 0
}

.subscribe-area .subscribe-box .subscribe-info .title {
    color: #fff;
    font-size: 30px;
    padding-bottom: 30px;
    font-weight: 700
}

.subscribe-area .subscribe-box .subscribe-info ul li a {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 33px
}

.subscribe-area .subscribe-box .subscribe-info .input-box {
    position: relative
}

.subscribe-area .subscribe-box .subscribe-info .input-box input {
    width: 100%;
    border: 0;
    background: #b23521;
    line-height: 60px;
    padding-left: 22px;
    color: #fff
}

.subscribe-area .subscribe-box .subscribe-info .input-box input::placeholder {
    opacity: .5;
    color: #fff
}

.subscribe-area .subscribe-box .subscribe-info .input-box button {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    padding: 0 48px;
    margin: 0;
    background: #fff;
    border: 0;
    color: #d1651a;
    z-index: 10;
    font-size: 15px;
    font-weight: 600;
    text-transform: capitalize
}

.subscribe-area .subscribe-box .subscribe-info.pl-50 {
    border-left: 1px solid #d97f65
}

.page-title-area {
    position: relative;
    z-index: 1;
    padding-top: 150px;
    padding-bottom: 150px;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-image: url(../images/page-bg-img.jpg)
}

.page-title-area::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: #000;
    opacity: .7
}

.page-title-area .page-title-content h2 {
    margin-bottom: 0;
    color: #fff;
    font-size: 40px;
    font-weight: 700
}

.page-title-area .page-title-content ul {
    padding-left: 0;
    list-style-type: none;
    margin-top: 10px;
    margin-bottom: 0;
    float: right
}

.page-title-area .page-title-content ul li {
    display: inline-block;
    position: relative;
    font-size: 15px;
    font-weight: 500;
    padding-right: 20px;
    color: #fa4612
}

.page-title-area .page-title-content ul li::before {
    content: "";
    position: absolute;
    top: 12px;
    right: 5px;
    background-color: #fff;
    width: 5px;
    height: 5px;
    border-radius: 50%
}

.page-title-area .page-title-content ul li:last-child::before {
    display: none
}

.page-title-area .page-title-content ul li i {
    font-size: 20px;
    margin: 0 5px;
    position: relative;
    top: 5px
}

.page-title-area .page-title-content ul li a {
    color: #fff
}

.page-title-area .page-title-content ul li a:hover {
    color: #fa4612
}

.inner-content-wrapper {
    float: left;
    width: 100%;
    padding: 80px 0
}

.faq-sec .faq-accordion .accordion {
    list-style-type: none;
    padding-left: 0;
    margin-bottom: 0
}

.faq-sec .faq-accordion .accordion .accordion-item {
    display: block;
    -webkit-box-shadow: 0 0 1.25rem rgba(108, 118, 134, 0.1);
    box-shadow: 0 0 1.25rem rgba(108, 118, 134, 0.1);
    background: #fff
}

.faq-sec .faq-accordion .accordion .accordion-item:last-child {
    margin-bottom: 0
}

.faq-sec .faq-accordion .accordion .accordion-title {
    padding: 12px 20px 12px 60px;
    color: #0d3a88;
    position: relative;
    border-bottom: 1px dashed #eee;
    margin-bottom: -1px;
    display: block;
    font-size: 18px
}

.faq-sec .faq-accordion .accordion .accordion-title i {
    position: absolute;
    left: 0;
    top: 0;
    width: 40px;
    text-align: center;
    height: 100%;
    background: #faf5f5;
    color: #fa4612;
    font-size: 14px;
    -webkit-transition: .5s;
    transition: .5s
}

.faq-sec .faq-accordion .accordion .accordion-title i::before {
    position: absolute;
    left: 0;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.faq-sec .faq-accordion .accordion .accordion-title span {
    position: absolute;
    top: 14px;
    left: 20px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    background-color: #fa4612;
    color: #fff;
    text-align: center;
    border-radius: 50%
}

.faq-sec .faq-accordion .accordion .accordion-title.active {
    border-bottom-color: #fa4612
}

.faq-sec .faq-accordion .accordion .accordion-title.active i {
    background-color: #fa4612;
    color: #fff
}

.faq-sec .faq-accordion .accordion .accordion-title.active i::before {
    content: "\e622"
}

.faq-sec .faq-accordion .accordion .accordion-content {
    display: none;
    position: relative;
    padding: 30px
}

.faq-sec .faq-accordion .accordion .accordion-content.show {
    display: block
}

.faq-sec .faq-img {
    background-image: url(../images/news-details-img.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 100%
}

.portfolio-area .portfolio-wrapper {
    background: #fff;
    padding: 0 10px;
    border-radius: 5px
}

.portfolio-menu button {
    position: relative;
    display: inline-block;
    padding: 12px 31px 7px;
    cursor: pointer;
    background: 0;
    border: 0;
    color: #727b9a;
    font-weight: 500;
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease
}

.portfolio-menu button.active,
.portfolio-menu button:hover {
    color: #686ee4
}

.single-portfolio-item {
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    margin-top: 20px;
    margin-bottom: 10px;
    height: 200px;
}

.portfolio-first-item {
    height: 436px
}

.portfolio-second-item {
    height: 305px
}

.portfolio-third-item {
    height: 356px
}

.portfolio-fourth-item {
    height: 450px
}

.portfolio-fifth-item {
    height: 400px
}

.portfolio-sixth-item {
    height: 319px
}

.single-portfolio-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fa4612;
    opacity: 0;
    -webkit-transition: .7s;
    -o-transition: .7s;
    transition: .7s
}

.portfolio-hover {
    position: absolute;
    left: 0;
    top: 50%;
    right: 0;
    text-align: center;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: .7s;
    -o-transition: .7s;
    transition: .7s;
    opacity: 0
}

.portfolio-hover a {
    color: #fff;
    font-size: 30px;
    padding: 10px;
    font-weight: 500
}

.single-portfolio-item:hover .portfolio-hover {
    opacity: 1;
    left: 0
}

.single-portfolio-item:hover::before {
    opacity: .9
}

.single-portfolio-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.error-section.inner-content-wrapper {
    padding: 40px 0 80px
}

.error-section .error-text h2 {
    color: #fa4612;
    font-size: 150px;
    font-weight: 700;
    letter-spacing: 4px
}

.error-section h3 {
    font-weight: 600;
    font-size: 28px;
    margin-top: 25px;
    margin: 0 0 15px;
    font-family: 'Lato', sans-serif
}

.error-section .error-options .or {
    color: #2f2f2f;
    font-size: 18px;
    margin: 0 18px;
    font-weight: 500
}

.error-search-box {
    position: relative;
    margin-top: 12px;
    width: 320px;
    display: inline-block
}

.error-search-box .form-group {
    position: relative;
    margin: 0
}

.error-search-box .form-group input[type="text"],
.error-search-box .form-group input[type="search"] {
    padding: 10px 50px 10px 20px;
    border: 2px solid #ededed;
    display: block;
    width: 100%;
    height: 54px;
    border-radius: 40px;
    transition: 500ms
}

.error-search-box .form-group button {
    position: absolute;
    right: 0;
    top: 0;
    height: 52px;
    width: 50px;
    line-height: 52px;
    text-align: center;
    display: block;
    font-size: 14px;
    color: silver;
    background: 0;
    border-radius: 0 3px 3px 0;
    font-weight: 400;
    border: 0
}

.contact-form-item {
    position: relative
}

.contact-form-item i {
    font-size: 20px;
    position: absolute;
    left: 10px;
    top: 11px;
    color: #fa4612;
    font-size: 25px
}

.contact-form-item input[type="text"],
.contact-form-item input[type="tel"],
.contact-form-item input[type="email"],
.contact-form-item textarea {
    padding-left: 45px
}

.contact-form-item textarea {
    height: 120px
}

.contact-info-item i {
    box-shadow: 0 0 42px rgba(0, 0, 0, .08);
    width: 80px;
    height: 80px;
    display: block;
    text-align: center;
    font-size: 30px;
    color: #fa4612;
    line-height: 80px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-transition: .5s;
    transition: .5s
}

.contact-info-item {
    position: relative;
    padding-left: 94px
}

.contact-info-item h4 {
    font-weight: 700
}

.contact-form-area h1 {
    font-weight: 700
}

.contact-info-item p {
    margin-bottom: 0
}

.contact-info-item a {
    color: #212127
}

.contact-info-item:hover i {
    background: #fa4612;
    color: #fff
}

.contact-area {
    float: left;
    width: 100%;
    padding: 60px 0
}

.contact-wrapper {
    box-shadow: 8px 14px 38px rgba(39, 44, 49, .06), 1px 3px 8px rgba(39, 44, 49, .03)
}

.contact-img {
    position: relative;
    height: 100%
}

.contact-bg {
    background-image: url(../images/contact-info.jpg);
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center
}

.contact-form-area {
    padding: 30px
}

.g-map {
    height: 500px
}

.contact-form-item {
    position: relative
}

.contact-form-item i {
    font-size: 20px;
    position: absolute;
    left: 10px;
    top: 11px;
    color: #fa4612;
    font-size: 25px
}

.contact-form-item input[type="text"],
.contact-form-item input[type="tel"],
.contact-form-item input[type="email"],
.contact-form-item textarea {
    border: 1px solid #eee;
    color: #666;
    padding: 10px 10px 10px 45px;
    margin-bottom: 30px;
    width: 100%
}

.contact-form-item textarea {
    height: 120px
}

.footer-area {
    background: #222933;
    padding-top: 165px;
    float: left;
    width: 100%
}

.footer-area .footer-content p {
    line-height: 30px;
    color: #ffffff;
    /* opacity: .5; */
    padding-right: 70px;
    padding-top: 25px;
    padding-bottom: 27px;
    margin: 0
}

.footer-area .footer-content ul li {
    display: inline-block
}

.footer-area .footer-content ul li a {
    height: 38px;
    width: 38px;
    text-align: center;
    line-height: 38px;
    border-right: 50%;
    border: 1px solid #7a7f85;
    color: #7a7f85;
    border-radius: 50%;
    position: relative;
    z-index: 10;
    -webkit-transition: all .3s ease-out 0s;
    -moz-transition: all .3s ease-out 0s;
    -ms-transition: all .3s ease-out 0s;
    -o-transition: all .3s ease-out 0s;
    transition: all .3s ease-out 0s;
    margin-right: 13px;
    display: inline-block
}

.footer-area .footer-content ul li a::before {
    position: absolute;
    content: '';
    left: -1px;
    top: -1px;
    height: 105%;
    width: 105%;
    border-radius: 50%;
    background-image: -moz-linear-gradient(0deg, #d1651a 0, #c1282a 100%);
    background-image: -webkit-linear-gradient(0deg, #d1651a 0, #c1282a 100%);
    background-image: -ms-linear-gradient(0deg, #d1651a 0, #c1282a 100%);
    transform: scale(0);
    z-index: -1;
    -webkit-transition: all .3s ease-out 0s;
    -moz-transition: all .3s ease-out 0s;
    -ms-transition: all .3s ease-out 0s;
    -o-transition: all .3s ease-out 0s;
    transition: all .3s ease-out 0s
}

.footer-area .footer-content ul li a:hover {
    color: #fff
}

.footer-area .footer-content ul li a:hover::before {
    transform: scale(1)
}

.footer-area .footer-list .title {
    color: #fff;
    font-size: 24px;
    padding-bottom: 14px;
    padding-top: 14px
}

.footer-area .footer-list ul li a {
    color: #fff;
    font-size: 15px;
    line-height: 36px;
    /* opacity: .5; */
    -webkit-transition: all .3s ease-out 0s;
    -moz-transition: all .3s ease-out 0s;
    -ms-transition: all .3s ease-out 0s;
    -o-transition: all .3s ease-out 0s;
    transition: all .3s ease-out 0s
}

.footer-area .footer-list ul li a:hover {
    color: #d1651a;
    opacity: 1
}

.footer-area .footer-list.item-2 {
    padding-left: 0
}

.footer-area .footer-instagram .title {
    color: #fff;
    font-size: 24px;
    padding-bottom: 14px;
    padding-top: 14px
}

.footer-area .footer-instagram ul {
    display: flex
}

.footer-area .footer-instagram ul li {
    margin-top: 13px;
    margin-right: 13px
}

.footer-area .footer-instagram ul li a img {
    width: 100%
}

.footer-area .footer-copyright {
    border-top: 1px solid #393f48;
    margin-top: 70px
}

.footer-area .footer-copyright.footer-copyright-item {
    padding: 15px 0;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.footer-area .footer-copyright.footer-copyright-item p {
    color: #ffffff;
    margin: 0
}

.footer-area .footer-copyright.footer-copyright-item p .color {
    color: #fff
}

.footer-area .footer-copyright.footer-copyright-item ul {
    float: right
}

.footer-area .footer-copyright.footer-copyright-item ul li {
    display: inline-block
}

.footer-area .footer-copyright.footer-copyright-item ul li a {
    padding-left: 12px;
    margin-left: 12px;
    color: #fff;
    opacity: .4;
    border-left: 1px solid #7a7f85;
    line-height: 20px;
    -webkit-transition: all .3s ease-out 0s;
    -moz-transition: all .3s ease-out 0s;
    -ms-transition: all .3s ease-out 0s;
    -o-transition: all .3s ease-out 0s;
    transition: all .3s ease-out 0s
}

.footer-area .footer-copyright.footer-copyright-item ul li a:hover {
    color: #d1651a;
    opacity: 1
}

.footer-area .footer-copyright.footer-copyright-item ul li:first-child a {
    padding-left: 0;
    margin-left: 0;
    border-left: 0
}

@media(min-width:992px) and (max-width:1199px) {
    .subscribe-area .subscribe-box .subscribe-info {
        padding-right: 30px;
        padding-left: 30px
    }
    .footer-area .footer-content p {
        padding-right: 20px
    }
}

@media(max-width:991px) {
    .mobile-nav {
        display: block;
        position: relative
    }
    .mobile-nav .logo {
        text-decoration: none;
        position: absolute;
        top: 11px;
        z-index: 999;
        left: 15px;
        color: #fff;
        font-weight: bold;
        text-transform: uppercase;
        font-size: 20px
    }
    .mean-container .mean-bar {
        background-color: #fff;
        padding: 0
    }
    .mean-container a.meanmenu-reveal {
        padding: 15px 15px 0 0
    }
    .mobile-nav nav .navbar-nav .nav-item a i {
        display: none
    }
    .main-nav {
        display: none !important
    }
    .mobile-nav nav .navbar-nav {
        height: 300px;
        overflow-y: scroll
    }
}

@media(min-width:768px) and (max-width:991px) {
    .mobile-nav .logo {
        width: 110px;
        top: 9px !important
    }
    .nav-srh {
        display: none
    }
    .content-column .inner-column {
        margin: 40px 0 0
    }
    .introduction-section .content-column {
        margin: 0
    }
    .blog-carousel.owl-carousel {
        max-width: 400px
    }
    .single-blog-post-style4 .img-holder .title-holder {
        padding: 30px;
        left: 30px;
        right: 30px;
        bottom: -30px
    }
    .subscribe-area .subscribe-box .subscribe-info.pl-50 {
        margin-top: 40px
    }
    .subscribe-area .subscribe-box .subscribe-info {
        padding-right: 30px;
        padding-left: 30px
    }
    .faq-sec .faq-img {
        height: 400px;
        margin-top: 30px
    }
    .faq-area .faq-accordion {
        padding: 30pxpx;
        max-width: unset;
        position: unset
    }
    .footer-area .footer-copyright .footer-copyright-item ul li a {
        margin-left: 8px;
        padding-left: 8px
    }
    .footer-content ul {
        margin-bottom: 40px
    }
    .footer-copyright-item {
        text-align: center
    }
    .footer-area .footer-copyright.footer-copyright-item ul {
        float: none;
        margin: 10px 0 0
    }
}

@media(max-width:767px) {
    .get_content_div .top_image {
        margin-bottom: 1rem;
        height: auto;
}
    .header-top {
        padding-top: 15px;
        border-bottom: 1px solid #f2f2f2;
        text-align: center
    }
    .header-top-item .header-top-left ul li {
        font-size: 13px;
        margin-right: 0;
        margin-bottom: 8px;
        display: block
    }
    .header-top-item .header-top-left ul li i {
        font-size: 16px
    }
    .header-top-item .header-top-right {
        text-align: center
    }
    .mobile-nav .logo {
        top: 7px !important;
        left: 15px;
        width: auto;
        max-width: calc(100% - 92px);
        height: 56px;
        display: flex;
        align-items: center;
        overflow: hidden
    }
    .mobile-nav .logo img {
        display: block;
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: 56px;
        object-fit: contain
    }
    .navbar-area .mobile-nav {
        min-height: 70px;
        background: #fff
    }
    .mobile-nav.mean-container .mean-bar {
        height: 70px
    }
    .mobile-nav.mean-container .mean-nav {
        margin-top: 70px
    }
    .mobile-nav.mean-container a.meanmenu-reveal {
        top: 9px;
        padding-top: 12px
    }
    .mobile-nav.mean-container .mean-nav ul li a.active {
        color: #0046c0
    }
    .nav-srh {
        display: none
    }
    .main-slider .slide {
        padding: 140px 0 150px
    }
    .main-slider h1 br {
        display: none
    }
    .main-slider .owl-dots {
        display: inherit;
        position: absolute;
        bottom: 50px;
        top: auto;
        left: 50%;
        right: auto;
        margin: 0 0 0 -25px
    }
    .main-slider .owl-dots .owl-dot {
        display: inline-block;
        margin: 0 2px
    }
    .main-slider .owl-nav .owl-prev:hover,
    .main-slider .owl-nav .owl-next:hover {
        display: none
    }
    .featured-sec .featured-inner {
        margin-top: -90px
    }
    .page-title-area .page-title-content ul {
        float: left
    }
    .page-title-area .page-title-content h2 {
        margin-bottom: 5px
    }
    .inner-content-wrapper.introduction-section {
        padding: 80px 0
    }
    .introduction-section {
        padding: 0 0 80px
    }
    .introduction-section .sec-title {
        margin-bottom: 20px
    }
    .introduction-section .content-column {
        margin: 0
    }
    .introduction-section .image-column .inner-column::before {
        display: none
    }
    .introduction-section .image-column .inner-column {
        padding: 0
    }
    .introduction-section .image-column .image .projects {
        position: initial;
        width: 100%;
        padding: 25px 30px
    }
    .introduction-section .sec-title h2 {
        font-size: 25px;
        line-height: 35px
    }
    .introduction-section .sec-title h2 br {
        display: none
    }
    .request-quote-sec h2 {
        font-size: 25px;
        line-height: 35px
    }
    .blog-carousel.owl-carousel .owl-stage-outer {
        padding: 0 0 200px
    }
    .widget {
        padding-left: 0
    }
    .blog-sec .img-holder .title-holder {
        left: 20px;
        bottom: -60px;
        right: 20px;
        padding: 23px 20px 22px;
        width: 300px;
        margin: 0 auto
    }
    .blog-sec .btn-block {
        top: auto;
        bottom: 0;
        flex-direction: row;
        justify-content: space-between;
        align-items: center
    }
    .blog-sec .img-holder .title-holder .blog-title {
        font-size: 20px;
        line-height: 30px
    }
    .blog-carousel.owl-carousel .owl-nav {
        left: 0;
        bottom: 50px;
        right: 0
    }
    .subscribe-area .subscribe-box .subscribe-info.pl-50 {
        margin-top: 40px
    }
    .subscribe-area .subscribe-box .subscribe-info .input-box button {
        padding: 0 20px
    }
    .subscribe-area .subscribe-box .subscribe-info .title {
        font-size: 21px
    }
    .subscribe-area .subscribe-box .subscribe-info {
        padding-right: 10px;
        padding-left: 10px
    }
    .faq-sec .faq-img {
        height: 300px;
        margin-top: 30px
    }
    .error-section .error-text h2 {
        font-size: 100px
    }
    .error-section h3 {
        font-size: 18px;
        margin: 0 0 20px
    }
    .contact-area {
        padding: 30px 0 0
    }
    .contact-info-item {
        margin-bottom: 30px
    }
    .footer-area .footer-list .title {
        margin-top: 30px
    }
    .footer-area .footer-copyright-item {
        display: block;
        text-align: center
    }
    .footer-area .footer-copyright-item p {
        padding-bottom: 10px
    }
    .footer-area .footer-copyright.footer-copyright-item ul {
        float: none
    }
    .footer-area .footer-copyright-item ul li a {
        margin: 0;
        padding: 0 8px
    }
    .footer-area .footer-copyright.footer-copyright-item ul li a {
        margin-left: 2px
    }
}

@media only screen and (min-width:576px) and (max-width:767px) {
    .subscribe-area .subscribe-box .subscribe-info .input-box button {
        padding: 0 30px
    }
    .subscribe-area .subscribe-box .subscribe-info .title {
        font-size: 30x
    }
    .subscribe-area .subscribe-box .subscribe-info {
        padding-right: 30px;
        padding-left: 30px
    }
}

/* Header contact and social bar */
.header-top {
    position: relative;
    z-index: 20;
    padding: 0;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    background:
        radial-gradient(circle at 15% -80%, rgba(250, 70, 18, .75), transparent 38%),
        linear-gradient(105deg, #061b3a 0%, #063f82 52%, #005db7 100%);
    box-shadow: 0 5px 18px rgba(4, 24, 54, .16)
}

/* Modern site footer */
.expandable-footer {
    position: relative;
    z-index: 2;
    clear: both;
    float: none;
    width: 100%;
    padding: 0;
    background: #0d2941;
}

.expandable-footer > .container {
    width: 100%;
    max-width: none !important;
    padding-right: 0;
    padding-left: 0;
}

.expandable-footer-toggle {
    position: relative;
    width: 100%;
    min-height: 88px;
    display: grid;
    grid-template-columns: 52px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 16px clamp(24px, 6vw, 115px);
    overflow: hidden;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    border-radius: 0;
    outline: 0;
    color: #fff;
    background:
        radial-gradient(circle at 82% -100%, rgba(255, 255, 255, .17), transparent 30%),
        linear-gradient(105deg, #0c2943 0%, #0d4f85 58%, #c95125 145%);
    box-shadow: none;
    text-align: left;
    cursor: pointer;
    transition: border-color .25s ease, box-shadow .25s ease, border-radius .25s ease;
}

.expandable-footer-toggle::before {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    top: -104px;
    right: 17%;
    border: 27px solid rgba(12, 85, 146, .045);
    border-radius: 50%;
    pointer-events: none;
}

.expandable-footer-toggle:hover,
.expandable-footer-toggle:focus {
    border-color: rgba(255, 255, 255, .25);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .06);
}

.expandable-footer-toggle.is-open {
    border-bottom-color: rgba(255, 255, 255, .12);
    border-radius: 0;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .045);
}

.expandable-footer-toggle-icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(145deg, #f26b1f, #dc4c0b);
    font-size: 24px;
    box-shadow: 0 9px 20px rgba(221, 75, 10, .2);
}

.expandable-footer-toggle > span:nth-child(2) {
    min-width: 0;
}

.expandable-footer-toggle small,
.expandable-footer-toggle strong {
    display: block;
}

.expandable-footer-toggle small {
    margin-bottom: 2px;
    color: #e95813;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.15px;
    text-transform: uppercase;
}

.expandable-footer-toggle strong {
    color: #fff;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.3;
}

.expandable-footer-toggle-action {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: rgba(255, 255, 255, .82);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.expandable-footer-toggle-action em {
    font-style: normal;
}

.expandable-footer-toggle-action i {
    width: 35px;
    height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .14);
    font-size: 17px;
    transition: transform .3s ease, background-color .3s ease;
}

.expandable-footer-toggle.is-open .expandable-footer-toggle-action i {
    background: #f26b1f;
    transform: rotate(180deg);
}

.expandable-footer-panel[hidden] {
    display: none;
}

.expandable-footer-panel {
    padding: 38px clamp(24px, 6vw, 115px) 34px;
    border: 0;
    border-top: 0;
    border-radius: 0;
    background:
        radial-gradient(circle at 100% 100%, rgba(12, 85, 146, .055), transparent 20%),
        #fff;
    box-shadow: inset 0 -1px 0 rgba(13, 41, 65, .12);
}

.expandable-footer-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 32px 22px;
}

@media (max-width: 1199px) {
    .expandable-footer-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.expandable-footer-column h2 {
    position: relative;
    margin: 0 0 17px;
    padding-bottom: 12px;
    color: #143653;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.35;
}

.expandable-footer-column h2::after {
    content: "";
    position: absolute;
    width: 37px;
    height: 3px;
    bottom: 0;
    left: 0;
    border-radius: 4px;
    background: linear-gradient(90deg, #f26b1f, #ff9a63);
}

.expandable-footer-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.expandable-footer-column li {
    margin-bottom: 3px;
}

.expandable-footer-column a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 0;
    color: #5b6f83;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    transition: color .2s ease, transform .2s ease;
}

.expandable-footer-column a i {
    color: #f26b1f;
    font-size: 14px;
}

.expandable-footer-column a:hover,
.expandable-footer-column a:focus {
    color: #0c5592;
    transform: translateX(3px);
}

@media (max-width: 767px) {
    .expandable-footer {
        padding-top: 0;
    }

    .expandable-footer-toggle {
        grid-template-columns: 46px 1fr auto;
        gap: 12px;
        padding: 14px 15px;
    }

    .expandable-footer-toggle-icon {
        width: 46px;
        height: 46px;
        font-size: 21px;
    }

    .expandable-footer-toggle strong {
        font-size: 16px;
    }

    .expandable-footer-toggle-action em {
        display: none;
    }

    .expandable-footer-panel {
        padding: 28px 22px 23px;
    }

    .expandable-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .expandable-footer-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
}

.footer-cta {
    position: relative;
    z-index: 3;
    clear: both;
    float: none;
    width: 100%;
    margin-bottom: 0;
    padding: 70px 0 50px;
    background: #f4f7fb;
    pointer-events: none;
}

.footer-cta .container {
    pointer-events: none;
}

.footer-cta-card {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 34px 40px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 22px;
    background: linear-gradient(120deg, #a73529 0%, #d65c24 45%, #0f5da8 100%);
    box-shadow: 0 22px 50px rgba(16, 35, 57, .2);
    pointer-events: auto;
}

.footer-cta-card::after {
    position: absolute;
    right: -80px;
    bottom: -115px;
    width: 280px;
    height: 280px;
    border: 45px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.footer-cta-copy,
.footer-cta-actions {
    position: relative;
    z-index: 1;
}

.footer-cta-copy {
    max-width: 570px;
}

.footer-cta-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: #fff0e9;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.footer-cta-copy h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 30px;
    line-height: 1.25;
}

.footer-cta-copy p {
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: 15px;
}

.footer-cta-actions {
    display: flex;
    gap: 12px;
}

.footer-cta-link {
    display: flex;
    align-items: center;
    min-width: 205px;
    gap: 11px;
    padding: 12px 15px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 12px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    backdrop-filter: blur(8px);
    transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease;
}

.footer-cta-link:hover {
    transform: translateY(-3px);
    background: #fff;
    color: #173653;
    box-shadow: 0 12px 24px rgba(17, 34, 54, .18);
}

.footer-cta-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, .16);
    font-size: 21px;
}

.footer-cta-link:hover .footer-cta-icon {
    background: #f3f7fb;
    color: #d65325;
}

.footer-cta-link small,
.footer-cta-link strong {
    display: block;
}

.footer-cta-link small {
    margin-bottom: 2px;
    color: inherit;
    font-size: 11px;
    opacity: .78;
}

.footer-cta-link strong {
    color: inherit;
    font-size: 14px;
    white-space: nowrap;
}

.footer-modern.footer-area {
    position: relative;
    clear: both;
    overflow: hidden;
    float: none;
    padding-top: 58px;
    background:
        radial-gradient(circle at 88% 15%, rgba(24, 103, 174, .23), transparent 29%),
        radial-gradient(circle at 5% 85%, rgba(210, 83, 35, .13), transparent 24%),
        #101d2b;
}

.footer-modern.footer-area::before {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
    background-size: 42px 42px;
    content: "";
    pointer-events: none;
}

.footer-modern .container {
    position: relative;
    z-index: 1;
}

.footer-service-areas {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 44px;
    padding: 16px 20px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
    background: rgba(255, 255, 255, .045);
}

.footer-service-label {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    padding: 5px 12px;
    border-radius: 20px;
    background: #d65325;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.footer-service-areas ul {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 18px;
    margin: 2px 0 0;
}

.footer-service-areas li {
    position: relative;
}

.footer-service-areas li:not(:last-child)::after {
    position: absolute;
    right: -11px;
    color: rgba(255, 255, 255, .25);
    content: "•";
}

.footer-service-areas a {
    color: #cbd6e1;
    font-size: 13px;
    line-height: 25px;
    transition: color .2s ease;
}

.footer-service-areas a:hover {
    color: #ff875b;
}

.footer-main-row {
    padding-bottom: 42px;
}

.footer-modern .footer-content,
.footer-modern .footer-list,
.footer-modern .footer-contact {
    margin-top: 0;
}

.footer-modern .footer-logo {
    display: inline-block;
    padding: 8px 12px;
    border-radius: 10px;
    background: #fff;
}

.footer-modern .footer-logo img {
    width: auto;
    max-width: 180px;
    max-height: 64px;
}

.footer-modern .footer-content p {
    max-width: 360px;
    padding: 21px 28px 20px 0;
    color: #b8c6d4;
    font-size: 14px;
    line-height: 1.8;
}

.footer-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.footer-modern .footer-socials a {
    position: relative;
    display: grid;
    width: 40px;
    height: 40px;
    margin: 0;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 10px;
    background: rgba(255, 255, 255, .06);
    color: #fff;
    line-height: 40px;
    transition: transform .25s ease, border-color .25s ease, background-color .25s ease;
}

.footer-modern .footer-socials a::before {
    display: none;
}

.footer-modern .footer-socials a:hover {
    transform: translateY(-3px);
    border-color: #d65325;
    background: #d65325;
}

.footer-modern .footer-list .title,
.footer-modern .footer-contact .title {
    position: relative;
    margin: 0 0 22px;
    padding: 7px 0 13px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

.footer-modern .footer-list .title::after,
.footer-modern .footer-contact .title::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 38px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, #d65325, #ff956d);
    content: "";
}

.footer-modern .footer-list li {
    margin-bottom: 4px;
}

.footer-modern .footer-list ul li a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #b8c6d4;
    font-size: 14px;
    line-height: 29px;
}

.footer-modern .footer-list ul li a::before {
    color: #d65325;
    content: "›";
    font-size: 20px;
    line-height: 1;
    transition: transform .2s ease;
}

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

.footer-modern .footer-list ul li a:hover::before {
    transform: translateX(3px);
}

.footer-contact address {
    margin: 0;
    font-style: normal;
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 17px;
}

.footer-contact-icon {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(214, 83, 37, .35);
    border-radius: 9px;
    background: rgba(214, 83, 37, .1);
    color: #ff875b;
    font-size: 17px;
}

.footer-contact-item strong {
    display: block;
    margin-bottom: 3px;
    color: #fff;
    font-size: 14px;
}

.footer-contact-item p {
    margin: 0;
    color: #b8c6d4;
    font-size: 13px;
    line-height: 1.65;
}

.footer-contact-item a {
    color: #b8c6d4;
}

.footer-contact-item a:hover {
    color: #ff875b;
}

.footer-contact-separator {
    padding: 0 3px;
    color: rgba(255, 255, 255, .25);
}

.footer-modern.footer-area .footer-copyright.footer-copyright-item {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: 0;
    padding: 19px 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
    background: rgba(4, 12, 21, .32);
    text-align: center;
}

.footer-modern.footer-area .footer-copyright.footer-copyright-item p {
    color: #9fadb9;
    font-size: 13px;
    line-height: 1.7;
}

.footer-modern.footer-area .footer-copyright.footer-copyright-item .color {
    color: #ff875b;
    font-weight: 600;
}

@media (max-width: 1199px) {
    .footer-cta-card {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
    }

    .footer-cta-actions {
        width: 100%;
    }

    .footer-cta-link {
        flex: 1 1 0;
    }
}

@media (max-width: 991px) {
    .footer-service-areas {
        flex-direction: column;
        gap: 12px;
    }

    .footer-main-row > div {
        margin-bottom: 34px;
    }
}

@media (max-width: 767px) {
    .footer-cta {
        margin-bottom: 0;
        padding: 45px 0 35px;
    }

    .footer-cta-card {
        gap: 20px;
        padding: 26px 22px;
        border-radius: 17px;
    }

    .footer-cta-copy h2 {
        font-size: 24px;
    }

    .footer-cta-actions {
        flex-direction: column;
    }

    .footer-cta-link {
        width: 100%;
        min-width: 0;
    }

    .footer-modern.footer-area {
        padding-top: 45px;
    }

    .footer-service-areas {
        margin-bottom: 35px;
        padding: 15px;
    }

    .footer-service-areas ul {
        max-height: 112px;
        overflow-y: auto;
    }

    .footer-modern .footer-content p {
        padding-right: 0;
    }
}

.header-top::after {
    position: absolute;
    top: 0;
    right: -70px;
    width: 260px;
    height: 100%;
    content: "";
    pointer-events: none;
    opacity: .24;
    background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .2) 36%, transparent 68%);
    transform: skewX(-18deg)
}

.header-top-inner {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 58px;
    align-items: center;
    gap: 22px
}

.header-trust-note {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    padding-right: 22px;
    border-right: 1px solid rgba(255, 255, 255, .22);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase
}

.header-trust-note i {
    color: #ffd2bf;
    font-size: 19px
}

.header-contact-list {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: 8px 15px;
    margin: 0;
    font-style: normal
}

.header-contact-list a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3
}

.header-contact-list a:hover,
.header-contact-list a:focus {
    color: #fff
}

.header-contact-icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .11);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease
}

.header-contact-list .header-contact-icon i {
    position: static;
    top: auto;
    margin-right: 0;
    color: inherit;
    font-size: 15px
}

.header-contact-whatsapp .header-contact-icon {
    border-color: rgba(103, 232, 144, .5);
    background: #16a85b
}

.header-contact-email .header-contact-icon {
    border-color: rgba(255, 170, 128, .45);
    color: #fff;
    background: #f46b32
}

.header-contact-list a:hover .header-contact-icon,
.header-contact-list a:focus .header-contact-icon {
    border-color: #fff;
    transform: translateY(-2px)
}

.header-social-nav {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px
}

.header-social-label {
    color: rgba(255, 255, 255, .9);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase
}

.header-social-nav ul {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none
}

.header-social-nav li {
    margin: 0
}

.header-social-nav a {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 9px;
    color: #fff;
    background: rgba(255, 255, 255, .09);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
    font-size: 15px;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease
}

.header-social-nav a:hover,
.header-social-nav a:focus {
    border-color: #fa4612;
    color: #fff;
    background: #fa4612;
    transform: translateY(-2px)
}

.social-x-mark {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1
}

@media only screen and (max-width: 1199px) {
    .header-top-inner {
        gap: 15px
    }

    .header-trust-note {
        display: none
    }

    .header-contact-list {
        gap: 8px 14px
    }
}

@media only screen and (max-width: 991px) {
    .header-top {
        padding: 9px 0;
        text-align: left
    }

    .header-top-inner {
        min-height: 0;
        align-items: flex-start;
        flex-wrap: wrap;
        justify-content: center
    }

    .header-contact-list {
        flex: 1 1 100%;
        justify-content: center
    }

    .header-social-nav {
        justify-content: center
    }
}

@media only screen and (max-width: 767px) {
    .header-top {
        padding: 10px 0
    }

    .header-top-inner {
        gap: 10px
    }

    .header-contact-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px
    }

    .header-contact-list a {
        justify-content: center;
        font-size: 12px
    }

    .header-contact-list a:last-child {
        grid-column: 1 / -1
    }

    .header-social-label {
        display: none
    }
}

/* Premium corporate homepage header and first fold */
html {
    scroll-behavior: smooth;
}

.header-top-inner {
    min-height: 40px;
}

.header-trust-note,
.header-contact-list a,
.header-social-label {
    font-size: 12px;
}

.header-contact-icon {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
}

.header-social-nav a {
    width: 27px;
    height: 27px;
    border-radius: 7px;
}

.navbar-call-cta {
    display: none;
}

@media only screen and (min-width: 1200px) {
    .main-nav nav .navbar-collapse {
        justify-content: center;
    }

    .main-nav nav .navbar-nav > .nav-item > .nav-link {
        padding-right: 11px;
        padding-left: 11px;
        font-size: 14px;
    }

    .navbar-call-cta {
        display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
        gap: 10px;
        margin-left: 15px;
        padding-left: 16px;
        border-left: 1px solid #e1e8f1;
        color: #0b2b55;
    }

    .navbar-call-cta:hover,
    .navbar-call-cta:focus {
        color: #fa4612;
    }

    .navbar-call-icon {
        display: inline-flex;
        width: 43px;
        height: 43px;
        align-items: center;
        justify-content: center;
        border: 2px solid rgba(250, 70, 18, .38);
        border-radius: 50%;
        color: #fa4612;
        background: #fff8f4;
        font-size: 21px;
    }

    .navbar-call-copy {
        display: flex;
        flex-direction: column;
        line-height: 1.15;
    }

    .navbar-call-copy small {
        margin-bottom: 3px;
        color: #65748a;
        font-size: 11px;
        font-weight: 700;
    }

    .navbar-call-copy strong {
        white-space: nowrap;
        color: #0b2b55;
        font-size: 15px;
        font-weight: 900;
    }
}

.modern-hero {
    background: #061a36;
}

.modern-hero .slide {
    min-height: 650px;
    padding: 68px 0 96px;
}

.modern-hero .hero-background {
    object-position: center center;
}

.modern-hero .slide::before {
    background:
        linear-gradient(90deg, rgba(3, 20, 45, .97) 0%, rgba(4, 29, 61, .88) 34%, rgba(5, 35, 70, .45) 57%, rgba(2, 15, 34, .15) 100%);
}

.hero-content-shell {
    width: 59%;
    max-width: 650px;
}

.modern-hero .hero-title {
    margin-bottom: 15px;
    font-size: clamp(40px, 4vw, 59px);
    line-height: 1.03;
    text-transform: uppercase;
}

.modern-hero .hero-title > span {
    display: block;
}

.modern-hero .hero-title > em {
    display: block;
    margin-top: 9px;
    color: #ff671f;
    font-size: .58em;
    font-style: normal;
    letter-spacing: .025em;
}

.hero-summary {
    max-width: 585px;
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.55;
}

.hero-value-points {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 0;
    margin: 0 0 25px;
    padding: 0;
    list-style: none;
}

.hero-value-points li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 14px;
    border-right: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.hero-value-points li:first-child {
    padding-left: 0;
}

.hero-value-points li:last-child {
    border-right: 0;
}

.hero-value-points i {
    color: #ff762f;
    font-size: 19px;
}

.hero-primary-cta,
.hero-secondary-cta {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 24px;
    border: 2px solid transparent;
    border-radius: 7px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.hero-primary-cta {
    background: linear-gradient(100deg, #f44911, #ff751f);
    box-shadow: 0 12px 28px rgba(250, 70, 18, .34);
}

.hero-secondary-cta {
    border-color: rgba(255, 255, 255, .62);
    background: rgba(5, 28, 58, .34);
}

.hero-primary-cta:hover,
.hero-primary-cta:focus,
.hero-secondary-cta:hover,
.hero-secondary-cta:focus {
    color: #fff;
    transform: translateY(-2px);
}

.hero-primary-cta:hover,
.hero-primary-cta:focus {
    box-shadow: 0 16px 32px rgba(250, 70, 18, .44);
}

.hero-secondary-cta:hover,
.hero-secondary-cta:focus {
    border-color: #fff;
    background: rgba(255, 255, 255, .12);
}

.hero-enquiry-card {
    scroll-margin-top: 95px;
    border-radius: 16px;
    background: linear-gradient(150deg, rgba(7, 36, 72, .91), rgba(3, 19, 42, .8));
}

.hero-proof-strip-wrap {
    position: relative;
    z-index: 35;
    margin-top: -35px;
    padding-bottom: 18px;
}

.hero-proof-strip {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 16px;
    background: linear-gradient(100deg, #06254d 0%, #073d75 100%);
    box-shadow: 0 18px 42px rgba(1, 18, 41, .28);
}

.hero-proof-item {
    display: flex;
    min-height: 104px;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 18px 22px;
    border-right: 1px solid rgba(255, 255, 255, .18);
    color: #fff;
}

.hero-proof-item:last-child {
    border-right: 0;
}

.hero-proof-item > i {
    flex: 0 0 auto;
    color: #ff681e;
    font-size: 43px;
}

.hero-proof-item > span {
    display: flex;
    flex-direction: column;
}

.hero-proof-item strong {
    color: #fff;
    font-size: 27px;
    font-weight: 900;
    line-height: 1.05;
}

.hero-proof-item small {
    margin-top: 5px;
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .055em;
    line-height: 1.3;
    text-transform: uppercase;
}

.modern-hero .owl-dots {
    display: none;
}

@media only screen and (max-width: 1199px) {
    .modern-hero .slide {
        min-height: 620px;
    }

    .hero-value-points li {
        padding: 0 9px;
        font-size: 11px;
    }

    .hero-proof-item {
        gap: 11px;
        padding-right: 13px;
        padding-left: 13px;
    }

    .hero-proof-item > i {
        font-size: 35px;
    }

    .hero-proof-item strong {
        font-size: 23px;
    }
}

@media only screen and (max-width: 991px) {
    .header-top-inner {
        min-height: 0;
    }

    .modern-hero .slide {
        min-height: 570px;
        padding: 70px 0 90px;
    }

    .hero-content-shell {
        width: 72%;
    }

    .hero-proof-strip-wrap {
        margin-top: 0;
        padding: 22px 0;
    }

    .hero-proof-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .hero-proof-item:nth-child(2) {
        border-right: 0;
    }

    .hero-proof-item:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255, 255, 255, .18);
    }
}

@media only screen and (max-width: 767px) {
    .modern-hero .slide {
        min-height: 520px;
        padding: 58px 0 64px;
    }

    .modern-hero .hero-background {
        object-position: 67% center;
    }

    .modern-hero .slide::before {
        background: linear-gradient(90deg, rgba(3, 20, 45, .96), rgba(4, 29, 61, .8));
    }

    .hero-content-shell {
        width: 100%;
    }

    .modern-hero .hero-title {
        font-size: 34px;
    }

    .hero-value-points {
        display: grid;
        grid-template-columns: repeat(2, max-content);
        gap: 10px 18px;
    }

    .hero-value-points li {
        padding: 0;
        border: 0;
    }

    .modern-hero .hero-actions {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .hero-primary-cta,
    .hero-secondary-cta {
        width: 100%;
    }

    .modern-hero .hero-actions .video-box {
        display: none;
    }
}

@media only screen and (max-width: 575px) {
    .hero-proof-strip {
        grid-template-columns: 1fr;
    }

    .hero-proof-item,
    .hero-proof-item:nth-child(2) {
        min-height: 84px;
        justify-content: flex-start;
        padding: 15px 24px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .15);
    }

    .hero-proof-item:last-child {
        border-bottom: 0;
    }
}

/* Modern Contact Page */
.contact-modern {
    overflow: hidden;
    background: #f6f8fb;
}

.contact-modern-hero {
    position: relative;
    overflow: hidden;
    padding: 66px 0 112px;
    color: #fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(255, 255, 255, .12), transparent 22%),
        radial-gradient(circle at 6% 90%, rgba(227, 106, 22, .18), transparent 28%),
        linear-gradient(125deg, #071f3b 0%, #0a4178 56%, #0963aa 100%);
}

.contact-modern-hero::before,
.contact-modern-hero::after {
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.contact-modern-hero::before {
    top: -160px;
    right: -90px;
    width: 430px;
    height: 430px;
}

.contact-modern-hero::after {
    right: 110px;
    bottom: -210px;
    width: 360px;
    height: 360px;
    border-width: 55px;
}

.contact-modern-breadcrumb {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 35px;
    color: rgba(255, 255, 255, .68);
    font-size: 12px;
    font-weight: 700;
}

.contact-modern-breadcrumb a {
    color: #ffad7e;
}

.contact-modern-breadcrumb a:hover,
.contact-modern-breadcrumb a:focus {
    color: #fff;
}

.contact-modern-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 60px;
}

.contact-modern-hero-copy {
    max-width: 740px;
}

.contact-modern-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: #ffad7e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.contact-modern-kicker i {
    font-size: 17px;
}

.contact-modern-hero h1 {
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.contact-modern-hero h1 span {
    color: #ff8b4c;
}

.contact-modern-hero-copy > p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .76);
    font-size: 16px;
    line-height: 1.75;
}

.contact-modern-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-top: 25px;
}

.contact-modern-trust span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, .88);
    font-size: 12px;
    font-weight: 700;
}

.contact-modern-trust i {
    color: #ff9a61;
    font-size: 16px;
}

.contact-modern-hero-action {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 12px 13px;
    width: 300px;
    padding: 22px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 19px;
    background: rgba(255, 255, 255, .09);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .15);
    backdrop-filter: blur(12px);
}

.contact-modern-action-icon {
    display: grid;
    width: 45px;
    height: 45px;
    place-items: center;
    border-radius: 13px;
    color: #fff;
    background: linear-gradient(135deg, #e36a16, #ff9657);
    box-shadow: 0 9px 20px rgba(227, 106, 22, .25);
    font-size: 20px;
}

.contact-modern-hero-action small,
.contact-modern-hero-action strong {
    display: block;
}

.contact-modern-hero-action small {
    margin-bottom: 2px;
    color: rgba(255, 255, 255, .62);
    font-size: 10px;
}

.contact-modern-hero-action strong {
    color: #fff;
    font-size: 14px;
}

.contact-modern-hero-action > a {
    grid-column: 1 / -1;
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 5px;
    border-radius: 10px;
    color: #0a3f76;
    background: #fff;
    font-size: 12px;
    font-weight: 800;
}

.contact-modern-hero-action > a:hover,
.contact-modern-hero-action > a:focus {
    color: #e36a16;
    transform: translateY(-2px);
}

.contact-modern-options {
    position: relative;
    z-index: 3;
    margin-top: -60px;
}

.contact-modern-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.contact-modern-card {
    position: relative;
    display: flex;
    min-height: 132px;
    align-items: center;
    gap: 13px;
    overflow: hidden;
    padding: 20px 17px;
    border: 1px solid #e4eaf0;
    border-radius: 16px;
    color: #17334f;
    background: #fff;
    box-shadow: 0 14px 35px rgba(16, 49, 82, .1);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.contact-modern-card:hover,
.contact-modern-card:focus {
    border-color: rgba(0, 70, 192, .2);
    color: #17334f;
    box-shadow: 0 19px 39px rgba(16, 49, 82, .15);
    transform: translateY(-5px);
}

.contact-modern-card-icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 14px;
    color: #fff;
    font-size: 20px;
}

.contact-modern-card-icon-blue {
    background: linear-gradient(135deg, #0046c0, #1777cf);
}

.contact-modern-card-icon-green {
    background: linear-gradient(135deg, #139e52, #25d366);
}

.contact-modern-card-icon-orange {
    background: linear-gradient(135deg, #d75b08, #f58d43);
}

.contact-modern-card-icon-navy {
    background: linear-gradient(135deg, #082f5a, #155f9e);
}

.contact-modern-card > span:nth-child(2) {
    min-width: 0;
}

.contact-modern-card small,
.contact-modern-card strong,
.contact-modern-card em {
    display: block;
    font-style: normal;
}

.contact-modern-card small {
    margin-bottom: 3px;
    color: #7c8a99;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.contact-modern-card strong {
    overflow-wrap: anywhere;
    color: #17334f;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
}

.contact-modern-card em {
    margin-top: 4px;
    color: #e36a16;
    font-size: 10px;
    font-weight: 700;
}

.contact-modern-card-arrow {
    margin-left: auto;
    color: #b4c0ca;
    font-size: 16px;
    transition: transform .25s ease;
}

.contact-modern-card:hover .contact-modern-card-arrow {
    color: #e36a16;
    transform: translateX(3px);
}

.contact-modern-enquiry {
    padding: 82px 0 100px;
}

.contact-modern-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(330px, .72fr);
    overflow: hidden;
    border: 1px solid #e2e8ef;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 25px 60px rgba(17, 48, 78, .11);
}

.contact-modern-form-panel {
    padding: 52px 50px;
}

.contact-modern-section-heading > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    color: #e36a16;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.contact-modern-section-heading > span::before {
    width: 24px;
    height: 2px;
    border-radius: 2px;
    background: #e36a16;
    content: "";
}

.contact-modern-section-heading h2 {
    margin: 0 0 10px;
    color: #153451;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.25;
}

.contact-modern-section-heading p {
    max-width: 620px;
    margin: 0;
    color: #708093;
    font-size: 13px;
    line-height: 1.7;
}

.contact-modern-form {
    margin-top: 31px;
}

.contact-modern-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 21px;
}

.contact-modern-field-full {
    grid-column: 1 / -1;
}

.contact-modern-field label {
    display: block;
    margin-bottom: 8px;
    color: #2b435a;
    font-size: 11px;
    font-weight: 800;
}

.contact-modern-field label span {
    color: #e36a16;
}

.contact-modern-control {
    position: relative;
}

.contact-modern-control > i {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 16px;
    color: #e36a16;
    font-size: 17px;
    transform: translateY(-50%);
}

.contact-modern-control input,
.contact-modern-control textarea {
    width: 100%;
    margin: 0;
    border: 1px solid #dfe6ed;
    border-radius: 11px;
    color: #243b51;
    background: #f9fbfd;
    box-shadow: none;
    font-size: 12px;
    outline: none;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.contact-modern-control input {
    height: 52px;
    padding: 10px 15px 10px 46px;
}

.contact-modern-control textarea {
    min-height: 132px;
    padding: 15px 15px 15px 46px;
    resize: vertical;
}

.contact-modern-control-message > i {
    top: 17px;
    transform: none;
}

.contact-modern-control input:focus,
.contact-modern-control textarea:focus {
    border-color: rgba(0, 70, 192, .52);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(0, 70, 192, .08);
}

.contact-modern-control input::placeholder,
.contact-modern-control textarea::placeholder {
    color: #a0acb8;
}

.contact-modern-submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 25px;
}

.contact-modern-submit-row button {
    display: inline-flex;
    min-height: 51px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 24px;
    border: 0;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(105deg, #e36a16, #f18b43);
    box-shadow: 0 12px 24px rgba(227, 106, 22, .23);
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    transition: transform .25s ease, box-shadow .25s ease;
}

.contact-modern-submit-row button:hover,
.contact-modern-submit-row button:focus {
    box-shadow: 0 16px 28px rgba(227, 106, 22, .3);
    transform: translateY(-2px);
}

.contact-modern-submit-row p {
    max-width: 330px;
    margin: 0;
    color: #8794a1;
    font-size: 10px;
    line-height: 1.5;
}

.contact-modern-submit-row p i {
    margin-right: 4px;
    color: #1a8c55;
}

.contact-modern-visual {
    position: relative;
    min-height: 650px;
    overflow: hidden;
    background: #092f57;
}

.contact-modern-visual > img,
.contact-modern-visual-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.contact-modern-visual > img {
    object-fit: cover;
}

.contact-modern-visual-overlay {
    background:
        linear-gradient(180deg, rgba(5, 28, 52, .18), rgba(5, 28, 52, .91)),
        linear-gradient(90deg, rgba(8, 47, 88, .28), transparent);
}

.contact-modern-visual-content {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 105px;
    left: 0;
    padding: 36px 34px;
    color: #fff;
}

.contact-modern-visual-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 13px;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    color: #ffd0b5;
    background: rgba(255, 255, 255, .09);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.contact-modern-visual-content h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 27px;
    font-weight: 800;
    line-height: 1.25;
}

.contact-modern-visual-content p {
    margin: 0 0 17px;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    line-height: 1.65;
}

.contact-modern-visual-content ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.contact-modern-visual-content li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    color: rgba(255, 255, 255, .9);
    font-size: 11px;
    font-weight: 700;
}

.contact-modern-visual-content li i {
    color: #ff995f;
}

.contact-modern-whatsapp {
    position: absolute;
    z-index: 2;
    right: 20px;
    bottom: 20px;
    left: 20px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 14px 15px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 13px;
    color: #fff;
    background: rgba(25, 167, 82, .9);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .18);
    backdrop-filter: blur(8px);
}

.contact-modern-whatsapp:hover,
.contact-modern-whatsapp:focus {
    color: #fff;
    background: #19a752;
    transform: translateY(-2px);
}

.contact-modern-whatsapp > i:first-child {
    font-size: 25px;
}

.contact-modern-whatsapp small,
.contact-modern-whatsapp strong {
    display: block;
}

.contact-modern-whatsapp small {
    margin-bottom: 1px;
    font-size: 9px;
    opacity: .75;
}

.contact-modern-whatsapp strong {
    font-size: 12px;
}

@media only screen and (max-width: 1199px) {
    .contact-modern-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contact-modern-shell {
        grid-template-columns: minmax(0, 1.2fr) minmax(310px, .8fr);
    }

    .contact-modern-form-panel {
        padding: 45px 38px;
    }
}

@media only screen and (max-width: 991px) {
    .contact-modern-hero-grid {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 35px;
    }

    .contact-modern-shell {
        grid-template-columns: 1fr;
    }

    .contact-modern-visual {
        min-height: 570px;
    }
}

@media only screen and (max-width: 767px) {
    .contact-modern-hero {
        padding: 48px 0 92px;
    }

    .contact-modern-breadcrumb {
        margin-bottom: 25px;
    }

    .contact-modern-hero h1 {
        font-size: 39px;
    }

    .contact-modern-hero-copy > p {
        font-size: 14px;
    }

    .contact-modern-options {
        margin-top: -45px;
    }

    .contact-modern-card-grid {
        grid-template-columns: 1fr;
    }

    .contact-modern-card {
        min-height: 110px;
    }

    .contact-modern-enquiry {
        padding: 62px 0 75px;
    }

    .contact-modern-shell {
        border-radius: 19px;
    }

    .contact-modern-form-panel {
        padding: 36px 25px;
    }

    .contact-modern-section-heading h2 {
        font-size: 29px;
    }

    .contact-modern-field-grid {
        grid-template-columns: 1fr;
    }

    .contact-modern-field-full {
        grid-column: auto;
    }

    .contact-modern-submit-row {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media only screen and (max-width: 479px) {
    .contact-modern-hero-action {
        width: 100%;
    }

    .contact-modern-hero h1 {
        font-size: 34px;
    }

    .contact-modern-trust {
        align-items: flex-start;
        flex-direction: column;
    }

    .contact-modern-visual-content {
        bottom: 100px;
        padding: 28px 24px;
    }

    .contact-modern-visual-content h2 {
        font-size: 24px;
    }
}

/* Floating WhatsApp contact */
.floating-whatsapp {
    position: fixed;
    z-index: 9998;
    right: 24px;
    bottom: 24px;
    display: inline-flex;
    width: 62px;
    min-width: 62px;
    height: 62px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 3px solid #fff;
    border-radius: 50%;
    color: #fff;
    background: #08c95b;
    box-shadow: 0 12px 30px rgba(8, 168, 76, .34);
    transition: color .2s ease, transform .2s ease, box-shadow .2s ease
}

.floating-whatsapp::before {
    position: absolute;
    z-index: -1;
    inset: -6px;
    border: 1px solid rgba(37, 211, 102, .55);
    border-radius: inherit;
    content: "";
    animation: whatsappPulse 2.2s ease-out infinite
}

.floating-whatsapp i {
    font-size: 32px;
    line-height: 1
}

.floating-whatsapp span {
    display: none
}

.floating-whatsapp:hover,
.floating-whatsapp:focus {
    color: #fff;
    transform: translateY(-4px);
    box-shadow: 0 17px 36px rgba(16, 157, 73, .46)
}

@keyframes whatsappPulse {
    0% {
        opacity: .85;
        transform: scale(.92)
    }
    75%,
    100% {
        opacity: 0;
        transform: scale(1.18)
    }
}

@media only screen and (max-width: 575px) {
    .floating-whatsapp {
        right: 15px;
        bottom: 16px;
        width: 58px;
        min-width: 58px;
        height: 58px;
        padding: 0;
        border-radius: 50%
    }

    .floating-whatsapp i {
        font-size: 30px
    }
}

@media only screen and (max-width: 420px) {
    .header-contact-list {
        grid-template-columns: 1fr
    }

    .header-contact-list a:last-child {
        grid-column: auto
    }
}

/* Compact primary navigation */
@media only screen and (min-width: 992px) {
    .navbar-area {
        box-shadow: 0 7px 22px rgba(8, 35, 70, .09)
    }

    .main-nav {
        border-bottom: 1px solid rgba(0, 70, 192, .09);
        background: linear-gradient(180deg, #fff 0%, #fbfdff 100%)
    }

    .main-nav nav,
    .navbar-area .is-sticky nav {
        min-height: 72px;
        padding: 5px 0
    }

    .navbar-light .navbar-brand,
    .navbar-light .navbar-brand:hover {
        display: inline-flex;
        width: 180px;
        height: 62px;
        flex: 0 0 180px;
        align-items: center;
        margin-right: 24px;
        padding: 0
    }

    .navbar-light .navbar-brand img {
        display: block;
        width: auto;
        max-width: 250px;
        max-height: 90px;
        object-fit: contain
    }

    .main-nav nav .navbar-nav {
        align-items: center;
        gap: 4px
    }

    .main-nav nav .navbar-nav > .nav-item > .nav-link {
        position: relative;
        padding: 10px 14px;
        border-radius: 9px;
        color: #17365f;
        font-family: 'Lato', sans-serif;
        font-size: 15px;
        font-weight: 800;
        letter-spacing: .015em;
        line-height: 1.2;
        transition: color .2s ease, background-color .2s ease, transform .2s ease
    }

    .main-nav nav .navbar-nav > .nav-item > .nav-link:not(.dropdown-toggle)::after {
        position: absolute;
        right: 14px;
        bottom: 5px;
        left: 14px;
        height: 2px;
        border: 0;
        border-radius: 3px;
        content: "";
        opacity: 0;
        background: #fa4612;
        transform: scaleX(.35);
        transition: opacity .2s ease, transform .2s ease
    }

    .main-nav nav .navbar-nav > .nav-item > .nav-link:hover,
    .main-nav nav .navbar-nav > .nav-item > .nav-link:focus,
    .main-nav nav .navbar-nav > .nav-item > .nav-link.active {
        color: #0046c0;
        background: rgba(0, 70, 192, .06);
        transform: translateY(-1px)
    }

    .main-nav nav .navbar-nav > .nav-item > .nav-link:not(.dropdown-toggle):hover::after,
    .main-nav nav .navbar-nav > .nav-item > .nav-link:not(.dropdown-toggle):focus::after,
    .main-nav nav .navbar-nav > .nav-item > .nav-link:not(.dropdown-toggle).active::after {
        opacity: 1;
        transform: scaleX(1)
    }

    .main-nav nav .navbar-nav .nav-item .dropdown-menu {
        min-width: 245px;
        margin-top: 7px;
        padding: 8px 0;
        overflow: hidden;
        border: 1px solid rgba(0, 70, 192, .08);
        border-radius: 12px;
        box-shadow: 0 16px 34px rgba(13, 46, 83, .14)
    }

    .main-nav nav .navbar-nav .nav-item .dropdown-menu li a {
        padding: 9px 18px;
        font-size: 14px;
        font-weight: 700
    }
}

/* Modern homepage hero and enquiry form */
.modern-hero {
    isolation: isolate;
    overflow: hidden;
    background: #071a32
}

.modern-hero .main-slider-carousel {
    position: relative;
    z-index: 1
}

.modern-hero .slide {
    display: flex;
    min-height: 650px;
    align-items: center;
    padding: 92px 0;
    background-position: center;
    background-size: cover
}

.modern-hero .hero-background {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.modern-hero .slide::before {
    z-index: -1;
    opacity: 1;
    background:
        linear-gradient(90deg, rgba(4, 18, 38, .9) 0%, rgba(5, 30, 62, .76) 42%, rgba(4, 23, 48, .42) 68%, rgba(3, 16, 34, .58) 100%)
}

.hero-content-shell {
    width: 58%;
    max-width: 650px
}

.modern-hero .hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 50px;
    color: #fff;
    background: rgba(255, 255, 255, .1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase
}

.modern-hero .hero-kicker i {
    color: #ff8a5c;
    font-size: 17px
}

.modern-hero .hero-title {
    max-width: 640px;
    margin-bottom: 20px;
    color: #fff;
    font-size: 54px;
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.025em;
    text-shadow: 0 5px 22px rgba(0, 0, 0, .22)
}

.hero-summary {
    max-width: 590px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, .86);
    font-size: 17px;
    font-weight: 500;
    line-height: 1.7
}

.modern-hero .hero-actions {
    display: flex;
    align-items: center;
    gap: 17px
}

.modern-hero .hero-actions .theme-btn {
    margin: 0;
    border-radius: 9px;
    box-shadow: 0 10px 24px rgba(250, 70, 18, .28)
}

.modern-hero .hero-actions .video-box {
    float: none;
    width: 52px;
    height: 52px;
    margin: 0;
    line-height: 52px
}

.hero-enquiry-layer {
    position: absolute;
    z-index: 30;
    top: 50%;
    right: 0;
    left: 0;
    pointer-events: none;
    transform: translateY(-50%)
}

.hero-enquiry-layer .container,
.hero-enquiry-layer .row,
.hero-enquiry-layer [class*="col-"] {
    pointer-events: none
}

.hero-enquiry-card {
    position: relative;
    z-index: 31;
    padding: 27px 28px 23px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 20px;
    color: #fff;
    background: linear-gradient(145deg, rgba(8, 31, 62, .82), rgba(4, 18, 39, .7));
    box-shadow: 0 24px 55px rgba(0, 0, 0, .3);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    pointer-events: auto
}

.hero-enquiry-form,
.hero-enquiry-form .row,
.hero-enquiry-form .form-group,
.hero-enquiry-form .hero-field,
.hero-enquiry-form input,
.hero-enquiry-form textarea,
.hero-enquiry-form button {
    position: relative;
    z-index: 32;
    pointer-events: auto !important
}

.hero-enquiry-form input,
.hero-enquiry-form textarea {
    touch-action: manipulation;
    user-select: text;
    -webkit-user-select: text
}

.hero-form-heading {
    margin-bottom: 18px
}

.hero-form-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #ff9a72;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase
}

.hero-form-heading h2 {
    margin-bottom: 6px;
    color: #fff;
    font-size: 25px;
    font-weight: 800;
    line-height: 1.2
}

.hero-form-heading p {
    margin: 0;
    color: rgba(255, 255, 255, .7);
    font-size: 13px;
    line-height: 1.5
}

.hero-enquiry-form .form-group {
    margin-bottom: 10px
}

.hero-field {
    display: flex;
    min-height: 46px;
    align-items: center;
    gap: 10px;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 9px;
    background: rgba(255, 255, 255, .1);
    transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease
}

.hero-field:focus-within {
    border-color: rgba(255, 138, 92, .9);
    background: rgba(255, 255, 255, .15);
    box-shadow: 0 0 0 3px rgba(250, 70, 18, .13)
}

.hero-field > i {
    flex: 0 0 18px;
    color: #ff9a72;
    font-size: 17px;
    text-align: center
}

.hero-field input,
.hero-field textarea {
    width: 100%;
    border: 0;
    outline: 0;
    color: #fff;
    background: transparent;
    font-family: 'Lato', sans-serif;
    font-size: 13px;
    font-weight: 600
}

.hero-field input {
    height: 44px
}

.hero-field textarea {
    height: 56px;
    padding: 12px 0 7px;
    resize: vertical
}

.hero-field input::placeholder,
.hero-field textarea::placeholder {
    color: rgba(255, 255, 255, .66);
    opacity: 1
}

.hero-field-message {
    align-items: flex-start
}

.hero-field-message > i {
    margin-top: 14px
}

.hero-submit-button {
    display: inline-flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(100deg, #fa4612, #ff733f);
    box-shadow: 0 10px 22px rgba(250, 70, 18, .28);
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease
}

.hero-submit-button:hover,
.hero-submit-button:focus {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 14px 27px rgba(250, 70, 18, .38)
}

.hero-form-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 12px;
    color: rgba(255, 255, 255, .62);
    font-size: 11px;
    font-weight: 600
}

.request-message-field {
    width: 100%;
    height: 55px;
    padding: 15px;
    border: 1px solid #ced4da;
    color: #6c757d;
    background: #fff
}

.modern-hero .owl-nav {
    display: none
}

.modern-hero .owl-dots {
    top: auto;
    right: auto;
    bottom: 22px;
    left: 50%;
    display: flex;
    gap: 8px;
    transform: translateX(-50%)
}

.modern-hero .owl-dots .owl-dot {
    width: 10px;
    height: 10px;
    margin: 0
}

/* Feature cards now sit below the banner */
.featured-sec {
    padding: 68px 0 38px;
    background: linear-gradient(180deg, #f5f8fc 0%, #fff 100%)
}

.featured-sec .featured-inner {
    margin-top: 0;
    overflow: visible
}

.featured-sec .service-block {
    height: 100%;
    margin-bottom: 28px
}

.featured-sec .service-block .inner-box {
    min-height: 285px;
    height: 100%;
    padding: 34px 32px;
    overflow: hidden;
    border: 1px solid rgba(12, 61, 111, .09);
    border-radius: 18px;
    box-shadow: 0 13px 32px rgba(19, 53, 88, .09);
    transition: transform .25s ease, box-shadow .25s ease
}

.featured-sec .service-block .inner-box::before {
    top: 0;
    bottom: auto;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #fa4612, #0046c0)
}

.featured-sec .service-block .inner-box:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 42px rgba(19, 53, 88, .15)
}

.featured-sec .service-block .inner-box:hover .text,
.featured-sec .service-block .inner-box:hover h5 a {
    color: #1f3046
}

.featured-sec .service-block .inner-box:hover h5::before {
    background: linear-gradient(90deg, #fa4612, #0046c0)
}

.featured-sec .service-block .inner-box .icon-box .icon,
.featured-sec .service-block .inner-box:hover .icon-box .icon {
    color: #fa4612;
    font-size: 58px;
    -webkit-text-fill-color: currentColor
}

.featured-sec .service-block .inner-box .icon-box .icon::before {
    margin-right: 0;
    font-size: 58px
}

.featured-sec .service-block .inner-box h5 {
    margin: 17px 0 17px;
    padding-bottom: 13px;
    font-size: 21px;
    font-weight: 800
}

.featured-sec .service-block .inner-box .text {
    color: #52657a;
    font-size: 15px;
    line-height: 1.7
}

.featured-sec .service-block .inner-box .big-icon,
.featured-sec .service-block .inner-box .arrow-box {
    display: none
}

@media only screen and (max-width: 1199px) {
    .hero-content-shell {
        width: 55%
    }

    .modern-hero .hero-title {
        font-size: 46px
    }

    .hero-enquiry-card {
        padding: 24px 23px 20px
    }
}

@media only screen and (max-width: 991px) {
    .modern-hero {
        overflow: visible
    }

    .modern-hero .slide {
        min-height: 510px;
        padding: 80px 0
    }

    .hero-content-shell {
        width: 100%;
        max-width: 680px
    }

    .modern-hero .hero-title {
        font-size: 45px
    }

    .hero-enquiry-layer {
        position: relative;
        top: auto;
        padding: 32px 0;
        background: linear-gradient(135deg, #082b55, #061a35);
        transform: none
    }

    .hero-enquiry-card {
        max-width: 720px;
        margin: 0 auto
    }

    .hero-field-message,
    .hero-field-message textarea {
        height: 46px;
        min-height: 46px
    }

    .featured-sec {
        padding-top: 55px
    }
}

@media only screen and (max-width: 767px) {
    .modern-hero {
        display: flex;
        flex-direction: column;
    }

    .modern-hero .hero-enquiry-layer {
        width: 100%;
    }

    .modern-hero .main-slider-carousel {
        width: 100%;
        min-width: 0;
    }

    .modern-hero .slide {
        min-height: 470px;
        padding: 66px 0
    }

    .modern-hero .hero-kicker {
        font-size: 11px
    }

    .modern-hero .hero-title {
        font-size: 36px;
        line-height: 1.15
    }

    .hero-summary {
        font-size: 15px
    }

    .hero-enquiry-card {
        padding: 23px 18px 20px;
        border-radius: 16px
    }

    .hero-form-heading h2 {
        font-size: 22px
    }

    .featured-sec {
        padding: 42px 0 20px
    }

    .featured-sec .service-block .inner-box {
        min-height: 0
    }
}

/* Static client logo grid below the introduction section */
.home-clients-section {
    position: relative;
    overflow: hidden;
    padding: 76px 0 82px;
    border-top: 1px solid #edf1f5;
    border-bottom: 1px solid #edf1f5;
    background:
        radial-gradient(circle at 94% 100%, rgba(0, 70, 192, .055), transparent 18%),
        linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
}

.home-clients-heading {
    max-width: 850px;
    margin: 0 auto 38px;
    text-align: center;
}

.home-clients-heading > span {
    display: inline-block;
    margin-bottom: 8px;
    color: #0046c0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.home-clients-heading h2 {
    margin: 0 0 12px;
    color: #252b33;
    font-size: 36px;
    font-weight: 800;
    line-height: 1.25;
}

.home-clients-heading h2 strong {
    color: #e36a16;
    font-weight: inherit;
}

.home-clients-heading p {
    max-width: 680px;
    margin: 0 auto;
    color: #657487;
    font-size: 15px;
    line-height: 1.7;
}

.home-clients-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 14px;
}

.home-client-card {
    position: relative;
    display: flex;
    min-height: 112px;
    align-items: center;
    justify-content: center;
    padding: 18px;
    overflow: hidden;
    border: 1px solid #dfe4e9;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 11px 20px rgba(20, 41, 65, .09);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.home-client-card::before {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, #e36a16, #0046c0);
    content: "";
    opacity: 0;
    transform: scaleX(.25);
    transition: opacity .25s ease, transform .25s ease;
}

.home-client-card:hover {
    z-index: 1;
    border-color: rgba(0, 70, 192, .22);
    box-shadow: 0 17px 30px rgba(20, 41, 65, .14);
    transform: translateY(-5px);
}

.home-client-card:hover::before {
    opacity: 1;
    transform: scaleX(1);
}

.home-client-card img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 76px;
    object-fit: contain;
}

@media only screen and (max-width: 1199px) {
    .home-clients-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 991px) {
    .home-clients-section {
        padding: 62px 0 68px;
    }

    .home-clients-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 767px) {
    .home-clients-heading {
        margin-bottom: 28px;
    }

    .home-clients-heading h2 {
        font-size: 29px;
    }

    .home-clients-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }

    .home-client-card {
        min-height: 96px;
        padding: 14px;
    }
}

@media only screen and (max-width: 480px) {
    .home-clients-section {
        padding: 50px 0 56px;
    }

    .home-clients-heading h2 {
        font-size: 25px;
    }

    .home-clients-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Modern homepage testimonials */
.home-testimonials {
    position: relative;
    overflow: hidden;
    padding: 88px 0 96px;
    background:
        radial-gradient(circle at 8% 15%, rgba(0, 70, 192, .08), transparent 25%),
        radial-gradient(circle at 94% 90%, rgba(227, 106, 22, .08), transparent 22%),
        #f5f8fc;
}

.home-testimonials::before,
.home-testimonials::after {
    position: absolute;
    border: 1px solid rgba(0, 70, 192, .08);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.home-testimonials::before {
    top: -140px;
    left: -120px;
    width: 340px;
    height: 340px;
}

.home-testimonials::after {
    right: -90px;
    bottom: -140px;
    width: 290px;
    height: 290px;
    border-color: rgba(227, 106, 22, .1);
}

.home-testimonials .container {
    position: relative;
    z-index: 1;
}

.home-testimonials-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 40px;
}

.home-testimonials-heading > div {
    max-width: 650px;
}

.home-testimonials-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 9px;
    color: #0046c0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.home-testimonials-kicker::before {
    width: 28px;
    height: 2px;
    border-radius: 2px;
    background: #e36a16;
    content: "";
}

.home-testimonials-heading h2 {
    margin: 0;
    color: #17283c;
    font-size: 39px;
    font-weight: 800;
    line-height: 1.2;
}

.home-testimonials-heading h2 strong {
    color: #e36a16;
    font-weight: inherit;
}

.home-testimonials-heading > p {
    max-width: 430px;
    margin: 0 0 4px;
    color: #617286;
    font-size: 15px;
    line-height: 1.75;
}

.home-testimonial-shell {
    display: grid;
    grid-template-columns: minmax(300px, .8fr) minmax(0, 1.45fr);
    min-height: 430px;
    overflow: hidden;
    border: 1px solid rgba(17, 52, 88, .09);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(27, 55, 84, .13);
}

.home-testimonial-profile {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 48px 38px 38px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(255, 255, 255, .13), transparent 25%),
        linear-gradient(145deg, #07366a 0%, #091f3b 72%);
}

.home-testimonial-profile::after {
    position: absolute;
    right: -78px;
    bottom: -95px;
    width: 230px;
    height: 230px;
    border: 38px solid rgba(255, 255, 255, .045);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.home-testimonial-quote-icon {
    position: absolute;
    top: 28px;
    right: 30px;
    color: rgba(255, 255, 255, .11);
    font-size: 72px;
    line-height: 1;
}

.home-testimonial-profile-label {
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: 26px;
    color: rgba(255, 255, 255, .75);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-testimonial-image-slider {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0 auto 35px;
}

.home-testimonial-thumb {
    padding: 12px 7px;
    outline: 0;
    text-align: center;
}

.home-testimonial-thumb img {
    display: inline-block !important;
    width: 74px;
    height: 74px;
    object-fit: cover;
    border: 4px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    opacity: .62;
    filter: saturate(.72);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
    transform: scale(.88);
    transition: opacity .25s ease, transform .25s ease, border-color .25s ease, filter .25s ease;
}

.home-testimonial-thumb.slick-current img {
    border-color: #ff8a4a;
    opacity: 1;
    filter: none;
    transform: scale(1.13);
}

.home-testimonial-trust {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.home-testimonial-trust > div {
    padding: 14px 13px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    background: rgba(255, 255, 255, .055);
}

.home-testimonial-trust strong,
.home-testimonial-trust span {
    display: block;
}

.home-testimonial-trust strong {
    margin-bottom: 2px;
    color: #fff;
    font-size: 18px;
}

.home-testimonial-trust span {
    color: rgba(255, 255, 255, .66);
    font-size: 11px;
}

.home-testimonial-review {
    position: relative;
    min-width: 0;
    padding: 55px 64px 82px;
}

.home-testimonial-stars {
    display: flex;
    gap: 5px;
    margin-bottom: 25px;
    color: #ffad32;
    font-size: 18px;
}

.home-testimonial-text-slider {
    position: static;
}

.home-testimonial-item {
    outline: 0;
}

.home-testimonial-item blockquote {
    margin: 0;
}

.home-testimonial-item blockquote p {
    position: relative;
    min-height: 130px;
    margin: 0 0 28px;
    color: #27384b;
    font-family: "Roboto Slab", serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.75;
}

.home-testimonial-author {
    display: flex;
    align-items: center;
    gap: 13px;
    padding-top: 22px;
    border-top: 1px solid #e8edf2;
}

.home-testimonial-author-mark {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, #e36a16, #f18b43);
    box-shadow: 0 8px 17px rgba(227, 106, 22, .24);
    font-size: 17px;
    font-weight: 800;
}

.home-testimonial-author h3 {
    margin: 0 0 2px;
    color: #122b47;
    font-family: "Lato", sans-serif;
    font-size: 17px;
    font-weight: 800;
}

.home-testimonial-author p {
    margin: 0;
    color: #7a8999;
    font-size: 13px;
}

.home-testimonial-review .slick-arrow {
    position: absolute;
    z-index: 3;
    top: auto;
    bottom: 31px;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #dce4ec;
    border-radius: 10px;
    color: #173d67;
    background: #f7f9fc;
    font-size: 17px;
    line-height: 42px;
    text-align: center;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.home-testimonial-review .slick-arrow::before {
    display: none;
}

.home-testimonial-review .slick-prev {
    right: 112px;
    left: auto;
}

.home-testimonial-review .slick-next {
    right: 64px;
}

.home-testimonial-review .slick-arrow:hover,
.home-testimonial-review .slick-arrow:focus {
    border-color: #0046c0;
    color: #fff;
    background: #0046c0;
    transform: translateY(-2px);
}

.home-testimonial-review .slick-dots {
    position: absolute;
    bottom: 44px;
    left: 64px;
    display: flex;
    gap: 7px;
    margin: 0;
}

.home-testimonial-review .slick-dots li,
.home-testimonial-review .slick-dots button {
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
}

.home-testimonial-review .slick-dots button {
    width: 8px;
    height: 8px;
    overflow: hidden;
    border: 0;
    border-radius: 10px;
    color: transparent;
    background: #c8d1dc;
    font-size: 0;
    transition: width .2s ease, background-color .2s ease;
}

.home-testimonial-review .slick-dots button::before {
    display: none;
}

.home-testimonial-review .slick-dots .slick-active button {
    width: 24px;
    background: #e36a16;
}

@media only screen and (max-width: 991px) {
    .home-testimonials {
        padding: 70px 0 78px;
    }

    .home-testimonials-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .home-testimonial-shell {
        grid-template-columns: 1fr;
    }

    .home-testimonial-profile {
        padding: 40px 32px 30px;
    }

    .home-testimonial-image-slider {
        max-width: 430px;
        margin-bottom: 28px;
    }

    .home-testimonial-trust {
        max-width: 430px;
    }

    .home-testimonial-review {
        padding: 45px 45px 78px;
    }

    .home-testimonial-review .slick-dots {
        left: 45px;
    }

    .home-testimonial-review .slick-prev {
        right: 93px;
    }

    .home-testimonial-review .slick-next {
        right: 45px;
    }
}

@media only screen and (max-width: 575px) {
    .home-testimonials {
        padding: 54px 0 62px;
    }

    .home-testimonials-heading {
        margin-bottom: 28px;
    }

    .home-testimonials-heading h2 {
        font-size: 29px;
    }

    .home-testimonials-heading > p {
        font-size: 14px;
    }

    .home-testimonial-shell {
        border-radius: 18px;
    }

    .home-testimonial-profile {
        padding: 34px 20px 25px;
    }

    .home-testimonial-quote-icon {
        top: 20px;
        right: 18px;
        font-size: 55px;
    }

    .home-testimonial-profile-label {
        margin-bottom: 20px;
    }

    .home-testimonial-thumb {
        padding-right: 3px;
        padding-left: 3px;
    }

    .home-testimonial-thumb img {
        width: 64px;
        height: 64px;
    }

    .home-testimonial-trust {
        gap: 8px;
    }

    .home-testimonial-trust > div {
        padding: 11px 10px;
    }

    .home-testimonial-review {
        padding: 35px 23px 76px;
    }

    .home-testimonial-stars {
        margin-bottom: 18px;
        font-size: 16px;
    }

    .home-testimonial-item blockquote p {
        min-height: 0;
        font-size: 17px;
        line-height: 1.7;
    }

    .home-testimonial-review .slick-dots {
        bottom: 39px;
        left: 23px;
    }

    .home-testimonial-review .slick-arrow {
        bottom: 25px;
    }

    .home-testimonial-review .slick-prev {
        right: 71px;
    }

    .home-testimonial-review .slick-next {
        right: 23px;
    }
}

/* Branded 404 page */
.error-page {
    position: relative;
    display: flex;
    min-height: 670px;
    align-items: center;
    overflow: hidden;
    padding: 90px 0 150px;
    background:
        radial-gradient(circle at 12% 20%, rgba(0, 70, 192, .1), transparent 27%),
        radial-gradient(circle at 90% 82%, rgba(227, 106, 22, .1), transparent 25%),
        linear-gradient(145deg, #f5f9fd, #fff);
}

.error-page::before,
.error-page::after {
    position: absolute;
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.error-page::before {
    top: 75px;
    left: -115px;
    width: 270px;
    height: 270px;
    border: 40px solid rgba(0, 70, 192, .04);
}

.error-page::after {
    right: -80px;
    bottom: 40px;
    width: 220px;
    height: 220px;
    border: 32px solid rgba(227, 106, 22, .05);
}

.error-page-card {
    position: relative;
    z-index: 1;
    max-width: 790px;
    margin: 0 auto;
    padding: 56px 70px;
    border: 1px solid rgba(19, 60, 103, .1);
    border-radius: 28px;
    background: rgba(255, 255, 255, .93);
    box-shadow: 0 28px 70px rgba(25, 58, 91, .13);
    text-align: center;
}

.error-page-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    margin-bottom: 15px;
}

.error-number {
    color: #0a3d73;
    font-family: "Roboto Slab", serif;
    font-size: 112px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.08em;
}

.error-icon {
    position: relative;
    display: grid;
    width: 112px;
    height: 112px;
    place-items: center;
    border: 8px solid #e8f0f8;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #e36a16, #f58b3f);
    box-shadow: 0 14px 28px rgba(227, 106, 22, .24);
    font-size: 53px;
}

.error-icon::after {
    position: absolute;
    right: -17px;
    bottom: 7px;
    left: -17px;
    height: 3px;
    border-radius: 3px;
    background: #0a3d73;
    content: "";
}

.error-page-kicker {
    display: block;
    margin-bottom: 9px;
    color: #e36a16;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.error-page h1 {
    margin: 0 0 15px;
    color: #172a40;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.25;
}

.error-page-card > p {
    max-width: 610px;
    margin: 0 auto 28px;
    color: #64758a;
    font-size: 16px;
    line-height: 1.75;
}

.error-page-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.error-page-actions a {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 23px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 800;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.error-primary-action {
    color: #fff;
    background: #0046c0;
    box-shadow: 0 10px 22px rgba(0, 70, 192, .2);
}

.error-primary-action:hover,
.error-primary-action:focus {
    color: #fff;
    background: #073b91;
    transform: translateY(-2px);
}

.error-secondary-action {
    border-color: #d9e2eb !important;
    color: #14395f;
    background: #fff;
}

.error-secondary-action:hover,
.error-secondary-action:focus {
    border-color: #e36a16 !important;
    color: #fff;
    background: #e36a16;
    transform: translateY(-2px);
}

.error-page-help {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 27px;
    padding-top: 22px;
    border-top: 1px solid #e8edf2;
    color: #758496;
    font-size: 13px;
}

.error-page-help a {
    color: #0046c0;
    font-weight: 800;
}

.error-page-help a:hover {
    color: #e36a16;
}

@media only screen and (max-width: 767px) {
    .error-page {
        min-height: 590px;
        padding: 65px 0 115px;
    }

    .error-page-card {
        padding: 42px 25px;
        border-radius: 20px;
    }

    .error-number {
        font-size: 78px;
    }

    .error-icon {
        width: 80px;
        height: 80px;
        border-width: 6px;
        font-size: 38px;
    }

    .error-page h1 {
        font-size: 30px;
    }
}

@media only screen and (max-width: 480px) {
    .error-page-visual {
        gap: 8px;
    }

    .error-number {
        font-size: 61px;
    }

    .error-icon {
        width: 64px;
        height: 64px;
        font-size: 30px;
    }

    .error-page h1 {
        font-size: 26px;
    }

    .error-page-card > p {
        font-size: 14px;
    }

    .error-page-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .error-page-help {
        align-items: center;
        flex-direction: column;
    }
}

/* Homepage certificates and recognition */
.home-certificates {
    position: relative;
    overflow: hidden;
    padding: 84px 0 92px;
    background:
        radial-gradient(circle at 95% 5%, rgba(227, 106, 22, .08), transparent 23%),
        linear-gradient(145deg, #0d2744 0%, #071b32 100%);
}

.home-certificates::before {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, .018) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .018) 1px, transparent 1px);
    background-size: 44px 44px;
    content: "";
    pointer-events: none;
}

.home-certificates .container {
    position: relative;
    z-index: 1;
}

.home-certificates-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 40px;
}

.home-certificates-heading > div {
    max-width: 660px;
}

.home-certificates-heading > div > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 9px;
    color: #ff9561;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.home-certificates-heading > div > span::before {
    width: 28px;
    height: 2px;
    border-radius: 2px;
    background: #ff9561;
    content: "";
}

.home-certificates-heading h2 {
    margin: 0;
    color: #fff;
    font-size: 39px;
    font-weight: 800;
    line-height: 1.2;
}

.home-certificates-heading h2 strong {
    color: #ff8a4a;
    font-weight: inherit;
}

.home-certificates-heading > p {
    max-width: 440px;
    margin: 0 0 4px;
    color: #aebed0;
    font-size: 15px;
    line-height: 1.75;
}

.home-certificates-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.home-certificate-card {
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(0, 0, 0, .2);
    transition: transform .25s ease, box-shadow .25s ease;
}

.home-certificate-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 25px 46px rgba(0, 0, 0, .28);
}

.home-certificate-preview {
    position: relative;
    display: block;
    height: 265px;
    overflow: hidden;
    border-bottom: 1px solid #e7ebef;
    background: #edf1f5;
}

.home-certificate-preview::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 52%, rgba(5, 28, 53, .72) 100%);
    content: "";
    opacity: .45;
    transition: opacity .25s ease;
}

.home-certificate-preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
    transition: transform .35s ease;
}

.home-certificate-card:hover .home-certificate-preview img {
    transform: scale(1.035);
}

.home-certificate-card:hover .home-certificate-preview::after {
    opacity: .78;
}

.home-certificate-view {
    position: absolute;
    z-index: 2;
    right: 16px;
    bottom: 14px;
    left: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 9px 12px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 9px;
    color: #fff;
    background: rgba(7, 31, 58, .72);
    backdrop-filter: blur(7px);
    font-size: 12px;
    font-weight: 800;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .25s ease, transform .25s ease, background-color .25s ease;
}

.home-certificate-card:hover .home-certificate-view,
.home-certificate-preview:focus .home-certificate-view {
    opacity: 1;
    transform: translateY(0);
}

.home-certificate-view:hover {
    background: #e36a16;
}

.home-certificate-content {
    min-height: 155px;
    padding: 20px 20px 21px;
}

.home-certificate-type {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    color: #e36a16;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
}

.home-certificate-content h3 {
    min-height: 47px;
    margin: 0 0 13px;
    color: #17314e;
    font-family: "Lato", sans-serif;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.45;
}

.home-certificate-content > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #0046c0;
    font-size: 13px;
    font-weight: 800;
}

.home-certificate-content > a i {
    transition: transform .2s ease;
}

.home-certificate-content > a:hover {
    color: #e36a16;
}

.home-certificate-content > a:hover i {
    transform: translateX(3px);
}

@media only screen and (max-width: 1199px) {
    .home-certificates-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 991px) {
    .home-certificates {
        padding: 68px 0 76px;
    }

    .home-certificates-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .home-certificates-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media only screen and (max-width: 575px) {
    .home-certificates {
        padding: 54px 0 62px;
    }

    .home-certificates-heading {
        margin-bottom: 30px;
    }

    .home-certificates-heading h2 {
        font-size: 29px;
    }

    .home-certificates-heading > p {
        font-size: 14px;
    }

    .home-certificates-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .home-certificate-preview {
        height: 310px;
    }

    .home-certificate-content {
        min-height: 0;
    }

    .home-certificate-content h3 {
        min-height: 0;
    }

    .home-certificate-view {
        opacity: 1;
        transform: none;
    }
}

/* Asymmetric homepage work gallery */
.home-gallery-section {
    position: relative;
    padding: 82px 0 92px;
    border-top: 6px solid #102d52;
    background: #fff;
}

.home-gallery-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 45px;
    margin-bottom: 36px;
}

.home-gallery-heading > div:first-child {
    max-width: 650px;
}

.home-gallery-heading > div:first-child > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 9px;
    color: #0046c0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.home-gallery-heading > div:first-child > span::before {
    width: 28px;
    height: 2px;
    border-radius: 2px;
    background: #e36a16;
    content: "";
}

.home-gallery-heading h2 {
    margin: 0;
    color: #172a40;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.22;
}

.home-gallery-heading h2 strong {
    color: #e36a16;
    font-weight: inherit;
}

.home-gallery-heading-action {
    max-width: 420px;
}

.home-gallery-heading-action p {
    margin: 0 0 12px;
    color: #65768a;
    font-size: 14px;
    line-height: 1.7;
}

.home-gallery-heading-action a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #0046c0;
    font-size: 13px;
    font-weight: 800;
}

.home-gallery-heading-action a i {
    transition: transform .2s ease;
}

.home-gallery-heading-action a:hover {
    color: #e36a16;
}

.home-gallery-heading-action a:hover i {
    transform: translateX(4px);
}

.home-gallery-mosaic {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: repeat(2, 285px);
    gap: 12px;
}

.home-gallery-item {
    position: relative;
    display: block;
    min-width: 0;
    overflow: hidden;
    border-radius: 4px;
    background: #e8edf2;
}

.home-gallery-featured {
    grid-row: 1 / span 2;
}

.home-gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.home-gallery-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 9px;
    color: #fff;
    background: linear-gradient(180deg, rgba(6, 30, 57, .05), rgba(6, 30, 57, .72));
    opacity: 0;
    transition: opacity .3s ease;
}

.home-gallery-overlay > span {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    background: rgba(227, 106, 22, .9);
    box-shadow: 0 10px 23px rgba(0, 0, 0, .2);
    font-size: 19px;
    transform: translateY(10px);
    transition: transform .3s ease;
}

.home-gallery-overlay strong {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    transform: translateY(10px);
    transition: transform .3s ease;
}

.home-gallery-item:hover img,
.home-gallery-item:focus img {
    transform: scale(1.055);
}

.home-gallery-item:hover .home-gallery-overlay,
.home-gallery-item:focus .home-gallery-overlay {
    opacity: 1;
}

.home-gallery-item:hover .home-gallery-overlay > span,
.home-gallery-item:hover .home-gallery-overlay strong,
.home-gallery-item:focus .home-gallery-overlay > span,
.home-gallery-item:focus .home-gallery-overlay strong {
    transform: translateY(0);
}

@media only screen and (max-width: 991px) {
    .home-gallery-section {
        padding: 68px 0 76px;
    }

    .home-gallery-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .home-gallery-mosaic {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 420px repeat(2, 235px);
    }

    .home-gallery-featured {
        grid-column: 1 / -1;
        grid-row: auto;
    }
}

@media only screen and (max-width: 575px) {
    .home-gallery-section {
        padding: 52px 0 60px;
        border-top-width: 4px;
    }

    .home-gallery-heading {
        margin-bottom: 28px;
    }

    .home-gallery-heading h2 {
        font-size: 29px;
    }

    .home-gallery-mosaic {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        gap: 9px;
    }

    .home-gallery-featured {
        grid-column: auto;
    }

    .home-gallery-item,
    .home-gallery-featured {
        height: 245px;
    }

    .home-gallery-item:first-child {
        height: 310px;
    }

    .home-gallery-overlay {
        opacity: .88;
        background: linear-gradient(180deg, transparent 54%, rgba(6, 30, 57, .75));
    }

    .home-gallery-overlay > span {
        display: none;
    }

    .home-gallery-overlay strong {
        position: absolute;
        right: 14px;
        bottom: 13px;
        transform: none;
    }
}

/* Premium homepage Why Choose Us */
.home-why-choose {
    position: relative;
    overflow: hidden;
    padding: 88px 0 96px;
    background:
        radial-gradient(circle at 7% 15%, rgba(0, 70, 192, .07), transparent 23%),
        radial-gradient(circle at 94% 88%, rgba(227, 106, 22, .07), transparent 22%),
        #f5f8fc;
}

.home-why-shell {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.25fr);
    overflow: hidden;
    border: 1px solid rgba(18, 53, 89, .09);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 27px 65px rgba(23, 54, 85, .13);
}

.home-why-content {
    position: relative;
    padding: 58px 50px;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 100% 0, rgba(255, 255, 255, .12), transparent 28%),
        linear-gradient(145deg, #0b4e91 0%, #092d56 55%, #071d36 100%);
}

.home-why-content::after {
    position: absolute;
    right: -90px;
    bottom: -110px;
    width: 260px;
    height: 260px;
    border: 42px solid rgba(255, 255, 255, .045);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.home-why-kicker {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: #ffad7e;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.home-why-kicker::before {
    width: 28px;
    height: 2px;
    border-radius: 2px;
    background: #ff8b4c;
    content: "";
}

.home-why-content h2 {
    position: relative;
    z-index: 1;
    margin: 0 0 22px;
    color: #fff;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.2;
}

.home-why-description {
    position: relative;
    z-index: 1;
}

.home-why-description,
.home-why-description * {
    color: rgba(255, 255, 255, .79) !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}

.home-why-description p {
    margin-bottom: 13px;
}

.home-why-description p:last-child {
    margin-bottom: 0;
}

.home-why-benefits {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: center;
    gap: 14px;
    padding: 46px;
    background:
        radial-gradient(circle at 100% 100%, rgba(0, 70, 192, .045), transparent 25%),
        #fff;
}

.home-why-experience {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 5px;
    padding: 15px 18px;
    border: 1px solid rgba(227, 106, 22, .16);
    border-radius: 13px;
    background: linear-gradient(90deg, rgba(227, 106, 22, .08), rgba(0, 70, 192, .045));
}

.home-why-experience strong {
    color: #e36a16;
    font-family: "Roboto Slab", serif;
    font-size: 31px;
    font-weight: 800;
    line-height: 1;
}

.home-why-experience span {
    max-width: 155px;
    color: #334a62;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
    text-transform: uppercase;
}

.home-why-card {
    display: flex;
    min-height: 118px;
    align-items: flex-start;
    gap: 12px;
    padding: 18px 16px;
    border: 1px solid #e3e9ef;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(20, 50, 80, .055);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.home-why-card:hover {
    border-color: rgba(0, 70, 192, .2);
    box-shadow: 0 14px 27px rgba(20, 50, 80, .1);
    transform: translateY(-4px);
}

.home-why-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg, #0046c0, #176dbf);
    box-shadow: 0 8px 17px rgba(0, 70, 192, .2);
    font-size: 19px;
}

.home-why-card:nth-of-type(even) .home-why-icon {
    background: linear-gradient(135deg, #e36a16, #f18b43);
    box-shadow: 0 8px 17px rgba(227, 106, 22, .2);
}

.home-why-card h3 {
    margin: 2px 0 5px;
    color: #17334f;
    font-family: "Lato", sans-serif;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
}

.home-why-card p {
    margin: 0;
    color: #718094;
    font-size: 12px;
    line-height: 1.55;
}

@media only screen and (max-width: 1199px) {
    .home-why-shell {
        grid-template-columns: 1fr;
    }

    .home-why-content {
        padding: 50px;
    }
}

@media only screen and (max-width: 767px) {
    .home-why-choose {
        padding: 62px 0 70px;
    }

    .home-why-shell {
        border-radius: 19px;
    }

    .home-why-content {
        padding: 38px 27px;
    }

    .home-why-content h2 {
        font-size: 30px;
    }

    .home-why-benefits {
        padding: 28px 22px;
    }
}

@media only screen and (max-width: 575px) {
    .home-why-choose {
        padding: 52px 0 60px;
    }

    .home-why-benefits {
        grid-template-columns: 1fr;
    }

    .home-why-experience {
        grid-column: auto;
    }

    .home-why-card {
        min-height: 0;
    }
}

/* Separate homepage Call To Action */
.home-cta-strip {
    position: relative;
    z-index: 2;
    margin: -30px 0 0;
    padding: 0 0 76px;
    background: #f5f8fc;
}

.home-cta-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 38px;
    overflow: hidden;
    padding: 34px 42px;
    border-radius: 22px;
    color: #fff;
    background:
        radial-gradient(circle at 84% 20%, rgba(255, 255, 255, .14), transparent 22%),
        linear-gradient(115deg, #e25f0a 0%, #ee7d2d 48%, #0b4f94 48.2%, #082f5a 100%);
    box-shadow: 0 22px 45px rgba(15, 47, 79, .2);
}

.home-cta-card::after {
    position: absolute;
    right: -70px;
    bottom: -115px;
    width: 240px;
    height: 240px;
    border: 38px solid rgba(255, 255, 255, .05);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.home-cta-copy,
.home-cta-actions {
    position: relative;
    z-index: 1;
}

.home-cta-kicker {
    display: block;
    margin-bottom: 5px;
    color: #fff5ec;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.home-cta-copy h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 29px;
    font-weight: 800;
    line-height: 1.25;
}

.home-cta-copy p {
    max-width: 670px;
    margin: 0;
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    line-height: 1.65;
}

.home-cta-actions {
    display: flex;
    align-items: center;
    gap: 24px;
}

.home-cta-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 20px;
    border-radius: 11px;
    color: #0a3d73;
    background: #fff;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .14);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
    transition: transform .25s ease, box-shadow .25s ease;
}

.home-cta-button:hover,
.home-cta-button:focus {
    color: #e36a16;
    box-shadow: 0 14px 28px rgba(0, 0, 0, .2);
    transform: translateY(-2px);
}

.home-cta-phone {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    white-space: nowrap;
}

.home-cta-phone:hover,
.home-cta-phone:focus {
    color: #fff;
}

.home-cta-phone-icon {
    display: grid;
    flex: 0 0 43px;
    width: 43px;
    height: 43px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 12px;
    background: rgba(255, 255, 255, .1);
    color: #ffb17e;
    font-size: 18px;
}

.home-cta-phone small,
.home-cta-phone strong {
    display: block;
    color: inherit;
}

.home-cta-phone small {
    margin-bottom: 2px;
    font-size: 10px;
    opacity: .72;
}

.home-cta-phone strong {
    font-size: 14px;
}

@media only screen and (max-width: 1199px) {
    .home-cta-card {
        grid-template-columns: 1fr;
    }
}

@media only screen and (max-width: 767px) {
    .home-cta-strip {
        margin-top: -18px;
        padding-bottom: 60px;
    }

    .home-cta-card {
        gap: 25px;
        padding: 30px 26px;
        border-radius: 18px;
        background: linear-gradient(145deg, #e36a16, #b84c06 48%, #0a477f 48.3%, #082c53);
    }

    .home-cta-copy h2 {
        font-size: 25px;
    }

    .home-cta-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 17px;
    }
}

/* Dynamic Service FAQ */
.service-faq-section {
    position: relative;
    overflow: hidden;
    padding: 88px 0 96px;
    background:
        radial-gradient(circle at 8% 12%, rgba(0, 70, 192, .07), transparent 22%),
        radial-gradient(circle at 94% 88%, rgba(227, 106, 22, .08), transparent 24%),
        #f5f8fc;
}

.service-faq-shell {
    display: grid;
    grid-template-columns: minmax(280px, .76fr) minmax(0, 1.35fr);
    gap: 56px;
    align-items: start;
}

.service-faq-intro {
    position: sticky;
    top: 105px;
}

.service-faq-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 11px;
    color: #e36a16;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.service-faq-kicker i {
    font-size: 17px;
}

.service-faq-intro h2 {
    margin: 0 0 15px;
    color: #153451;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.2;
}

.service-faq-intro > p {
    margin: 0;
    color: #718094;
    font-size: 13px;
    line-height: 1.75;
}

.service-faq-help {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 11px 12px;
    margin-top: 28px;
    padding: 18px;
    border: 1px solid rgba(0, 70, 192, .1);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 13px 30px rgba(20, 50, 80, .08);
}

.service-faq-help > span {
    display: grid;
    width: 43px;
    height: 43px;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, #0046c0, #1777cf);
    font-size: 19px;
}

.service-faq-help small,
.service-faq-help strong {
    display: block;
}

.service-faq-help small {
    margin-bottom: 2px;
    color: #8794a1;
    font-size: 9px;
}

.service-faq-help strong {
    color: #193a58;
    font-size: 12px;
    line-height: 1.35;
}

.service-faq-help a {
    grid-column: 1 / -1;
    display: flex;
    min-height: 41px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(105deg, #e36a16, #f18b43);
    font-size: 11px;
    font-weight: 800;
}

.service-faq-help a:hover,
.service-faq-help a:focus {
    color: #fff;
    transform: translateY(-2px);
}

.service-faq-list {
    display: grid;
    gap: 13px;
}

.service-faq-item {
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 9px 25px rgba(17, 48, 78, .055);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.service-faq-item[open] {
    border-color: rgba(0, 70, 192, .2);
    box-shadow: 0 16px 35px rgba(17, 48, 78, .11);
    transform: translateY(-2px);
}

.service-faq-item summary {
    position: relative;
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 19px 22px;
    color: #173653;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.45;
    list-style: none;
}

.service-faq-item summary::-webkit-details-marker {
    display: none;
}

.service-faq-item summary::before {
    position: absolute;
    top: 18px;
    bottom: 18px;
    left: 0;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: #e36a16;
    content: "";
    opacity: 0;
    transform: scaleY(.35);
    transition: opacity .25s ease, transform .25s ease;
}

.service-faq-item[open] summary::before {
    opacity: 1;
    transform: scaleY(1);
}

.service-faq-item summary > i {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 9px;
    color: #0b579b;
    background: #eef5fb;
    font-size: 13px;
    transition: color .25s ease, background .25s ease, transform .25s ease;
}

.service-faq-item[open] summary > i {
    color: #fff;
    background: #e36a16;
    transform: rotate(45deg);
}

.service-faq-answer {
    padding: 0 22px 20px;
}

.service-faq-answer::before {
    display: block;
    height: 1px;
    margin: 0 0 16px;
    background: #edf1f5;
    content: "";
}

.service-faq-answer p {
    margin: 0;
    color: #697b8d;
    font-size: 13px;
    line-height: 1.75;
}

@media only screen and (max-width: 991px) {
    .service-faq-shell {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .service-faq-intro {
        position: static;
    }

    .service-faq-help {
        max-width: 420px;
    }
}

@media only screen and (max-width: 767px) {
    .service-faq-section {
        padding: 62px 0 70px;
    }

    .service-faq-intro h2 {
        font-size: 30px;
    }

    .service-faq-item summary {
        min-height: 66px;
        padding: 17px 16px;
        font-size: 13px;
    }

    .service-faq-answer {
        padding: 0 16px 17px;
    }
}

/* Area-wise Google Map */
.area-map-section {
    position: relative;
    padding: 82px 0;
    background: #fff;
}

.area-map-shell {
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 24px 55px rgba(18, 49, 79, .12);
}

.area-map-heading {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    overflow: hidden;
    padding: 30px 34px;
    color: #fff;
    background:
        radial-gradient(circle at 88% 20%, rgba(255, 255, 255, .13), transparent 25%),
        linear-gradient(115deg, #082f59 0%, #0b579b 62%, #0872bd 100%);
}

.area-map-heading::after {
    position: absolute;
    right: -70px;
    bottom: -105px;
    width: 220px;
    height: 220px;
    border: 35px solid rgba(255, 255, 255, .05);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.area-map-heading > div,
.area-map-heading > a {
    position: relative;
    z-index: 1;
}

.area-map-heading span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 7px;
    color: #ffad7e;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.area-map-heading span i {
    font-size: 15px;
}

.area-map-heading h2 {
    margin: 0 0 6px;
    color: #fff;
    font-size: 29px;
    font-weight: 800;
    line-height: 1.3;
}

.area-map-heading p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
}

.area-map-heading > a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 18px;
    border-radius: 10px;
    color: #0a477f;
    background: #fff;
    box-shadow: 0 11px 25px rgba(0, 0, 0, .14);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.area-map-heading > a:hover,
.area-map-heading > a:focus {
    color: #e36a16;
    transform: translateY(-2px);
}

.area-map-frame {
    position: relative;
    min-height: 440px;
    background: #edf2f6;
}

.area-map-frame iframe {
    display: block;
    width: 100%;
    height: 440px;
    border: 0;
}

.area-map-coordinates {
    position: absolute;
    right: 20px;
    bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 15px;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 12px;
    color: #163755;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 28px rgba(15, 43, 70, .18);
    backdrop-filter: blur(8px);
}

.area-map-coordinates > i {
    display: grid;
    width: 37px;
    height: 37px;
    place-items: center;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(135deg, #e36a16, #f18b43);
    font-size: 17px;
}

.area-map-coordinates small,
.area-map-coordinates strong {
    display: block;
}

.area-map-coordinates small {
    margin-bottom: 2px;
    color: #81909f;
    font-size: 9px;
}

.area-map-coordinates strong {
    color: #163755;
    font-size: 11px;
}

@media only screen and (max-width: 767px) {
    .area-map-section {
        padding: 60px 0;
    }

    .area-map-shell {
        border-radius: 17px;
    }

    .area-map-heading {
        align-items: flex-start;
        flex-direction: column;
        padding: 27px 23px;
    }

    .area-map-heading h2 {
        font-size: 25px;
    }

    .area-map-frame,
    .area-map-frame iframe {
        min-height: 370px;
        height: 370px;
    }

    .area-map-coordinates {
        right: 12px;
        bottom: 12px;
        left: 12px;
    }
}

/* Service detail: content left, contact and page links right */
.service-detail-content-column {
    order: 1;
}

.service-detail-sidebar-column {
    order: 2;
}

.service-detail-content-column .service-details-wrap {
    padding-right: 18px;
}

.service-detail-sidebar-column .service-sidebar-area {
    position: static;
}

.service-contact-panel {
    position: relative;
    margin-bottom: 28px;
    padding: 29px 25px 25px;
    overflow: hidden;
    border-radius: 15px;
    color: #fff;
    background: linear-gradient(145deg, #092b50, #0b477e);
    box-shadow: 0 18px 38px rgba(9, 43, 80, .18);
}

.service-contact-panel::before {
    content: "";
    position: absolute;
    width: 140px;
    height: 140px;
    top: -88px;
    right: -52px;
    border: 25px solid rgba(255, 255, 255, .055);
    border-radius: 50%;
    pointer-events: none;
}

.service-sidebar-kicker {
    position: relative;
    display: inline-block;
    margin-bottom: 8px;
    color: #ffad7a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.3px;
    text-transform: uppercase;
}

.service-contact-panel h3 {
    position: relative;
    margin: 0 0 9px;
    color: #fff;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.25;
}

.service-contact-panel > p {
    position: relative;
    margin: 0 0 20px;
    color: rgba(255, 255, 255, .74);
    font-size: 13px;
    line-height: 1.6;
}

.service-contact-panel > a {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 9px;
    color: #fff;
    background: rgba(255, 255, 255, .075);
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.service-contact-panel > a:hover,
.service-contact-panel > a:focus {
    color: #fff;
    border-color: rgba(255, 165, 112, .65);
    background: rgba(255, 255, 255, .13);
    transform: translateX(3px);
}

.service-contact-panel > a > i {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #fff;
    background: #f26b1f;
    font-size: 19px;
}

.service-contact-panel > a > span {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.service-contact-panel > a small,
.service-contact-panel > a strong {
    color: inherit;
    line-height: 1.35;
}

.service-contact-panel > a small {
    margin-bottom: 2px;
    color: rgba(255, 255, 255, .64);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.service-contact-panel > a strong {
    overflow-wrap: anywhere;
    font-size: 13px;
    font-weight: 800;
}

.service-page-links {
    overflow: hidden;
    border: 1px solid #e0e8f0;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 13px 32px rgba(14, 46, 80, .08);
}

.service-page-links h4 {
    position: relative;
    margin: 0;
    padding: 17px 20px;
    color: #fff;
    background: #0c3f71;
    font-size: 18px;
    font-weight: 800;
}

.service-page-links h4::after {
    content: "";
    position: absolute;
    width: 42px;
    height: 3px;
    left: 20px;
    bottom: 0;
    background: #f26b1f;
}

.service-page-links ul {
    margin: 0;
    scrollbar-width: thin;
    scrollbar-color: #f26b1f #eef2f6;
}

.service-page-links ul li {
    padding: 0;
    border-bottom: 1px solid #edf1f5;
    font-size: 14px;
}

.service-page-links ul li:last-child {
    border-bottom: 0;
}

.service-page-links ul li a {
    position: relative;
    display: block;
    padding: 12px 35px 12px 18px;
    color: #304761;
    font-weight: 700;
    line-height: 1.45;
    transition: color .2s ease, background-color .2s ease, padding-left .2s ease;
}

.service-page-links ul li a::after {
    content: "\eaca";
    position: absolute;
    top: 50%;
    right: 16px;
    color: #f26b1f;
    font-family: IcoFont;
    transform: translateY(-50%);
}

.service-page-links ul li a:hover,
.service-page-links ul li a:focus,
.service-page-links ul li a.active {
    padding-left: 22px;
    color: #0b477e;
    background: #f2f7fc;
}

.service-enquiry-panel {
    margin-bottom: 28px;
    padding: 26px 22px 23px;
    border: 1px solid #e0e8f0;
    border-top: 4px solid #f26b1f;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(14, 46, 80, .09);
}

.service-enquiry-heading {
    margin-bottom: 19px;
}

.service-enquiry-heading > span {
    display: inline-block;
    margin-bottom: 6px;
    color: #e95813;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.service-enquiry-heading h3 {
    margin: 0 0 7px;
    color: #102e50;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.25;
}

.service-enquiry-heading p {
    margin: 0;
    color: #6c7b8d;
    font-size: 12px;
    line-height: 1.55;
}

.service-sidebar-form > label,
.service-enquiry-route label {
    display: block;
    margin: 0 0 5px;
    color: #304761;
    font-size: 11px;
    font-weight: 800;
}

.service-sidebar-form > label span {
    color: #e95813;
}

.service-enquiry-control {
    position: relative;
    margin-bottom: 12px;
}

.service-enquiry-control > i {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 12px;
    color: #f26b1f;
    font-size: 15px;
    transform: translateY(-50%);
    pointer-events: none;
}

.service-enquiry-control input,
.service-enquiry-control textarea,
.service-enquiry-route input {
    width: 100%;
    border: 1px solid #dce5ee;
    border-radius: 7px;
    outline: 0;
    color: #243a55;
    background: #f8fafc;
    font-family: 'Lato', sans-serif;
    font-size: 12px;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.service-enquiry-control input {
    height: 43px;
    padding: 8px 11px 8px 37px;
}

.service-enquiry-control textarea {
    min-height: 88px;
    padding: 11px 11px 9px 37px;
    resize: vertical;
}

.service-enquiry-message > i {
    top: 13px;
    transform: none;
}

.service-enquiry-route {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 12px;
}

.service-enquiry-route input {
    height: 43px;
    padding: 8px 10px;
}

.service-enquiry-control input:focus,
.service-enquiry-control textarea:focus,
.service-enquiry-route input:focus {
    border-color: #f26b1f;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(242, 107, 31, .11);
}

.service-sidebar-form button {
    width: 100%;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(135deg, #f26b1f, #df4e0b);
    box-shadow: 0 9px 20px rgba(226, 80, 12, .22);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
}

.service-sidebar-form button:hover,
.service-sidebar-form button:focus {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(226, 80, 12, .3);
}

.service-enquiry-privacy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-top: 10px;
    color: #8290a0;
    font-size: 10px;
}

.service-enquiry-privacy i {
    color: #3a9b5b;
}

.service-enquiry-hp {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media only screen and (max-width: 390px) {
    .service-enquiry-route {
        grid-template-columns: 1fr;
    }
}

@media only screen and (max-width: 991px) {
    .service-detail-content-column .service-details-wrap {
        padding-right: 0;
    }

    .service-detail-sidebar-column {
        margin-top: 38px;
    }

    .service-detail-sidebar-column .service-sidebar-area {
        position: static;
    }
}

/* Area service pages share the regular service-detail visual system. */
.area-service-content {
    color: #40536a;
    font-size: 15px;
    line-height: 1.8;
}

.area-service-image {
    overflow: hidden;
    border-radius: 16px;
    background: #edf3f8;
    box-shadow: 0 16px 38px rgba(13, 47, 80, .12);
}

.area-service-image img {
    width: 100%;
    max-height: 520px;
    display: block;
    object-fit: cover;
}

.area-service-heading {
    margin: 0 0 22px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e2e9f0;
}

.area-service-heading > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 8px;
    color: #e95813;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.area-service-heading > span i {
    font-size: 16px;
}

.area-service-heading h1 {
    margin: 0;
    color: #102e50;
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 800;
    line-height: 1.2;
}

.area-service-short-description > :last-child,
.area-service-long-description > :last-child {
    margin-bottom: 0;
}

.area-service-content .area-service-long-description {
    margin-top: 30px;
    padding: 30px;
    border: 1px solid #e2e9f0;
    border-left: 4px solid #f26b1f;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 13px 32px rgba(14, 46, 80, .07);
    text-align: left;
}

.area-service-content .area-service-long-description ul {
    margin: 18px 0;
}

.area-service-content .area-service-long-description ul li {
    display: block;
    margin-bottom: 9px;
}

.service-page-links + .service-page-links {
    margin-top: 28px;
}

.service-page-links-empty {
    margin: 0;
    padding: 17px 19px;
    color: #6c7b8d;
    font-size: 13px;
}

@media only screen and (max-width: 767px) {
    .area-service-heading h1 {
        font-size: 29px;
    }

    .area-service-content .area-service-long-description {
        padding: 23px 20px;
    }
}

/* Wider site layout: reduce Bootstrap's outer page margins by half. */
@media (min-width: 576px) and (max-width: 767.98px) {
    .container {
        max-width: calc(50% + 270px);
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .container {
        max-width: calc(50% + 360px);
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .container {
        max-width: calc(50% + 480px);
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: calc(50% + 570px);
    }
}

/* Keep the mobile top contact bar compact and readable. */
@media only screen and (max-width: 767px) {
    .header-top {
        padding: 7px 0;
        overflow: hidden;
    }

    .header-top .container {
        padding-right: 10px;
        padding-left: 10px;
    }

    .header-top-inner {
        display: block;
        min-height: 0;
    }

    .header-trust-note,
    .header-contact-email,
    .header-social-nav {
        display: none !important;
    }

    .header-contact-list {
        display: flex !important;
        width: 100%;
        flex: none;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        gap: 0;
        margin: 0;
    }

    .header-contact-list .header-contact-link {
        display: inline-flex;
        min-width: 0;
        flex: 0 1 auto;
        justify-content: center;
        padding: 0 10px;
        color: #fff;
        font-size: 11px;
        font-weight: 800;
        line-height: 1.25;
        white-space: nowrap;
    }

    .header-contact-list .header-contact-call {
        border-right: 1px solid rgba(255, 255, 255, .28);
    }

    .header-contact-list .header-contact-whatsapp {
        border-right: 0;
    }

    .header-contact-list .header-contact-icon {
        display: none !important;
    }
}

@media only screen and (max-width: 360px) {
    .header-contact-list .header-contact-link {
        padding-right: 6px;
        padding-left: 6px;
        font-size: 10px;
    }
}

/* Full-width, balanced footer layout on phones. */
@media only screen and (max-width: 767px) {
    .footer-modern.footer-area {
        padding-top: 30px;
    }

    .footer-modern .container {
        width: 100%;
        padding-right: 16px;
        padding-left: 16px;
    }

    .footer-main-row {
        display: flex;
        flex-wrap: wrap;
        margin-right: 0;
        margin-left: 0;
        padding-bottom: 12px;
    }

    .footer-main-row > [class*="col-"] {
        float: none;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0;
        margin-bottom: 16px;
        padding-right: 0;
        padding-left: 0;
    }

    .footer-main-row > .footer-services-column,
    .footer-main-row > .footer-quick-links-column {
        width: 50% !important;
        max-width: 50% !important;
    }

    .footer-main-row > .footer-services-column {
        padding-right: 6px;
    }

    .footer-main-row > .footer-quick-links-column {
        padding-left: 6px;
    }

    .footer-modern .footer-services-column .footer-list,
    .footer-modern .footer-quick-links-column .footer-list {
        height: 100%;
        padding: 16px 14px;
    }

    .footer-modern .footer-content,
    .footer-modern .footer-list,
    .footer-modern .footer-contact {
        width: 100%;
        margin: 0;
        padding: 20px;
        border: 1px solid rgba(255, 255, 255, .08);
        border-radius: 14px;
        background: rgba(255, 255, 255, .035);
    }

    .footer-modern .footer-logo img {
        max-width: min(100%, 210px);
        height: auto;
    }

    .footer-modern .footer-content p {
        max-width: none;
        margin-bottom: 16px;
        padding: 16px 0 0;
        font-size: 13px;
        line-height: 1.7;
    }

    .footer-modern .footer-list .title,
    .footer-modern .footer-contact .title {
        margin-bottom: 17px;
        padding-top: 0;
        font-size: 17px;
    }

    .footer-modern .footer-list ul {
        display: grid;
        grid-template-columns: 1fr;
        gap: 4px 14px;
        width: 100%;
        margin: 0;
    }

    .footer-modern .footer-list li {
        min-width: 0;
        margin: 0;
    }

    .footer-modern .footer-list ul li a {
        width: 100%;
        font-size: 13px;
        line-height: 1.4;
        padding: 7px 0;
    }

    .footer-contact-item {
        width: 100%;
        margin-bottom: 14px;
    }

    .footer-contact-item:last-child {
        margin-bottom: 0;
    }

    .footer-contact-item > div {
        min-width: 0;
    }

    .footer-contact-item p,
    .footer-contact-item a {
        overflow-wrap: anywhere;
    }

    .footer-modern.footer-area .footer-copyright.footer-copyright-item {
        padding: 16px;
    }

    .footer-modern.footer-area .footer-copyright.footer-copyright-item p {
        margin: 0;
        font-size: 12px;
    }
}

@media only screen and (max-width: 359px) {
    .footer-modern .footer-list ul {
        grid-template-columns: 1fr;
    }
}
