* { box-sizing: border-box; margin: 0; padding: 0; }

html,body { font-size: 15px; font-family: "DM Sans", sans-serif; background: #ffffff; color: #17231f; line-height: 1.6; scroll-behavior: smooth; }

main { max-width: 1920px; margin: auto; }

a { text-decoration: none; color: unset; }
ul { list-style: none; }
img { vertical-align: middle; }

p { color: var(--tc); }
em { font-style: normal; }

h1,h2 { font-family: var(--ff2); line-height: 1.12; letter-spacing: -.045em; }
h1,h2,h3,h4,h5,h6 { line-height: 1.12; font-weight: 600; }
section { overflow: hidden; }
button { border: 0; outline: 0; font-family: var(--ff); font-size: 15px; letter-spacing: 1px; }
input, select, textarea { font-family: var(--ff); }

.widget_section { display: block; padding: 60px 16px; position: relative; }
.container { max-width: 1140px; margin: auto; }

:root {

	--pc:#083264;
	--sc:#108a93;
	--tc:#64716b;
	--ac:#c49a55;

	--c1: #ff6900;

	--bg1 : #f6f6f6;

	--navy:#163e69;
	--navy2:#0e3155;
	--mint:#eaf5f1;
	--cream:#fbf8f3;
	--white:#fff;

	--shadow:0 20px 60px -20px rgba(255,92,0,.35);
	--bs: 0 3px 15px 0 #0000001a;
	--bs1: 0 3px 15px 0 #16537b;
	--bs2 : 0 3.4px 2.7px -30px #0000000f, 0 8.2px 8.9px -30px #00000012, 0 25px 40px -30px #00000033;
	--ts : 0.4s ease-in-out;
	--ff : "DM Sans", sans-serif;
	--ff2 : "Playfair Display", serif;
	--fa  : "FontAwesome", "Font Awesome 7 Pro", "Font Awesome 6 Free", "Font Awesome 7 Free";

	--grad: linear-gradient(90deg, var(--pc) 0%, var(--sc) 77%);
}


.header { display: block; padding: 16px; position: sticky; top: 0; background: #fff; border-bottom: 1px solid #ddd; z-index: 9999;  }

.mobile_view { width: 100%; display: none; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--bl); padding: 8px 16px; }
.mobile_view .btnOnOff { font-size: 22px; }
.btnOnOff { display: none; width: 38px; height: 38px; background: var(--pc); color: #fff; border-radius: 4px; }

.nav_area { display: flex; justify-content: space-between; align-items: center; max-width: 1140px; margin: auto; }
.site_logo { width: 200px; }
.site_logo a { display: block; }
.site_logo img { width: 100%; height: auto; }

.navbar { display: flex; justify-content: space-between; align-items: center; }
.navLinks { display: flex; gap: 12px; }
.navLinks li { position: relative; }
.navLinks li a,
.navLinks li label { display: block; font-size: 14px; padding: 9px 0px; font-weight: 500; transition: var(--ts); }
.navLinks li a:hover,
.navLinks li label:hover { color: var(--pc); }

/* Submenu */
.submenu input { display: none; }
.dropdown { opacity: 0; visibility: hidden; width: 260px; position: absolute; top: 100%; left: 0; right: 0;
	background: #fff; color: var(--tc); box-shadow: 0 0 10px #00000033; border-top: 3px solid var(--pc); transform: translateY(10px); transition: all 0.5s ease; z-index: 9; }
.submenu:hover > ul { opacity: 1; visibility: visible; transform: translateY(0px); }
.submenu .dropdown li a { display: block; padding: 9px 16px; font-weight: 500; font-size: 13px; }
.dropdown li a:hover {  }

.site_btn button { display: inline-block; padding: 10px 16px; font-size: 14px;
	background: var(--pc); color: #fff; transition: var(--ts); border-radius: 50px; }
.site_btn button:hover { background: var(--sc); }

.activate { color: var(--pc)!important; font-weight: 600!important; }

@media all and (max-width: 992px) {

	.mobile_view { display: flex; padding: 0px; }
	.btnOnOff { display: block; }

	.nav_area { display: block; width: 100%; height: 100%;
		position: fixed; top: 0; left: -100%; background: #00000080; transition: var(--ts); z-index: 9999; }
	.logo_nav { display: flex; justify-content: space-between; align-items: center;
		width: 80%; padding: 16px; background: #fff; border-bottom: 1px solid #ddd;  }

	.site_nav { width: 80%; background: color-mix(in srgb, var(--pc) 80%, transparent); height: -webkit-fill-available; }

	.navbar { width: 100%; height: 100%; flex-direction: column; background: #fff; padding: 0px; }
	.navLinks { display: block; width: 100%; padding: 16px; }
	
	.navBtn { width: 100%; display: block; padding: 0px 16px; }

	.dropdown { width: 100%; transform: translateY(0px); border-top: 0; box-shadow: 0 0 10px #fff0; background: unset; color: unset; }
	.submenu .dropdown li a { padding: 9px 16px 9px 24px; }
	.submenu:hover > ul { opacity: 0; visibility: hidden; transform: translateY(0px); }
	.toggle:checked ~ .dropdown { opacity: 1; visibility: visible; position: relative; }

	.nav_area > .site_btn { display: none; }
}



.reveal { opacity:0;transform:translateY(30px);transition:opacity .75s ease,transform .75s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal-delay   { transition-delay: .15s; }
.reveal-delay-1 { transition-delay: .2s; }
.reveal-delay-2 { transition-delay: .3s; }
.reveal-delay-3 { transition-delay: .4s; }
.reveal-delay-4 { transition-delay: .5s; }
.reveal-delay-5 { transition-delay: .6s; }
.reveal-delay-6 { transition-delay: .7s; }
@keyframes float {
	0%, 100% { transform: translateY(0); }
	50% { transform:translateY(-9px); }
}
@keyframes pulsePin {
	0%, 100% { transform: scale(1); box-shadow: 0 8px 20px rgba(22,62,105,.13); }
	50% { transform: scale(1.08); box-shadow: 0 12px 28px rgba(210,96,15,.18); }
}



.form-popup-overlay { position: fixed; inset: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.65);
	display: flex; align-items: center; justify-content: center; z-index: 999999; padding: 20px; box-sizing: border-box; }
.form-popup { width: 100%; max-width: 450px; background: #fff; border-radius: 18px;
	padding: 40px 30px; text-align: center; box-sizing: border-box; box-shadow: 0 20px 60px rgba(0,0,0,0.25); animation: popupShow 0.3s ease; }
.form-popup h2 { margin: 15px 0 10px; font-size: 28px; color: #222; }
.form-popup p { margin: 0 0 25px; color: #666; font-size: 16px; line-height: 1.6; }
.popup-icon { width: 70px; height: 70px; margin: 0 auto; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; font-size: 38px; font-weight: bold; color: #fff; }
.success-popup .popup-icon { background: #28a745; }
.error-popup .popup-icon { background: #dc3545; }
.form-popup button { border: 0; background: #7f54b3; color: #fff; padding: 12px 35px; border-radius: 8px; font-size: 16px; cursor: pointer; }
.form-popup button:hover { opacity: 0.9; }

@keyframes popupShow {
    from { opacity: 0; transform: scale(0.85); }
    to { opacity: 1; transform: scale(1); }
}



/* Center */
.section_title { max-width: 900px; margin: auto; text-align: center; margin-bottom: 32px; }
.section_title span { display: block; margin-bottom: 6px; color: var(--c1); font-weight: 600; text-transform: uppercase; }
.section_title h2 { font-size: 52px; }
.section_title p  { margin-top: 16px; }

/* Side */
.side_title span,
.side_title_w span { display: block; margin-bottom: 6px; color: var(--c1); font-weight: 500; text-transform: uppercase; }
.side_title h2 em, .side_title_w h2 em { display: block; }
.side_title h2 { font-size: 52px; }
.side_title p  { margin-top: 20px; }
.side_title_w h2 { font-size: 52px; color: #fff; }
.side_title_w p  { margin-top: 20px; color: #fff; }

@media all and (max-width:480px) {
	.section_title h2 { font-size: 38px; }

	/* Side */
	.side_title, .side_title_w { text-align: center; }
	.side_title h2 em, .side_title_w h2 em { display: inline-block; }
	.side_title h2, .side_title_w h2 { font-size: 38px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


.btn1,
.btn2 { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 32px; border-radius: 50px; transition: var(--ts); }
.btn1 span { margin: 0px!important; color: #ffffff!important; }
.btn2 span { margin: 0px!important; color: var(--pc)!important; }
.btn1 { background: var(--pc); color: #ffffff!important;  }
.btn1:hover { background: var(--sc); transform: translateY(-3px); box-shadow: 0 18px 38px rgba(210,96,15,.28); }
.btn2 { background: #ffffff; color: var(--pc)!important; font-weight: 500; }
.btn2:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(210,96,15,.28); }

@media all and (max-width:480px) {
	.btn1,
	.btn2 { padding: 10px 16px; gap: 8px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- POPUP MODEL ----- ---------- */
.dialog { margin: auto; border: 0; border-radius: 24px; box-shadow: var(--bs); }
.dialog_head { display: flex; justify-content: space-between; align-items: center; background: var(--pc); color: #fff; padding: 16px; }
.dialog_head h2 { font-size: 24px; }
.dialog_head button { width: 32px; height: 32px; line-height: 32px; text-align: center; font-size: 34px; border-radius: 6px; }
.form_2 { display: none; }

dialog::backdrop { background: #000000e0; }

.care-enquiry-form { width: 100%; margin: 0 auto; padding: 35px; background: #ffffff; border-radius: 14px; box-shadow: 0 8px 35px rgba(0, 0, 0, 0.08); }
.care-enquiry-form .form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.care-enquiry-form .form-group { margin-bottom: 22px; }

.care-enquiry-form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: #253746; }
.care-enquiry-form label span,
.care-enquiry-form label strong { color: #253746; }

.care-enquiry-form input[type="text"],
.care-enquiry-form input[type="email"],
.care-enquiry-form input[type="tel"],
.care-enquiry-form select,
.care-enquiry-form textarea { width: 100%; box-sizing: border-box; padding: 12px 16px; border: 1px solid #d9e0e5; border-radius: 8px; background: #fff; color: #253746; font-size: 15px; font-family: inherit; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease; }

.care-enquiry-form input:focus,
.care-enquiry-form select:focus,
.care-enquiry-form textarea:focus { border-color: #4b8f8c; box-shadow: 0 0 0 3px rgba(75, 143, 140, 0.12); }
.care-enquiry-form textarea { resize: vertical; min-height: 140px; }

.care-enquiry-form .radio-group { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 5px; }
.care-enquiry-form .radio-option { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; cursor: pointer; }
.care-enquiry-form .radio-option input { width: 17px; height: 17px; accent-color: #4b8f8c; cursor: pointer; }
.care-enquiry-form .form-consent { margin: 5px 0 25px; }
.care-enquiry-form .checkbox-option { display: flex; align-items: flex-start; gap: 10px; margin: 0; line-height: 1.6; font-weight: 400; cursor: pointer; }
.care-enquiry-form .checkbox-option input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; accent-color: #4b8f8c; cursor: pointer; }
.care-enquiry-form .checkbox-option span { color: #53636d; font-size: 14px; }
.care-enquiry-form .checkbox-option a { color: #357a78; text-decoration: underline; }

.care-enquiry-form .submit-btn { display: inline-block; padding: 12px 32px; border: 0; border-radius: 50px; background: var(--pc); color: #fff; font-size: 16px; font-weight: 600; font-family: inherit; cursor: pointer; transition: background 0.2s ease, transform 0.2s ease; }
.care-enquiry-form .submit-btn:hover { background: #286360; transform: translateY(-1px); }

@media (max-width: 700px) {
	.care-enquiry-form { padding: 25px 20px; }
	.care-enquiry-form .form-row { grid-template-columns: 1fr; gap: 0; }
	.care-enquiry-form .radio-group { flex-direction: column; gap: 12px; }
	.care-enquiry-form .submit-btn { width: 100%; }
}


/* ---------- ----- About ----- ---------- */
.row_about { display: grid; grid-template-columns: 40% 55%; grid-gap: 5%; }
.col_about { display: block; }

.about_thumb { position: relative;  }
.about_thumb img { width: 100%; height: auto; }

.about-us { position: absolute; background: var(--pc); bottom: 40px; right: 90px; left: -40px; }
.about-us .info { position: relative; padding: 34px 53px 30px 51px; }
.about-us .info::before { content: ""; width: 0; height: 0; position: absolute; left: 0px; bottom: -30px;
	border-style: solid; border-width: 0 40px 30px 0; border-color: transparent var(--pc) transparent transparent; }
.about-us .info h4 { font-size: 24px; text-align: center; color: #ffffff; }

.about_points { display: grid; gap:11px; margin: 24px 0px; }
.about_points div { display: flex; gap: 10px; align-items: center; font-size: 14px; font-weight:600; color:#33443d; }
.about_points i { color: var(--pc); font-size: 12px; }

@media all and (max-width:480px) {
	.row_about { grid-template-columns: repeat(1, 1fr); grid-gap: 24px; }

	.about_thumb { width: 90%; margin-left: auto; }
	.about-us .info { padding: 24px; }
	.about-us .info h4 { font-size: 20px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- Services ----- ---------- */
.row_service { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 24px; }
.service_card { display: block; background: #fff; border-radius: 12px; transition: var(--ts); border: 1px solid #ddd; overflow: hidden; }
.service_card:hover { transform: translateY(-9px); box-shadow: 0 25px 55px rgba(28,57,47,.13); }
.service_thumb { display: block; width: 100%; }
.service_thumb img { width: 100%; height: auto; }
.service_text { padding: 24px; }
.service_text h3 { color: var(--pc); }
.service_text p { margin-top: 12px; }
.service_text a { display: block; margin-top: 24px; }

.service_card:nth-child(5) { display: flex; align-items: center; grid-column: span 2; }
.service_card:nth-child(5) .service_thumb { height: -webkit-fill-available; }
.service_card:nth-child(5) .service_thumb img { width: 100%; height: 100%; object-fit: cover; }

@media all and (max-width:480px) {
	.row_service { grid-template-columns: repeat(1, 1fr); }
	.service_card:nth-child(5) { display: block; grid-column: unset; }
	.service_card:nth-child(5) .service_thumb { height: auto; }
	.service_card:nth-child(5) .service_thumb img { height: auto; object-fit: unset; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- Key Services ----- ---------- */
.key_bg { z-index: 1; }
.key_bg:before, .key_bg:after { content: ""; width: 50%; height: 100%; position: absolute; top: 0; z-index: -1; }
.key_bg:before { background: var(--pc); left: 0; }
.key_bg:after { right: 0; background: url("assets/media/service_img-05.jpg")no-repeat; background-attachment: fixed; background-position: right -200px bottom 0px; }

.key_row { display: grid; grid-template-columns: repeat(2, 1fr); }
.key_services { position: relative; padding: 42px 42px 42px 0px; }

.specialism_list { width: 100%; display: grid; grid-template-columns: repeat(1, 1fr); grid-gap: 16px; margin-top: 24px; }
.specialism-item {display:flex; align-items: center; gap:14px;padding:16px;border:1px solid #e8eeeb;border-radius:14px;transition:.3s}
.specialism-item:hover{transform:translateX(5px);border-color:#d9e6df;box-shadow:0 10px 28px rgba(22,62,105,.06)}
.specialism-item > span { width:44px;height:44px;border-radius:12px;flex:0 0 44px; background:var(--sc);color: #fff; display:grid;place-items:center}
.specialism-item h3 { font-size: 14px; color: #fff; }
.specialism-item p { font-size: 13px; margin-top: 8px; }

@media all and (max-width:480px) {
	.key_bg:before { width: 100%; }
	.key_bg:after { width: 100%; opacity: 0.1; }
	.key_row { grid-template-columns: repeat(1, 1fr); }
	.key_services { padding: 0px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- Choose Us ----- ---------- */
.choose_row { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 24px; }
.choose_card { display: block; padding: 24px; border-radius: 12px; background: #fff; border: 1px solid #ddd; }
.choose_icon { display: block; width: 42px; height: 42px; line-height: 42px; text-align: center; background: var(--pc); color: #fff; border-radius: 12px; }
.choose_info { display: block; margin-top: 16px; }
.choose_info h3 { font-size: 16px; }
.choose_info p { font-size: 14px; margin-top: 6px; }

@media all and (max-width:480px) {
	.choose_row { grid-template-columns: repeat(2, 1fr); grid-gap: 12px; }
	.choose_card { padding: 16px 9px; }
}

@media (min-width:480px) and (max-width: 992px) {

}



.fixed_image { background: url(assets/media/bg1.jpg)no-repeat center / cover; background-attachment: fixed; z-index: 1; }
.fixed_image:before { content: ""; width: 100%; height: 100%; background: color-mix(in srgb, var(--pc) 94%, transparent);
	position: absolute; left: 0; top: 0; z-index: -1; }
.fixed_image .section_title h2 { color: #fff; }
.fixed_image .section_title p { color: #fff; }



/* ---------- ----- Trust & Quality ----- ---------- */
.tnq_row { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 24px; align-items: center; padding: 50px 0px; }
.tnq_col { display: block; }

.trust-items{display:grid;gap:14px}
.trust-item {display:flex;align-items:center;gap:12px;padding:17px 18px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.045);font-size:13px}
.trust-item i { color: #e6b66f; }
.trust-item p { color: #fff; }
.trust-item strong { color: #fff; }

@media all and (max-width:480px) {
	.tnq_row { grid-template-columns: repeat(1, 1fr); padding: 0px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- Area Section ----- ---------- */
.area_row { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 32px; }
.area_map { width: 100%; height: -webkit-fill-available; }
.area_map iframe { width: 100%; height: -webkit-fill-available; border: 0; vertical-align: middle; }
.area_tags { display:flex; flex-wrap:wrap; gap:10px; margin: 26px 0 30px; }
.area_tags li { display: inline-flex; align-items: center; gap: 8px; padding: 10px 13px;
	border-radius: 999px; background: #fff; color: #52625b; font-size:11px;font-weight:600;border:1px solid #e5ece8; }
.area_tags li i { color:var(--pc); }

@media all and (max-width:480px) {
	.area_row { grid-template-columns: repeat(1, 1fr); }
	.area_map iframe { height: 50vh; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- CTA Section ----- ---------- */
.cta_section { background: linear-gradient(120deg, var(--pc), var(--sc)); color: #fff; z-index: 1; }
.cta_section::before { content: ""; position: absolute; inset: 0; opacity: .15;
	background-image: radial-gradient(#fff 1px, transparent 1px); background-size: 22px 22px; z-index: -1; }

.cta_row { display: flex; justify-content: space-between; align-items: center; padding: 40px 0px; }
.cta_col {  }

@media all and (max-width:480px) {
	.cta_row { flex-direction: column; gap: 32px; padding: 0px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- Index Contact ----- ---------- */
.row_contact { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 24px; align-items: center; }
.col_contact { display: block; }

.contact_info{display:grid;gap:12px;margin-top:28px}
.contact_info a {display:flex;align-items:center;gap:13px;width:max-content;max-width:100%;padding:12px 0}
.contact_info i{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--pc)}
.contact_info p {font-size:13px;color:var(--navy);font-weight:700}
.contact_info h3 {display:block;color:var(--tc);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:1px}

.index_contact_form { display: block; padding: 24px; border-radius: 24px; border: 1px solid #ddd; }
.input_row { width: 100%; display: flex; gap: 12px; margin-bottom: 12px; }
.input_col { width: 100%; }
.input_col label { display: block; margin-bottom: 9px; font-size: 13px; color: #000; font-weight: 500; }
.input_col input,
.input_col textarea { display: block; width: 100%; padding: 16px; border-radius: 8px; border: 1px solid #ddd; }

@media all and (max-width:480px) {
	.row_contact { grid-template-columns: repeat(1, 1fr); }
}

@media (min-width:480px) and (max-width: 992px) {

}




/* ---------- ----- Page Banner ----- ---------- */
.page_banner { display: block; position: relative; padding: 100px 16px;
	background: url("assets/media/page_banner.jpg")no-repeat center / cover; z-index: 1; }
.page_banner::before { content: ""; width: 100%; height: 100%; background: var(--pc); opacity: 0.8; position: absolute; top: 0; left: 0; z-index: -1; }
.page_banner_text { text-align: center; }
.page_banner_text h1 { font-size: 52px; color: #fff; }
.page_banner_text ul {  display: inline-flex; gap: 16px; color: #fff; margin-top: 16px; }

@media all and (max-width:480px) {
	.page_banner { padding: 60px 16px; }
	.page_banner_text h1 { font-size: 38px; }
	.page_banner_text ul { margin-top: 9px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ///////////////////////// ABOUT PAGE ///////////////////////// */

/* ---------- ----- Mission & Vision ----- ---------- */
.mission_grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }

.mission_card { min-height: 330px; position: relative; border-radius: 19px; padding: 34px; overflow: hidden; }
.mission_card .card_top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px; }
.mission_card .card_top i { font-size: 27px; color: var(--ac); }
.mission_card h3 { font-family: var(--ff2); font-size: 32px; margin-bottom: 14px; }
.mission_card .card_line { width: 42px; height: 2px; margin-top: 27px; margin-bottom: 8px; }
.mission_card small { font-size: 12px; letter-spacing: 0.6px; opacity: 0.6; }

.mission_card.dark { background: var(--pc); color: #ffffff!important; }
.mission_card.dark p { color: #ffffff; }
.mission_card.dark .card_line { background: #ffffff; }

.mission_card.light { color: var(--pc); background: #ffffff; border: 1px solid #ddd; }
.mission_card.light .card_line { background: var(--pc); }

@media all and (max-width:480px) {
	.mission_grid { grid-template-columns: repeat(1, 1fr); grid-gap: 12px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- Choose Us ----- ---------- */
.values_row { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 24px; }
.values_card { display: block; padding: 24px; border-radius: 12px; background: #fff; border: 1px solid #ddd; }
.values_icon { display: block; width: 42px; height: 42px; line-height: 42px; text-align: center; background: var(--pc); color: #fff; border-radius: 12px; }
.values_info { display: block; margin-top: 16px; }
.values_info h3 { font-size: 16px; }
.values_info p { font-size: 14px; margin-top: 6px; }

@media all and (max-width:480px) {
	.values_row { grid-template-columns: repeat(2, 1fr); grid-gap: 12px; }
	.values_card { padding: 16px 9px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ////////// ///// SERVICE PAGES ///// ////////// */


/* ---------- ----- Service Hero ----- ---------- */
.service_hero { display: block; width: 100%; padding: 100px 16px; position: relative; z-index: 1; }
.service_hero:before,
.service_hero:after  { content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; }
.service_hero:before {  background: var(--pc);  }
.service_hero:after { background: url("assets/media/page_banner.jpg")no-repeat center / cover; opacity: 0.1; }

.service__row { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 42px; align-items: center; }
.service__col { display: block; }

.service__info span { display: block; margin-bottom: 6px; color: var(--c1); font-weight: 600; text-transform: uppercase; }
.service__info h1 { font-size: 52px; color: #fff; }
.service__info p  { margin-top: 16px; color: #fff; }
.service__btns { margin-top: 24px; }

.service__thumb { display: block; width: 500px; height: 430px; position: relative; margin: auto; }
.service__thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 24px; }
.service_hero_card { max-width: 280px; padding: 24px 16px; background: #ffffff; border-radius: 20px; position: absolute; left: 24px; bottom: 24px; }
.service_hero_card h3 { color: var(--pc); margin-bottom: 8px; font-size: 16px; }
.service_hero_card p { font-size: 12px; }

@media all and (max-width:480px) {
	.service_hero { padding: 60px 16px; }
	.service__row { grid-template-columns: repeat(1, 1fr); }
	.service__info h1 { font-size: 38px; }
	.service__thumb { width: 100%; height: 380px; }
}

@media (min-width:480px) and (max-width: 992px) {

}



/* ---------- ----- Service Intro ----- ---------- */
.intro_row { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 42px; }
.intro_card { padding: 34px; background: #fff; border: 1px solid #e5ebe7; border-radius: 12px; box-shadow: var(--shadow); }
.intro_card h3 { color: var(--pc); font-size: 24px; margin-bottom: 13px; }
.intro_card p {  }
.intro_card ul { margin-top: 20px;  }
.intro_card ul li+li { margin-top: 12px; }
.intro_card ul li { position: relative; padding-left: 24px; }
.intro_card ul li:before { content: "✓"; display: flex; align-items: center; justify-content: center; font-size: 9px; font-weight: 800;
	position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: var(--pc); color: #fff; }

@media all and (max-width:480px) {
	.intro_row { grid-template-columns: repeat(1, 1fr); }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- Relevant Info ----- ---------- */
.relevant_row { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 24px; }
.relevant_card { display: block; padding: 24px; border-radius: 12px; background: #fff; border: 1px solid #ddd; transition: var(--ts); }
.relevant_card:hover { transform: translateY(-9px); box }
.relevant_icon { display: block; width: 42px; height: 42px; line-height: 42px; text-align: center; background: var(--pc); color: #fff; border-radius: 12px; }
.relevant_info { display: block; margin-top: 16px; }
.relevant_info h3 { font-size: 16px; }
.relevant_info p { font-size: 14px; margin-top: 6px; }

@media all and (max-width:480px) {
	.relevant_row { grid-template-columns: repeat(1, 1fr); grid-gap: 12px; }
	.relevant_card { padding: 16px 9px; }
}

@media (min-width:480px) and (max-width: 992px) {

}
	
/* ---------- ----- Our Approach ----- ---------- */
.approach_row { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 24px; }
.approach_card { display: block; text-align: center; padding: 24px; border-radius: 12px; background: #fff; border: 1px solid #ddd; transition: var(--ts); }
.approach_card:hover { transform: translateY(-9px); box }
.approach_icon { display: block; width: 42px; height: 42px; line-height: 42px; text-align: center; background: var(--pc); color: #fff; border-radius: 12px; margin: auto; }
.approach_info { display: block; margin-top: 16px; }
.approach_info h3 { font-size: 16px; }
.approach_info p { font-size: 14px; margin-top: 6px; }

@media all and (max-width:480px) {
	.approach_row { grid-template-columns: repeat(1, 1fr); grid-gap: 12px; }
	.approach_card { padding: 16px 9px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- CTA Section ----- ---------- */
.service_cta { background: linear-gradient(120deg, var(--pc), var(--sc)); color: #fff; z-index: 1; }
.service_cta::before { content: ""; position: absolute; inset: 0; opacity: .15;
	background-image: radial-gradient(#fff 1px, transparent 1px); background-size: 22px 22px; z-index: -1; }

.service_cta_row { display: flex; justify-content: space-between; align-items: center; padding: 40px 0px; }
.service_cta_col { width: 100%; }
.service_cta_col:last-child { display: flex; justify-content: end; }

@media all and (max-width:480px) {
	.service_cta_row { flex-direction: column; gap: 32px; padding: 0px; }
	.service_cta_col:last-child { justify-content: space-around; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- Service Enquiry ----- ---------- */
.service_enquiry_row { display: grid; grid-template-columns: 40% 55%; grid-gap: 5%; align-items: center; }
.service_enquiry_col { display: block; }
.service_contact_list { margin-top: 20px; color: var(--tc); }
.service_contact_list li+li { margin-top: 12px; }
.service_contact_list li { position: relative; padding-left: 24px; }
.service_contact_list li:before { content: "✓";  font-size: 16px; font-weight: 800; position: absolute; left: 0; top: 0; }

@media all and (max-width:480px) {
	.service_enquiry_row { grid-template-columns: repeat(1, 1fr); grid-gap: 24px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- Service Enquiry Form ----- ---------- */
.service_enquiry_form { display: block; padding: 32px 24px; border-radius: 24px; border: 1px solid #ddd; }
.input__row { width: 100%; display: flex; gap: 12px; margin-bottom: 12px; }
.input__col { width: 100%; }
.input__col label { display: block; margin-bottom: 9px; font-size: 13px; color: #000; font-weight: 500; }
.input__col input,
.input__col select,
.input__col textarea { display: block; width: 100%; padding: 16px; border-radius: 8px; border: 1px solid #ddd; }

@media all and (max-width:480px) {
	.input__row { flex-direction: column; }
	.input__col label { margin-bottom: 6px; }
	.input__col input,
	.input__col select,
	.input__col textarea { padding: 9px 16px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- Intro ----- ---------- */
.support_intro { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 42px; }
.support_intro_img { width: 100%; border-radius: 12px; overflow: hidden; }
.support_intro_img img { width: 100%; height: auto; }
.support_intro .side_title { text-align: left; }
.support_intro .side_title button { margin-top: 24px; }

@media all and (max-width:480px) {
	.support_intro { grid-template-columns: repeat(1, 1fr); grid-gap: 32px; }
}

@media (min-width:480px) and (max-width: 992px) {

}

/* ---------- ----- Service specialisms ----- ---------- */
.support_card { display: flex; align-items: center; position: relative; }
.support_card .image { width: 100%; }
.support_card .image img { width: 100%; height: auto; }
.support_card .text { width: 100%; }
.support_card .text .text_info { width: 100%; padding: 0px 0px 0px 60px; }
.support_card .text span { display: block; margin-bottom: 6px; color: var(--c1); font-weight: 600; text-transform: uppercase; }
.support_card .text h2 { font-size: 42px; }
.support_card .text p { margin-top: 16px; }
.support_card:nth-child(even) { flex-direction: row-reverse; }
.support_card:nth-child(even) .text .text_info { padding: 0px 60px 0px 0px; }

@media all and (max-width:480px) {
	.support_card { gap: 24px; z-index: 1; padding: 42px 0px; }
	.support_card .text h2 { font-size: 28px; }
	.support_card, 
	.support_card:nth-child(even) { flex-direction: column; }
	.support_card .text .text_info, 
	.support_card:nth-child(even) .text .text_info { padding: 0px; }
	.support_card:nth-child(even)::before { content: ""; position: absolute; left: -10%; top: 0; width: 120%; height: 100%; background: #e9e9e9; z-index: -1; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ---------- ----- Our approach ----- ---------- */
.support_process { display: grid; grid-template-columns: repeat(5, 1fr); grid-gap: 16px; }
.support_process > .process_step { display: block; background: #fff; border: 1px solid #ddd; transition: var(--ts); border-radius: 18px; padding: 16px; }
.support_process > .process_step:hover { transform: translateY(-6px); box-shadow: var(--bs); }
.support_process > .process_step .step-no { width: 48px; height: 48px; border-radius: 50%;
	background: var(--pc); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 14px; margin-bottom: 16px; }
.support_process > .process_step { text-align: left; }
.support_process > .process_step h3 { font-size: 18px; color: var(--pc); margin: 2px 0 4px; }
.support_process > .process_step p { font-size: 14px; }

@media all and (max-width:480px) {
	.support_process { grid-template-columns: repeat(1, 1fr); }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ////////// ///// STAFFING ///// ////////// */

/* ---------- ----- Intro ----- ---------- */
.staffing_intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; }
.staffing_intro_image { position: relative; }
.staffing_intro_image img { width: 100%; height: 390px; object-fit: cover; border-radius: 28px; box-shadow: var(--bs); }
.staffing_image_note { position: absolute; left: 22px; bottom: 22px; background: rgba(255, 255, 255, .94); padding: 15px 18px; border-radius: 16px;
	display: flex; align-items: center; gap: 12px; box-shadow: 0 12px 30px rgba(0, 0, 0, .12); font-weight: 700; color: var(--navy); font-size: 14px; }

@media all and (max-width:480px) {
	.staffing_intro { grid-template-columns: repeat(1, 1fr); grid-gap: 12px; }
}

@media (min-width:480px) and (max-width: 992px) {

}

/* ---------- ----- Cards ----- ---------- */
.staffing_cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.staffing_card { background: #fff; border: 1px solid #ddd; border-radius: 24px; padding: 34px 30px; transition: transform .25s, box-shadow .25s; }
.staffing_card:hover { transform: translateY(-6px); box-shadow: var(--bs); }
.staffing_card .icon { width: 58px; height: 58px; display: grid; place-items: center;
	border-radius: 17px; background: var(--sc); color: #fff; font-size: 23px; margin-bottom: 22px; }
.staffing_card h3 { color: var(--pc); font-size: 21px; margin-bottom: 10px; }

@media all and (max-width:480px) {
	.staffing_cards { grid-template-columns: repeat(1, 1fr); grid-gap: 12px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ////////// ///// Careers ///// ////////// */

/* ---------- ----- WORK WITH US ----- ---------- */
.cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.card { background: #fff; border: 1px solid #ddd; border-radius: 24px; padding: 28px; transition: .25s; box-shadow: 0 8px 25px rgba(12, 45, 79, .04); }
.card:hover { transform: translateY(-6px); box-shadow: var(--bs); }
.card .icon { width: 54px; height: 54px; border-radius: 15px;
	display: grid; place-items: center; background: var(--sc); color: #fff; font-size: 1.3rem; margin-bottom: 22px; }
.card h3 { font-size: 1.12rem; margin-bottom: 9px; }

@media all and (max-width:480px) {
	.cards { grid-template-columns: repeat(1, 1fr); grid-gap: 12px; }
	.card { padding: 16px 9px; }
}

@media (min-width:480px) and (max-width: 992px) {

}

/* ---------- ----- Opportunities ----- ---------- */
.roles_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.role { padding: 28px; border: 1px solid #ddd; border-radius: 24px; background: #fff; }
.role .icon { width: 54px; height: 54px; border-radius: 15px; display: grid; place-items: center; background: var(--c1); color: #fff; font-size: 1.3rem; margin-bottom: 22px; }
.role h3 { font-size: 1.25rem; margin-bottom: 10px; }
.role p {  }

@media all and (max-width:480px) {
	.roles_grid { grid-template-columns: repeat(1, 1fr); grid-gap: 12px; }
	.role { padding: 16px 9px; }
}

@media (min-width:480px) and (max-width: 992px) {

}

/* ---------- ----- Expectations ----- ---------- */
.expectations { background: var(--pc); color: #fff; }
.expectations .section_title p { color: #c8d6df; }

.expect_grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.expect { border: 1px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .06); padding: 23px; border-radius: 16px; }
.expect .icon { width: 54px; height: 54px; border-radius: 15px;
	display: grid; place-items: center; font-size: 1.3rem; margin-bottom: 22px; background: rgba(255, 255, 255, .1); color: #7ed4d1; }
.expect h3 { font-size: 1rem; margin-bottom: 8px; }
.expect p { color: #c8d6df; }

@media all and (max-width:480px) {
	.expect_grid { grid-template-columns: repeat(1, 1fr); grid-gap: 12px; }
	.expect { padding: 16px 9px; }
}

@media (min-width:480px) and (max-width: 992px) {

}

/* ---------- ----- steps ----- ---------- */
.steps { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; position: relative; }
.steps:before { content: ""; position: absolute; left: 8%; right: 8%; top: 29px; height: 2px; background: #cde1e3; z-index: 0; }
.step { position: relative; z-index: 1; text-align: center; padding: 0 8px; }
.step-num { width: 58px; height: 58px; margin: 0 auto 20px; border-radius: 50%; background: var(--sc); color: #fff; display: grid; place-items: center; font-weight: 800; border: 6px solid #eaf7f6; }
.step h3 { font-size: 1rem; margin-bottom: 7px; }
.step p {  }

@media all and (max-width:480px) {
	.steps { grid-template-columns: repeat(1, 1fr); grid-gap: 12px; }
	.steps:before { display: none; }
}

@media (min-width:480px) and (max-width: 992px) {

}

/* ---------- ----- Compliance ----- ---------- */
.compliance_grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 55px; align-items: center; }
.compliance_image { border-radius: 24px; overflow: hidden; }
.compliance_image img { height: 380px; width: 100%; object-fit: cover; }
.compliance_box { background: #fff; border: 1px solid #ddd; padding: 32px; border-radius: 24px; box-shadow: var(--bs); margin-top: 24px; }
.compliance_box ul { list-style: none; display: grid; gap: 15px; margin-top: 20px; }
.compliance_box li { display: flex; gap: 12px; }
.compliance_box li i { color: var(--sc); margin-top: 6px; }

@media all and (max-width:480px) {
	.compliance_grid { grid-template-columns: repeat(1, 1fr); grid-gap: 12px; }
}

@media (min-width:480px) and (max-width: 992px) {

}


/* ////////// ///// Training & Courses ///// ////////// */
.about_info button { margin-top: 24px; }

/* ---------- ----- CTA Section ----- ---------- */
.section_CTA {  }
.cta_section { background: linear-gradient(120deg, var(--pc), var(--sc)); color: #fff; z-index: 1; }
.cta_section::before { content: ""; position: absolute; inset: 0; opacity: .15;
	background-image: radial-gradient(#fff 1px, transparent 1px); background-size: 22px 22px; z-index: -1; }

.CTA__row { width: 100%; display: grid; grid-template-columns: 60% 40%; align-items: center;
 padding: 60px 30px; position: relative; border-radius: 24px; }
.CTA__col {  }
.CTA__col:last-child { display: flex; justify-content: end; }

@media all and (max-width:480px) {
	.CTA__row { grid-template-columns: repeat(1, 1fr); grid-gap: 32px; padding: 60px 16px; }
	.CTA__col:last-child { justify-content: center; }
	.CTA__col p { text-align: justify; }
}

@media (min-width:480px) and (max-width: 992px) {

}

/* ---------- ----- Training Options ----- ---------- */
.options_row { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 16px; }
.options_card { display: block; text-align: center; padding: 24px 16px; border-radius: 12px; background: #fff; border: 1px solid #ddd; transition: var(--ts); }
.options_card:hover { transform: translateY(-9px); box }
.options_icon { display: block; width: 42px; height: 42px; line-height: 42px; text-align: center; background: var(--pc); color: #fff; border-radius: 12px; margin: auto; font-size: 30px; }
.options_info { display: block; margin-top: 16px; }
.options_info h3 { font-size: 16px; }
.options_info p { font-size: 14px; margin-top: 6px; text-align: justify; }
.options_info button { padding: 12px 16px!important; font-size: 12px!important; margin: auto; margin-top: 24px; }

@media all and (max-width:480px) {
	.options_row { grid-template-columns: repeat(1, 1fr); grid-gap: 12px; }
	.approach_card { padding: 16px 9px; }
}

@media (min-width:480px) and (max-width: 992px) {

}

/* ---------- ----- Learn Online ----- ---------- */
.platform { display: grid; grid-template-columns: 1.25fr .75fr; gap: 35px; align-items: center;
	position: relative; overflow: hidden; background: var(--pc); color: #fff; border-radius: 30px; padding: 58px; z-index: 1; }
.platform_art { position: relative; width: 100%; height: 280px; border-radius: 26px; box-shadow: 0 25px 50px rgba(0, 0, 0, .25); z-index: 1;
    background: url("assets/media/training_and_courses_img-01.jpg") center / cover; }
.platform:after { content: ""; position: absolute; width: 360px; height: 360px; border-radius: 50%; right: -130px; top: -180px; background: rgba(22,139,136,.25); }
.platform .side_title_w a { display: block; margin-top: 24px; }

@media all and (max-width:480px) {
	.platform { grid-template-columns: repeat(1, 1fr); padding: 58px 24px; }
	.info_panel { padding: 40px 24px; }
}

@media (min-width:480px) and (max-width: 992px) {

}

/* ---------- ----- Care Providers ----- ---------- */
.info_panel_row { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 24px; }
.info_panel { border-radius: 28px; padding: 40px; background: #f5fafc; border: 1px solid #ddd; }
.info_panel span { display: block; color: var(--c1); margin-bottom: 8px; font-weight: 500; }
.info_panel h3 { font-size: 24px; color: var(--pc); }
.info_panel p { margin-top: 12px; }
.info_panel a { display: block; margin-top: 24px; }
.info_panel.dark { background: var(--pc); color: #fff; border: 0; }
.info_panel.dark h3 { color: #fff; }
.info_panel.dark p { color: #d4e4ed; }

@media all and (max-width:480px) {
	.info_panel_row { grid-template-columns: repeat(1, 1fr); }
	.info_panel { padding: 40px 24px; }
}

@media (min-width:480px) and (max-width: 992px) {

}

/* ---------- ----- APPRENTICESHIP OPPORTUNITIES ----- ---------- */
.pathways { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pathway { padding: 32px; border-radius: 24px; background: #fff; border: 1px solid #ddd; position: relative; overflow: hidden; }
.pathway:before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--pc); }
.pathway span { font-size: 40px; font-weight: 900; color: var(--pc); letter-spacing: -.05em; }
.pathway h3 { margin: 3px 0 10px; color: var(--pc); }
.pathway p {  }
.notice { margin-top: 24px; padding: 15px 18px; border-left: 4px solid var(--pc); background: #fff7ef; border-radius: 8px; text-align: center; }
.section_btn { display: flex; justify-content: space-around; align-items: center; margin-top: 24px; }

@media all and (max-width:480px) {
	.pathways { grid-template-columns: repeat(1, 1fr); }
	.pathway { padding: 24px; }
}

@media (min-width:480px) and (max-width: 992px) {

}



/* ////////// ///// BLOG PAGES ///// ////////// */

/* ----- Blog Grid ----- */
.blog__row { display: grid; grid-template-columns: 72% 30%; grid-gap: 3%; }
.blog__col {  }

@media all and (max-width: 480px) {
	.blog__row { grid-template-columns: repeat(1, 1fr); grid-gap: 32px; }
}

@media (min-width:480px) and (max-width: 992px) {

}

/* ----- Blog Article ----- */
.article_image { width: 100%; border-radius: 24px; overflow: hidden; margin-bottom: 24px; }
.article_image img { width: 100%; height: auto; }

.article_blog { display: block; }
.article_blog h1 { font-size: 24px; color: var(--pc); }
.article_blog h2 { font-size: 20px; margin-bottom: 12px; }
.article_blog h3 { font-size: 16px; }
.article_blog h4 { font-size: 14px; margin-top: 12px; }
.article_blog p { text-align: justify; margin-top: 12px; }
.article_blog a { text-decoration: underline; transition: var(--ts); }
.article_blog a:hover { color: var(--pc); }
.article_blog ul { list-style-type: disc; padding-left: 24px; margin-top: 12px; }
.article_blog ul li+li { margin-top: 9px; color: var(--tc); }

.article_blog b { font-weight: 500; }
.article_blog hr { margin: 32px 0px; color: #ddd; }
.article_blog hr.hr1 { margin: 16px 0px; border: none; height: 1px; background-color: #ddd0; }

.features { list-style-type: disc; padding-left: 24px; margin-top: 12px;  }
.features li+li { margin-top: 9px; }

.choose { list-style-type: decimal; padding-left: 24px; margin-top: 12px; }
.choose li+li { margin-top: 9px; }
.choose li b { display: block; }

@media all and (max-width: 480px) {

}

@media (min-width:480px) and (max-width: 992px) {

}


.blog__sidebar { display: grid; grid-template-columns: repeat(1, 1fr); grid-gap: 24px; }

.blog_side_area { padding: 24px 16px; background: #ffffff; box-shadow: var(--bs); border-radius: 12px; border: 1px solid #ddd; }
.blog_side_area h2 { font-size: 24px; margin-bottom: 16px; }

.blog_gallery { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 12px; }
.blog_gallery .blog_card {  }
.blog_gallery .blog_card .blog_text { display: none; }
.blog_gallery .blog_card .blog_img { width: 100%; height: 96px; }
.blog_gallery .blog_card .blog_img img { width: 100%; height: 100%; object-fit: cover; }

.recent_blogs { display: grid; grid-template-columns: repeat(1, 1fr); grid-gap: 24px; }
.recent_blogs .blog_card { display: grid; grid-template-columns: 130px 1fr; grid-gap: 12px; align-items: center; border-radius: 0; border: 0; box-shadow: unset; }
.recent_blogs .blog_card .blog_img { width: 100%; height: 100px; border-radius: 12px; overflow: hidden; }
.recent_blogs .blog_card .blog_img img { width: 100%; height: 100%; object-fit: cover; }
.recent_blogs .blog_card .blog_text { padding: 0px; }
.recent_blogs .blog_card .blog_text h3 { font-size: 16px; }
.recent_blogs .blog_card .blog_text ul { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 12px; }
.recent_blogs .blog_card .blog_text ul li+li { margin: 0; }
.recent_blogs .blog_card .blog_text ul li i { margin: 0; color: var(--pc); }
.recent_blogs .blog_card .blog_text button { display: none; }


/* ---------- ----- Footer ----- ---------- */
.footer { display: block; width: 100%; color: #fff; }
.upper_footer { display: block; width: 100%; position: relative; background: #222222; padding: 60px 16px; z-index: 1; }
.upper_footer::before { content: ""; width: 100%; height: 100%;
	position: absolute; top: 0; left: 0; background: url(assets/media/footer-bg.png)no-repeat center / cover; z-index: -1 }
.footer_row { max-width: 1140px; margin: auto; display: grid; grid-template-columns: 20% 12% 12% 14% 17% 18%;; grid-gap: 1.4%; }

.footer_logo { max-width: 240px; }
.footer_logo img { width: 100%; height: auto; }
.footer_text { margin-top: 24px; }
.footer_text p {  }

.footer_social { display: flex; gap: 6px; margin-top: 16px; }
.footer_social a { display: block; transition: var(--ts); overflow: hidden; }
.footer_social a:hover { border-radius: 50%; }
.footer_social a i { display: block; width: 38px; height: 38px; line-height: 38px; text-align: center; color: #fff; }
.footer_social a .fa-facebook-f  { background: #3b5998; }
.footer_social a .fa-instagram   { background: #DD2A7B; }
.footer_social a .fa-linkedin-in { background: #0077B5; }
.footer_social a .fa-x-twitter   { background: #000000; }
.footer_social a .fa-youtube     { background: #FF0000; }

.footer_col ul { display: block; margin-top: 24px; }
.footer_col ul li { border-bottom: 1px dashed #808080; }
.footer_col ul li:last-child { border-bottom: none; }
.footer_col ul li a,
.footer_col ul li span { display: block; color: #808080; padding: 8px 4px; transition: var(--ts);  }
.footer_col ul li a:hover,
.footer_col ul li span:hover { color: var(--sc); }

.lower_footer { width: 100%; background: #333333; color: #777777; }
.copyright { padding: 24px 16px; text-align: center;  }
.copyright p { color: unset; }
.copyright p a { color: #fff; transition: var(--ts); }
.copyright p a:hover { color: var(--sc); }

@media all and (max-width:480px) {
	.footer_row { grid-template-columns: repeat(1, 1fr); grid-gap: 32px; }
	.footer_col ul { margin-top: 16px; }
	.copyright em { display: block; }
}

@media (min-width:480px) and (max-width: 992px) {
	.footer_row { grid-template-columns: repeat(3, 1fr); grid-gap: 32px; }
	/*.footer_col:first-child { grid-column: span 2; } */
}