/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: Elegant Themes
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.0
*/
 
/* =Theme customization starts here
------------------------------------------------------- */

:root {
	/*---- MASTER VALUES ----*/

	--master-font-size: 	 100px;
	--master-line-height: 	 1em;
	--master-letter-spacing: 0.03em;
	--master-section-pad: 	 10px;

	/*---- FRAME SIZES ----*/

	--frame-max-xl: 100vw;
	--frame-max-l: 1600px;
	--frame-max-m: 1300px;
	--frame-max-s: 1000px;
	--frame-pad:   320px;
	--frame-width: calc(100% - (var(--frame-pad) / 2));

	/*---- SPACING ----*/

	--column-gap: 10px;
	--row-gap: 10px;

	/*---- FONTS ----*/

	--font-main: 	 "oswald", var(--font-default);
	--font-body:	 "roboto", var(--font-default);
	--font-default:  "sans-serif";
	--font-fa: 		 FontAwesome;
	--font-fa-sharp: "Font Awesome 6 Sharp";

	/*---- FONT SIZING ----*/

	--size-1:  clamp(10px, 0.13rem, 13px);
	--size-2:  clamp(14px, 0.16rem, 16px);
	--size-3:  clamp(16px, 0.18rem, 18px);
	--size-4:  clamp(18px, 0.22rem, 20px);
	--size-5:  clamp(22px, 0.26rem, 28px);
	--size-6:  clamp(24px, 0.30rem, 28px);
	--size-7:  clamp(22px, 0.34rem, 34px);
	--size-8:  clamp(26px, 0.36rem, 36px);
	--size-9:  clamp(26px, 0.42rem, 42px);
	--size-10: clamp(45px, 0.56rem, 56px);
	--size-11: clamp(30px, 0.50rem, 50px);
	--size-12: clamp(34px, 0.54rem, 54px);
	--size-13: clamp(34px, 0.58rem, 58px);
	--size-14: clamp(34px, 0.62rem, 62px);
	--size-15: clamp(34px, 0.66rem, 66px);
	--size-16: clamp(34px, 0.70rem, 70px);

	/*---- PADDING ----*/

	--pad-1:25px;
	--pad-2:50px;
	--pad-3:75px;
	--pad-4:100px;
	--pad-5:125px;
	--pad-6:150px;
	--pad-7:175px;
	--pad-8:200px;


	/*---- COLOURS ----*/

	--colour-primary: 	  #cc0033;
	--colour-secondary:   #C2D7B1;
	--colour-white: 	  #FFF;
	--colour-black: 	  #151515;
	--colour-footer: #1A1A1A;
	--colour-background: #303030;
	--colour-background-2: #424242;
	--colour-text:  #fff;

	/*---- TRANSITIONS ----*/

	--transition: 	all 0.3s cubic-bezier(0,0,0.1,0.9);;
	--transition-fast: all 0.15s cubic-bezier(0,0,0.1,0.9);
	--transition-hover:   	all 0.1s ease-in-out 0s;
}

/*---- UNIVERSAL - FONT SIZE ADJUSTMENT ----*/

@media screen and (max-width:1600px) { :root { --master-font-size: 90px; }}
@media screen and (max-width:1400px) { :root { --master-font-size: 80px; }}
@media screen and (max-width:1200px) { :root { --master-font-size: 70px; }}
@media screen and (max-width:1000px) { :root { --master-font-size: 60px; }}
@media screen and (max-width:800px)  { :root { --master-font-size: 50px; }}
@media screen and (max-width:600px)  { :root { --master-font-size: 40px; }}
@media screen and (max-width:400px)  { :root { --master-font-size: 30px; }}


/*---- DEFAULT - TEXT FORMATTING CSS ----*/

/* Text - Headers */
/* -------------- */

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	font-weight: 	500;
	font-family: 	var(--font-main);
	color: 			var(--colour-text);
	letter-spacing: 0.15em;
	text-transform: none;
	padding-bottom: 0px;
	margin-bottom: 30px;
}

h1, .h1 { font-size: var(--size-10); line-height: calc(var(--master-line-height) * 1); letter-spacing: 0;}
h2, .h2 { font-size: var(--size-5);  line-height: calc(var(--master-line-height) * 1 ); letter-spacing: 0; }
h3, .h3 { font-size: var(--size-4);  line-height: calc(var(--master-line-height) * 1.5); }
h4, .h4 { font-size: var(--size-4);  line-height: calc(var(--master-line-height) * 1.2); }
h5, .h5 { font-size: var(--size-3);  line-height: calc(var(--master-line-height) * 1.2); }
h6, .h6 { font-size: var(--size-3);  line-height: calc(var(--master-line-height) * 1.2); }

p, .p {
	letter-spacing: 0;
}


/* Text - Inline Tags */
/* ------------------ */

strong, b {
	font-weight: 400;
}
strong, span, em, a, i, b, strike {
	font-size: inherit;
	color: inherit;
	line-height: inherit;
}
p span, p , li, .footer .foot-menu > li a, label {
	font-weight: 300;
	color: inherit;
	font-family: var(--font-body);
	letter-spacing: 0px;
	line-height: calc(var(--master-line-height) * 1.8);
	font-size: 16px;
}
a {
	transition: var(--transition);
}
a:hover {
	color: var(--colour-black);
	transition: var(--transition);
}
/* Text - Lists */
/* ------------ */

li { list-style-position: inside; }

/* Ordered Lists */

.et_pb_section ol {
	counter-reset: list-counter;
	padding-left: 30px;
}
.et_pb_section ol li {
	counter-increment: list-counter;
	list-style: none;
}
.et_pb_section ol li::before {
	content: counter(list-counter)".";
	margin: 0px 15px 0px -30px;
	min-width: 10px;
	display: inline-flex;
	font-weight: 500;
}


/*---- DEFAULT - DOCUMENT STRUCTURE CSS ----*/

html {
	font-size: 		var(--master-font-size);
	line-height: 	var(--master-line-height);
	letter-spacing: var(--master-letter-spacing);
	font-family: 	var(--font-main);
}
html body.frame-full-width .body .frame { padding: 0px; }
body, html, .et_pb_section 				{ background-color: var(--colour-background); }
html *::selection 						{ background-color: var(--colour-primary); color: var(--colour-white); }

body {
	color: var(--colour-text);
}

@media screen and (max-width:1600px) { }
@media screen and (max-width:1400px) { }
@media screen and (max-width:1200px) { :root{ --frame-pad: 120px; } }
@media screen and (max-width:1000px) { }
@media screen and (max-width:800px)  { :root{ --frame-pad: 80px; } }
@media screen and (max-width:600px)  { :root{ --frame-pad: 60px; } }
@media screen and (max-width:400px)  { }

/*---- DEFAULT - POST BUILDER STRUCTURE CSS ----*/

.et_pb_section .et_pb_module {
	margin: 0px;
	margin-bottom: 0px !important;
}
.et_pb_section .et_pb_row {
	display: 	flex;
	flex-wrap: 	nowrap;
	row-gap: 	clamp(30px, calc(var(--row-gap) * 6), 60px);
	column-gap: clamp(30px, calc(var(--column-gap) * 6), 60px);
	max-width:  var(--frame-max-l);
	width: 		var(--frame-width);
}
.et_pb_section .et_pb_column {
	display: 		flex;
	flex-direction: column;
	max-width: 		unset;
	/* row-gap: 		clamp(30px, calc(var(--row-gap) * 6), 60px); */
	column-gap: 	clamp(30px, calc(var(--column-gap) * 4), 40px);
	margin: 		0px !important;
	width:			100%;
	float:			none;
}
.et_pb_row::after {
	display: none;
}

.et_pb_section .et_pb_column.et_pb_column_1_4  	{ flex: 1 1 25%;  }
.et_pb_section .et_pb_column.et_pb_column_1_3   { flex: 1 1 33.3%;  }
.et_pb_section .et_pb_column.et_pb_column_1_2   { flex: 1 1 45%;  }

@media screen and (max-width:1600px){}
@media screen and (max-width:1400px){
	.et_pb_section .et_pb_row:has(.et_pb_column.et_pb_column_1_4) { flex-wrap: wrap; }
	.et_pb_section .et_pb_column.et_pb_column_1_4 { flex: 1 1 45%; }
}
@media screen and (max-width:1200px){}
@media screen and (max-width:1000px){
	:root { --row-gap: 8px; --column-gap: 8px; }

	.et_pb_section .et_pb_row:has(.et_pb_column.et_pb_column_1_2) { flex-wrap: wrap; }
	.et_pb_section .et_pb_column.et_pb_column_1_2 { flex: 1 1 100%; }
}
@media screen and (max-width:800px) {
	.et_pb_section .et_pb_column.et_pb_column_1_4 { flex: 1 1 100%; }
	.et_pb_section .et_pb_column {
		row-gap: 	clamp(30px, calc(var(--row-gap) * 6), 60px);
	}
}
@media screen and (max-width:600px) {
	:root { --row-gap: 4px; --column-gap: 4px; }
}
@media screen and (max-width:400px) {}

/*---- DEFAULT - SECTION CSS ----*/

.et_pb_section.colour-1 { background-color: var(--colour-primary); 	}
.et_pb_section.colour-2 { background-color: var(--colour-secondary); }
.et_pb_section.colour-white { background-color: var(--colour-white); }
.et_pb_section.colour-black { background-color: var(--colour-black); }


#main-content .et_pb_section { padding: clamp(60px, calc(var(--master-section-pad) * 15), 150px); }
#main-content .et_pb_section.section-pad-0 { padding: clamp(0px,  calc(var(--master-section-pad) * 0), 0px);    }
#main-content .et_pb_section.section-pad-1 { padding: clamp(60px, calc(var(--master-section-pad) * 4), 40px);   }
#main-content .et_pb_section.section-pad-2 { padding: clamp(60px, calc(var(--master-section-pad) * 6), 60px);   }
#main-content .et_pb_section.section-pad-3 { padding: clamp(60px, calc(var(--master-section-pad) * 8), 80px);   }
#main-content .et_pb_section.section-pad-4 { padding: clamp(60px, calc(var(--master-section-pad) * 10), 100px); }
#main-content .et_pb_section.section-pad-5 { padding: clamp(60px, calc(var(--master-section-pad) * 12), 120px); }
#main-content .et_pb_section.section-pad-6 { padding: clamp(60px, calc(var(--master-section-pad) * 18), 180px); }


#main-content .et_pb_section.pad-top-none { padding-top: 0px; }
#main-content .et_pb_section.pad-bot-none { padding-bottom: 0px; }

#main-content .et_pb_section { padding-left: 0px !important; padding-right: 0px !important; }

body .et_pb_section:where(.colour-1, .colour-2, .overlay-1, .overlay-2, .overlay-3) .et_pb_text *,
body .et_pb_section:where(.colour-1, .colour-2, .colour-black, .overlay-1, .overlay-2, .overlay-3) .et_pb_module_heading { color: var(--colour-white); }
body .et_pb_section:where(.overlay-1, .overlay-2, .overlay-3) .et_pb_image_wrap {
	position: relative;
	z-index: 1;
}
body .et_pb_section:where(.overlay-1, .overlay-2, .overlay-3) .et_pb_image_wrap::before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--colour-black);
	opacity: 0.5;
	z-index: 1;
}

@media screen and (max-width: 1400px) { :root { --master-section-pad: 8px; } }
@media screen and (max-width: 1000px) { :root { --master-section-pad: 6px; } }
@media screen and (max-width: 600px)  { :root { --master-section-pad: 4px; } }

/*---- DEFAULT - BUTTON CSS ----*/

.et_pb_button_module_wrappers {
	display: flex;
}

body .et_pb_section button.et_pb_button,
body .et_pb_section a.et_pb_button {
    position: relative;
    padding: 15px 40px !important;
    background: none !important;
	border: none !important;
	width: fit-content;
    z-index: 2;
	opacity: 1;
	border-radius: 2px;
	overflow: hidden;

    display: flex;
	align-items: center;
    column-gap: 20px;

	font-weight: 500;
	font-size: var(--size-1);
	font-family: var(--font-main);
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 1.95px;
	white-space: nowrap;
	color: inherit;
	line-height: calc(var(--master-line-height) * 1.5);

	transition: var(--transition);
}
@media screen and (max-width:600px){
	body .et_pb_section button.et_pb_button,
	body .et_pb_section a.et_pb_button {
    	padding: 15px 20px !important;
	}
}

body .et_pb_section button.et_pb_button:hover,
body .et_pb_section a.et_pb_button:hover {
	color: var(--colour-primary);
}

/* body .et_pb_section button.et_pb_button::after,
body .et_pb_section a.et_pb_button::after {
    content: "\f054";
    position: unset;
    opacity: 1;
    font-family: var(--font-fa) !important;
    color: inherit;
    font-size: 14px;
    margin-left: 20px;
    display: flex;
    align-items: center;
    transition: var(--transition);
    z-index: 3;
} */

body .et_pb_section button.et_pb_button::after,
body .et_pb_section a.et_pb_button::after {
	color: var(--colour-primary);
	display: none !important;
}

body .et_pb_section button.et_pb_button::before,
body .et_pb_section a.et_pb_button::before {
    content: "";
    width: 100%;
    height: 100%;
	background-color: var(--colour-primary);
    display: flex;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
    opacity: 1;
    transition: var(--transition);
}
body .et_pb_section button.et_pb_button:hover::before,
body .et_pb_section a.et_pb_button:hover::before {
    background-color: var(--colour-white) !important;
}

/* .et_pb_button i, button i,
.et_pb_button span, button span,
.et_pb_button em, button em {
	font-weight: 300;
	font-family: var(--font-fa-sharp);
	font-size: 1.2em;
	color: inherit;
} */

/*----  BUTTON VARIANTS ----*/

/* WHITE - BTN */
body .et_pb_section button.et_pb_button.white-btn::before,
body .et_pb_section a.et_pb_button.white-btn::before {
    background-color: var(--colour-white);
}
body .et_pb_section button.et_pb_button.white-btn span,
body .et_pb_section a.et_pb_button.white-btn span {
	color: var(--colour-primary);
}
body .et_pb_section button.et_pb_button.white-btn:hover::before,
body .et_pb_section a.et_pb_button.white-btn:hover::before {
    background-color: var(--colour-background) !important;
}


/*---- SCROLL BUTTON ----*/
body .et_pb_section .et_pb_row:has(.scroll-btn),
body .et_pb_section .et_pb_column:has(.scroll-btn),
body .et_pb_section .et_pb_button_module_wrapper:has(.scroll-btn),
body .et_pb_section a.et_pb_button.scroll-btn {
	position: unset;
}
body .et_pb_section a.et_pb_button.scroll-btn {
	position: absolute;
	bottom: 30px;
	left: 50%;
	padding: 0px !important;
}
body .et_pb_section a.et_pb_button.scroll-btn::before {
	display: none;
}
body .et_pb_section a.et_pb_button.scroll-btn::after {
	content: '\f322';
	color: var(--colour-white);
	margin: 0;
	font-size: 18px;
}

@media screen and (max-width:1600px){}
@media screen and (max-width:1400px){}
@media screen and (max-width:1200px){}
@media screen and (max-width:1000px){}
@media screen and (max-width:800px) {}
@media screen and (max-width:600px) {}
@media screen and (max-width:400px) {}

/*---- DEFAULT - PB BLOCK CSS ----*/


/* Block - Image */
/* --------------- */
.et_pb_image .et_pb_image_wrap {
	width: 100%;
}

@media screen and (max-width: 1000px) {
body .et_pb_module .et_pb_image_wrap img {
		width: 100%;
	}
}
/* Block - Content */
/* --------------- */

.center.et_pb_text * {
	text-align: center;
}

#left-area ul, .entry-content ul, .et-l--body ul, .et-l--footer ul, .et-l--header ul {
    padding: 0px;
    line-height: 26px;
}

.et_pb_section .et_pb_divider:before {
    border-top-color: var(--colour-grey);
}

/* Negative Margin */

.nm-200 {
	margin-top: -200px !important;
}

/* Block - FAQ */
/* -------------- */

.et_pb_row:has(.et_pb_toggle) {
	max-width: var(--frame-max-s);
}
.et_pb_row:has(.et_pb_toggle) .et_pb_column {
	row-gap: 0px;
}
.et_pb_row:has(.et_pb_toggle) .et_pb_module_heading {
	text-align: center;
}
.et_pb_toggle_close,
.et_pb_toggle_open {
    background-color: var(--colour-background);
    padding: 50px;
}
.et_pb_toggle_close .et_pb_toggle_title, .et_pb_toggle_item h5 {
    color: var(--colour-black) !important;
	margin: 0px;
	font-size: 20px;
	font-weight: 500;
	line-height: 30px;
	text-transform: none;
	letter-spacing: normal;
}
.et_pb_module.et_pb_toggle_item:not(:last-child) {
	border-bottom: 1px solid #2222222e;
}
.et_pb_toggle .et_pb_toggle_title:before {
	content: '\f055';
	font-family: var(--font-fa) !important;
    right: auto;
    left: -50px;
    font-size: 22px;
    color: #888;
}
.et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title:before {
	content: '\f056';
    color: var(--colour-primary);
}

.et_pb_column .et_pb_module.et_pb_toggle {
	margin: 0px;
}
.et_pb_toggle {
    border: 0px solid;
}


@media screen and (max-width: 800px) {
	.et_pb_toggle_close .et_pb_toggle_title, .et_pb_toggle_item h5 {
	    padding-right: 0 !important;
	}
	.et_pb_toggle .et_pb_toggle_title:before {
	    left: auto;
	    right: -50px;
	}
	.et_pb_toggle_close, .et_pb_toggle_open {
		padding-left: 0px;
	}
	.et_pb_toggle_close .et_pb_toggle_title, .et_pb_toggle_item h5 {
	    font-size: 18px;
	}
}

@media screen and (max-width: 600px) {
	.et_pb_toggle_close .et_pb_toggle_title, .et_pb_toggle_item h5 {
	    font-size: 16px;
	}
}
/* Block - Slider */
/* -------------- */


.et_pb_section .et_pb_module .swiper-button-prev,
.et_pb_section .et_pb_module .swiper-button-next {
	background-color: var(--colour-primary) !important;
	background-image: none !important;
	border-radius: 0px;
	transition: var(--transition);
}
.et_pb_section .et_pb_module .swiper-button-next:hover,
.et_pb_section .et_pb_module .swiper-button-prev:hover {
	background-color: var(--colour-white) !important;
	transition: var(--transition);
}
.et_pb_section .et_pb_module .swiper-button-next:hover i,
.et_pb_section .et_pb_module .swiper-button-prev:hover i {
	color: var(--colour-primary);
	transition: var(--transition);
}
.divi8-testi-icon-left, .divi8-testi-icon-right {
    font-size: var(--size-5) !important;
}


@media screen and (max-width:1600px){}
@media screen and (max-width:1400px){}
@media screen and (max-width:1200px){}
@media screen and (max-width:1000px){}
@media screen and (max-width:800px) {

}
@media screen and (max-width:600px) {}
@media screen and (max-width:400px) {

}

/*---- DEFAULT - FORM CSS ----*/

body .et_pb_module label {
	font-size: var(--size-1);
	font-family: var(--font-main);
	color: var(--colour-secondary);
}
body .et_pb_module .et_pb_contact_field {
	border: 0px;
	padding: 0px;
	display: flex;
	flex-direction: column;
	row-gap: 0px;
}
body .et_pb_module .et_pb_contact .et_pb_contact_field_half {
    width: 100%;
    float: none;
	max-width: calc(50% - 15px);
    flex: 0 0 calc(50% - 15px);
	margin: 0px;
}
body .et_pb_contact_form {
	display: flex;
	flex-wrap: wrap;
	column-gap: 30px;
	row-gap: 25px;
	margin: 0px;
}
body .et_pb_contact_form.clearfix::before,
body .et_pb_contact_form.clearfix::after {
	display: none;
}
body .et_contact_bottom_container {
	max-width: 100%;
	flex: 0 0 100%;
    width: 100%;
	float: none;
	justify-content: flex-end;
}
body .et_pb_module input {
	padding: 0px;
}
body .et_pb_module .et_pb_contact :where(input, textarea, select) {
	padding: 15px;
	border-radius: 0px;
	border: 0px;
	border-bottom: 1px solid var(--colour-alternate-3);
	font-family: var(--font-body);
	font-size: var(--size-2);
	font-weight: 300;
	outline: unset;
	appearance: none;
}
body .et_pb_module .et_pb_contact :where(input, textarea, select)::placeholder {
	color: var(--colour-secondary);
}
body .et_pb_module .et_pb_contact :where(input, textarea, select):hover,
body .et_pb_module .et_pb_contact :where(input, textarea, select):focus {
	border-color: var(--colour-primary);
}
body .et_pb_module .et_pb_contact textarea {
	min-height: 150px;
}
body .et_pb_module .et_pb_contact .et_pb_contact_field:has(textarea) {
	max-width: 100%;
	flex: 0 0 100%;
}
body .et_pb_contact_submit {
    position: relative;
    transition: var(--transition);
    color: var(--colour-primary);
    font-size: 12px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    line-height: 1.2em;
    font-weight: 500;
    padding: 15px 25px !important;
    background: none !important;
    border: none !important;
    z-index: 3;
	margin: 0px;
}


@media screen and (max-width:1600px) { }
@media screen and (max-width:1400px) { }
@media screen and (max-width:1200px) { }
@media screen and (max-width:1000px) { }
@media screen and (max-width:800px) { }


/* Default CSS END */


/*---- HEADER ----*/

header {
	padding: 0;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 101;
	position: absolute;
}
header .header-logo img {
	min-width: 300px;
	max-width: 300px;
}
@media screen and (max-width:600px){
	header .header-logo img {
		min-width: 150px;
		max-width: 150px;
	}
}
header .header-buttons {
	justify-content: flex-end;
    display: flex;
    width: 100%;
}
header .et_pb_section {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    background: transparent;
}
header .et_pb_section .et_pb_row {
    max-width: 100%;
	width: 100%;
	padding: 40px 50px;
    margin: 0 auto;
    display: flex;
    align-items: center;
	justify-content: space-between;
}
header .et_pb_section .menu-item {
	display: flex;
	align-items: center;
}
header .et_pb_section .et_pb_column.et_pb_column_1_3:has(img),
header .et_pb_section .et_pb_column.et_pb_column_1_3:has(.et_pb_button) {
	flex: 1 1 5%;
}
header .et_pb_section .et_pb_column:has(.et_pb_menu) {
    width: 100%;
	justify-content: center;
}
header .et_section_regular {
    display: flex;
	align-items: center;
	padding: 0px;
	max-width: 100%;
	width: 100%;
}
header .et_pb_section .et_pb_icon_wrap .et-pb-icon {
    font-size: 20px !important;
    color: var(--colour-secondary) !important;
    font-weight: 300 !important;
    padding: 10px;
    transition: var(--transition);
}
header .et-pb-icon:hover {
    background-color: var(--colour-white);
    color: var(--colour-primary) !important;
    transition: var(--transition);
    padding-top: 12px;
}
header img {
    max-width: 80px;
    width: 100%;
    min-width: auto;
    object-fit: contain;
}
header .et_pb_column:has(.et_pb_button_module_wrapper),
header .et_pb_column:has(.et_pb_icon) {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: 20px;
}
header .et_pb_section .et_pb_button_module_wrapper.et_pb_module,
header .et_pb_section .et_pb_icon.et_pb_module {
    margin-bottom: 0px;
}
header .et_pb_section .et_pb_module {
    background-color: transparent;
}
header .et_pb_menu .et-menu {
    margin-left: 0px;
    margin-right: 0px;
}
header .et-menu a {
    display: flex;
    justify-content: center;
	font-size: 13px;
    font-weight: 400;
    color: var(--colour-white);
    font-family: var(--font-main);
    border: none;
    position: relative;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    transition: var(--transition);
}

/*Header Responsive Override*/
@media screen and (max-width:1600px) {

}
@media screen and (max-width:1500px) {
	header .et_pb_section .et_pb_row {
		flex-wrap: wrap;
		row-gap: 7px;
	}
	header .et_pb_section .et_pb_column:has(.et_pb_menu) {
	    width: 100%;
	    justify-content: center;
	    order: 2;
	    flex: 1 1 100%;
	}
	header .et_pb_section .et_pb_column.et_pb_column_1_3:has(img), header .et_pb_section .et_pb_column.et_pb_column_1_3:has(.et_pb_button) {
	    flex: 1 1 45%;
	}

}
@media screen and (max-width:1300px) {

}
@media screen and (max-width:1200px) {

}
@media screen and (max-width:1100px) {

}
@media screen and (max-width:1000px) {
	header .menu-item a:hover {
	    text-decoration: none;
	    background: none !important;
	    color: var(--colour-secondary);
	    transition: var(--transition);
	}
	header .menu-item {
		width: 100%;
		border-top: 1px solid rgba(242, 247, 249, 0.1);
		padding: 0px 40px;
	}
	header .et_pb_menu .et_pb_menu__menu {
		display: none;
	}
	header .et_pb_menu .et_mobile_nav_menu {
		display: flex;
	}
	header .et_pb_section .et_pb_column:has(.et_pb_menu) {
		order: unset;
		flex: 1 1 45%;
		justify-content: flex-end;
		position: unset;
	}
	header .et_pb_section .et_pb_module,
	header .et_pb_menu_inner_container {
		position: unset;
	}
	header .et_pb_section .et_pb_column.et_pb_column_1_3:has(.et_pb_button) {
		display: none;
	}

	header .et_pb_section .et_pb_menu .et_mobile_menu {
		display: none;
		position: absolute;
		top: 0;
		left: 0 !important;
		right: 0 !important;
		bottom: 0;
		width: 100% !important;
		overflow-y: scroll;
		border-radius: 0;
		background-color: var(--colour-primary) !important;
		backdrop-filter: unset;
		border: none !important;
		min-height: 100vh;
		padding: 135px 0px 119px !important;
		left: 0 !important;
		clip: unset !important;
		transition: var(--transition);
		pointer-events: none;
		opacity: 0;
		z-index: 1;
	}

	header .mobile_nav.opened .et_mobile_menu {
		pointer-events: all;
		opacity: 1;
		transition: var(--transition);
	}

}
@media screen and (max-width:1000px) {}
@media screen and (min-width:1001px) {}
@media screen and (max-width:1200px) and (min-width:1000px) {}
@media screen and (max-width:600px) {
	header img {
	    min-width: 150px;
	    max-width: 150px;
	    object-fit: contain;
	}
	header .et_pb_section .et_pb_row {
        flex-wrap: nowrap;
    }
}
@media screen and (max-width:450px) {}

.font-large p,
.font-large p span {
	font-size: clamp(20px, 0.30rem ,26px);
	line-height: calc(var(--master-line-height) * 1.7);
}

/*---- FOOTER ----*/
footer p {
	font-size: 14px;
}
footer p span {
	display: flex;
	column-gap: 10px;
	align-items: flex-start;
}
footer .et_pb_section {
	display: flex;
	align-items: flex-start;
	max-width: var(--frame-max-m);
	width: var(--frame-width);
	margin: 0 auto;
	padding: 0px;
}
footer,
footer .et_pb_section,
footer .et_pb_module.et_pb_menu {
	background-color: var(--colour-background);
}
footer .et_pb_row:has(img) {
	max-width: 400px;
	min-width: 400px;
	padding: 0px;
	margin: 0px;
}
footer .et_pb_row {
	max-width: 200px;
	flex: 1 1 200px;
	margin: 0px;
}
footer .et_pb_row a {
	text-decoration: underline;
	color: var(--colour-primary);
	font-weight: 700;
}
footer img {
	max-width: 240px;
	width: 100%;
	margin-bottom: 40px;
}
footer ul {
	display: flex;
	flex-direction: column;
	padding: 0px !important;
}
footer ul li {
	color: #fff;
    list-style: none;
	font-size: 14px;
}
footer ul li:first-child {
	color: var(--colour-primary);
}
footer .et_pb_row .et_pb_column {
	align-items: center;
}
footer .et_pb_text_inner {
	text-align: center;
	letter-spacing: 0;
}
footer .et_pb_text_inner ul:not(:last-child) {
	display: flex;
	flex-direction: column;
	row-gap: 15px;
}
footer .et_pb_text_inner ul:not(:last-child)::after {
	content: '';
	display: flex;
	width: 100%;
	height: 1px;
	background-color: var(--colour-white);
	opacity: 0.2;
	margin-bottom: 15px;
}
footer h5 {
	color: var(--colour-white);
	font-size: 16px;
	margin-bottom: 15px;
}
footer h6 {
	color: var(--colour-white);
	font-size: 16px;
	margin-bottom: 0px;
}
footer p,
footer .et-menu a {
	color: var(--colour-white);
}
footer .et_pb_row .et_pb_column:not(:has(img)) {
	display: flex;
	flex-direction: column-reverse;
	row-gap: 25px;
}
footer .et-menu {
	flex-direction: column;
	row-gap: 5px;
}
footer .et_pb_row:not(:first-child) {
    margin-left: 80px !important;
}
footer .et_pb_row:first-child {
    align-items: center;
}

footer .bottom-footer {
	max-width: 1700px;
}
footer .bottom-footer  .et_pb_row {
	max-width: 100%;
}
footer .bottom-footer .et_pb_row .et_pb_column {
	display: flex;
	flex-direction: row;
	column-gap: 20px;
	align-items: center;
}
footer .bottom-footer .et_pb_row .et_pb_column:last-child {
	justify-content: flex-end;
}
footer .bottom-footer .et_pb_row .et_pb_column .et_pb_module {
	margin: 0px;
}
footer .bottom-footer .et_pb_row:first-child {
    margin-right: 0px;
}
footer .mobile_menu_bar {
	display: none !important;
}
footer .et_pb_menu .et_pb_menu__menu {
	display: flex !important;
}
footer .et_pb_menu__wrap {
	-webkit-box-pack: start !important;
	-ms-flex-pack: start !important;
	justify-content: flex-start !important;
}
footer .et_pb_column:not(:has(img)) a {
	transition: var(--transition-fast);
	position: relative;
}

footer .et_pb_column:not(:has(img)) a:hover {
    color: var(--colour-white);
	transition: var(--transition-fast);
}
@media screen and (max-width: 1400px) {
	footer .et_pb_section {
		flex-wrap: wrap;
		column-gap: 40px;
		row-gap: 60px;
	}
	footer .et_pb_row:has(img) {
		max-width: 50%;
		flex: 1 1 50%;
		min-width: 100%;
	}
	footer .et_pb_row:not(:first-child) {
    	margin-left: 0px !important;
	}
	footer .et_pb_section .et_pb_row:first-child .et_pb_text {
		max-width: 600px;
	}
	footer .et_pb_section.bottom-footer {
	    padding-top: 80px;
	}
}
@media screen and (max-width: 1000px) {
    footer .et_pb_section.bottom-footer .et_pb_row {
        flex-wrap: nowrap !important;
    }
}
@media screen and (max-width: 700px) {
    footer .et_pb_section.bottom-footer .et_pb_row {
        flex-wrap: wrap !important;
		row-gap: 30px;
    }
	footer .bottom-footer .et_pb_row .et_pb_column,
	footer .bottom-footer .et_pb_row .et_pb_column:last-child {
		justify-content: center;
	}
}
@media screen and (max-width: 600px) {
	footer .et_pb_row .et_pb_column {
		align-items: center;
	}
	footer ul li {
		display: flex;
		justify-content: center;
	}
	footer .et_pb_section .et_pb_row:first-child .et_pb_text {
		text-align: center;
	}
	footer .et_pb_section {
		row-gap: 20px;
	}
}


/*----- MOBILE DROPDOWN -----*/
@media screen and (max-width:1000px) {

	.et_pb_menu .mobile_nav .mobile_menu_bar {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		transform: none;
		margin-bottom: -2px;
		z-index: 10;
	}

	header .et_pb_section .et_pb_column.et_pb_column_1_3:has(img) {
		z-index: 10;
	}

	.et_pb_menu .mobile_nav .mobile_menu_bar:before {
		z-index: 9999;
		font-size: 50px;
		color: var(--colour-primary);
		padding: 0 !important;
		display: flex;
		cursor: pointer;
		flex-direction: column;
		justify-content: center;
		align-items: flex-end;
		height: 30px;
	}

	.et_pb_menu .mobile_nav .mobile_menu_bar::before,
	.et_pb_menu .mobile_nav .mobile_menu_bar::after {
		content: "";
		width: 45px;
		height: 4px;
		top: 0px;
		position: relative;
		background-color: var(--colour-text);
		transition: all 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0.3s, transform 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0s, background-color 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0s;
	}
	.et_pb_menu .mobile_nav .mobile_menu_bar::before,
	.et_pb_menu .mobile_nav .mobile_menu_bar::after {
		background-color: var(--colour-primary);
	}
	.et_pb_menu .mobile_nav .mobile_menu_bar::after {
		background-color: var(--colour-primary);
		box-shadow: 0px 22px 0 var(--colour-primary);
	}

	.et_pb_menu .mobile_nav .mobile_menu_bar::after {
		top: -15px;
		width: 45px;
	}

	.header-overlay:not(.header-floating-dark) .header .col.logo-wrap .mobile-menu-trigger i.fa-bars::before,
	.header-overlay:not(.header-floating-dark) .header .col.logo-wrap .mobile-menu-trigger i.fa-bars::after {
		background-color: var(--colour-white);
	}

	.header-overlay:not(.header-floating-dark) .header .col.logo-wrap .mobile-menu-trigger:not(.open) i.fa-bars::after {
		box-shadow: 0px 22px 0 var(--colour-white);
		background-color: var(--colour-white);
	}

	.et_pb_menu .mobile_nav.opened .mobile_menu_bar::before {
		top: 2px;
		width: 35px;
		background-color: var(--colour-white);
		transform: rotate(45deg);
		transition: all 0.2s cubic-bezier(0, 0, 0.1, 0.9), transform 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0.3s, background-color 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0s;
	}

	.et_pb_menu .mobile_nav.opened .mobile_menu_bar::after {
		top: -2px;
		width: 35px;
		background-color: var(--colour-white);
		box-shadow: 0 0px 0 var(--colour-white);
		transform: rotate(-45deg);
		transition: all 0.2s cubic-bezier(0, 0, 0.1, 0.9), transform 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0.3s, background-color 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0s;
	}
}

/*---- INPUT / FORM ----*/
form {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 30px;
  background-color: #fff;
  font-size: 16px;
}

label {
  margin-bottom: 10px;
  color: var(--colour-grey);
  font-size: 16px;
  text-transform: uppercase;
}

input[type="text"],
input[type="email"],
input[type="password"],
textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 20px;
  border: 2px solid var(--colour-white);
  border-radius: 5px;
  font-size: 16px;
  color: #333;
  background-color: var(--colour-white);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus {
  border-color: var(--colour-primary);
  outline: none;
  box-shadow: 0 0 5px var(--colour-primary);
}

input[disabled],
textarea[disabled] {
  background-color: #e9e9e9;
  border-color: #ddd;
  color: #aaa;
  cursor: not-allowed;
}

textarea {
  min-height: 120px;
  resize: vertical;
  background-color: var(--colour-white);
}

button[type="submit"],
input[type="submit"] {
  width: 100%;
  padding: 15px 25px !important;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background-color: var(--colour-primary);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: var(--transition);
  text-transform: uppercase;
}

button[type="submit"]:hover,
input[type="submit"]:hover {
  background-color: #ff6600;
  transform: translateY(-2px);
}

@media screen and (max-width:1300px){
	.et_pb_button_module_wrappers {
		display: flex;
		padding-top: 20px;
	}
}

.dsm_button .et_pb_button_two {
	margin-top: 0px !important;
}

/* Buttons Hide */
.et_pb_button_module_wrapper:has(.desktop-hide) {
	display: none;
}

@media screen and (max-width:600px){
	.et_pb_button_module_wrapper:has(.desktop-hide) {
		display: block;
	}
	.et_pb_button_module_wrapper:has(.mobile-hide) {
		display: none;
	}
}


/* Validation Styles */
input:valid,
textarea:valid {
  border-color: #28a745;
}

input:invalid,
textarea:invalid {
  border-color: #dc3545;
}

/* Helper Text for Inputs */
input:required::after,
textarea:required::after {
  content: "*";
  color: #dc3545;
  margin-left: 5px;
}

/* Success Message */
input:valid + .valid-feedback,
textarea:valid + .valid-feedback {
  display: block;
  color: #28a745;
  font-size: 16px;
}

/* Error Message */
input:invalid + .invalid-feedback,
textarea:invalid + .invalid-feedback {
  display: block;
  color: #dc3545;
  font-size: 16px;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  margin-bottom: 5px;
}

input[type="checkbox"],
input[type="radio"] {
  margin-right: 10px;
}

select {
  width: 100%;
  padding: 12px;
  margin-bottom: 20px;
  border: 2px solid #ccc;
  border-radius: 5px;
  background-color: #f9f9f9;
  font-size: 1rem;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

select:focus {
  border-color: var(--colour-primary);
  outline: none;
}

@media (max-width: 600px) {
  form {
    padding: 20px;
  }

  button[type="submit"],
  input[type="submit"] {
    width: 100%;
  }
}





/*---- SECTION - BANNER ----*/
.section-banner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 100vh;
    padding: 0 !important;
    background-color: var(--colour-black);
	overflow: hidden;
}
.section-banner .et_pb_column {
	row-gap: 10px;
}
@media screen and (max-width:400px){
	.section-banner .et_pb_column {
		row-gap: 0px;
	}
}
.section-banner.home {
	min-height: 78vh;
}
.section-banner .et_pb_row:has(img) {
    padding: 0px;
    max-width: 100%;
    width: 100%;
	height: 100%;
    overflow: hidden;
}
.section-banner .et_pb_image,
.section-banner .et_pb_image_wrap {
	height: 100%;
}
.section-banner .et_pb_row:has(.et_pb_image) {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
	height: 100%;
}
.section-banner .et_pb_row:has(.et_pb_heading),
.section-banner .et_pb_row:has(h1) {
    display: flex;
	z-index: 3;
	padding: 100px 0 0;
}
.section-banner .et_pb_row .et_pb_text {
	max-width: 600px;
}
.section-banner .et_pb_row:has(.et_pb_heading) .et_pb_text_inner,
.section-banner .et_pb_row:has(.et_pb_heading) .et_pb_module_heading,
.section-banner .et_pb_row h1,
.section-banner .et_pb_row p {
    color: var(--colour-white);
}
.section-banner .et_pb_row h5 {
	margin: 0px;
}
.section-banner .et_pb_text_inner * {
	color: var(--colour-white);
}
.section-banner .et_pb_image_wrap {
	position: relative;
	z-index: 1;
}
.section-banner .et_pb_image_wrap::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: linear-gradient(270deg, rgba(48, 48, 48, 0.00) 40.26%, rgba(48, 48, 48, 0.54) 62.97%, #131313 88.19%);
}
.section-banner img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.service-list ul {
	display: flex;
	flex-direction: column;
	row-gap: 10px;
	margin: 20px 0;
}
.service-list ul li {
	list-style: none;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	column-gap: 15px;
}
.service-list ul li i {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 2px;
	min-width: 40px;
	min-height: 40px;
	background-color: var(--colour-primary);
	color: var(--colour-white);
}

/*---- CONTACT SECTION ----*/
.section-contact.et_pb_section {
	background-color: var(--colour-primary);
	background-image: url(/wp-content/uploads/2025/06/pattern.png);
	background-size: 6px;
	background-repeat: repeat;
	padding: 50px 0 80px 0 !important;
	border: none;
	border-bottom: solid 1px var(--colour-primary)
}
.section-contact.et_pb_section .et_pb_column {
	justify-content: flex-end;
    align-content: flex-start;
    flex-wrap: wrap;
}
.section-contact.et_pb_section .et_pb_column:has(.contact-info) {
	row-gap: 35px;
	justify-content: center;
}
.section-contact.et_pb_section .et_pb_column:has(.contact-info) h2 {
	margin: 0px;
}

.section-contact .et_pb_module,
.section-contact .et_pb_code_inner {
	width: 100%;
}
.section-contact .et_pb_module .et_pb_code_inner iframe {
	border: 0;
    max-height: 300px;
    border-radius: 5px;
	width: 100%;
}
.section-contact.et_pb_section h1, .h1 {
	font-size: var(--size-11);
	margin-bottom: 0px;
}
.contact-info ul {
	display: flex;
	flex-direction: column;
	row-gap: 10px;
}
.contact-info ul li {
	display: flex;
	flex-direction: row;
	align-items: center;
	column-gap: 15px;
	list-style: none;
	border: 1px solid var(--colour-white);
	max-width: fit-content;
	padding-right: 30px;
	font-family: var(--font-main);
	letter-spacing: 1px;
	border-radius: 2px;
	background-color: var(--colour-primary);
}
.contact-info ul li i {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--colour-white);
	min-width: 40px;
	min-height: 40px;
	color: var(--colour-primary) !important;
}

.social-links {
	padding: 0 !important;
}

@media screen and (max-width:1300px){
	.section-contact {
		flex-direction: column;
	}
	.section-contact.et_pb_section .et_pb_column:has(.contact-info) {
		row-gap: 0px;
	}
	.section-contact.et_pb_section .et_pb_column:has(.contact-info) h2 {
		margin-bottom: 20px;
	}
	.section-contact .et_pb_row {
		row-gap: 20px
	}
	.contact-info ul {
		flex-direction: row;
		flex-wrap: wrap;
		column-gap: 20px;
	}
	.section-contact .et_pb_row:has(h1, .h1) {
		padding-bottom: 10px;
	}
}