* {
	margin: 0;
	padding: 0;
	text-decoration: none;
	outline: none;
	font-family: 'Jost', sans-serif;
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, input, select, legend, table, caption, tbody, tfoot, thead, tr, th, td, input {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: 'Jost', sans-serif;
}
body {
	font-size: 100%;
	font-family: 'Jost', sans-serif;
	background: #f8f8f8
}
.no-overflow {
	overflow: hidden
}
header.bg-logo .left {
	width: 50%;
	float: left;
}
.right {
	float: right
}
.clear:after {
	display: block;
	content: "";
	clear: both
}
.show {
	display: block
}
.hide {
	display: none
}
.inline {
	display: inline-block
}
.ucase {
	text-transform: uppercase
}
.calign {
	text-align: center
}
.ralign {
	text-align: right
}
.malign {
	vertical-align: middle
}
.justify {
	text-align: justify;
}
.box {
	box-sizing: border-box
}
.relative {
	position: relative
}
.container {
	padding: 3em
}
.container2, .container3 {
	padding: 3em
}
.container4 {
	padding: 20px 50px
}
.mauto {
	margin: auto
}
.mwidth {
	max-width: 100%;
	height: auto;
	margin: auto
}
.relpar {
	height: 0;
	width: 100%;
	position: relative
}
.switch {
	display: block
}
.lheight {
	line-height: 1.5
}
.lspace {
	letter-spacing: 2px
}
.brred {
	border: 5px solid #ba105f
}
.button {
	padding: 10px;
	line-height: 1;
	display: block;
	margin: 15px 0;
	border: 1px solid #fff
}
.fixed-mid-center {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%)
}
.fixed-center {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%)
}
.fixed-middle {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%)
}
p, h6 {
	margin: 10px 0;
	line-height: 1.75
}
h2 {
	font-size: 2em;
	line-height: 1
}
.white {
	color: #fff
}
.black {
	color: #055a86
}
.gray {
	color: #888
}
.yellow {
	color: #ffff00
}
.green {
	color: #055a86
}
.blue {
	color: #005aab
}
.red {
	color: #cd2122
}
.golden {
	color: #D5AD6D;
	background: -webkit-linear-gradient(transparent, transparent), -webkit-linear-gradient(top, rgba(213,173,109,1) 0%, rgba(213,173,109,1) 26%, rgba(226,186,120,1) 35%, rgba(163,126,67,1) 45%, rgba(145,112,59,1) 61%, rgba(213,173,109,1) 100%);
	background: -o-linear-gradient(transparent, transparent);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.bg-white {
	background: #fff
}
.bg-gray {
	background: #eee
}
.bg-black {
	background: #055a86
}
.bg-blue {
	background: #005aab
}
.bg-green {
	background: #50b848
}
.bg-logo {
	background: #fff
}
.bg-red {
	background: #cd2122
}
header {
	top: 0;
	left: 0;
	right: 0;
	z-index: 3;
	padding: 0 20px;
	position: fixed;
	box-shadow: 0px 0px 100px #999
}
header .ilogo {
	height: 55px;
	margin: 10px 0px;
	width: auto;
	display: block;
	line-height: 75px;
}
header .icontact {
	font-size: 30px;
	line-height: 40px;
	padding: 18px 0px;
	font-weight: 600;
}
header .icontact img {
	width: 25px;
}
section#gallery {
	height: 550px;
	width: 100%;
	overflow: hidden;
	margin-top: 75px;
}
.bg-gradient {
	background-color: rgba(0,0,0,0);
	background-image: linear-gradient(to right, rgba(0,0,0,1), rgba(0,0,0,0));
}
.bg-gradient2 {
	background-color: rgba(0,0,0,0);
	background-image: linear-gradient(to left, rgba(0,0,0,1), rgba(0,0,0,0));
}
.gallery {
	height: 550px;
}
/*  */
header.bg-logo {
	width: 100%;
	height: 75px;
	float: left;
}
p.justify.h5 {
	font-size: 16px;
	color: #222;
	font-weight: 500;
	line-height: 30px;
}
.fixed-right {
	position: fixed;
	right: -93px;
	top: 50%;
	background: #055a86;
	transform: rotate(90deg);
	padding: 0px 10px;
	cursor: pointer;
	box-shadow: 0px 0px 100px #888;
	z-index: 999;
}
.fixed-right p {
	color: #fff;
	font-size: 20px;
	letter-spacing: 5px;
	margin: 10px;
	font-weight: 900;
	text-transform: uppercase;
}
/*  */
.col-401 {
	width: 100%
}
.col-501 {
	width: 50%
}
.col-501 {
	width: 100%
}
.col-601 {
	width: 100%
}
.col-651 {
	width: 100%
}
.col-701 {
	width: 100%
}
.col-751 {
	width: 100%
}
.col-801 {
	width: 100%
}
.container1 {
	padding: 3em
}
.container1 {
	padding: 1.5em
}
/*gallery*/
.gallery {
	display: block
}
.gallery img {
	display: block;
	width: 100%;
	height: auto
}
footer.container3.calign.bg-gray {
	background: #00468c;
}
footer.container3.calign.bg-gray p.ucase {
	color: #fff;
	margin: 0;
	text-transform: capitalize;
	letter-spacing: 3px;
	font-weight: 300;
}
.call {
	font-size: 3em
}
.call a:hover { 
	color:#fff
}
/* fixed form */
form{width:100%; display:flex; justify-content:center; align-items:center;}
.form-col{margin:10px; width:50%; position:relative}
.form-col i{position:absolute; left:10px; top:0; line-height:40px; font-size:1em; color: 3444}
.inputxt {
	background: #fff;
	font-size: 1em;
	padding: 0 0 0 40px;
	line-height: 40px;
	width: 100%;
	color: #444
}
.textbox {
	background: #fff;
	border: 1px solid #ddd;
	font-size: 1em;
	padding: 0 0 0 40px;
	line-height: 40px;
	width: 100%;
	color: #444
}
input {
	box-sizing: border-box
}
input.error, textarea.error, select.error, .textbox.error {
	border: 2px solid #ff6969 !important;
	color: #fff
}
input.error:focus, textarea.error:focus, select.error:focus, .textbox.error:focus {
	border: 0;
	color: #fff
}
.inputxt::-webkit-input-placeholder {
color: #444
}
.inputxt:-moz-placeholder {
color: #444
}
.inputxt::-moz-placeholder {
color: #444
}
.inputxt:-ms-input-placeholder {
color: #444
}
/*header gallery content*/
.ifeatures {
	position: absolute;
	left: 50px;
	z-index: 2;
	top: 50px;
	width: 400px;
	height: auto;
	padding: 50px;
	background: #005aab;
	box-shadow: 5px 5px 10px rgba(0,0,0,.5)
}
.ifeatures ul {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 1.2em;
	list-style: none
}
.ifeatures ul li {
	list-style: none;
	display: block
}
.ifeatures h1 {
	font-size: 1.3em;
	padding-bottom: 15px;
	margin-bottom: 10px;
	position: relative
}
.ifeatures h1:after {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100px;
	height: 5px;
	background: #4db848;
	content: ""
}
.btn, .modal-content, .modal-header {
	border-radius: 0
}
.btn-danger {
	background: #cd2122 !important
}
.nopad {
	padding: 0 !important
}
.nomar {
	margin: 0 !important
}
.switch {
	display: block
}
/*project*/
.project {
	margin: 25px;
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,.1);
	border-radius: 5px;
}
.project-pic {
	position: relative;
	width: 100%;
	height: 250px;
	overflow: hidden;
}
.col-sm.nopad.project.clear {
	width: 100% !important;
	padding: 0 !important;
	margin: 10px;
	height: 500px;
	position: relative;
}
.project .project-pic img {
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 5px 5px 0 0
}
.project-status {
	position: absolute;
	top: 15px;
	left: 15px;
	line-height: 20px;
	padding: 0 1em;
	border-radius: 10px;
	font-size: .6em;
	font-weight: bold;
	text-transform: uppercase;
	box-shadow: rgba(0, 0, 0, 0.25) 0px 2px 8px !important;
	color: #222;
	background: rgba(255, 255, 255, 0.95);
	border: 0.5px solid rgba(0, 0, 0, 0.5)
}
.trending {
	position: absolute;
	left: 0;
	bottom: 100px;
	z-index: 2;
	padding: 0 25px;
	background: #003cff;
	font-size: .8em;
	line-height: 2
}
.bestsel {
	position: absolute;
	left: 0;
	bottom: 100px;
	z-index: 2;
	padding: 0 25px;
	background: #0add00;
	font-size: .8em;
	line-height: 2
}
.newlaunch {
	position: absolute;
	left: 0;
	bottom: 100px;
	z-index: 2;
	padding: 0 25px;
	background: #9a00f2;
	font-size: .8em;
	line-height: 2
}
.project-pic .propname {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 50px 25px 15px;
	background-image: linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0));
	text-shadow: 1px 1px 3px rgba(0,0,0,1)
}
.project-pic .propname .protitle {
	font-size: 1.1em;
	font-weight: 300;
	line-height: 1.5;
	margin: 0
}
.project-pic .propname .protype {
	font-size: 1em;
	line-height: 1;
	margin: 6px 0
}
.project-pic .propname .proloc {
	font-size: 1em;
	line-height: 1;
	margin: 0
}
.project-details ul {
	list-style: none;
	display: block;
	padding: 25px 25px 0px;
}
.project-details ul li {
	list-style: none;
	line-height: 2.5;
	display: block;
	border-bottom: 1px solid #eee;
	color: #222;
	font-weight: 500;
}
/*  */
li.red {
	background: #055a86;
	color: #fff !important;
	padding: 0px 10px;
	width: 110px;
	margin: 20px 0px;
	border-radius: 10px;
	font-size: 15px;
	text-align: center;
	font-weight: 500;
	position: absolute;
	bottom: 10px;
}
.col-sm.nopad.project.clear.hgt {
	height: 450px;
}
section#gallery .slick-track {
	height: 550px;
}
.slick-track img {
	height: 100%;
}
/*  */
.project-details a:hover {
	color: red;
	text-decoration: none !important;
}
.project-details li.red:hover {
	color: red;
}
section#m3m-projects {
	background: #eee;
}
.col-sm.nopad.project.clear {
	transition: .5s;
}
.col-sm.nopad.project.clear:hover {
	box-shadow: 0px 0px 45px rgba(128, 128, 128, 0.418);
	margin-top: 15px;
}
.project-pic.first {
	height: 300px;
}
/* brands */
section.brands {
	width: 100%;
	height: auto;
	background: #fff;
	padding: 10px 0px;
}
section.brands .img {
	box-shadow: 0px 0px 100px gainsboro;
	margin: 0;
	padding: 0;
}
section.brands .img img {
	width: 100%;
	transition: .3s;
}
section.brands .img img:hover {
	filter: none;
}
/*  menu*/
.menu {
	position: fixed;
	background: #055a86;
	z-index: 9;
	padding: 30px;
	top: 0;
	left: 0;
	width: 250px;
	height: 100%;
}
.menu li {
	line-height: 40px;
	list-style: square;
	color: #fff;
}
.menu li a {
	font-size: 14px;
	text-transform: capitalize;
	color: #fff;
	font-family: 'Jost', sans-serif
}
.menu li a:hover {
	text-decoration: none !important;
}
.next, .prev {
	display: none !important;
}
.menu .close {
	position: relative;
	width: 85px;
	overflow: hidden;
	text-align: center;
	float: left;
	margin-left: 50px;
	background: #ee1c25;
	border-radius: 100%;
	padding: 30px;
	cursor: pointer;
}
.menu .close img {
	width: 100%;
}
header.bg-logo img.bar {
	width: 25px;
	float: left;
	line-height: 100px;
	margin: 25px;
	cursor: pointer;
}
/* awards */
.awards {
	padding: 0px 100px;
}
.awards .clear {
	width: 85%;
	margin: auto;
	padding: 20px;
	text-align: center;
	background-color: #fff;
	height: auto;
}
.awards .clear p strong {
	color: #bcab97;
}
.awards .clear img {
	width: 80%;
	margin: auto;
}
.awards .clear p.sitle {
	font-size: 14px;
	text-align: center;
	opacity: .8;
}
/*  */
.button.view-all {
	text-align: center;
	border: none !important;
	outline: none !important;
}
.button.view-all a {
	background: #00468cde;
	padding: 10px 30px;
	color: #fff;
	border-radius: 2px;
	transition: .3s;
}
.button.view-all a:hover {
	color: #fff;
	background-color: #005aab;
	text-decoration: none !important;
}
/*About Slider*/
.flider {
	padding: 3em 6em;
}
.flides {
	margin: 1em 0 2em;
}
.flides .flide {
	background: #fff;
	padding: 1em 1em 2em;
	border-radius: 0px;
	margin: 0 1em !important;
	position: relative;
}
.flides .flide:after {
	content: "";
	position: absolute;
	left: 1.2em;
	bottom: 1em;
	width: 60px;
	height: 2px;
	background: #000000;
	z-index: 2
}
.flides .flide .bitle {
	margin: 0px;
	font-size: 65px !important;
	line-height: 1;
	font-weight: 600;
}
.flides .flide .sitle {
	font-size: 16px;
	color: #000000;
	margin-top: 20px;
	line-height: 1.25;
	font-weight: 700;
	text-transform: uppercase;
}
.flider p.justify.h6 {
	text-align: center;
	margin: 20px auto 50px;
	font-weight: 500;
	width: 80%;
	line-height: 30px;
}
.flides .flide span.green {
	font-size: 25px;
	font-weight: 500;
	opacity: .5;
}
.flides.slick-initialized .slick-slide {
	display: block;
	height: 165px;
}
/* Slider */
.slider {
	width: 100%;
	margin: auto
}
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent
}
.slick-list {
	position: relative;
	display: block;
	overflow: hidden
}
.slick-list:focus {
	outline: none
}
.slick-list.dragging {
	cursor: pointer;
	cursor: pointer
}
.slick-slider .slick-track, .slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}
.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block
}
.slick-track:before, .slick-track:after {
	display: table;
	content: ''
}
.slick-track:after {
	clear: both
}
.slick-loading .slick-track {
	visibility: hidden
}
.slick-slide {
	display: none;
	float: left;
	margin: 0;
	min-height: 1px
}
[dir='rtl'] .slick-slide {
	float: right
}
.slick-slide img {
	display: block
}
.slick-slide.slick-loading img {
	display: none
}
.slick-slide.dragging img {
	pointer-events: none
}
.slick-initialized .slick-slide {
	display: block
}
.slick-loading .slick-slide {
	visibility: hidden
}
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent
}
.slick-arrow.slick-hidden {
	display: none
}
.slick-loading .slick-list {
	background: #fff center center no-repeat
}
.prev {
	position: absolute;
	right: -9px;
	cursor: pointer
}
.next {
	position: absolute;
	left: -9px;
	cursor: pointer
}
.next, .prev {
	font-size: 1.2em;
	height: 50px;
	width: 50px;
	border: none;
	background: #fff;
	border-radius: 25px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	box-shadow: 2px 2px 5px rgba(0,0,0,.5);
	border: 0;
	z-index: 1;
	color: #000
}
.next i, .prev i {
	line-height: 50px;
}
.slick-dotted.slick-slider {
}
.slick-dots {
	text-align: left;
	bottom: -15px
}
.slick-dots {
	position: absolute;
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
	display: none !important;
}
.slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 0;
	padding: 0;
	cursor: pointer
}
.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 20px;
	height: 20px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent
}
.slick-dots li button:hover, .slick-dots li button:focus {
	outline: none
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
	opacity: 1
}
.slick-dots li button:before {
	font-family: 'slick'
}
.slick-dots li.slick-active button:before {
	opacity: .75;
	color: rgba(0,0,0,.9);
	border: solid 1px rgba(0,0,0,.9);
	border-radius: 50%
}
.slick-dots li:before {
	content: '';
	background: rgba(0,0,0,.9);
	width: 7px;
	height: 7px;
	position: absolute;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%)
}
.slick-dots li.slick-active:before {
	content: '';
	background: rgba(0,0,0,.9);
	width: 7px;
	height: 7px
}
.slick-dots li.slick-active {
	border: solid 1px rgba(0,0,0,.9);
	border-radius: 50%;
	text-align: center;
	left: 0
}
.slick-dots li {
	margin: 0 5px!important
}
.slick-slide:focus {
	outline: none;
	box-shadow: none
}
 @media screen and (min-width: 240px) and (max-width: 786px) {
.container {
	padding: 1.5em
}
.container3, .container4 {
	padding: 3em 1em
}
header {
	padding: 0
}
header .icontact {
	font-size: 1.2em
}
.ibanner {
	height: auto !important;
	min-height: auto
}
.ifeatures {
	padding: 25px;
	position: relative;
	margin-top: 80px;
	top: 0;
	left: 0;
	right: 0;
	width: auto;
	background: #005aab
}
.ifeatures ul {
	font-size: 1.2em
}
.ifeatures h1 {
	font-size: 1.5em
}
h2 {
	font-size: 1.25em
}
li.red {
	left: 50%;
	bottom: 0%;
	transform: translate(-50%, -0%);
}
.project-pic.first {
	height: 220px;
}
.project {
	margin: 10px
}
.iform {
	width: 90%;
}
.home {
	margin-top: 0
}
.awards .clear {
	height: auto;
}
section#gallery {
	height: 220px;
	width: 100%;
	overflow: hidden;
	margin-top: 60px;
}
header.bg-logo {
	width: 100%;
	height: 60px;
	float: left;
}
header.bg-logo img.bar {
	width: 25px;
	float: left;
	line-height: 100px;
	margin: 18px 5px 18px 20px;
	cursor: pointer;
}
.slick-track {
	height: 220px;
}
.gallery img {
	height: 100% !important;
}
h2.ucase.calign.green.mb-3 {
	font-size: 22px;
}
h2.ucase.calign.green {
	font-size: 22px;
}
.awards {
	padding: 0px 10px;
}
.menu {
	width: 100%;
	height: 100%;
}
.flider p.justify.h6 {
	width: 100%;
	line-height: 30px;
}
.clear {
	text-align: center;
}
.flides .flide:after {
	display: none;
}
section#gallery .slick-track {
	height: 200px;
}
.slick-initialized .slick-slide {
	display: block;
	height: 165px;
}
.col-sm.nopad.project.clear.hgt {
	height: 385px;
}
}
/* fixed form */
.fixed-form {
	position: fixed;
	z-index: 111;
	bottom: 10px;
	right: 20px;
	width: 230px;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	box-shadow: 0 5px 10px rgba(0,0,0,.6)
}
.fixed-form .fixed-btn {
	position: relative;
	background: #3e24db;
	cursor: pointer;
}
.fixed-form .fixed-btn img {
	position: absolute;
	left: -25px;
	top: -5px;
	width: 60px;
	height: auto;
	border-radius: 50%
}
.fixed-form .fixed-btn .fixed-title {
	line-height: 50px;
	font-size: 14px;
	color: #fff;
	text-align: center;
}
.fixed-form .fixed-body {
	padding: 15px 10px;
	background: #fff
}
.fixed-form .fixed-body iframe {
	padding: 0;
	margin: 0;
	border: none;
	height: 210px;
	width: 100%;
	overflow: hidden;
}
.fixed-form .fixed-btn:before {
	content: "+";
	font-size: 32px;
	color: #fff;
	position: absolute;
	right: 10px;
	top: 0;
	line-height: 50px
}
.fixed-form .expanded:before {
	content: "-";
	font-size: 32px;
	color: #fff;
	position: absolute;
	right: 10px;
	top: 0;
	line-height: 50px
}
 @media screen and (min-width: 240px) and (max-width: 1024px) {
.fixed-form {
	bottom: 25px;
	right: 10px;
}
header .ilogo {
	height: 40px;
	padding: 5px;
	width: auto;
	display: block
}
header .icontact {
	font-size: 20px;
	padding: 10px;
	font-family: sans-serif
}
.ifeatures {
	padding: 25px;
	position: relative;
	margin-top: 50px;
	top: 0;
	left: 0;
	right: 0;
	width: auto;
	background: #005aab
}
.justify {
	text-align: justify;
	text-rendering: optimizeLegibility;
	word-break: break-all;
}
.justify {
	text-align: justify;
	text-rendering: optimizeLegibility;
	word-break: break-all;
}
}

/* Footer Form Styles */
footer {
    padding: 3em 0 1em 0;
}

/* Form container styling */
footer .footer-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 2.5rem;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.1),
        0 4px 16px rgba(54, 130, 143, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    position: relative;
    overflow: hidden;
}

footer .footer-form::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(54, 130, 143, 0.05) 0%, rgba(74, 144, 162, 0.05) 100%);
    pointer-events: none;
    z-index: -1;
}

footer .form-control {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    padding: 18px 20px;
    border-radius: 12px;
    transition: all 0.3s ease;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
    height: 56px;
    line-height: 1.2;
    backdrop-filter: blur(10px);
}

/* Dropdown specific styling */
footer select.form-control {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 16px;
    padding-right: 45px;
    cursor: pointer;
}

footer select.form-control:focus {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2336828F' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
}

footer select.form-control option {
    background: #2a6b7a;
    color: white;
    padding: 10px;
}

footer select.form-control option:hover {
    background: #36828F;
}

footer .form-group {
    position: relative;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
}

footer .form-control:focus {
    background: rgba(255, 255, 255, 0.15);
    border-color: #36828F;
    box-shadow: 0 0 0 4px rgba(54, 130, 143, 0.15);
    color: white;
    outline: none;
}

footer .form-control::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

footer .btn-light {
    background: linear-gradient(135deg, #36828F 0%, #4A90A2 50%, #5BA3B8 100%);
    border: none;
    color: white;
    padding: 18px 32px 18px 40px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    box-shadow: 
        0 4px 15px rgba(54, 130, 143, 0.3),
        0 0 0 0 rgba(54, 130, 143, 0.7);
    min-width: 200px;
    max-width: 220px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    width: 100%;
    box-sizing: border-box;
    white-space: nowrap;
    text-overflow: ellipsis;
    height: 56px;
    line-height: 1.2;
    animation: buttonGlow 2s ease-in-out infinite alternate;
}

@keyframes buttonGlow {
    0% {
        box-shadow: 
            0 4px 15px rgba(54, 130, 143, 0.3),
            0 0 0 0 rgba(54, 130, 143, 0.7);
    }
    100% {
        box-shadow: 
            0 4px 15px rgba(54, 130, 143, 0.3),
            0 0 0 8px rgba(54, 130, 143, 0);
    }
}

footer .btn-light::before {
    content: '📞';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.2rem;
    opacity: 0;
    transition: all 0.4s ease;
    z-index: 2;
}

footer .btn-light::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.15), transparent);
    transition: left 0.6s;
}

footer .btn-light:hover::before {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.1);
}

footer .btn-light:hover::after {
    left: 100%;
}

footer .btn-light:hover {
    background: linear-gradient(135deg, #4A90A2 0%, #36828F 50%, #2A6B7A 100%);
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 8px 25px rgba(54, 130, 143, 0.4);
}

footer .btn-light:active {
    transform: translateY(-1px) scale(0.98);
    box-shadow: 0 4px 15px rgba(54, 130, 143, 0.3);
}

footer .btn-light.loading {
    pointer-events: none;
    opacity: 0.8;
}

footer .btn-light.loading::before {
    content: '⏳';
    opacity: 1;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Add left padding to the button container */
footer .form-group:last-child {
    padding-left: 20px;
}

footer .contact-info a {
    text-decoration: none;
    transition: all 0.3s ease;
}

footer .contact-info a:hover {
    color: #36828F !important;
}

/* Phone number highlighting */
footer .phone-number {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #36828F 0%, #4A90A2 50%, #5BA3B8 100%);
    color: white;
    padding: 12px 20px;
    border-radius: 25px;
    font-size: 1.3rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(54, 130, 143, 0.3);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    margin: 10px 0;
}

footer .phone-number::before {
    content: '📞';
    font-size: 1.2rem;
    animation: phoneRing 2s ease-in-out infinite;
}

footer .phone-number:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 8px 25px rgba(54, 130, 143, 0.4);
    background: linear-gradient(135deg, #4A90A2 0%, #36828F 50%, #2A6B7A 100%);
}

footer .phone-number:active {
    transform: translateY(0) scale(1.02);
}

@keyframes phoneRing {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-10deg); }
    75% { transform: rotate(10deg); }
}

/* Call Now button for mobile */
footer .call-now-btn {
    display: none;
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
    padding: 15px 30px;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3);
    z-index: 1000;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

footer .call-now-btn::before {
    content: '📞';
    margin-right: 8px;
    animation: phoneRing 2s ease-in-out infinite;
}

footer .call-now-btn:hover {
    transform: translateX(-50%) translateY(-2px) scale(1.05);
    box-shadow: 0 8px 25px rgba(40, 167, 69, 0.4);
}

footer .list-unstyled li {
    margin-bottom: 8px;
}

footer .list-unstyled a {
    text-decoration: none;
    transition: color 0.3s ease;
}

footer .list-unstyled a:hover {
    color: #36828F !important;
}

footer hr {
    border-color: rgba(255, 255, 255, 0.2);
    margin: 2em 0 1em 0;
}

/* Desktop Layout - Horizontal flex */
@media screen and (min-width: 787px) {
    footer .footer-form {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-end;
        gap: 1.5rem;
    }
    
    footer .form-group {
        flex: 1;
        min-width: 0;
        margin-bottom: 0;
    }
    
    /* Make dropdown slightly wider on desktop */
    footer .form-group:nth-child(4) {
        flex: 1.2;
    }
    
    footer .form-group:last-child {
        flex: 0 0 auto;
        padding-left: 20px;
        display: flex;
        align-items: flex-end;
    }
    
    footer .btn-light {
        width: auto;
        min-width: 200px;
        max-width: 220px;
        font-size: 0.85rem;
        letter-spacing: 0.3px;
        padding: 18px 25px 18px 35px;
        height: 56px;
        line-height: 1.2;
        margin: 0;
    }
    
    /* Ensure form inputs and button have same height */
    footer .form-control,
    footer .btn-light {
        height: 56px;
        box-sizing: border-box;
    }
}

/* Mobile Responsive Footer */
@media screen and (max-width: 786px) {
    footer {
        padding: 2em 0 1em 0;
    }
    
    footer .col-md-6 {
        margin-bottom: 2em;
    }
    
    footer .footer-form {
        flex-direction: column;
        gap: 1.5rem;
        padding: 2rem 1.5rem;
        margin: 0 1rem;
        border-radius: 20px;
        align-items: center;
        overflow: visible;
        position: relative;
    }
    
    footer .form-group {
        width: 100%;
        max-width: 400px;
        margin-bottom: 0;
        position: relative;
    }
    
    footer .form-control {
        margin-bottom: 0;
        padding: 18px 20px;
        font-size: 16px;
        width: 100%;
        height: 56px;
        border-radius: 12px;
        text-align: center;
    }
    
    /* Mobile dropdown specific styling */
    footer select.form-control {
        text-align: center;
        text-align-last: center;
        padding-right: 45px;
        background-position: right 15px center;
        background-size: 18px;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        position: relative;
        z-index: 10;
    }
    
    footer select.form-control option {
        text-align: center;
        background: #2a6b7a;
        color: white;
        padding: 12px;
        font-size: 16px;
    }
    
    /* Ensure dropdown stays within form container */
    footer .form-group:nth-child(4) {
        z-index: 5;
    }
    
    footer .form-group:nth-child(4) select {
        z-index: 10;
    }
    
    footer h4, footer h5 {
        margin-bottom: 1.5em;
        text-align: center;
    }
    
    /* Button styling for mobile */
    footer .form-group:last-child {
        padding-left: 0;
        text-align: center;
        width: 100%;
        max-width: 400px;
        align-items: center;
        margin-top: 0.5rem;
    }
    
    footer .btn-light {
        width: 100%;
        max-width: none;
        padding: 18px 20px;
        font-size: 16px;
        display: block;
        margin: 0 auto;
        height: 56px;
        border-radius: 12px;
        animation: none;
        text-align: center;
        font-weight: 600;
        letter-spacing: 0.5px;
    }
    
    /* Phone number styling for mobile */
    footer .phone-number {
        font-size: 1.1rem;
        padding: 12px 20px;
        margin: 10px 0;
        border-radius: 25px;
    }
    
    /* Show call now button on mobile */
    footer .call-now-btn {
        display: inline-flex;
        align-items: center;
        bottom: 30px;
        padding: 16px 32px;
        border-radius: 30px;
        font-size: 1.1rem;
        font-weight: 600;
    }
    
    /* Ensure proper spacing between form sections */
    footer .contact-info,
    footer .list-unstyled {
        margin-top: 2em;
        padding: 20px 15px;
        text-align: center;
    }
    
    /* Enhanced form container for mobile */
    footer .footer-form::before {
        border-radius: 20px;
    }
    
    /* Additional mobile dropdown improvements */
    footer select.form-control:focus {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2336828F' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    }
    
    /* iOS Safari specific fixes */
    @supports (-webkit-touch-callout: none) {
        footer select.form-control {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
            background-size: 20px;
        }
    }
    
    /* Container constraints for dropdown */
    footer .container3 {
        overflow: visible;
        position: relative;
    }
    
    footer .row {
        overflow: visible;
        position: relative;
    }
    
    footer .col-12 {
        overflow: visible;
        position: relative;
    }
}
    
    /* Toast notification styles */
    .toast-notification {
        position: fixed;
        top: 20px;
        right: 20px;
        background: linear-gradient(135deg, #36828F, #4A90A2);
        color: white;
        padding: 15px 25px;
        border-radius: 10px;
        box-shadow: 0 8px 25px rgba(54, 130, 143, 0.3);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.1);
        transform: translateX(400px);
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 1000;
        max-width: 300px;
    }
    
    .toast-notification.show {
        transform: translateX(0);
    }
    
    .toast-notification.success {
        background: linear-gradient(135deg, #28a745, #20c997);
    }
    
    .toast-notification.error {
        background: linear-gradient(135deg, #dc3545, #e74c3c);
    }
    
    .toast-notification .toast-content {
        display: flex;
        align-items: center;
        gap: 10px;
    }
    
    .toast-notification .toast-icon {
        font-size: 1.2rem;
    }
    
    .toast-notification .toast-message {
        font-weight: 500;
        font-size: 0.9rem;
    }
    
    /* Enhanced form field focus states */
    footer .form-group.focused .form-control {
        border-color: #36828F;
        box-shadow: 0 0 0 4px rgba(54, 130, 143, 0.15);
        transform: translateY(-2px);
    }
    
    footer .form-group.focused label {
        opacity: 1;
        transform: translateY(-5px);
        color: #36828F;
    }
