@charset "UTF-8";
/* CSS Document 
Colours:
Blue: #009ee3
Dark Grey: #262626
Light Grey: #e5e5e5
*/

/*
Museo Sans Serif
font-family: "museo-sans", sans-serif;
font-weight: 300;
font-weight: 500;
font-weight: 700;
font-weight: 900;
*/

body { font-family: 'museo-sans', sans-serif; color:#000000; font-weight:300; font-size:15px; }
h1, h2, h3, h4, h5 { font-family: 'museo-sans', sans-serif; font-weight:700; }
h2 { font-size:32px; font-weight:900; line-height:1.1em; margin-bottom:20px; }
a, a:visited { color:#277b6e; }
a:hover, a:focus { color:#FF585D; }
.btn-primary, .btn-secondary { text-decoration: none; display:inline-flex; border-radius: 20px; }
.btn-primary, .btn-primary:visited { background-color:#009ee3; color:#fff; font-size:15px; font-weight: 600; padding:8px 20px; }
.btn-secondary, .btn-secondary:visited { background-color:#E89741; color:#000; font-size: 13px; font-weight: 600; letter-spacing: .05em; padding:6px 15px; }
.btn-primary:hover, .btn-secondary:hover, .btn-primary:focus, .btn-secondary:focus { background-color:#262626; color:#fff; }
.blueText { color:#009ee3; }

.hero { position: relative; background-color:#777; padding-top:35px; background-size:cover; background-position:center center; }
.hero::before { content: ''; position: absolute; inset: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 1; }
.hero .container-fluid { display: flex; flex-direction: column; height: 100%; justify-content: space-between; }
.hero .container-xl { z-index: 100; position: relative; }
.menuBar { z-index: 2; padding-left: 15px; padding-right: 15px; }
.logo img { width:260px; }

.navbar-expand-md .navbar-nav { background-color:rgba(0,0,0,0.5); border-radius:35px; width: min-content; padding:3px 20px; flex-direction: row; }
.navbar-expand-md { justify-content:center; }
.navbar-light .navbar-nav .nav-link, .navbar-light .navbar-nav .nav-link:visited { color:#fff; font-weight:700; font-size: 14px; }
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .active .nav-link { color:#009ee3; }

.standardHeader { background-color: #4d4d4d; padding-top:35px; padding-bottom:35px; margin-bottom: 50px; }

/* Wrapper holds sidebar + content side by side */
.hero-inner { display: flex; align-items: stretch; }
.hero-sidebar {  display: flex; flex-direction: column; align-items: center; width: 30px; margin-right: 20px; flex-shrink: 0; }
.hero-sidebar .sidebar-label { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 13px; color: #fff; letter-spacing: 0.05em; margin-bottom: 8px; white-space: nowrap; }
.hero-sidebar .sidebar-line { flex: 1; width: 1px; background-color: #fff; }
.hero-sidebar .sidebar-arrow { margin-top: 6px; color: #fff; font-size: 18px; line-height: 1; }
.hero-content { flex: 1; }

.heroText { z-index: 2; padding-bottom:50px; margin-top: 70px; }
.heroText h1 { color:#fff; font-size:clamp(28px, 6vw, 72px); font-weight:900; margin-bottom: 60px; }
.intro, .services { padding:50px 15px; }
.intro p { font-size:16px; }
.services { background-color:#262626; }
.servicesPhoto { width:100%; height:300px; background-size:cover; background-position:center center; border-radius: 12px; margin-bottom:35px; }
.services p, .services li, .services h2 { color:#fff; }
.servicesList {  }
.servicesList p { font-size:18px; font-weight: 600; margin:8px 0; padding:5px 0 5px 45px; background-repeat: no-repeat; background-position: left center; background-size: contain; }
.carousel { padding:50px 30px 0 30px; }


.contact-hero-content h1 { color:#fff; font-size:clamp(28px, 4vw, 48px); margin-bottom: 30px; }
.contact-hero-content h4 { color:#fff; font-size: 18px; margin-bottom: 30px; font-weight:400; }
.contact-hero-content p { color:#fff; }
.telephone { font-size:16px; font-weight:600; margin-bottom: 20px; }
.telephone span { font-size:16px; color:#009ee3; padding-right: 10px; }
.telephone a, .telephone a:visited { color:white; text-decoration: none; }
.telephone a:hover, .telephone a:focus { color:#009ee3; text-decoration:underline; }
.registeredText { padding-top:25px; }
.registeredText p strong { color:#009ee3; }

.formHolder { background:#fff; margin-top: -30px; z-index: 1000; position: relative; border-radius:15px; box-shadow: 5px 5px 10px #aaa; }
.formTitle { background-color:#009ee3; padding: 15px 30px; border-top-left-radius: 15px; border-top-right-radius: 15px; }
.formTitle h3 { color:#fff; margin-bottom: 0; }
p.requiredTextTop { text-align: right; font-size:12px; margin-top:10px; padding-right:30px; }
.formHolder .fluentform { padding:10px 30px 20px 30px; }
.formHolder .fluentform.ff-default .ff-el-form-control { border: 0; border-bottom: 1px solid #000; border-radius: 0; padding-left: 2px; }
.formHolder .fluentform.ff-default .ff-el-form-check label.ff-el-form-check-label { font-size:12px; }
.fluentform .ff-el-group.privacyPolicy { margin-bottom: 0; }
.formTerms { font-size:12px; }
.formTerms a, .formTerms a:visited { color:#009ee3; text-decoration:underline; }
.formTerms a:hover, .formTerms a:focus{ color:#000; }
.formHolder form.fluent_form_1 .ff-btn-submit:not(.ff_btn_no_style) { background-color: #000; color: #ffffff; border-radius: 25px; width: 100%; }

.footerTop { background-color:#e5e5e5; padding:20px; margin-top: 60px; }
.footerTop h4 { font-size:16px; color:#009ee3; margin-bottom:10px; }
.footerTop .footerServices { display:flex; gap:25px; }
.footerTop ul { list-style: none; margin: 0; padding: 0; font-weight:700; }
.footerTop li { margin-bottom:8px; font-size:14px; line-height: 1.2; }
.contactTop { background-size:48px; background-position: top left; background-repeat: no-repeat;  padding:0 0 0 60px; margin-bottom: 25px; }
.contactTop p { font-weight:700; font-size:14px; }
.contactBottom { padding:0 0 0 60px; margin-bottom: 30px; }
.contactBottom img { height:70px; margin-right:20px; }
.footerBase { padding:20px 40px; }
.footerBase ul { list-style: none; margin: 0; padding: 0; }
.footerBase li, .footerBase p { font-size:13px; margin-bottom: 0; }
.footerBase li { display: inline; margin-right: 20px; }
.footerBase a, .footerBase a:visited, .contactTop a, .contactTop a:visited { color:#000; text-decoration: underline; }
.footerBase a:hover, .footerBase a:focus, .contactTop a:hover, .contactTop a:focus { color:#009ee3; text-decoration:underline; }

/* Carousel */
.campbell-carousel { width: 100%; overflow: hidden; position: relative; padding-top:30px; padding-bottom: 40px; }
.campbell-carousel .swiper-slide { position: relative; border-radius: 8px; overflow: hidden; height: 300px; background-size: cover; background-position: center; background-repeat: no-repeat; }
.campbell-carousel .swiper-slide::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.75) 0%, transparent 50%); z-index: 1; }
.carousel-slide-title { position: absolute; bottom: 25px; left: 25px; margin: 0; color: #fff; font-size: 1.4rem; font-weight: 700; z-index: 2; }
.campbell-carousel .swiper-button-prev, .campbell-carousel .swiper-button-next { color: #009ee3; }
.campbell-carousel .swiper-pagination-bullet-active { background: #009ee3; }
/* END Carousel */

@media only screen and (max-width: 767px) {
.logo { text-align: center; padding-bottom:20px; }
.intro .row, .footerBase .row { flex-direction:column; gap:10px; }
.navbar-nav .nav-link { padding: 5px 12px; }

.formRow .row { flex-direction: column-reverse; }
.intro, .services, .formRow, .heroText { padding-left:20px; padding-right:20px; }
.formHolder { margin-bottom:40px; }
#content #main { padding-left:35px; padding-right: 35px; }
}
@media (min-width: 768px) {
.hero { padding-top:50px; }
.standardHeader { padding-top:50px; padding-bottom:50px; margin-bottom: 70px; }
h2 { font-size:38px; }
.menuBar { padding-left: 30px; padding-right: 30px; }
.logo img { width:280px; }
.navbar-expand-md { justify-content: flex-end; }
.navbar-nav .nav-link { padding: 5px 15px; }
.heroText { padding-bottom:50px; margin-top: 150px; }
.intro { padding: 100px 30px 120px 30px; }
.intro p { font-size:16px; }
.services { padding:90px 30px 90px 30px; }
.servicesPhoto { height:280px; margin-top: -150px; margin-bottom:45px; }
.servicesList { padding-left:20px; display: flex; flex-direction: column; justify-content: space-between; }
.servicesList p { font-size: 18px; margin: 6px 0; padding: 6px 0 6px 50px; }
.carousel { padding:90px 0 0 0; }
.footerTop { padding:40px 30px; }
.footerTop h4 { margin-bottom:12px; }
.footerTop li { font-size:15px; }
.contactTop p { font-size:15px; }
.contactTop { background-size:52px; }
.contactTop, .contactBottom { padding:0 0 0 64px; }
.footerBase p { text-align:right; }
.formRow { padding-left:30px; padding-right:30px; padding-bottom: 30px; }
.formHolder { margin-top: -320px; }
.registeredText { padding-top:50px; padding-bottom:50px; }
}
@media (min-width: 992px) {
h2 { font-size:42px; }
.heroText { margin-top: 175px; }
.intro p { font-size:18px; }
.servicesPhoto { height:400px; margin-top: -150px; margin-bottom:75px; }
.servicesList { padding-left:50px; }
.servicesList p { font-size:20px; margin: 5px 0; padding: 7px 0 7px 58px; }
.campbell-carousel .swiper-slide { height: 360px; }
.footerTop h4 { margin-bottom: 15px; }
.contactTop p { font-size:18px; }
.contactTop { background-size:75px; }
.contactTop, .contactBottom { padding:0 0 0 90px; }
.telephone { font-size:20px; }
}
@media (min-width: 768px) and (max-width: 1199px) {
    .hero .container-xl, .carousel .container-xl { padding-left:42px; padding-right:42px; }
}
@media (min-width: 1200px) {
h2 { font-size:46px; }
.heroText { margin-top: 200px; }
.intro p { font-size:20px; }
.servicesList { padding-left:100px; }
.servicesList p { font-size:22px; margin: 5px 0; padding: 5px 0 5px 50px; }
.footerTop h4 { margin-bottom: 20px; }
.contactTop p { font-size:20px; }
.contactTop { background-size: contain; }
.contactTop, .contactBottom { padding:0 0 0 120px; }
.telephone { font-size:22px; }
}
