/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


/*==============================
    #FONTS
==============================*/
/*
    font-family: 'Poppins', sans-serif;
	font-family: 'Rubik', sans-serif;
*/


/*==============================
    #GLOBAL STYLES
==============================*/
body {
	color: #181818;
	background-color: #fff;
	font-family: 'Poppins', sans-serif;
	font-size: 1.8rem;
	font-weight: 400;
	margin: 0;
	padding: 0;
	line-height: 1.45;
	
    /* Font Variant */
    font-variant-ligatures: none;
    -webkit-font-variant-ligatures: none;
	
    /* Smoothing */
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
	text-shadow: rgba(0, 0, 0, .01) 0 0 1px;
}
body > div {
	font-size: 1.8rem;
}
img, iframe {
	border: none;
	max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
	font: 700 4.3rem/1.2 'Poppins', sans-serif;
	margin-top: 0;
}
p {
     margin-bottom: 2.8rem;
}
p:last-child {
     margin-bottom: 0;
}
a {
	transition: all 0.5s ease;
}
a:focus, 
input:focus, 
button:focus {
	outline: none;
}
ul, ol {
	padding: 0;
	margin: 0;
}
ul li, ol li {
	list-style: none;
}
ul:not([class]) li,
ol:not([class]) li {
	position: relative;
	padding-left: 5rem;
	margin-bottom: 2.5rem;
	counter-increment: li;
}
ul:not([class]) li::before,
ol:not([class]) li::before {
	content: '\f111';
	position: absolute;
	font-size: 55%;
	font-family: FontAwesome;
	left: 2rem;
	top: 0.6em;
}
ol:not([class]) li::before {
	content: counter(li) '. ';
	font-size: 100%;
	font-family: inherit;
	font-weight: 700;
	padding-top: 0;
	width: 3rem;
	text-align: right;
	left: 1rem;
	top: 0;
}
section.elementor-section.elementor-section-boxed > .elementor-container {
	width: 100%;
    max-width: 117rem;
}
body:not(.elementor-editor-active) .site.grid-container.container.grid-parent {
	overflow: hidden;
}
body.home:not(.elementor-editor-active) .site.grid-container.container.grid-parent {
	overflow: visible;
}
.post {
	margin: 0;
}




/*==============================
    #CSS LIBRARY
==============================*/
.br { display: block; }

/* FONTS */
.font-blue {
	color: #0b6bd8;
}

/* Back to Top */
.cd-top {
  display: inline-block;
  height: 4rem;
  width: 4rem;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  border: 2px solid #000;
  border-radius: 50%;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  z-index: 20;
  transition: opacity .3s 0s, visibility 0s .3s;
}
.cd-top::before {
  content: '';
  position: absolute;
  border-left: 1rem solid transparent;
  border-right: 1rem solid transparent;
  border-bottom: 1.5rem solid #000;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.cd-top.cd-is-visible, .cd-top.cd-fade-out, .no-touch .cd-top:hover {
  transition: opacity .3s 0s, visibility 0s 0s;
}
.cd-top.cd-is-visible {
  visibility: visible;
  opacity: 1;
}
.cd-top.cd-fade-out {
  opacity: .5;
}
.no-touch .cd-top:hover {
  background-color: #c5ad5b;
  opacity: 1;
}



/*==============================
    #HEADER
==============================*/
.custom-site-header .elementor-menu-toggle {
	margin: 0 !important;
}
.custom-site-header .menu-item {
	position: relative;
	border-right: 3px solid transparent;
}
.custom-site-header .menu-item::before {
	content: '';
	position: absolute;
	width: 3px;
	height: 50%;
	background-color: #000;
	top: 50%;
	right: -3px;
	transform: translateY(-50%);
}
.custom-site-header .sub-menu .menu-item::before {
	display: none;
}
.custom-site-header .menu-item:last-child {
	border-right: none;
}
.custom-site-header .menu-item:last-child::before {
	display: none;
}
.top-links .elementor-icon-list-item::before {
    content: '';
    position: absolute;
    width: 3px;
    height: 73%;
    background-color: #000;
    top: 50%;
    right: -21px;
    transform: translateY(-50%);
}
.custom-site-header .trustpilot-widget {
	display: none;
}


/*==============================
    #FOOTER
==============================*/
.custom-site-pre-footer .logo img {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
}
.custom-site-pre-footer .nav ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.custom-site-pre-footer .nav ul  li a {
    display: block;
    position: relative;
    color: #fff;
    line-height: 2;
    white-space: nowrap;
    font-size: 14px;
    margin-right: calc(2rem + 2px);
}
.custom-site-pre-footer .nav ul  li a::before {
  content: '';
  position: absolute;
  width: 0%;
  height: 2px;
  background-color: #fff;
  left: 50%;
  bottom: 0px;
  transition: 0.5s ease;
  transition-timing-function: cubic-bezier(.58,.3,.005,1);
}
.custom-site-pre-footer .nav ul  li a:hover::before {
  width: 100%;
  left: 0;
}
.custom-site-pre-footer .nav ul  li a::after {
    content: '';
    position: absolute;
    width: 2px;
    height: 50%;
    background-color: #fff;
    top: 50%;
    right: calc(-1rem - 2px);
    transform: translateY(-50%);
}
.custom-site-pre-footer .nav ul  li:last-child a {
   margin-right: 0;
}
.custom-site-pre-footer .nav ul  li:last-child a::after {
   display: none;
}

.custom-site-pre-footer .nav2 .has-submenu {
    cursor: pointer;
}
.custom-site-pre-footer .nav2 .sub-menu {
    bottom: 5.5rem;
    box-shadow: 0 0 30px rgba(0,0,0,0.2);
}
.custom-site-pre-footer .nav2 .sub-arrow {
    transform: rotate(-90deg);
    padding: 22px 0px 10px 10px;
    margin-bottom: -21px;
    font-size: 2.2rem;
}
.custom-site-pre-footer .nav2 .elementor-nav-menu--dropdown {
	top: auto !important;
	bottom: 150%;
	transform-origin: bottom !important;
}
.custom-site-pre-footer .nav2 .elementor-menu-toggle {
    margin: 0 !important;
}
.custom-site-footer {
	color: #000;
	font-size: 16px;
	font-weight: 600;
}
section.elementor-element.elementor-element-63e398a.sec1.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default.elementor-section.elementor-top-section {
    background-position: center bottom;
    background-size: contain;
	background-color:transparent;
}
body.home .elementor.elementor-605.elementor-location-header {
    background: #ffffffa6;
}



section.elementor-element.elementor-element-63e398a.sec1.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default.elementor-section.elementor-top-section:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 125%;
    background: url(/wp-content/uploads/2019/05/background.jpg);
    background-repeat: no-repeat;
    bottom: 0;
    background-position: bottom;
    background-size: cover;
    z-index: -1;
}
@media only screen and (max-width: 1000px){
	 section.elementor-element.elementor-element-63e398a.sec1.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default.elementor-section.elementor-top-section:after 	{
			height: 135%;
	}
}

@media only screen and (max-width: 767px){
    section.elementor-element.elementor-element-63e398a.sec1.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default.elementor-section.elementor-top-section:after {
       /*content: unset; */

    }
}



/*==============================
    #OTHER
==============================*/






/* # will apply this css starting 1600px and below
   # Please insert all media queries below, avoid creating new breakpoints and inserting anywhere.
---------------------------------------------------------------------------------------------------- */
@media only screen and (max-width: 1600px) {

}

@media only screen and (max-width: 1440px) {

}

@media only screen and (max-width: 1024px) {
	.custom-site-pre-footer .nav2 .elementor-nav-menu--dropdown {
		box-shadow: 0 0 40px 5px rgba(0,0,0,0.4);
	}
	section.elementor-element.elementor-element-63e398a.sec1.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default.elementor-section.elementor-top-section {
		background-size: 135%!important;
		background-position: -178px bottom!important;
	}
}

@media only screen and (max-width: 1023px) {
	.custom-site-pre-footer .nav ul  li {
		width: 100%;
		text-align: center;
		margin-bottom: 1rem;
	}
	.custom-site-pre-footer .nav ul  li:last-child {
		margin-bottom: 0;
	}
	.custom-site-pre-footer .nav ul  li a {
		margin-right: 0;
		display: inline-block;
	}
	.custom-site-pre-footer .nav ul  li a::after {
		display: none;
	}
}

@media only screen and (max-width: 960px) {

}

@media only screen and (max-width: 767px) {
	.br { display: inline; }
	
	.custom-site-header .menu-item {
		border-right: none;
	}
	.custom-site-header .menu-item::before {
		display: none;
	}
	
	.custom-site-footer {
		text-align: center;
	}
}

@media only screen and (max-width: 567px) {
	
}










/* # Font Sizing
   # Please insert all media queries below, avoid creating new breakpoints and inserting anywhere.
---------------------------------------------------------------------------------------------------- */
@media only screen and (min-width:1025px) and (max-width:1280px) {
	section.elementor-section.elementor-section-boxed > .elementor-container {
		max-width: 107rem;
	}
}

html { font-size: 62.5%; }
@media only screen and (max-width:1600px) { html { font-size: 56.3%; 	} }
@media only screen and (max-width:1440px) { html { font-size: 50%; 		} }
@media only screen and (max-width:1280px) { html { font-size: 48%; 		} }
@media only screen and (max-width:1023px) { html { font-size: 46%;	 	} }
@media only screen and (max-width:960px)  { html { font-size: 50%;      } }
@media only screen and (max-width:767px)  { html { font-size: 55.5555%; } }