* { box-sizing:border-box }

body { color:#262626; margin:0; padding:0; font-family:"Museo-Sans"; font-weight:100; background:#fff; font-size:20px; line-height:24px }

:root { --primary-color:#EC068D; --secondary-color:#223E99; --text-color:#333; --bg-color:#f2f2f2 }
p { color:var(--text-color); font-size:20px }

h1, h2, h3, h4, h5, h6, p { clear:both; margin:0; padding:0 }
h1, h2, h3, h4, h5, h6 { font-family:"Branding" }
h1 { font-size:52px; font-weight:700; line-height:normal; line-height:62px; color:var(--primary-color); font-family:"Branding" }
h2 { font-size:32px; font-weight:500; line-height:normal; font-family:"Branding"; line-height:35px; color:var(--secondary-color) }
h3 { font-size:29px; font-weight:500; line-height:normal; font-family:"Branding"; line-height:33px; color:var(--primary-color) }
h4 { font-size:22px; line-height:26px; color:#4d4d4d; font-weight:500; color:var(--secondary-color) }

a { color:var(--light-black); text-decoration:none; font-size:var(--font-16) }
a:hover { color:var(--light-green) }

.container { max-width:1170px; margin:0 auto }

.top-strip { height:8px; background:linear-gradient(to right, var(--primary-color) 50%, var(--secondary-color) 50%) }
.upper-header-bar { padding:15px 0 }

header { margin-bottom:100px }

.contact-no { font-size:30px; font-weight:700; color:var(--primary-color); font-family:"Branding" }
.contact-no:hover { color:var(--secondary-color) }
.logo-shot { height:24px; display:flex }

.header-icon { display:inline-flex }
.header-icon img { height:26px; width:auto }
a.header-icon svg path { fill:var(--secondary-color) }
a.header-icon.contact svg path { fill:var(--primary-color) }
.header-social-icon { gap:40px }
.header-social-icon .left-social a { padding:0 2px }

.main-nav { background:#ececec; position:relative }

.search-form img { width:30px; filter:brightness(0) invert(1) }
.search-box { display:flex; align-items:center; justify-content:center; gap:10px; padding:15px 0; background:#333 }
.search-box form { display:flex; align-items:center; justify-content:center; gap:10px; width:100% }
.search-box input { width:50%; padding:10px; font-weight:300; font-family:"Museo-Sans"; color:var(--text-color); border-radius:10px; border:0 }
button.search-icon { background:none; border:none; padding:0; cursor:pointer; display:flex; align-items:center }
button.search-icon svg path { fill:#fff }
button.search-icon:hover svg path { fill:var(--primary-color) }

.main-social-icon { display:flex; align-items:center; justify-content:space-between; /*fill:var(--secondary-color)*/ }
.main-social-icon svg:hover path { fill:var(--primary-color) }
.header-icon.contact svg:hover path { fill:var(--secondary-color) }
.left-social { display:flex; gap:6px }

.logo-wrap { position:absolute; left:50%; top:-72px; max-width:276px; transform:translateX(-50%); text-align:center; z-index:2 }
.logo-circle img { width:100%; height:auto }
.logo-sub { display:block; font-size:10px; letter-spacing:2px; color:#666; margin-top:2px }

.hero-section { padding:0 0 40px; position:relative; overflow:hidden }
.hero-section .hero-banner-row { max-width:850px; margin:auto }
.banner-wide-img { position:absolute; right:0; top:30%; z-index:-1 }

.hero-content h1 { margin-bottom:15px }
.hero-content h2 { margin-bottom:28px }
.hero-content p { font-size:20px; color:var(--text-color); margin-bottom:10px }
.inner-hero-para-tag { color:var(--primary-color); font-family:"Branding"; font-weight:700 }
.inner-hero-para-tag span { color:var(--secondary-color) }
.hero-section .hero-content { padding-bottom:40px }

.hero-image { text-align:center }
.hero-image img { max-width:100%; height:auto; max-height:445px }
.mobile-home-content { display:none }

.stats-bar { border-top:10px solid #cfcfcf; padding-top:24px }
.star-main-content { display:flex; gap:175px; margin-bottom:18px }
.star-main-content:last-child { margin-right:10rem }
.single-star-content img { width:61px; height:auto }

.stat-box { display:flex; align-items:center; gap:16px; justify-content:center }
.stat-box i { font-size:42px; color:#888 }
.stat-box h4 { margin:0; font-size:34px; line-height:33px; color:var(--secondary-color); font-weight:700 }
.stat-box h4 span { display:block; font-weight:500 }
.stat-box p { margin:0; font-size:18px; color:#333; line-height:1.1 }

.latest-section { padding:55px 0 30px }
.latest-inner-content { background:#f2f2f2; padding:40px 0 }
.latest-section .section-title { margin-bottom:-8px }

.section-title { text-align:center; font-size:36px; font-weight:500; color:#737373 }
.section-title strong { color:var(--primary-color); font-weight:700 }
.section-title strong span { color:var(--secondary-color) }

.article-card { text-align:right; padding-top:5px }
.article-date { margin-bottom:10px; font-size:18px; font-weight:300 }
.article-title { font-size:26px; color:var(--primary-color); font-weight:300; line-height:31px; margin-bottom:10px }
.article-summary { font-size:19px; color:#262626; line-height:25px; font-weight:100 }
.article-thumb img { width:100%; max-width:170px; max-height:195px; object-fit:cover }

.testimonial-wrap { padding:20px 0 55px }
.testimonial-box { background:0; color:#fff; padding:20px 44px; border-radius:20px; border:6px solid #c1c1c1 }
.testimonial-box p { font-size:30px; line-height:36px; color:var(--secondary-color); font-weight:500; font-family:"Branding"; margin-bottom:10px }
.testimonal-comma { font-size:46px; font-weight:700 }
.testimonial-box h5 { font-size:28px; font-weight:700; text-align:right; color:var(--secondary-color) }

.content-section { padding:10px 0 70px; position:relative }

.left-col { padding-right:50px; border-right:5px solid #cccccc }
.right-col { padding-left:40px }
.content-heading { margin-bottom:14px; text-transform:uppercase; font-size:32px; line-height:38px; color:var(--primary-color); font-weight:700 }
.content-sub { font-size:28px; color:var(--secondary-color); margin-bottom:5px; line-height:33px; font-weight:500; font-family:"Branding" }
.content-text { margin-bottom:10px }

.plan-list { margin-top:30px }
.plan-item { display:flex; gap:15px; margin-bottom:26px }
.plan-text h5 { font-size:26px; color:var(--primary-color); font-weight:500 }
.plan-text h5 a svg { width:24px; margin-left:5px; margin-bottom:3px }
.plan-text h5 a svg path { fill:var(--primary-color) }
.plan-text h5 a:hover { color:var(--secondary-color) }
.plan-text h5 a:hover svg { margin-left:10px }
.plan-text h5 a:hover svg path { fill:var(--secondary-color) }
.plan-text span { font-weight:300 }

/* --- News Listing --- */
.news-item { display:flex; gap:15px; margin-bottom:26px }
.news-thumb img { width:200px; height:200px; object-fit:cover }
.news-content { flex:1 }
.news-header { display:flex; align-items:start; gap:15px; flex-wrap:wrap }
.news-header h5 { font-size:26px; color:var(--primary-color); font-weight:500 }
.news-header p { flex-basis:100%; order:3; font-style:italic }
.news-body { display:flex; justify-content:space-between; padding-top:20px }
.news-summary { width:65% }
.news-cta { margin-top:10px; text-align:right }

.video-card { margin-bottom:34px }
.video-thumb { position:relative; border-radius:10px; overflow:hidden }
.video-thumb img { width:100%; height:320px; object-fit:cover }
.play-btn { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:92px; height:92px; border-radius:50%; background:rgba(255, 255, 255, 0.45); display:flex; align-items:center; justify-content:center }
.play-btn i { font-size:42px; color:#fff; margin-left:6px }
.video-title { font-size:26px; color:var(--secondary-color); font-weight:700; margin:12px 0 5px; font-family:"Branding" }
.video-author { font-size:23px; color:#777; font-weight:300 }

.newsletter-wrap { display:flex; justify-content:space-between; gap:60px; align-items:center }
.newsletter { background:var(--secondary-color); padding:10px 0 }
.newsletter-title { color:#fff; font-weight:700; font-size:21px; text-transform:uppercase; font-family:"Branding" }
.newsletter-form { display:flex; width:100%; gap:60px }
.newsletter-form .row { width:100% }
.newsletter .form-control { border-radius:8px; border:none; box-shadow:none; font-weight:300; font-size:16px; color:#737373 }
.newsletter .send-btn { border:none; background:transparent; color:#fff; font-size:24px; width:100% }
.send-btn img { width:32px }

.footer-main { background:#efefef; padding:20px 0; margin-top:5px }
.footer-logo img { width:70px }
.footer-logo { padding-right:15px }
.footer-title { font-size:18px; font-weight:700; color:var(--secondary-color); margin-bottom:5px; font-family:"Branding" }
.footer-text, .footer-links a { color:var(--text-color); font-size:15px; line-height:22px; font-weight:300 }
.footer-links a { display:block; margin-bottom:4px }
.footer-links a:hover { color:var(--primary-color) }
.footer-contact a, .footer-contact p { display:block; color:var(--primary-color); font-size:18px; margin-bottom:4px; font-weight:500; line-height:21px }
.footer-contact a:hover { color:var(--secondary-color) }

.footer-social a svg { margin-right:15px; height:22px; width:auto }
.footer-social a svg  path { fill:var(--secondary-color) }

.footer-title-wrap { display:flex; justify-content:space-between; align-items:center }
.footer-toggle { display:none; cursor:pointer; font-size:18px }
.footer-links { display:block }

.copyright { background:transparent; text-align:center; padding:10px 0 0 0; font-size:15px; color:#9b9b9b }
.copyright-main { color:var(--secondary-color); display:block; font-weight:300; font-size:16px }

.middle-content { position:relative; overflow:hidden }
.middle-content::before { content:""; position:absolute; top:0; left:0; background:url("../graphics/wide-banner-image.svg") no-repeat center/cover; height:100%; width:100%; background-size:160px; background-position:top right; margin-top:100px; z-index:-8; background-repeat:repeat-y }
.middle-content p a { color:var(--secondary-color); text-decoration:underline }
.middle-content p a:hover { color:var(--primary-color) }




/* --- Generic --- */
ul, ol { list-style:none; padding:10px 30px; margin:0 }
ol { list-style:auto; padding-left:50px }
ul li { position:relative; padding-left:20px; margin-bottom:15px; color:#4d4d4d; font-size:20px; line-height:24px }
ol li { margin-bottom:15px; color:#4d4d4d; font-size:20px; line-height:24px }
ul li::before { content:""; position:absolute; left:0; top:8px; width:8px; height:8px; background:var(--primary-color); border-radius:50% }

.generic-banner-section { padding-bottom:65px }
.generic-banner-section .text-box p { color:#4d4d4d }
.generic-banner-section h1 { margin-bottom:12px }
.generic-banner-section h2 { margin-bottom:25px }

.border-commn-width { /*border-bottom:3px solid #ccc;*/ padding-bottom:36px; margin-bottom:40px }
.image-caption { font-size:18px; font-weight:300; color:#4d4d4d; padding-top:7px }
.generic-banner-section h4 { margin-bottom:2px }
.generic-banner-section h3 { margin-bottom:7px }
.generic-banner-section p { margin-bottom:14px }
.generic-banner-section p:last-child { margin-bottom:0 }
.inner-generic-home-conente { padding-top:43px }

.img-box img { width:100% }



/* --- Services --- */
.service-page .plan-text h5 { font-size:24px }
.plan-icon { width:50%; padding-top:7px }
.plan-icon img { width:100% }
.service-hero-section .plan-text p { font-size:17px }
.service-hero-section .plan-text .transform-arrow { width:22px }
.service-hero-section .plan-list { padding-left:10px; margin-top:5px }

.plai-price-listing { display:flex; justify-content:space-between }
.main-plan-list-box .plan-item { margin-bottom:50px }
.main-plan-list-box .plan-list { width:80%; margin:auto }

.consult-card h3 { color:var(--primary-color); font-size:20px; font-weight:500; font-family:"Museo-Sans"; line-height:24px; margin-bottom:10px }
.consult-card h3 span { font-weight:500; display:block }
.consult-card { text-align:right }
.consult-card .price { color:var(--secondary-color); font-size:24px; font-weight:700; font-family:"Branding"; margin-bottom:17px }

.cta-btn { background:var(--primary-color); color:#fff; border:none; padding:10px 20px; font-size:24px; font-weight:700; border-radius:15px; cursor:pointer; transition:0.3s; line-height:20px; font-family:"Branding"; white-space:nowrap }
.cta-btn:hover { background:#a90005 }
.plan-price-text { width:65% }
.main-plan-list-box .plan-text h5 { font-size:36px; margin-bottom:10px }
.main-plan-list-box .plan-text p { margin-bottom:10px }



/* --- Cookies Consent --- */
.cookie-banner { position:fixed; z-index:1000; bottom:0; width:100%; background-color:var(--secondary-color); color:#fff; text-align:center; padding:1rem; box-shadow:0 -2px 5px rgba(0, 0, 0, 0.3); opacity:0.9 }
.cookie-banner form { padding:0 }
.cookie-banner p { margin:0; display:inline; font-size:80%; color:#fff }
.cookie-banner p a { color:#fff; font-size:100%; text-decoration:underline }
.cookie-banner p a:hover { color:var(--primary-color) }
.cookie-banner button { margin-left:1rem; padding:0rem 1rem; font-size:70%; background-color:#fff; color:var(--secondary-color); border-radius:5px; border:none }
.cookie-banner button:hover { background-color:var(--primary-color); color:#fff }

/* Cookie Options Form */
.cookies { text-align:left }
.cookies h3 { margin-bottom:0 }
.cookies label { margin:10px 20px 10px 0; padding:5px 10px 3px; border:1px solid #ddd; border-radius:5px; cursor:pointer }
.cookies label:hover { border-color:var(--primary-color) }

