:root { 
	--tone-color: #28523E;
	--tone-contrast: #AEDBA2;
	--tone-light: #73986A;
	--tone-translucid: #ddedd9;
	--dark-text: #071437;
	--dark-grey: #696974;
	--light-grey: #92929D;
	--main-light: #E6F8DF;
	--main-dark: #497836;
	--border-color: #f1f1f1;

	--white: #FFF;
	--dark: #020202;
	--dark-grey: #6C6C6C;
	--success: #7EB76B;
	--error: #DC4646;

	--default-grey: #eceaed;
	--default-grey-dark: #d0ced1;
	--border-grey: #EAEAEA;
	--border-radius: 5px;
	--container-width: 1200px;
	--container-width-large: 1300px;

	--main-font: "Lexend", sans-serif;
}


  
*,
*::before,
*::after {
	box-sizing: border-box;
}
html, body{
    scroll-behavior: smooth;
    margin: 0;
    font-family: var(--main-font) !important;
}
body.lock-scroll {
    overflow: hidden;
}
[v-cloak]{display: none;}

.container-fluid{
	max-width: 1600px;
}
.container{
	max-width: var(--container-width) !important;
    padding: 0 15px;
}
.container.larger{
	max-width: var(--container-width-large) !important;
    padding: 0 15px;
}

a{color: var(--tone-color) !important;}
a:hover{color: var(--tone-light) !important; text-decoration: underline}

/*---------------------------------*/
/*------------UTILITIES------------*/
/*---------------------------------*/
.tone{color: var(--tone-color);}
.tone-contrast{color: var(--tone-contrast);}
.tone-light{color: var(--tone-light);}
.tone-dark{color: var(--tone-dark);}
.secondary{color: var(--tone-secondary);}
.tone-red{color: var(--tone-red);}
.white{color: white !important;}
.dark{color: var(--dark);}
.dark-grey{color: var(--dark-grey);}
.light-grey{color: var(--text-light);}
.success{color: var(--success);}
.error{color: var(--error);}

.bg-tone{ background-color: var(--tone-color);}
.bg-contrast{ background-color: var(--tone-contrast) !important;}

.italic{font-style: italic}
.uppercase{text-transform: uppercase}
.normal{font-weight: normal !important;}
.bold{font-weight: 600;}
.medium{font-weight: 500;}
.light{font-weight: 200;}

.calistoga{font-family: 'Calistoga', cursive !important;}

.text-center{text-align: center;}

.fs10{font-size:10px !important;}
.fs14{font-size:14px !important;}
.fs12{font-size:12px !important;}
.fs20{font-size:20px !important;}
.fs24{font-size:24px !important;}
.fs26{font-size:26px !important;}
.fs28{font-size:28px !important;}
.fs36{font-size:36px !important;}
.fs48{font-size:48px !important;}
.fs64{font-size:64px !important;}
.fs100{font-size:100px !important;}

.page-section{
    padding: 80px 0
}
.page-section.xl{
    padding: 120px 0
}

.btn{
    padding: 8px 20px;
    cursor: pointer;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 400;
    font-family: var(--main-font) !important;
    transition: all 0.3s;
}
.btn:disabled{
    opacity: 0.5;
    cursor: not-allowed;
}
.btn.btn-white{
    border: solid 1px white;
    background-color: white;
}
.btn.btn-white:hover{
    border: solid 1px var(--tone-light);
    background-color: var(--tone-light);
    color: white;
}
.btn.btn-tone{
    color: white;
    border: solid 1px var(--tone-color);
    background-color: var(--tone-color);
}
.btn.btn-tone:hover{
    border: solid 1px var(--tone-light);
    background-color: var(--tone-light);
}
.btn.btn-contrast{
    color: var(--tone-color);
    border: solid 1px var(--tone-contrast);
    background-color: var(--tone-contrast);
}
.btn.btn-contrast:hover{
    border: solid 1px var(--tone-light);
    background-color: var(--tone-light);
	color: white;
}
.btn.btn-default{
    color: var(--tone-color);
    border: solid 1px var(--default-grey);
    background-color: var(--default-grey);
}
.btn.btn-default:hover{
	color: var(--tone-color);
    border: solid 1px var(--default-grey-dark);
    background-color: var(--default-grey-dark);
}
.btn.btn-dark{
    background: var(--tone-color);
    border: solid 1px var(--tone-color);
    color: white;
}
.btn.btn-dark:hover{
    background: var(--tone-light);
     border: solid 1px var(--tone-light);
     color: white;
}
.btn.btn-block{
	width: 100%;
}
.btn.btn-lg{
	padding: 15px 15px !important;
}
.btn.btn-sm{
	padding: 6px 15px !important;
	font-size: 14px;
}
.btn.btn-xs{
	padding: 4px 10px !important;
	font-size: 12px;
}
.btn.btn-round{
	border-radius: 50px;
}


.btn.btn-outline.btn-outline-contrast{
    background: transparent;
    border: solid 1px var(--tone-contrast);
    color: var(--tone-contrast);
}
.btn.btn-outline.btn-outline-contrast:hover{
    background: var(--tone-contrast);
     border: solid 1px var(--tone-contast);
     color: var(--tone-color);
}

.btn.btn-outline.btn-outline-tone{
    background: transparent !important;
    border: solid 1px var(--tone-color) !important;
    color: var(--tone-color) !important;
}
.btn.btn-outline.btn-outline-tone:hover{
    background: var(--tone-color) !important;
    border: solid 1px var(--tone-color) !important;
    color: white !important;
}




.section-title{
    margin-top: 0 !important;
    color: var(--dark);
    font-weight: 600;
    font-family: var(--main-font) !important;
    font-size: 28px;
}

@media (max-width:768px){
    .center-mobile{
    	text-align: center;
    }
    .center-mobile .d-flex{
    	justify-content: center;
    	align-items: center;
    }
    .center-mobile img{
    	margin: auto;
    }
}

/**COOKIES AND AGE BANNERS**/
.cookies-banner{
	position: fixed;
	bottom: 25px;
	right: 0;
	left: 0;
	width: 100%;
	padding: 25px;
	border-radius: 10px;
	background-color: black;
	color: white;
	max-width: 90%;
	margin: auto;
	z-index: 9999;
}
@media (min-width: 575.98px) {
	.cookies-banner{
		width: 400px;
		left: unset;
		right: 25px;
		bottom: 25px;
	}
	
}




/*********************************************/
/******************COMPONENTS*****************/
/*********************************************/
.vp-card{
	border-radius: 8px;
	border: 1px solid #DADADA;
	background: #FFF;
}
.vp-card.shadowed{
	box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.10);
}
.vp-card.bg-tone{
	background-color: var(--tone-color);
}
.vp-tabs{
	display: flex;
	align-items: center;
	gap: 25px;
	font-weight: 600;
}
.vp-tabs .vp-tab{
	line-height: 60px;
	cursor: pointer;
	border-bottom: solid 2px white;
}
.vp-tabs .vp-tab.active{
	font-weight: bold;
	color: var(--tone-color);
	border-bottom: solid 2px var(--tone-contrast);
}
.vp-tabs .vp-tab:hover{
	border-bottom: solid 2px var(--tone-contrast);
	color: var(--tone-color);
}


/*********************************************/
/******************INPUTS*****************/
/*********************************************/
.input-lg .select, .input-lg select{
	height: 50px !important ;
}
.input-lg .input, .input-lg input{
	height: 50px !important ;
}
.input-lg .icon{
	height: 50px !important;
}
.input, .select select{
	border-radius: 8px 8px 0px 0px;
border: 1px solid #EAEAEA;

background: #FBFBFB !important;
}


.form-group{
	margin-bottom: 8px;
}
.form-group .form-label{
	font-size: 16px;
	font-weight: 300 !important;
}
.form-group .form-label + .control{
	margin-top: 6px;
}



/*********************************************/
/******************HOME*****************/
/*********************************************/
.main-hero{
	padding: 120px 0;
}
.main-hero .hero-subtitle{
	color: #AEDBA2;
	font-size: 30px;
}
.main-hero .hero-title{
	color: white;
	font-weight: bold;
	line-height: 55px;
	font-size: 48px;
}
.main-hero .hero-input{
	display: flex;
	align-items: center;
	gap: 15px;
}
.main-hero .hero-input .control{
	height: 50px !important;
}
.main-hero .hero-input .select, .main-hero .hero-input select{
	height: 50px !important ;
}
.main-hero .hero-input .btn{
	height: 50px;
	padding: 8px 12px !important;
}




/*********************************************/
/******************NAVIGATION*****************/
/*********************************************/
.main-nav{
	background-color: var(--tone-color);
	height: 80px;
	
	padding: 0 15px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99;
}
.main-nav .container{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.main-nav .nav-brand{
	margin-top: 10px;
}
.main-nav .nav-items{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 15px;
}
.main-nav .nav-items .nav-item a{
	color: white !important;
	font-weight: bold;
	font-size: 16px;
}
.main-nav .menu-toggler{
	display: none;
}
.mobile-menu{
	padding: 80px 25px;
	background-color: var(--tone-color);
	border-bottom: solid 1px #252525;
	top: -100%;
	left: 0;
	width: 100%;
	position: fixed;
	z-index: 98;
	height: 100vh;
	transition: all 0.6s;
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	justify-content: space-between;
}
.mobile-menu.active{
	top: 0;
}
.mobile-menu .menu-item{
	padding: 10px 0;
}
.mobile-menu .menu-item a{
	color: white !important;
	font-size: 26px;
	text-transform: uppercase;
}

@media (max-width: 992px) {
    .main-nav .nav-items{
		display: none;
	}
	.main-nav .menu-toggler{
		display: block;
	}
}




/*********************************************/
/*****************BUEFY EDITS*****************/
/*********************************************/
.b-checkbox.checkbox input[type=checkbox]+.check {
    border: 2px solid var(--tone-light) !important;
}
.b-checkbox:hover.checkbox input[type=checkbox]+.check {
    border: 2px solid var(--tone-light) !important;
}
.b-checkbox.checkbox input[type=checkbox]:checked+.check{
	background-color: var(--tone-light) !important;
	border-color: var(--tone-light) !important;
	box-shadow: none !important;
}

/*TABS*/
.tabs a{
	text-decoration: none !important;
	font-weight: 400;
}
.tabs li.is-active a{
	font-weight: 500;
	border-bottom-color: var(--tone-color) !important;
    color: var(--tone-color) !important;
}

/*SWITCH*/
.switch input[type=checkbox]:checked+.check {
    background: var(--tone-color) !important;
}

/*PAGINATION*/
.pagination-link.is-current {
    background-color: var(--tone-color) !important;
    border-color: var(--tone-color) !important;
    color: #fff !important;
}

/*TAGS*/
.tag{
	background-color: var(--border-grey) !important;
}
.tag.is-primary{
	background-color: var(--tone-color) !important;
}
.tag.is-light{
	background-color: var(--tone-light) !important;
	color: white !important;
}
.tag.is-contrast{
	background-color: var(--tone-contrast) !important;
}


/*INPUTS*/
.input, .textarea, .select select{
	font-family: var(--main-font) !important;
}
.input:focus, .textarea:focus{
    -webkit-box-shadow: 0px 0px 5px rgb(165 213 173) !important;
    -moz-box-shadow: 0px 0px 5px rgb(165 213 173) !important;
    box-shadow: 0px 0px 5px rgb(165 213 173) !important;
	border: solid 1px var(--tone-light) !important;
}

.select:not(.is-multiple):not(.is-loading)::after {
    border-color: var(--tone-color) !important;
}




.page-content{
	margin-top: 80px;
}


/*********************************************/
/**************LANDING STYLES***************/
/*********************************************/
.hero{
	padding-top: 120px;
	position: relative;
	background-color: var(--tone-color) !important;
	display: flex !important;
	align-items: center !important; 
	justify-content: flex-end !important;
	flex-direction: row !important;
}
.hero .container{
	
}
.hero .content{

}
.hero .hero-image{
	margin-top: 15px;
	width: 100%;
	max-width: 1300px;
	border-radius: 8px 8px 0 0;
	height: 400px;
	object-fit: cover;
	margin-bottom: -15px;
}

.hero .title{
	font-weight: 700 !important;
    font-size: 50px;
	color: var(--tone-color);
}
.hero .subtitle{
	font-weight: 300 !important;
    font-size: 18px;
	color: #3F4642;
}
.hero-mobile{
	text-align: center;
	background-color: var(--bg-tone);
    background-size: cover;
	padding-top: 80px;
	padding-bottom: 80px
}
.hero-mobile .title{
	font-weight: 500 !important;
    font-size: 28px;
    font-family: 'Lora', sans-serif;    
}
@media (max-width: 992px) {
	.hero {padding-bottom: 280px; padding-top: 150px; margin-top: 40px; height: unset !important;}
	.hero .title{font-size: 38px; margin-top: 25px}
	.hero .content{
		margin: auto;
		text-align: center;
		width: 450px;
	}
	.hero .hero-image{
		left: 0;
		bottom: 0;
		z-index: 9;
		width: 120%;
	}
}

footer{
	background-color: var(--tone-color);
	color: white;
}

footer a{
	color: white !important;
}