/*
Theme Name:  Area Fifty-five
Theme URI: https://www.elegantthemes.com/gallery/divi/
Description: Divi child theme
Theme Author: Tetro Design
Template:  Divi
*/

/*Focus state
********************************/
a:focus-visible,
.et_pb_gallery_image a:focus-visible {
  outline: 2px dashed #e5e5e1; }

a.skip-main {
  left: -999px;
  position: absolute;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: -999; }

a.skip-main:focus-visible,
a.skip-main:active {
  color: #ffffff;
  background-color: #4c4c4c;
  left: auto;
  top: 0;
  width: 30%;
  height: auto;
  overflow: auto;
  margin: 10px 35%;
  padding: 5px;
  text-align: center;
  z-index: 999; }

/* Fonts
********************************/
html {
  font-size: 16px; }

body {
  font-family: "Titillium Web", sans-serif; }

h1, h2 {
	font-weight: 300; }

body, h4 {
	font-weight: 600; }

h3, .small-heading, a.et_pb_button, .simple-weather * {
	font-weight: 700; }

h4, .et_pb_text_inner h4 {
	font-size: 21px;
	line-height: 28px; }
	
h3, body, .et_pb_column_1_3 h3, .et_pb_column_1_4 h3, .et_pb_column_1_5 h3, .et_pb_column_1_6 h3, .et_pb_column_2_5 h3 {
	font-size: 1rem;
	line-height: 1.375rem; }

p.small-heading, span.small-heading, h3.small-heading, h4.small-heading, .simple-weather * {
	font-size: 0.75rem;
	line-height: 1.25rem; }

a.et_pb_button {
	font-size: 0.875rem;
	line-height: 1.25rem; }

.simple-weather *, a.et_pb_button, p.small-heading, span.small-heading, h3.small-heading, h4.small-heading,
.et_pb_column_1_3 h3, .et_pb_column_1_4 h3, .et_pb_column_1_5 h3, .et_pb_column_1_6 h3, .et_pb_column_2_5 h3 {
	letter-spacing: 2px; }

.small-heading, a.et_pb_button, h3, .simple-weather * {
	text-transform: uppercase; }

/* Colours
********************************/
.et_pb_text_inner p a {
	color: unset; }

body, .et_pb_button_module_wrapper a.et_pb_button, body:not(.home) div header div .header-weather * {
	color: #292C39; }

h1.lb-colour, h2.lb-colour, h3.lb-colour, p.lb-colour, h4.lb-colour, p.lb-colour, a.lb-colour,
.et_pb_row.no-border-banner *, .header-weather * {
	color: #E3E6E6; }

.left-line:after, .et_pb_button_module_wrapper a.et_pb_button {
	background-color: #C7CED2; }

.et_pb_button_module_wrapper a.et_pb_button:hover {
	background-color: #E3E6E6; }

.blue-bg {
	background-color: #292C39; }

body:not(.home) div header div .logo-wrapper a img {
	filter: invert(1); }

a.et_pb_button, a.et_pb_button:hover, .et_pb_button_module_wrapper a.et_pb_button:hover  {
	border: none /*1px solid #C6CED3*/; }

.et_pb_section > .et_pb_row:not(.no-border-banner) {
	border-left: 1px solid #C6CED3; }

.et_pb_column_1_3 h3, .et_pb_column_1_4 h3, .et_pb_column_1_5 h3, .et_pb_column_1_6 h3, .et_pb_column_2_5 h3 {
	border-bottom: 1px solid #C6CED3;
	margin-bottom: 15px; }

.et_pb_button_module_wrapper a.et_pb_button {
	border-radius: 0 0; }

a.underline-link:hover:before, .et_pb_text_inner p a:hover:before {
    transition-delay: .25s;
    transform: scaleX(1); }

a.underline-link:before, .et_pb_text_inner p a:before {
    transition-delay: 0s;
    transform: scaleX(0);
    transform-origin: left; }

a.underline-link:after, a.underline-link:before, .et_pb_text_inner p a:after, .et_pb_text_inner p a:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    transition: transform .75s cubic-bezier(.19,1,.22,1);
    border-bottom: 1px solid; }

a.underline-link:hover:after, .et_pb_text_inner p a:hover:after {
    transition-delay: 0s;
    transform: scaleX(0); }

a.underline-link:after, .et_pb_text_inner p a:after {
    transition-delay: .25s;
    transform-origin: right; }

/* Global styles
********************************/
.mw80 {
	margin: 0 auto; }

.simple-weather .sw {
	display: none; }

footer#site-footer div .col25, a.et_pb_button {
	display: inline-block; }

.footer-contact, .flex-container {
	display: -webkit-box; 
  	display: -ms-flexbox; 
  	display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    flex-direction: row; }

footer#site-footer div .col25 p {
	padding-bottom: 5px; }

.left-line, a.underline-link, .et_pb_text_inner p a, a.et_pb_button {
	position: relative; }

/* Buttons
********************************/
.left-line div div > .et_pb_button_module_wrapper {
	position: relative; 
	padding-top: 25px; 
	display: block; }

a.connect-button-left-line.et_pb_button {
	position: absolute; 
	top: 0; }

a.et_pb_button {
	clip-path: polygon(0% 0%, 90% 0, 100% 40%, 100% 100%, 0% 100%); }

.et_pb_button_module_wrapper a.et_pb_button, .et_pb_button_module_wrapper a.et_pb_button:hover {
	padding: .75em 1.5em !important; }

/* Animations
********************************/
a.et_pb_button,.et_pb_button_module_wrapper a.et_pb_button {
	-webkit-transition: background-color .6s,color .3s,border-color .3s;
    -o-transition: background-color .6s,color .3s,border-color .3s;
    -moz-transition: background-color .6s,color .3s,border-color .3s;
    transition: background-color .6s,color .3s,border-color .3s; }

/* Home page
********************************/
/*Top banner section */
.et_pb_row.no-border-banner {
	padding-left: 0; }

.hero-overlay:after {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
	background-size: auto;
    background-repeat: repeat;
    background-position: top center;
	background-image: url('/wp-content/uploads/2023/09/hero-overlay-desktop.png');
	mix-blend-mode: overlay; }

/* Header
********************************/
header#site-header {
	padding-top: 2em;
	padding-bottom: 2em; }

body.home div header#site-header {
	position: absolute;
    top: 0;
	left: 0;
    z-index: 999;
    height: 100px;
    right: 0;
    bottom: 0; }

.logo-wrapper {
    min-width: 25%;
    margin-right: 10%;
    margin-bottom: 15px; }

/* Footer
********************************/
.left-line:after {
	content: "";
	width: 2.5%;
	height: 1px;
	position: absolute;
	bottom: 0; }

@media all and (min-width: 981px) {
	h1, .et_pb_column_1_3 h1, .et_pb_column_1_4 h1, .et_pb_column_1_5 h1, .et_pb_column_1_6 h1, .et_pb_column_2_5 h1 {
		font-size: 5rem;
		line-height: 5.313rem; }
	
	h2, .et_pb_column_1_3 h2, .et_pb_column_1_4 h2, .et_pb_column_1_5 h2, .et_pb_column_1_6 h2, .et_pb_column_2_5 h2 {
		font-size: 4.375rem;
		line-height: 5rem; }
	
	.mw80  {
		width: 80%; }
	
	.et_pb_section > .et_pb_row:not(.no-border-banner) {
		padding-left: 5%; }
	
	/* Footer 
	------------------------------ */
	/* CTA in footer */
	.left-line:after {
		width: 5%;
		left: 10%; }
	
	footer#site-footer {
		padding-top: 18em;
		padding-bottom: 4em; }
	
	footer#site-footer div.footer-contact .col25 {
		width: 25%; }
	
	.privacy-policy-text {
		width: 50%;
		align-self: end; }
}
@media screen and (max-width: 980px) {
	/* Fonts 
	------------------------------ */
	h1, .et_pb_column_1_3 h1, .et_pb_column_1_4 h1, .et_pb_column_1_5 h1, .et_pb_column_1_6 h1, .et_pb_column_2_5 h1 {
		font-size: 2.5rem;
		line-height: 3.125rem; }
	
	h2, .et_pb_column_1_3 h2, .et_pb_column_1_4 h2, .et_pb_column_1_5 h2, .et_pb_column_1_6 h2, .et_pb_column_2_5 h2 {
		font-size: 2rem;
		line-height: 2.5rem; }
	
	h2 span.count {
		font-size: 3.75rem;
		line-height: 4.25rem; }
	
	/* Horizontal scroll sections
	------------------------------ */
	.et_pb_section.horizontal-section {
	   overflow-x: auto;
	  white-space: nowrap; }

	.horizontal-section::-webkit-scrollbar { 
		display: none; }

	.horizontal-section .et_pb_row {
		display: -webkit-box; 
  		display: -ms-flexbox; 
  		display: -webkit-flex;
	  	display: flex;
	  	flex-wrap: nowrap;
		/*overflow-x: auto;
		overflow-y: hidden;
		width: 100%;*/ }

	.horizontal-section .et_pb_row .et_pb_column {
		flex: 0 0 100%;
	  	white-space: normal;
		scroll-snap-align: start;
		padding-right: 1em; }

	.left-line:after {
		left: 2.5%;
		width: 3%; }

	/* Footer
	------------------------------ */
	footer#site-footer {
		padding-top: 4em;
		padding-bottom: 2em; }
}
@media screen and (max-width: 980px) and (min-width: 768px) {
	.mw80 {
		width: 90%; }
	
	.et_pb_section > .et_pb_row:not(.no-border-banner) {
		padding-left: 5%; }
	
	.left-line:after {
		left: 5%;
		width: 5%; }
	
	/* Footer */
	footer#site-footer div .col25, .privacy-policy-text {
		width: 33.33%; }
	
	.privacy-policy-text {
		align-self: end; }
}
@media screen and (min-width: 768px) {	
	/* Header */
	header#site-header {
		padding-left: 5%;
	}
	
	body.home #main-content article > div > div > div > .et_pb_section:first-of-type {
		padding-top: 10em; }
	
	.footer-contact {
		justify-content: flex-end; }
	
	footer#site-footer div.footer-contact .col25 {
		text-align: right; }
}
@media screen and (max-width: 767px) {
	.mw80 {
		width: 95%; }
	
	/* Header */
	header#site-header {
		padding-left: 2.5%;	}
	
	body.home #main-content article > div > div > div > .et_pb_section:first-of-type {
		padding-top: 6em; }
	
	footer#site-footer div .col25 {
		width: 48%; }
	
	.privacy-policy-text {
		width: 100%;
		padding: 4em 0 0 0; 
		order: 3; }
	
	.et_pb_section > .et_pb_row:not(.no-border-banner) {
		padding-left: 3%; }
}
@media screen and (max-width: 480px) {
	.footer-contact {
		justify-content: space-between;
	}
}
@media screen and (prefers-reduced-motion: reduce) {
  * {
    /* Very short durations means JavaScript that relies on events still works */
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important; }
}
/* When a user has selected the option to invert colors, it also inverts the color of images and video. 
  Use CSS invert filter to invert images and videos back */
@media (inverted-colors) {
  img,
  video {
    filter: invert(100%); }
}