/* global */
html { scroll-behavior: smooth }
body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; color: #000; font-family: 'Fira Sans', sans-serif; font-size: 1.1rem; }
	body.no-scroll { overflow: hidden }
a { text-decoration: none !important }
#header-spacer { height: 75px }
header { -moz-box-shadow: 0px 15px 10px -15px rgba(0, 0, 0, .25); -webkit-box-shadow: 0px 15px 10px -15px rgba(0, 0, 0, .25); background-color: #FFF; border-top: 1px solid #EEE; box-shadow: 0px 15px 10px -15px rgba(0, 0, 0, .25); height: 75px; left: 0; position: fixed; top: 0; z-index: 998; width: 100% }
	header #navbar-logo { display: block; width: 226px }
	header #navbar-strapline { color: #000; font-size: 23px; font-weight: 500; padding-top: 2px }
	header .nav .nav-item .nav-link { background-color: #FFF; border: none; color: #000; font-size: 35px; padding: 12px 0 5px 24px }
#company-logos { padding: 100px 0 80px 0 }
	#company-logos h3 { color: #848686; font-size: 29px; margin: 0; padding-bottom: 20px; text-align: center }
#questions { background-color: #1A5A91; color: #FFF; padding: 80px 0; text-align: center }
	#questions h3 { font-size: 29px; margin: 0; padding-bottom: 40px }
	#questions h4 { font-size: 32px; font-weight: 800; margin: 0; padding-bottom: 10px }
	#questions p { font-size: 20px; font-style: italic; margin: 0 }
	#questions .btn { -moz-border-radius: 0; -webkit-border-radius: 0; background-color: #FFD21A; border-radius: 0; font-size: 19px; margin-top: 20px; padding: 10px 30px; text-transform: uppercase }
	#questions .btn:hover { background-color: #FFF }
	#questions .question-num { -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; font-size: 66px; font-weight: 800; height: 100px; margin: 0 auto 15px auto; width: 100px }
	#questions .question-num-1 { background-color: #B42351 }
	#questions .question-num-2 { background-color: #E3891A }
	#questions .question-num-3 { background-color: #5C8742 }
#logos { padding: 60px 0 80px 0; text-align: center }
	#logos #logos-images img + img { margin-left: 30px }
	#logos p { font-size: 16px; margin: 0 }
footer { background-color: #F5F5F5; padding: 60px 0 }
	footer #footer-logo { display: block; width: 300px }
	footer .footer-contact { font-size: 18px; margin: 0; padding: 3px 0 0 60px }
	footer p { font-size: 18px; margin: 0 }
		footer p a { color: #000 !important }
	footer #footer-social { font-size: 24px; padding-bottom: 10px; text-align: right }
		footer #footer-social a { color: #000 }
		footer #footer-social a + a { margin-left: 20px }
	footer #footer-links { text-align: right }
		footer #footer-links #footer-logos { margin-bottom: 20px }
			footer #footer-links #footer-logos a + a { margin-left: 20px }
#footer-bottom { background-color: #2D2D2E; color: #FFF; font-size: 14px; font-weight: 300; padding: 20px 0; text-transform: uppercase }
	#footer-bottom #footer-bottom-copyright br { display: none }
	#footer-bottom #footer-bottom-designed { text-align: right }
		#footer-bottom #footer-bottom-designed img { padding-left: 5px; position: relative; top: -1px; width: 220px }
#cta { background-color: #565656; color: #FFF; padding: 60px 0 }
	#cta .cta-logo img { width: 350px }
	#cta .cta-text { font-size: 22px; padding: 5px 0 0 60px }
		#cta .cta-text span { font-weight: 600 }
		#cta .cta-text a { color: #FFF; font-weight: 600 }

/* sidebar */
#sidebar { -moz-transition: 0.5s all ease; -o-transition: 0.5s all ease; -webkit-transition: 0.5s all ease; background: url('/img/layout/maze.jpg') no-repeat right center; background-size: cover; height: 100vh; left: -100vw; overflow: auto; position: fixed; top: 0; transition: 0.5s all ease; width: 100vw; z-index: 1000 }
	#sidebar.open { left: 0 }
	#sidebar img { left: 25px; position: absolute; top: 25px; width: 226px }
	#sidebar #btn-sidebar-close { -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; background: transparent; border: none; color: #FFF; font-size: 45px; position: absolute; right: 20px; transition: 0.3s; top: 10px }
	#sidebar #btn-sidebar-close:hover { color: #26C6DA }
	#sidebar #sidebar-content { height: 100%; width: 100% }
	#sidebar ul { font-size: 35px; list-style: none; margin: 0; padding: 0; text-align: center }
		#sidebar ul li a { -moz-transition: 0.3s; -o-transition: 0.3s; -webkit-transition: 0.3s; color: #FFF; font-weight: 800; text-transform: uppercase; transition: 0.3s }
		#sidebar ul li a.active, #sidebar ul li a:hover { color: #C8E100 }
	#sidebar-colours { background-color: #FFF; bottom: 0; height: 20px; left: 0; position: absolute; width: 100% }
		#sidebar-colours #sidebar-colour-1 { background-color: #00CBFB; height: 100%; width: 33.3333333333% }
		#sidebar-colours #sidebar-colour-2 { background-color: #769A00; height: 100%; width: 33.3333333333% }
		#sidebar-colours #sidebar-colour-3 { background-color: #0044C7; height: 100%; width: 33.3333333333% }
		#sidebar-colours #sidebar-colour-4 { background-color: #C8E100; height: 100%; width: 33.3333333333% }

/* page */
#banner { background-size: cover !important; color: #FFF; height: 340px; position: relative; z-index: 0 }
	#banner.our-services { background: url('/img/banners/money.jpg') no-repeat center center }
	#banner.our-ethos { background: url('/img/banners/maze.jpg') no-repeat center center }
	#banner.contact-us { background: url('/img/banners/contact.jpg') no-repeat center center }
	#banner.cookie-policy { background: url('/img/banners/contact.jpg') no-repeat center center }
	#banner.privacy-policy { background: url('/img/banners/contact.jpg') no-repeat center center }
	#banner.business-finance { background: url('/img/banners/business-finance.jpg') no-repeat left center }
	#banner.franchising { background: url('/img/banners/franchising.jpg') no-repeat left center }
	#banner.testimonials { background: url('/img/banners/testimonials.jpg') no-repeat left center }
	#banner #banner-gradient { background: rgb(255,255,255); background: -moz-linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(0,0,0,1) 100%); background: -webkit-linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(0,0,0,1) 100%); background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(0,0,0,1) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#000000",GradientType=1); bottom: 0; height: 170px; left: 0; position: absolute; width: 100%; z-index: 1 }
	#banner .container { height: 100% }
	#banner #banner-text { position: relative; z-index: 2 }
		#banner #banner-text h1 { font-size: 67px; font-weight: 800; margin: 0; padding-bottom: 5px }
		#banner #banner-text .breadcrumb { font-size: 17px; margin: 0; padding-bottom: 30px; text-transform: uppercase }
			#banner #banner-text .breadcrumb .breadcrumb-item { color: #FFF }
			#banner #banner-text .breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: #FFF }
				#banner #banner-text .breadcrumb .breadcrumb-item a { color: #FFF }
#colour-bar { background-color: #FFF; height: 20px }
	#colour-bar #colour-bar-1 { background-color: #00CBFB; height: 100%; width: 33.3333333333% }
	#colour-bar #colour-bar-2 { background-color: #769A00; height: 100%; width: 33.3333333333% }
	#colour-bar #colour-bar-3 { background-color: #0044C7; height: 100%; width: 33.3333333333% }
	#colour-bar #colour-bar-4 { background-color: #C8E100; height: 100%; width: 33.3333333333% }
#policy { padding: 80px 0 }
	#policy h2 { color: #1A5A91; font-size: 40px; font-weight: 800; margin: 0; padding: 10px 0 20px 0 }
	#policy p { font-size: 22px; margin: 0; padding-bottom: 20px }
		#policy p a { color: #000; font-weight: 700 }
#main-body { margin: 80px 0 70px 0 }
	#main-body .left-body-text { padding-right: 60px }
	#main-body .left-body-text table td { font-size: 1.2rem !important; text-align: center; width: 50% }
	#main-body .left-body-text table th { font-size: 1.2rem !important; text-align: center; width: 50% }
	#main-body .left-body-text a { color: #000 }
	#main-body .left-body-text h2 { color: #1A5A91; font-size: 2.5rem; line-height: 2.5rem; font-weight: 700; margin-top: 25px }
	#main-body .left-body-text ul { font-size: 1.2rem; list-style: none; margin: 0; padding: 20px 0 20px 25px }
		#main-body .left-body-text ul li { padding-bottom: 10px; position: relative }
		#main-body .left-body-text ul li:before { color: #5C9742; content: '\f00c'; font-family: 'Font Awesome 5 Pro'; font-size: 1.1rem; font-weight: 300; left: -25px; position: absolute; top: 1px }
	#main-body p { font-size: 1.2rem }
	#main-body .lead { font-weight: 600; color: #1A5A91; font-size: 1.4rem }
	#main-body .franchise { color: #000; font-size: 2.6rem; font-weight: 700; line-height: 2.6rem; margin-bottom: 40px }
		#main-body .franchise span { color: #5C9742 }
#locations { margin: 60px 0 30px 0 }
	#locations .location-box { background-color: #F0EFF1; border: 1px solid #B3B3B3; margin-bottom: 30px; padding: 30px 40px 40px 40px }
		#locations .location-box a { color: #000; font-weight: 600 }
		#locations .location-box .location-county { font-size: 41px; font-weight: 700 }
		#locations .location-box .location-company { font-size: 24px; font-weight: 600 }
		#locations .location-box .location-address { margin-bottom: 20px }
		#locations .location-box .location-services { font-style: italic; margin-bottom: 20px }
		#locations .location-box .location-phone { font-size: 28px }
		#locations .location-box .location-email { font-size: 20px }

/* Masonry JS layout for location cards at xl and above */
@media (min-width: 1200px) {
    /* disable Bootstrap flex on this specific row so Masonry can absolutely position items */
    #locations .row.masonry { display: block }
    /* set explicit item width so Masonry can create two columns; keep gutters neutralised */
    #locations .row.masonry > [class*="col-"] {
        /* create a visible horizontal gap between the two Masonry columns */
        width: calc(50% - 30px);
        margin-left: 15px;
        margin-right: 15px;
        box-sizing: border-box;
        padding-left: 0;
        padding-right: 0;
    }
}

		#bibi-testimonial ul { font-size: 1.2rem; margin-top: 0; padding: 0 0 20px 25px!important; }
		#bibi-testimonial .bibi-testimonial-wrapper { border: #000 1px solid; padding: 30px 40px; margin: 25px 0 50px 0; }
		.testimonial-wrapper { background-color: #f3f3f3; border: lightgrey 1px solid; padding: 20px 30px; margin-bottom: 20px; }
		.testimonial-wrapper a { font-weight: 600; }
		.testimonial-wrapper .testimonial-title { font-size: 28px; font-weight: 600; padding-bottom: 5px; }
		.testimonial-wrapper .testimonial-date { font-size: 14px; text-transform: uppercase; margin-top: 10px; }

@media (max-width: 4200px) {
	/* global */
	.container { max-width: 1400px }
}

@media (max-width: 1429px) {
	/* global */
	.container { max-width: 1140px }
	#company-logos { padding: 50px 0 40px 0 }
		#company-logos h3 { font-size: 25px }
	#questions h3 { font-size: 25px }
	#questions h4 { font-size: 28px }
	#questions p { font-size: 18px }
	#questions .btn { font-size: 18px }
	#questions .question-num { font-size: 60px; height: 90px; width: 90px }
	#logos { padding: 50px 0 70px 0 }
		#logos p { font-size: 15px }
	footer .footer-contact { font-size: 16px; padding: 3px 0 0 50px }
	footer address { font-size: 16px }
	footer p { font-size: 16px }
	footer #footer-social { font-size: 22px }
	#footer-bottom { font-size: 12px; padding: 18px 0 }
		#footer-bottom #footer-bottom-designed img { height: 12px; top: -2px; width: 180px }
	#cta { padding: 50px 0 }
		#cta .cta-logo img { width: 300px }
		#cta .cta-text { font-size: 20px; padding: 4px 0 0 50px }

	/* page */
	#banner { height: 300px }
		#banner #banner-text h1 { font-size: 60px }
		#banner #banner-text .breadcrumb { font-size: 16px }
	#policy { padding: 70px 0 }
		#policy h2 { font-size: 30px; padding: 10px 0 20px 0 }
		#policy p { font-size: 18px; padding-bottom: 20px }
	#main-body { margin: 60px 0 50px 0 }
		#main-body .left-body-text { padding-right: 40px }
		#main-body .left-body-text h2 { font-size: 1.6rem }
		#main-body .left-body-text table td { font-size: 1rem !important }
		#main-body .left-body-text table th { font-size: 1rem !important }
		#main-body p { font-size: 1rem }
		#main-body .lead { font-size: 1.2rem }
		#main-body .left-body-text ul { font-size: 1rem }
			#main-body .left-body-text ul li { padding-bottom: 5px }
			#main-body .left-body-text ul li:before { font-size: 0.9rem }
		#main-body .franchise { font-size: 2rem; line-height: 2rem; margin-bottom: 30px }
	#locations { margin: 50px 0 25px 0 }
		#locations .location-box { margin-bottom: 25px; padding: 25px 30px 33px 30px }
			#locations .location-box .location-county { font-size: 32px }
			#locations .location-box .location-company { font-size: 20px }
			#locations .location-box .location-address { font-size: 15px }
			#locations .location-box .location-services { font-size: 15px }
			#locations .location-box .location-phone { font-size: 26px }
			#locations .location-box .location-email { font-size: 18px }
}

@media (max-width: 1199px) {
	/* global */
	.container { max-width: 960px }
	#company-logos { padding: 40px 0 30px 0 }
		#company-logos h3 { font-size: 21px }
	#questions h3 { font-size: 21px }
	#questions h4 { font-size: 24px }
	#questions p { font-size: 16px }
	#questions .btn { font-size: 17px; padding: 7px 25px }
	#questions .question-num { font-size: 54px; height: 80px; width: 80px }
	#logos { padding: 40px 0 60px 0 }
		#logos p { font-size: 14px }
	footer { padding: 50px 0 }
		footer #footer-logo { width: 250px }
		footer .footer-contact { font-size: 14px; padding: 3px 0 0 40px }
		footer address { font-size: 14px; padding: 0 40px }
		footer p { font-size: 14px }
		footer #footer-social { font-size: 20px }
			footer #footer-social a + a { margin-left: 15px }
	#footer-bottom { font-size: 10px; padding: 15px 0 }
		#footer-bottom #footer-bottom-designed img { height: 11px; width: 160px }
	#cta { padding: 40px 0 }
		#cta .cta-logo img { width: 250px }
		#cta .cta-text { font-size: 18px; padding: 3px 0 0 40px }

	/* page */
	#banner { height: 250px }
		#banner #banner-text h1 { font-size: 50px }
		#banner #banner-text .breadcrumb { font-size: 15px }
	#policy { padding: 60px 0 }
	#main-body { margin: 40px 0 30px 0 }
		#main-body .left-body-text { padding-right: 20px }
		#main-body .left-body-text h2 { font-size: 1.4rem; line-height: 2.3rem; }
		#main-body .left-body-text table td { font-size: 0.9rem !important }
		#main-body .left-body-text table th { font-size: 0.9rem !important }
		#main-body p { font-size: 0.9rem }
		#main-body .lead { font-size: 1.1rem }
		#main-body .left-body-text ul { font-size: 0.9rem }
			#main-body .left-body-text ul li { padding-bottom: 3px }
			#main-body .left-body-text ul li:before { font-size: 0.8rem }
		#main-body .franchise { font-size: 1.6rem; line-height: 1.6rem; margin-bottom: 25px }
}

@media (max-width: 991px) {
	/* global */
	.container { max-width: 720px }
	#company-logos { padding: 40px 0 30px 0 }
		#company-logos h3 { font-size: 22px }
	#questions { padding-bottom: 50px }
		#questions h4.details { padding-top: 40px }
	footer #footer-social { padding-top: 50px; text-align: center }
	footer #footer-links { text-align: center }
	footer #footer-links #footer-logos { margin: 20px 0 }
	#footer-bottom { font-size: 13px; padding: 12px 0 11px 0; text-align: center }
		#footer-bottom #footer-bottom-designed { padding-top: 5px; text-align: center }
			#footer-bottom #footer-bottom-designed img { height: 12px; width: 180px }

	/* page */
	#banner { height: 200px }
		#banner #banner-text h1 { font-size: 40px }
		#banner #banner-text .breadcrumb { font-size: 14px }
	#policy { padding: 50px 0 }
	#main-body .left-body-text { padding-right: 0 }
	#main-body .right-body-logo { display: none }
}

@media (max-width: 767px) {
	/* global */
	.container { max-width: 540px }
	#questions h3 { padding-bottom: 0 }
	#questions h4.details { padding-top: 50px }
	#questions .question-num { margin-top: 40px }
	#logos { padding: 30px 0 50px 0 }
		#logos p { padding: 0 50px }
	footer #footer-logo { display: block; margin: 0 auto; width: 226px }
	footer address { padding: 20px 0; text-align: center }
	footer p { text-align: center }
	footer #footer-social { padding-top: 20px }
	footer .footer-contact { padding: 20px 0 }
	#cta { padding: 40px 0 20px 0; text-align: center }
		#cta .cta-text { padding: 0 50px }
		#cta .cta-logo { padding-bottom: 30px }
	
	/* sidebar */
	#sidebar ul { font-size: 28px }
	#sidebar-colours { height: 15px }

	/* page */
	#banner #banner-text h1 { font-size: 30px }
	#banner #banner-text .breadcrumb { font-size: 13px; padding-bottom: 20px }
	#colour-bar { height: 15px }
	#policy { padding: 40px 0 }
}

@media (max-width: 575px) {
	/* global */
	.container { max-width: 100% }
	#header-spacer { height: 63px }
	header { height: 63px }
		header #navbar-logo { width: 180px }
		header .nav .nav-item .nav-link { font-size: 28px; padding: 11px 0 6px 20px }
	#logos #logos-images img + img { margin-left: 0 }
	#logos p { padding: 20px 20px 0 20px }
	footer #footer-links #footer-logos a { display: block }
	footer #footer-links #footer-logos a + a { margin: 20px 0 0 0 }
	#footer-bottom { font-size: 12px }
		#footer-bottom #footer-bottom-copyright span { display: none }
		#footer-bottom #footer-bottom-copyright br { display: inline }
		#footer-bottom #footer-bottom-designed { padding-top: 8px }
			#footer-bottom #footer-bottom-designed img { display: block; height: 11px; margin: 5px auto 0 auto; width: 160px }
	#cta .cta-text { padding: 0 }

	/* sidebar */
	#sidebar img { width: 180px }
	#sidebar #btn-sidebar-close { font-size: 40px; right: 15px }
	#sidebar ul { font-size: 24px }
	#sidebar-colours { height: 10px }

	/* page */
	#colour-bar { height: 10px }
	#locations .location-box { padding: 10px 15px 15px 15px }
		#locations .location-box .location-email { font-size: 15px }
}

@media (max-width: 374px) {
	/* global */
	header #navbar-logo { padding-top: 3px; width: 160px }
		header .nav .nav-item .nav-link { font-size: 26px; padding: 11px 0 6px 15px }
	#logos p { padding: 20px 0 0 0 }

	/* sidebar */
	#sidebar img { width: 160px }
	#sidebar ul { font-size: 20px }
}