h1, h2, h3 {
    margin: 0 0 20px;
    color: #a20d11;
  	font-family: "Rubik", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
}

h2 {
	font-size: 175%;
}

h3 {
	font-size: 140%;
	color: #f68921;
	font-weight: 400;
}

.br-20 {
	border-radius: 20px;
}

section {
	padding: 60px 0;
}

section a {
	color: #f68921;
	transition: .3s; 
}

section a:hover {
	color: #d67416;
	transition: .3s; 
}

section.yellow {
	background: #FCB913;
	color: #fff;
}

section.yellow h2 {
	color: #fff;
	margin: 0;
}

section.yellow a {
	color: #a20d11;
	transition: .3s; 
}

section.yellow a:hover {
	color: #85070a;
	transition: .3s; 
}

section.grey {
	background: #ccc;
	color: #fff;
    padding: 30px;
}

section.grey h2 {
	color: #fff;
	margin: 0 0 20px;
}

section.red {
	background: #a20d11;
	color: #fff;
}

section.red h2 {
	color: #fff;
}

section.red a {
	color: #FCB913;
	transition: .3s; 
}

section.red a:hover {
	color: #FCB913;
	transition: .3s; 
}

.red-bg {
	background: #a20d11!important;
}

.red-bg h2 {
	color: #fff!important;
}

section p:last-child {
	margin-bottom: 0;
}

.page {
	margin: 0!important;
}

.text-right {
	text-align: right;
}

.top-banner {
    background: #002d45;
    padding: 8px 15px;
    color: #fff;
}

.top-banner a {
    color: #fff;
}

.pink-text {
	color: #c974b0;
}

.br-20 {
	border-radius: 20px;
}

/* NAVIGATION */

.navbar {
	z-index: 999;
	width: 100%;
    padding: 15px;
    box-shadow: 0px 10px 10px -10px #5a87a0;
}

.navbar .logo {
    width: 225px;
    transition: all 0.3s;
}

.pages nav {
    position: fixed;
	z-index: 999;
	width: 100%;
    padding: 30px;
    background: #526351;
}

.navbar-scrolled {
    background: #fff;
    transition: all 0.3s;
    padding: 20px 30px !important;
}

.navbar-scrolled .logo {
	width: 125px;
    transition: all 0.3s;
}

.nav-link {
    color: #333 !important;
    padding: 0 !important;
    transition: .2s;
    font-size: 100%;
    font-style: normal;
}

.nav-link:hover {
    color: #222;
    transition: .2s;
}

.nav-link.active {
    color: #f68921!important;
}

.dropdown-menu {
	padding: 1rem;
    background: #fff;
    width: unset;
    box-shadow: 0px 10px 10px -3px #555;
    border: 0;
}

.dropdown-menu a {
    color: #333;
    font-family: "Chau Philomene One", sans-serif;
    font-weight: 400;
    font-style: normal;
    border-bottom: 2px solid rgb(246 137 33 / 50%);
    padding: 15px 0;
	transition: .2s;
}

.dropdown-menu a:hover {
	background: #fff;
	color: #f68921;
	transition: .2s;
}

.dropdown-menu .nav-item {
	margin: 0;
}

.dropdown-menu.depth_1 {
    position: absolute;
    left: 100%;
    top: -40%;
    border-radius: 0 .25rem .25rem 0;
    box-shadow: unset;
}

.dropdown-item.active, .dropdown-item:active {
    color: #f68921;
    background-color: unset;
}

.nav-item {
    position: relative;
    margin: 0 16px;
}

.animation:after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0%;
    border-bottom: 2px solid #f68921;
    transition: 0.4s;
}

.animation:hover:after {
    width: 100%;
}

/* CAROUSEL */
.carousel-caption {
    position: absolute;
    right: 0;
    top: 50%;
    left: 0;
    text-align: center;
    transform: translate(0, -50%);
    bottom: unset;
    padding-top: unset;
    padding-bottom: unset;
}

body.home .carousel-caption {
    transform: translate(0, -70%);
}

.carousel-caption h1 {
	color: #fff;
	font-size: 350%;
	margin-top: 0;
}

.carousel-caption h2 {
	color: #fff;
    font-size: 175%;
    font-weight: 300;
}

/* BUTTONS */
header .btn-primary {
	margin-left: .7rem;
    font-size: 150%;
}

.carousel-caption .btn-primary,
.carousel-caption .btn-wa
{
	padding: 10px 20px;
}

.carousel-caption .btn i,
.carousel-caption .btn i
{
    font-size: 16px;
}

.carousel-caption .btn:hover i,
.carousel-caption .btn:hover i {
	transform: unset;
	transition: unset;
}

.btn-primary {
    background: #f68921;
    border-radius: 10px;
    padding: 8px 20px;
    border: none;
    font-family: "Chau Philomene One", sans-serif;
    color: #fff !important;
    letter-spacing: 1px;
    display: inline-block;
    transition: .3s;
}

a.btn-primary:hover {
    background-color: #ee9846;
    border-color: #ee9846;
	transition: .3s;
}

.btn-wa {
    background: #25D366;
    border-radius: 10px;
    padding: 8px 20px;
    border: none;
    font-family: "Chau Philomene One", sans-serif;
    color: #fff !important;
    letter-spacing: 1px;
    display: inline-block;
    transition: .3s;
}

a.btn-primary:hover {
    background-color: #ee9846;
    border-color: #ee9846;
	transition: .3s;
}

.btn i {
	font-size: 14px;
	transition: .3s;
}

.btn:hover i {
	transform: translateX(5px);
	transition: .3s;
	color: #fff;
}

/* MAIN */
section.floating-panels {
	margin-top: -125px;
	padding-top: 0;
	position: relative;
	text-align: center;
}

section.floating-panels .panel {
    padding: 30px 20px;
	background: #fff;
    border: 1px solid #eee;
    box-shadow: 0px 0px 10px 0px #bbb;
}

div.img-div-about {
	background: url("assets/img/solar-panels.jpg");
    background-size: cover;
    background-position: center;
}

div.img-div-emergency-electrician {
	background: url("assets/img/service4.png");
    background-size: cover;
    background-position: center;
}

div.img-div-fire-alarm {
	background: url("assets/img/fire-alarm.jpg");
    background-size: cover;
    background-position: center;
}

div.img-div-fire-risk-assessment {
	background: url("assets/img/fire-risk-assessment.jpg");
    background-size: cover;
    background-position: center;
}

div.img-div-cctv {
	background: url("assets/img/service3.png");
    background-size: cover;
    background-position: center;
}

div.img-div-home-cctv {
	background: url("assets/img/home-cctv.jpg");
    background-size: cover;
    background-position: center;
}

div.img-div-door-entry-systems {
	background: url("assets/img/door-entry-systems.jpg");
    background-size: cover;
    background-position: center;
}

div.img-div-ev-charging {
	background: url("assets/img/ev-charging.jpg");
    background-size: cover;
    background-position: center;
}

div.img-div-evacuation-alert-systems {
	background: url("assets/img/evacuation-alert-systems.jpg");
    background-size: cover;
    background-position: center;
}

div.img-div-evacuation-alert-systems {
	background: url("assets/img/evacuation-alert-systems.jpg");
    background-size: cover;
    background-position: center;
}

div.img-div-addressable-fire-systems {
	background: url("assets/img/addressable-fire-systems-bg.jpg");
    background-size: cover;
    background-position: center;
}

div.img-div-content {
	padding-left: 3rem;
	padding-right: 3rem;
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.service-icon {
    width: 100px;
    margin-bottom: 30px;
}

img.service {
	border-left: 2px solid #fff;
	border-right: 2px solid #fff;
}

img.service-right {
	border-left: 2px solid #fff;
	border-right: 0;
}

img.service-left {
	border-right: 2px solid #fff;
	border-left: 0;
}

div.service div {
	background: #f9f9f9;
	border: 1px solid #eee;
	padding: 20px;
	border-radius: 10px;
}

ul.tick {
	list-style: none;
    margin-left: 0px;
}

ul.tick li:before {
	content: '✓';
	margin-right: 15px;
	font-size: 150%;
	color: #FCB913;
}

.glide * {
  margin: 0 auto;
}

.glide img {
	width: 200px;
}

div.maintenance-plans {
    padding: 20px;
    background: #f5f5f5;
    border-radius: 15px;
    border: 1px solid #eee;
}

div.maintenance-plans li {
	margin-bottom: 15px;
}

.page-template-door-entry-systems div.maintenance-plans li {
	margin-bottom: 5px;
}

div.accreditations {
    padding: 20px;
    background: #f5f5f5;
    border-radius: 15px;
    border: 1px solid #eee;
}

.building-sites-img {
    box-shadow: 0px 0px 10px 0px #ddd;
    border-radius: 15px;
    padding: 20px;
}

#map {
	width: 100%;
	height: -webkit-fill-available;
}

/* FORM */

.form label,
.form input {
	width: 100%!important;
}

.form select {
    border-radius: 3px!important;
    padding: 3px!important;
}

.form .wpcf7-list-item {
	margin: 0!important;
	text-align: center!important;
}

div[data-id="business"] > p {
  margin-bottom: 1.5em;
}

div[data-id="personal"] > p {
  margin-bottom: 1.5em;
}

.form .wpcf7-radio .first {
	margin-right: 15px;
}

.form [type="radio"] {
    margin: 0 auto;
	display: inline-block;
}

/* CONTACT FORM */

.wpcf7-spinner {
    display: none!important;
 }

#get-in-touch {
    padding: 75px 3rem;
	color: #fff;
}

#get-in-touch ::-webkit-input-placeholder { /* WebKit browsers */
	color: #fff !important;
	opacity: 1;
}

#get-in-touch :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	color: #fff !important;
	opacity: 1;
}

#get-in-touch ::-moz-placeholder { /* Mozilla Firefox 19+ */
	color: #fff !important;
	opacity: 1;
}

#get-in-touch :-ms-input-placeholder { /* Internet Explorer 10+ */
	color: #fff !important;
	opacity: 1;
}

#get-in-touch label {
    width: 100%!important;
	color: #fff;
}

#get-in-touch input[type="text"],
#get-in-touch input[type="email"],
#get-in-touch input[type="tel"],
#get-in-touch textarea {
    color: #fff;
    width: 100%;
    border: 0;
    border-bottom: 1px solid #fff;
    border-radius: 0;
    padding: 10px 0;
    height: auto;
    background: none;
    margin-bottom: 20px;
}

#get-in-touch button, input[type="button"], input[type="reset"], input[type="submit"] {
    background: #FCB913 !important;
    border-radius: 0 !important;
    padding: 15px 25px !important;
    border: none !important;
    font-family: "Chau Philomene One", sans-serif;
    color: #fff !important;
    letter-spacing: 1px;
    display: inline-block;
    transition: .3s;
    font-size: 100%;
	width: unset!important;
}

#get-in-touch button, footer input[type="button"]:hover, #get-in-touch input[type="reset"]:hover, #get-in-touch input[type="submit"]:hover {
    background-color: #f9d272 !important;
    border-color: #fff !important;
	transition: .2s;
}

#get-in-touch input:-internal-autofill-selected {
    background-color: transparent!important;
    color: #fff!important;
}

#get-in-touch .wpcf7-list-item {
    display: inline-block;
    margin: 0 1.5em;
}

#get-in-touch .wpcf7-select {
    color: #fff;
    width: 100%;
    border: 0;
    border-bottom: 1px solid #fff;
    border-radius: 0;
    padding: 10px 0;
    height: auto;
    background: none;
    margin-bottom: 20px;
}

#get-in-touch .priority {
    text-align: left;
}

#get-in-touch .priority label {
    color: #fff;
	margin-bottom: 20px;
}

#get-in-touch-2 {
    padding: 75px 3rem 75px;
} 

#get-in-touch-2 h3 {
	color: #a20d11;
} 

div.wpforms-container-full input[type=number] {
    color: #fff!important;
    width: 100%;
    border: 0;
    border-bottom: 1px solid #fff!important;
    border-radius: 0!important;
    padding: 10px 0!important;
    height: auto;
    background: none !important;
    margin-bottom: 20px;
    border-width: 1px !important;
    border-left: unset !important;
    border-right: unset !important;
    border-top: unset !important;
    border-color: #fff !important;
}

.wpforms-container .wpforms-form .wpforms-field-label {
	color: #fff;
}

/* FOOTER */

footer {
    background: #a20d11;
	color: #fff;
    padding: 50px 0;
}

footer h3 {
	color: #fff;
}

footer hr {
    height: 2px!important;
    background-color: rgb(194 85 88);
    opacity: 1;
}

footer p {
	margin-bottom: 10px;
}

footer a {
	color: #fff!important;
	transition: .2s;
}

footer a:hover {
    color: #FCB913!important;
	text-decoration: none;
	transition: .2s;
}

footer .links a {
    padding-bottom: 5px;
    display: inline-block;
}

.footer-1, 
.footer-2 {
    border-right: 2px solid rgb(194 85 88);
    padding-left: 50px;
}

.footer-3 {
    padding-left: 50px;
}

/* ANIMATION */

@keyframes floatInLeft {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

.float-left-animate {
  opacity: 0;
  animation-fill-mode: forwards;
}

.float-left-animate-1 {
  animation: floatInLeft 1s ease-out 0s forwards;
}

.float-left-animate-2 {
  animation: floatInLeft 1s ease-out 0.5s forwards;
}

.float-left-animate-3 {
  animation: floatInLeft 1s ease-out 1s forwards;
}

.float-left-animate-4 {
  animation: floatInLeft 1s ease-out 1.5s forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in-element {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 0.6s, transform 0.6s;
}

.fade-in-element.visible {
  opacity: 1;
  transform: translateY(0);
}

/* MEDIA QUERIES */

@media only screen and (max-width: 768px) {
	.row>* {
		padding-right: 5%;
		padding-left: 5%;
	}

	h1 {
		font-size: 175%!important;

	}

	h2 {
		font-size: 150%;
	}

	h3 {
		font-size: 125%;
	}
	
	.navbar-nav {
		text-align: center;
		padding-top: 40px;
		margin-bottom: 0;
	}

	.nav-link {
        font-size: 120%;
        margin-bottom: 25px;
	}
	
	ul.dropdown-menu {
		font-size: 100%;
		text-align: center;
		border: none;
		padding: 0;
    	box-shadow: unset;
	}
	
	ul.dropdown-menu li {
		font-size: 100%;
        padding: unset;
	}
	
	ul.dropdown-menu li a {
		font-size: 120%;
		border-bottom: unset;
		padding: 0;
		margin-bottom: 25px;
	}
	
	.navbar-nav .dropdown-menu {
		background: #f9f9f9;
	}
	
	header .btn-primary {
		margin-left: unset;
		font-size: 100%;
		display: table;
		margin: 0 auto 25px;
	}
	
	.logo-wrap {
		position: relative;
		width: 100%;
	}

	.main-section {
		text-align: center;
	}
	
	section p:last-child {
		margin-bottom: 1.5em;
	}
	
	div.img-div-content {
		padding-left: 2rem;
		padding-right: 2rem;
		padding-top: 2rem;
		padding-bottom: 2rem;
		text-align: center;
	}
	
	footer {
		text-align: center;
	}
	
	.mobile-button {
		text-align: center!important;
	}
	
	.mobile-button a {
		margin-top: 30px;
	}
	
	footer img {
		width: 50%;
	}
	
	footer h3 {
		margin: 30px 0 10px!important;
	}
	
	section.floating-panels {
		margin-top: -50px;
	}

	section.floating-panels .panel {
		margin-bottom: 30px;
	}
	
	.no-pt {
		padding-top: 0;
	}
	
	.carousel-caption {
		width: 90%;
		left: 0;
		right: 0;
		margin: 0 auto;
	}

	.carousel-caption h1 {
        font-size: 160% !important;
        margin-bottom: 5px !important;
        text-shadow: 0 0 5px #222;
	}

	.carousel-caption h2 {
		font-size: 120%!important;
        text-shadow: 0 0 5px #222;
	}

	.paxton {
        width: 175px !important;
        margin: 0 auto;
        display: block;
        margin-top: 30px;
	}
}

@media screen and (max-width: 992px){

	.navbar {
        padding: 5px 0;
        position: unset;
        justify-content: unset;
        background: #526350;
	}
	
	.navbar-light .navbar-toggler {
		border: none;
	}
	
	.navbar-light .navbar-toggler-icon {
		background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e);
	}
	
	.navbar-toggler {
   		padding: 25px 12px;
		z-index: 999;
	}

	.navbar-nav {
		margin-top: 0;
	}

	.dropdown-menu.depth_1 {
		background: #eee;
	}
	
	.logo-mobile {
        padding: 0;
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 45%;
        top: 50%;
        transform: translate(0, -50%);
		transition: all .3s;
	}
	
	.navbar-scrolled .logo-mobile {
		width: 115px;
		transition: all .3s;
	}
	
	.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		padding-right: var(--bs-gutter-x, 1rem);
		padding-left: var(--bs-gutter-x, 1rem);
	}

	.navbar {
		background: #fff !important;
	}
	
	.animation:after {
		position: unset;
		width: unset;
		border-bottom: unset;
		transition: unset;
	}

	.dropdown-menu.depth_1 {
		position: unset;
		left: unset;
		top: unset;
		border-radius: unset;
	}

	.carousel-caption h1 {
		font-size: 250%;
	}

	.carousel-caption h2 {
		font-size: 125%;
	}
	
	ul.tick {
		padding-left: 0px;
	}
	
	ul.tick li {
		padding-bottom: 10px;
	}
	
	div.service div {
		margin-bottom: 25px;
	}
	
	div.service div p {
		margin-bottom: 0;
	}

	section.red p:last-child, 
	section.yellow p:last-child, 
	section.grey p:last-child {
		margin-bottom: 0;
	}
	
	div.maintenance-plans {
		margin-bottom: 25px;
	}

	.building-sites-img {
		margin: 30px 0;
	}

	div.accreditations {
		text-align: center;
		margin-bottom: 20px;
	}

	div.accreditations img {
		margin: 0 auto 15px;
	}

	div.accreditations p {
		margin-bottom: 0;
	}
}

@media screen and (min-width: 992px){
	/* Show the first-level dropdown menu on hover */
	.dropdown:hover > .dropdown-menu {
		display: block;
		margin-top: 0;
	}

	/* Show the second-level dropdown menu on hover */
	.dropdown-menu .dropdown:hover > .dropdown-menu {
		display: block;
		margin-top: 0;
	}

	/* Prevent deeper dropdowns from opening unless their parent is hovered */
	.dropdown-menu .dropdown-menu {
		display: none;
	}

	/* Show third-level dropdown when second-level is hovered */
	.dropdown-menu .dropdown:hover > .dropdown-menu {
		display: block;
	}
	
	.dropdown-menu .dropdown:hover > .dropdown-menu .dropdown-item {
		min-width: 200px;  /* Adjust this value as needed */
		white-space: normal;  /* Allow text to wrap */
		word-wrap: break-word;  /* Ensure long words are wrapped if necessary */
	}

	/* Ensure all dropdowns remain positioned properly */
	.dropdown-menu .dropdown-menu .dropdown-menu {
		display: none;  /* This is to avoid any deeper level dropdowns from showing initially */
	}
}