html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	width: 100%;
	font-family: 'Roboto';
	height: 100vh;
	display: flex;
	flex-direction: column;
}

.toolbar {
	height: 55px;
	width: 100%;
	background-color: white;
	border-bottom: 1px black solid;
	display: flex;
	justify-content: space-between;
}

#topLogo {
	height: 70%;
	width: auto;
	margin: auto 0 auto 3vw;
}

.toolButton {
	width: 40px;
	height:40px;
	margin: auto 0 auto auto ;
	display: flex;
	justify-content: center;
	font-size: 1.5em;
	border-radius: 4vh;
	border: 1px solid;
	text-decoration: none;
	color: #000;
	gap: 1vw;
	&:active {
		p{color:white;}
		img{filter:invert(1);}
	};
}

.content {
	width: 100%;
	flex: 1 1 100%;
	display: flex;
	flex-direction: column;
}



.conHeader {
	/*Background*/
	background-image: url("/bg.jpg");
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	flex-direction: column;
	justify-content: start;
	gap: 40px;
}
.conHeader::before {
	content: "";
}


.slBox, .ctaBox  {
	width: 100%;
	min-height: 30vh;
	padding: 10px 0;
	background-color: #fffc;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.slBox {
	text-align: center;
}
#slogan {
	margin: 0;
	font-family: 'Roboto';
	vertical-align: middle;
	display:inline-block;
	margin: auto;
	font-size: 3.5em;
}
ctaBox::after {content:"";}
#ctaText {
	font-family: 'Roboto';
	display: inline-block;
	height: min-content;
    margin: auto;
	font-size: 2em;
	text-align: center;
}
#ctaTravel {
	background-color: black;
	display: inline-block;
	height: 6vh;
	width: 60vw;
	border: none;
	font-size: 1.5em;
	color: white;
	margin: auto;
    line-height: 6vh;
    text-decoration: none;
    text-align: center;
	font-family: 'Roboto';
	&:hover {
		background-color: #229;
	}
}
.contactOptions {
	padding: 2vh 0;
	display: flex;
	flex-direction: row;
	gap: 3vw;
	justify-content: center;
}

.ctaButton {
	width: 40vw;
	height: 45px;
	display: flex;
	justify-content: center;
	font-size: 1.5em;
	border-radius: 25px;
	border: 1px solid;
	text-decoration: none;
	color: #000;
	gap: 1vw;
	&:active {
		p{color:white;}
		img{filter:invert(1);}
	};
}
.cta {
	margin: auto 0;
	text-align: center;
	font-weight: 600;
}
.ctaIcon {
	height: 22.5px;
	margin: auto 0;
	
}
#ctaCall {
	border-color: orange;
	&:active {background-color: orange;}
}
#ctaEmail {
	border-color: #4455ff;
	&:active {background-color: #4455ff;}
}
.cbForm {
	display: none;
}
.cb {
	&:focus, &:focus-within {
		.cbForm {
			display: block;
			position: fixed;
			z-index: 10;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
			background-color: red;
			height: 80vh;
			width: 30vw;
		}
	}
}

.menu-button {
	width: 55px;
	height: 55px;
	display: block;
}

.button-box {
	height: 100%;
	width: 100%;
	position: relative;
}
.button-inner {
	top: calc(46%);
	/* margin-top: -0.5vh; */
	right: 25%;
	display: block;
	width: 50%;
}
.button-inner, .button-inner::before, .button-inner::after {
	height: 4px;
	position: absolute;
	border-radius: 3px;
	background-color: #000;
	display: block;
	transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease;
}
.button-inner::before, .button-inner::after {
	content: "";
	width: 100%;
}
.button-inner::before {
	top: -9px;
}
.button-inner::after {
	bottom: -10px;
}

.button-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.button-inner::before {
    transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
.button-inner::after {
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.menu-button:focus {
	pointer-events: none;
}
.menu-button:focus .button-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.menu-button:focus .button-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
.menu-button:focus .button-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}
	
.menu-items {
	display: none;
	list-style: none;
}
.menu {
	height: 100%;
	width: auto;
}
.menu:focus-within .menu-items {
	display: block;
	position: fixed;
	left: 0;
	width: 100%;
	background-color: white;
	margin: 0;
}
.menu-items li {
	width: 100%;
	font-weight: bold;
	font-size: 1.5em;
	border-bottom: 1px solid black;
	height: 50px;
	p {
		margin: auto;
	}
}
footer {
		text-align: center;
		margin-bottom: auto;
		background-color: #ddd;
}
.resiSv, .busiSv {
	padding-top: 2.5vh;
}
.svHeader {
	text-align:center;
	font-size: 1.5em;
}
.svMenu {
	display: flex;
}
.svButton {
	width: 50%;
	height: 2em;
	background-color: #ddd;
	display: flex;
    justify-content: center;
    flex-direction: column;
	font-weight: bold;
	font-size: 1.25em;
	text-align: center;
}

.svButton input {
	display: none;
}

.svButton:has(input:checked) {
	background-color:#fff;
}
.resiSv, .busiSv {
	display: none;
}
.svMenu:has(#resi:checked) ~.resiSv {
	display: block;
}
.svMenu:has(#busi:checked) ~.busiSv {
	display: block;
}
.svItem {
	margin: 2.5vh auto;
	min-height: 40vh;
	width: 75vw;
	border: 0.25vh solid #00f;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.sviHead {
	text-align: center;
	font-size: 1.25em;
	text-align: center;
	margin: 2.5vh auto 0 auto;
	width: 70%;
}
.sviBody {
	width: 70%;
	margin: 0 auto;
}

@font-face {
	font-family: Roboto;
	src: url("/static/web/Roboto-VariableFont_wdth,wght.ttf")
	    format("truetype-variations");
	font-weight: 100 900;
}

@media only screen and (min-width: 700px) {
	.slBox, .ctaBox {
		min-height: auto;
	}
	
	.conHeader {
		gap:80px;
	}
	
	.conHeader::after {
		content:"";
	}
	
	.svItem {
		width: 40vw;
		min-height: 20vh;
	}
	
.svMenu:has(#resi:checked) ~.resiSv {
	display: flex;
}
.svMenu:has(#busi:checked) ~.busiSv {
	display: flex;
}
	
	.resiSv, .busiSv {
		flex-wrap: wrap;
		justify-content: space-evenly;
	}
}

@media only screen and (min-width: 800px) {
	.menu-button {
		display: none;
	}
	.toolButton {
		margin-right: 2vw;
	}
}

@media only screen and (min-width: 1200px) {
	.slBox, .ctaBox {
		width: 60vw;
		background-color: #fff;
	}
	.slBox {
		height: 10vh;
		margin-left: auto;
	}
	.ctaBox {
		height: 15vh;
	}
	.mob {
		display: none;
	}
	.ctaButton {
		width: 20vw;
	}
	.svItem {
		width: 20vw;
		min-height: 30vh;
	}
	
}

@media only screen and (min-width: 2400px) {
	.svItem {
		width: 15vw;
	}
}
