:root {
  --bs-body-font-size: 24px;
}
article,aside,details,figcaption,figure,footer,main,menu,nav,section,summary {display: block;}
audio,canvas,progress,video {display: inline-block; vertical-align: baseline;}
audio:not([controls]) {display: none;   height: 0;}
[hidden],template { display: none;}
a { background-color: transparent;}
abbr[title] {border-bottom: 1px dotted;}
b,strong { font-weight: 700;}
small { font-size: 80%;}
sub,sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sup { top: -0.5em;}
sub { bottom: -0.25em;}

img {border: 0;}
svg:not(:root) {overflow: hidden;}
figure {margin: 0;}

hr {-webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box;}

code,kbd,pre,samp { font-size: 1em;}

button,input,optgroup,select,textarea { color: inherit; font: inherit;  margin: 0;}
select { text-transform: none;}
button {overflow: visible;}
button,input,select,textarea {  max-width: 100%;}
button,html input[type="button"],input[type="reset"],input[type="submit"] { -webkit-appearance: button; cursor: pointer;}
button[disabled],html input[disabled] { cursor: default;    opacity: .5;}
button::-moz-focus-inner,input::-moz-focus-inner {  border: 0;  padding: 0;}
input[type="checkbox"],input[type="radio"] {    -webkit-box-sizing: border-box; -moz-box-sizing: border-box;    box-sizing: border-box; margin-right: 0.4375em; padding: 0;}

input[type="date"]::-webkit-inner-spin-button,input[type="date"]::-webkit-outer-spin-button,input[type="time"]::-webkit-inner-spin-button,input[type="time"]::-webkit-outer-spin-button,input[type="datetime-local"]::-webkit-inner-spin-button,input[type="datetime-local"]::-webkit-outer-spin-button,input[type="week"]::-webkit-inner-spin-button,input[type="week"]::-webkit-outer-spin-button,input[type="month"]::-webkit-inner-spin-button,input[type="month"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button { height: auto;}

input[type="search"] {  -webkit-appearance: textfield;}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {    -webkit-appearance: none;}
fieldset {  border: 1px solid #d1d1d1;  margin: 0 0 1.75em; min-width: inherit; padding: 0.875em;}
fieldset > :last-child { margin-bottom: 0;}
legend {border: 0; padding: 0;}
textarea { overflow: auto;  vertical-align: top;}
optgroup { font-weight: bold;}

/** * 3.0 - Typography */
body { font-family: "Quicksand", sans-serif; color: #aaccd9; font-size: 24px; line-height: 36px; font-weight: normal; margin:0; }

h1,h2,h3,h4,h5,h6 { font-family: "Afacad", sans-serif; font-weight:500; clear: both; margin: 0 0 12px 0; text-rendering: optimizeLegibility; color: #fff; }
h1 { font-size: 80px; line-height: 1; font-weight:bold; }
h2 { font-size: 80px; line-height: 1.1; font-weight:bold; }
h3 { font-size: 60px; line-height: 0.96; font-weight:bold; }
h1 strong, h2 strong, h3 strong{ color: #ffc600; }

p { margin: 0 0 35px 0; font-size: 24px; line-height: 36px; font-weight: normal; }

a { font-family: "Quicksand", sans-serif; font-weight:normal; color:#000; transition:all 0.5s; }

dfn,cite,em,i { font-style: italic;}
blockquote {position: relative; border: 0 solid #fff; font-size: 18px; line-height: 1.4736842105; margin: 0 0 1.4736842105em; overflow: hidden; padding: 0 0 0 2.8em;}
blockquote:after,q:before,q:after {content: "";}
blockquote::before {
  content: ''; /* Required for the pseudo-element to be rendered */
  position: absolute;
  top: 6%;
  left: 0;
  height: 46%; /* Set height to 100% of the blockquote */
  width: 4px; /* Adjust the border width as needed */
  background-color: #ccc; /* Choose your desired border color */
}
blockquote p {font-family: "Quicksand", sans-serif; font-size: 1.4rem; line-height: 2; margin-bottom: 1.6em; font-style: normal; font-weight: normal;}
blockquote cite, blockquote small {color: #1a1a1a; display: block; font-size: 1rem; line-height: 1.75;}
blockquote cite:before, blockquote small:before { content: "\2014\00a0";}
blockquote em, blockquote i, blockquote cite { font-style: normal;}
blockquote strong, blockquote b { font-weight: normal;}
blockquote > :last-child { margin-bottom: 0;}
address { font-style: italic; margin: 0 0 1.75em;}
code,kbd,tt,var,samp,pre {  font-family: Inconsolata, monospace;}
pre { border: 1px solid #d1d1d1; font-size: 16px; font-size: 1rem; line-height: 1.3125; margin: 0 0 1.75em; max-width: 100%; overflow: auto;    padding: 1.75em; white-space: pre; white-space: pre-wrap; word-wrap: break-word;}
code { background-color: #d1d1d1; padding: 0.125em 0.25em;}
abbr,acronym { border-bottom: 1px dotted #d1d1d1; cursor: help;}
mark,ins { background: #214d7f; color: #fff; padding: 0.125em 0.25em; text-decoration: none;}
big { font-size: 125%;}


/** * 4.0 - Elements */
html { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
*,*:before,*:after {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
hr { background-color: #d1d1d1; border: 0; height: 1px; margin: 0 0 1.75em;}
ul,ol { margin: 0 0 1.75em 1.40em; padding: 0;}

ul {list-style: disc;}
ol {list-style: decimal; margin-left: 1.5em;}
li > ul,li > ol {margin-bottom: 0;}

dl {margin: 0 0 1.75em;}
dt {font-weight: 700;}
dd {margin: 0 0 1.75em;}

img {height: auto; max-width: 100%; vertical-align: middle;}

del {opacity: 0.8;}

table { border-collapse: separate; border-spacing: 0; table-layout: fixed; width: 100%;}
caption,th,td { font-weight: normal; text-align: left;}
th { font-weight: 700;}


/* Placeholder text color -- selectors need to be separate to work. */
::-webkit-input-placeholder { font-family: "Quicksand"; color:#696969; font-size:16px; font-style: italic; opacity: 1;}
:-moz-placeholder { font-family: "Quicksand"; color:#696969; font-size:16px; font-style: italic; opacity: 1;}
::-moz-placeholder { font-family: "Quicksand"; color:#696969; opacity: 1; }
:-ms-input-placeholder { font-family: "Quicksand"; color:#696969; font-size:16px; font-style: italic; opacity: 1;}

/** * 8.0 - Alignments */
.alignleft {float: left; margin: 0.375em 2.35em 1.75em 0;}
.alignright {float: right; margin: 0.375em 0 1.75em 1.75em;}
.aligncenter {clear: both; display: block; margin: 0 auto 1.75em;}
.alignnone{ margin-top: 1.2em; }
blockquote.alignleft {margin: 0.3157894737em 1.4736842105em 1.473684211em 0;}
blockquote.alignright {margin: 0.3157894737em 0 1.473684211em 1.4736842105em;}
blockquote.aligncenter {margin-bottom: 1.473684211em;}
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.clearfix {
    zoom: 1;     
	/* triggers hasLayout */
}

/** Global Footer */
.site-footer{ 
	padding: 80px 0 80px 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	background-color: #052c44;
	float: left;
    width: 100%;
	margin-top: 100px;
}
.grid-container {
  width: 100%;
  float:left;
  margin-bottom:80px;
}
.grid-container h2{
	text-transform: uppercase;
	color: white;
	font-size: 24px;
	line-height: 23px;
	margin-bottom: 20px;
}
.grid-container ul{
	list-style: none;
	margin:0;
}
.grid-container ul li a{
  color: #5ca3cf;
  font-size: 18px;
  line-height: 22px;
  text-decoration: none;
}
.grid-container .current-menu-item a, .grid-container .menu-item a:hover{ color: #ffc600; }
#text-4 {
  width: 34%;
  float: left;
  padding-right: 5%;
}
#text-4 p{
  font-size: 24px;
  line-height: 34px;	
}
#nav_menu-2 {
  width: 19%;
  float: left;
  padding-right:20px;
  padding-right: 5%;
}
#nav_menu-3 {
  width: 19%;
  float: left;
  padding-right:30px;
  padding-right: 5%;
}
#text-5 {
  width: 28%;
  float: left;
  padding-right:0px;
}
#text-5 p{
  color: #5ca3cf;
  line-height: 30px;
}
#text-5 a{
  color: #fff;
}
#text-3{
	float: left;
	width: 100%;
}
#text-3 p{ 
	font-size: 18px; 
}
#text-3 p a{
  color: #aaccd9;
  text-decoration: none;
}

.site-info{ text-align: center; }
.footer_area{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	background-color: #000000;
}
.footer_text{ 
	min-height:505px;
	text-align: center; 
	padding:80px !important;
}

.footer_text h2{ 
	font-size: 8.9rem;
	line-height: 8.9rem;
	color: #fff; 
}
.footer_text p{ margin-bottom:0; }
.footer_text a{ 
	border: 2px solid #fff;
	display:inline-block;
	padding: 20px 30px;
	font-size: 16px;
	line-height: 18px;
	font-weight: 500;
	color: #fff;
	text-underline-offset: 2px;
	margin-top: 5px;
}
.footer_text a:after{
  content: '\279C';
  font-size: 18px;
}

/** General Page */
* {
  box-sizing: border-box;
}
.page-main-area{
	margin: 40px 0;
}
.page-main-area p strong{
	color: #fff;
}
.page-main-area p, .default p, .page-main-area li, .default li, .blogdetailpage .blog_list li{
	font-size: 30px;
	line-height:1.27;
}
.blogdetailpage .blog_list li{
	color:#aaccd9;
}

.wp-caption{
	max-width: 100%;
}
.wp-caption-text{
	text-align:center;
	color: #fff;
	margin-top:15px;
}
.wp-caption-text strong{
	font-size: 36px;
	font-family: "Afacad", sans-serif;
}
.page-main-area img, .default img{
	border: 2px solid #ffc600;
	border-radius: 32px;
	background: #0f5271;
}

/* content blocks */
.content_block{
	margin: 50px 0;
	float: left;
	width: 100%;
}
.content_block h2{
	text-align: center;
}
.content_block h3{ display: inline; }
.blogs-listing li {
	text-align: left;
	color: white;
	flex: 0 0 32%;
	box-sizing: border-box;
	margin-bottom: 20px;
	border-bottom: 2px solid #1f658c;
}
.blogs-listing li img{
    border-radius: 10px;
	border: none;
}
.blogs-listing li .post-date{
	font-size: 24px;
	line-height: 2;
	margin-bottom: 10px;
}
.blogs-listing li h3{
	margin-bottom: 0px;
}
.post-img{
	position: relative;
	margin-bottom: 20px;
}
.more-link{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	text-decoration: none;
	color: #ffc600;
	font-size:18px;
	font-weight: bold;
	background-color: rgba(4,41,62,0.75);
	text-align: center;
	background-image: url("../images/right-arrow-y.png");
	background-repeat: no-repeat;
	background-position: right 32% center;
	background-size: 15px;
	font-style: normal;
	height:100%;
	padding-top: 31.6%;
	border-radius: 10px;
	text-transform: uppercase;
	display: none;
}
.post-img:hover .more-link{
	display:inline-block;
	border: 2px solid #ffc600;
}

.testimonials, .blogs-listing{
	text-align: center;
}
.testimonials ul, .blogs-listing ul, .boxes{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 50px 0;
}

.boxes > li, .blogs-listing li{
	margin-left: 8px;
	margin-right: 8px;
}
.testimonials li, .two-blocks .boxes > li, .service-boxes-two-columns{
	margin-left: 10px;
	margin-right: 10px;
}

.testimonials li{
	flex: 0 0 48%;
	box-sizing: border-box;
	padding: 35px 42px;
	text-align: left;
	color: white;
	background-color: #07455d;
    border-radius: 22px;
	border: none;
	margin-top: 20px;
}
.boxes .inner{
	list-style: none;
	margin: 0;
}
.boxes > li{
	flex: 0 0 32%;
	box-sizing: border-box;
	padding: 35px 42px;
	text-align: left;
	color: white;
	border: 2px solid #aaccd9;
    border-radius: 22px;
	margin-bottom: 20px;
	position: relative;
}
.two-blocks .boxes > li, .service-boxes-two-columns .boxes > li{
	flex: 0 0 48%;
}
.boxes > li::after{
	position: absolute;
	content: "+";
	display: inline-block;
	font-size: 60px;
	font-weight: normal;
	line-height: 1;
	top: 5px;
	right: 20px;
	color: #aaccd9;
}
.boxes > li.active::after{
	color: #ffc600;
}
.boxes > li:hover{
	 background: #07455d;
	 border: 2px solid #ffc600;
}
.boxes > li:hover p{ color: #fff; }
.boxes .inner li a{
	font-size: 18px;
	color: #aaccd9;
	text-decoration: none;
}

.testimonials li h3, .blogs-listing li h3, .boxes li h3{
	display: inline-block;
	font-size: 45px;
	line-height: 1;
}
.boxes li h3{
	margin-top: 10px;
}
.two-blocks .boxes li h3, .service-boxes-two-columns .boxes li h3{
	display:block;
}
.testimonials li .client_name{
	font-weight: bold;
}
.testimonials li p, .blogs-listing li p{
	margin-bottom: 20px;
}
.testimonials li p, .blogs-listing li p, .testimonials li .designation{
	font-size: 18px;
	line-height: 1.6;
	font-style: italic;
}


.contact-form h2 { font-size: 72px; line-height: 1; font-weight:bold; text-align: left; }
.contact-form{
	background: #07455d;
	border-radius: 22px;
	padding: 55px;
	margin: 60px 0;
}
/** Contact Form */
.wpcf7 p {
    margin: 0;
}

.custom-form .form-row {
  display: flex;
  gap: 25px;
  margin-bottom: 20px;
}

.custom-form .form-row label{
	width: 50%;
	flex: 1;
}

.custom-form .form-row input,
.custom-form .form-row textarea {
  border: none;
  border-bottom: 2px solid #ccc;
  padding: 20px 0;
  font-size: 25px;
  line-height: 30px;
  background: transparent;
  outline: none;
  width: 100%;
  color: #aad0e8;
}

.custom-form .form-row textarea {
  min-height: 150px;
  resize: vertical;
}

.custom-form .message-row {
  position: relative;
  display: block;
}

.custom-form .message-row input,
.custom-form .message-row textarea {
  width: 100%;
}

.custom-form .message-row input[type="submit"] {
  position: absolute;
  bottom: 20px;
  right: 0px;
  border: none;
  cursor: pointer;
  width: auto;
  display:block;
  background-color: #ffc600;
  color: #0b5e92;
  padding: 16px 25px;
  border-radius: 35px;
  font-size:18px;
  font-weight: bold;
  line-height:22px;
  text-transform: uppercase;
  transition: background 0.3s ease;
  
  /* Add right arrow */
  background-image: url("../images/right-arrow.png");
  background-repeat: no-repeat;
  background-position: right 25px center;
  background-size: 15px;
  padding-right: 65px; /* space for arrow */
}

.custom-form .message-row input[type="submit"]:hover {
  background-color: #fff;
}

/* Placeholder color */
.custom-form ::placeholder {
  color: #aad0e8;
  opacity: 1; /* Ensures full color visibility */
  font-style: normal;
  font-size:25px;
  font-family: "Quicksand", sans-serif;
}

/* For older browsers */
.custom-form :-ms-input-placeholder {
  color: #aad0e8;
  font-style: normal;
  font-size:25px;
  font-family: "Quicksand", sans-serif;
}
.custom-form ::-ms-input-placeholder {
  color: #aad0e8;
  font-style: normal;
  font-size:25px;
  font-family: "Quicksand", sans-serif;
}
.wpcf7-spinner{ 
	position: absolute;
    right: 0;
    bottom: 25px;
}
.wpcf7-not-valid-tip{
	position: absolute;
	bottom: -26px;
	right: 0px;
	font-size:17px;
}
.wpcf7 form .wpcf7-response-output {
    font-size: 18px;
    line-height: 1.5;
	color: #fff;
}

.fullwidth{
	border: none;
	border-radius: 22px;
	padding: 60px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	background-color: #052c44;
	float: left;
    width: 100%;
	margin-top: 40px;
	background-image:url(../images/fullwidth-bg.jpg);
	text-align: center;
}
.fullwidth p{
	font-size: 30px;
	line-height: 1.6;
	margin-bottom: 5px;
	color: #fff;
}
.fullwidth a{
	margin-top: 20px;
}
.default h2{
	margin-bottom: 30px;
}
.default .section-content p:nth-child(2){
	margin-bottom: 5px;
	color: #fff;
}

.video .videobg, .video video{
	border: 4px solid #ffc600;
	border-radius: 30px;
	max-height: 95vh;
}
.video .section-content, .video-thumbs li{ position: relative; }
.video .playvideo{
	position: absolute;
	top: 0;
	left: 0;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.video-thumbs{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 50px 0;
	gap: 20px;
}
.video-thumbs li{
	flex: 0 0 32%;	
}
.video-thumbs .videobg{
    border-radius: 10px;
	border: none;
}
.video-thumbs .playvideo{
	position: absolute;
	top: 0;
	left: 0;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;	
}
.video-thumbs .playvideo:hover, .video-thumbs .playvideo.active{
	border: 2px solid #ffc600;
	background-color: rgba(4,41,62,0.75);
}
.video-thumbs .playvideo img{
	width: 50px;
}

.two-blocks p{
	font-size: 29px;
	line-height:1.3;
}

.two-blocks .boxes p, .service-boxes-two-columns .boxes p{
	color: #aaccd9;
	font-size: 26px;
	line-height:1.3;
	border-bottom: 2px solid #5aa7cf;
	padding-bottom: 20px;
}

.two-blocks .boxes > li::after, .service-boxes-two-columns .boxes > li::after{
	bottom: 14px;
    left: 40px;
    top: auto;
}
.service-content{
	height: 175px;
	overflow-y: hidden;
	margin-bottom: 50px;
}
.service-boxes-two-columns .boxes > li::after{
	bottom: 10px;
	border-top: 2px solid #5aa7cf;
}

@media screen and (max-width: 1700px) {
	.video .videobg, .video video{
		max-height: 100%;
	}
	.footer_text h2{ 
		font-size: 6.9rem;
		line-height: 6.9rem;
	}
}

@media screen and (max-width: 1370px) {
	.site-footer {
		padding: 40px 20px;
		margin-top: 30px;
	}
	.grid-container{
		margin-bottom: 30px;
	}
	.grid-container h2 {
		font-size: 22px;
		line-height: 20px;
	}
	.contact-form{
		margin: 0;
	}
	#text-4 p {
		font-size: 20px;
	}
	#text-5 a {
		font-size: 18px;
	}
	.content_block {
		margin: 20px 0;
	}
	.playvideo img{
		width: 120px;
	}
	.boxes > li {
		margin-left: 7px;
		margin-right: 7px;
		padding: 20px;
	}
}

@media screen and (max-width: 1024px) {	
	.site-main{ padding: 32px 30px !important; }
	.fullwidth{
		padding: 25px;
	}
	.testimonials ul, .blogs-listing ul, .boxes{
		margin: 20px 0;
	}
	h2, .contact-form h2{
		font-size: 4.2rem;
	}
	h3, .testimonials li h3, .blogs-listing li h3, .boxes li h3{
		font-size: 2.1rem;
	}
	.playvideo img{
		width: 100px;
	}
	.testimonials li, .blogs-listing li, .video-thumbs li, .boxes > li{
		flex: 0 0 48%;
		box-sizing: border-box;
	}
	.boxes > li, .blogs-listing li{
		margin-left: 4px;
		margin-right: 4px;
	}
	.testimonials li, .two-blocks .boxes > li, .service-boxes-two-columns{
		margin-left: 6px;
		margin-right: 6px;
	}
}

@media screen and (max-width: 768px) {
	.alignleft {
		float: none;
		margin: 0 auto;
	}
	.testimonials li{
		padding: 22px;
	}
	.page-main-area p{
		font-size: 24px;
	}
	.contact-form {
		border-radius: 16px;
		padding: 20px;
		margin: 30px 0;
	}
	.custom-form .form-row{
		display: block;
		margin-bottom: 0; 
	}
	.custom-form .message-row{
		margin-bottom: 60px; 
	}
	.custom-form .message-row input[type="submit"] {
		float: right;
		position: static;
		margin-top: 15px;
	}
	
	.fullwidth p{
		font-size: 26px;
		line-height: 1.2;
	}
	.grid-container{
		margin-bottom: 0px;
	}
	.page-main-area {
		margin: 10px 0;
	}
	h2, .contact-form h2{
		font-size: 3.4rem;
	}
	#nav_menu-2, #nav_menu-3, #text-5{
		width:33%;
		margin-bottom: 35px; 
	}
    #text-4 p {
        font-size: 20px;
		margin-bottom: 0px;
    }
	#text-4 {
		padding-right: 0;
		width:100%;
		margin-bottom: 35px; 
	}
	.playvideo img{
		width: 80px;
	}
	.testimonials li, .blogs-listing li, .video-thumbs li, .boxes > li, .two-blocks .boxes > li, .service-boxes-two-columns .boxes > li{
		flex: 0 0 100%;
		margin-left:0;
		margin-right:0;
	}
}

@media screen and (max-width: 600px) {
	.logo img {
		max-width: 150px !important;
	}
	.site .container {
		padding: 0 30px;
	}
	.site-main{ padding: 10px 30px !important; }
    h2, .contact-form h2 {
        font-size: 2.5rem;
    }
    .alignleft {
        margin: 0 auto 10px auto;
    }
	#text-4, #nav_menu-2, #nav_menu-3, #text-5{
		width:100%;
		margin-bottom: 35px; 
	}
	.subheading{ 
		font-size: 1.6rem;
		line-height: 1.8rem;
		padding-top: 40px; 
	}
	.site-footer{ 
		padding: 20px 10px; 
		margin-top: 0px;
	}
	.playvideo img{
		width: 60px;
	}
}