@font-face {
	font-family:nunito;
	font-style:normal;
	font-weight:400;
	src:url(../../fonts/nunito/Nunito-Regular.woff2)format('woff2');
	font-display:swap
}
@font-face {
	font-family:nunito;
	font-style:normal;
	font-weight:600;
	src:url(../../fonts/nunito/Nunito-SemiBold.woff2)format('woff2');
	font-display:swap
}
@font-face {
	font-family:nunito;
	font-style:normal;
	font-weight:800;
	src:url(../../fonts/nunito/Nunito-ExtraBold.woff2)format('woff2');
	font-display:swap
}
@font-face {
	font-family:nunito;
	font-style:normal;
	font-weight:200;
	src:url(../../fonts/nunito/Nunito-Regular.woff2)format('woff2');
	font-display:swap
}
* {
	margin:0;
	padding:0;
	scroll-behavior:smooth;
	scrollbar-width:none;
	font-family:Nunito,system-ui,-apple-system,segoe ui,Roboto,Arial,sans-serif;
	font-weight:400;
	font-size:inherit;
	color:inherit;
	box-sizing:border-box;
	line-height:inherit;
	text-transform:none;
	font-synthesis:none;
	user-select:none;
	-webkit-user-select:none
}
input,
textarea,
select,
option,
[contenteditable=true],
p,
li {
	user-select:text;
	-webkit-user-select:text
}
@media(prefers-reduced-motion:reduce) {
	* {
		animation:none!important;
		transition:none!important;
		scroll-behavior:auto!important
	}
}
:root {
	--white:#fff;
	--black:#000;
	--gray:gray;
	--blu:#75ace5;
	--navy:#124484;
	--green:#72c200;
	--yellow:#ffdb00;
	--red:darkred;
	--textLight:whitesmoke;
	--textDark:#333;
	--hilite:rgb(41, 100, 179);
	--accent:orange;
	--colorMode-a:plus-lighter;
	--colorMode-text:whitesmoke;
	--colorMode-bg:#333;
	--colorMode-bg-LP:rgba(100, 180, 255, 0.15);
	--colorMode-bg-black:black;
	--colorMode-bg-dark:rgba(0, 0, 0, 0.1);
	--colorMode-bg-light:rgba(255, 255, 255, 0.1);
	--colorMode-bg-lighter:rgba(255, 255, 255, 0.05);
	--colorMode-bg-light-white:rgba(255, 255, 255, 0.05);
	--colorMode-bg-tight-white:rgba(0, 0, 0, 0.75);
	--colorMode-text-dark:rgba(0, 0, 0, 0.5);
	--colorMode-text-light:rgba(255, 255, 255, 0.4);
	--colorMode-transparent:transparent;
	--colorMode-transparent-bg:rgba(0, 0, 0, 0.33);
	--colorMode-checkers:rgba(0, 0, 0, 0.33);
	--colorMode-glass:rgba(100, 180, 255, 0.15);
	--colorMode-gradient-old:linear-gradient(to bottom, rgb(10, 10, 10) 20%, transparent 60%);
	--colorMode-gradient-blu:linear-gradient(to bottom, rgb(10, 10, 10), rgb(10, 10, 10));
	--colorMode-gradient-new:linear-gradient(160deg, var(--hilite) 25%, #300b75 85%);
	--colorMode-gradient-newer:linear-gradient(160deg, var(--hilite) 20%, black 150%);
	--colorMode-gradient-flipBox:radial-gradient(circle at -10% -120%, transparent 78%, var(--hilite) 50%);
	--colorMode-flipBox-open:rgba(255, 255, 255, 0.1);
	--colorMode-flipBox-border:var(--black);
	--colorMode-extra-border:rgba(255, 255, 255, 0.5);
	--colorMode-extra-color:rgba(255, 255, 255, 0.75);
	--colorMode-footer:#75ace5;
	--colorMode-footer-new:rgb(10, 10, 10);
	--colorMode-background:rgba(100, 180, 255, 0.2);
	--colorMode-process-number:var(--red);
	--colorMode-gear:rgba(150, 205, 255, .6);
	--colorMode-slider:var(--hilite);
	--purple:rgb(157, 0, 181)
}
.glass {
	background-color:var(--colorMode-glass);
	box-shadow:0 0 8px black;
	backdrop-filter:blur(20px);
	-webkit-backdrop-filter:blur(20px)
}
.glass-element {
	overflow:hidden;
	background-color:var(--colorMode-glass)!important;
	backdrop-filter:blur(30px);
	-webkit-backdrop-filter:blur(30px);
	border:1px solid rgba(255,255,255,.1);
	box-shadow:0 0 10px rgba(0,0,0,.75),inset 0 0 10px rgba(255,255,255,.1)
}
.glass-element::before {
	content:'';
	position:absolute;
	top:0;
	left:-50%;
	width:33%;
	height:100%;
	background:linear-gradient( to right,transparent,rgba(255,255,255,.1),transparent );
	transform:skewX(-20deg);
	animation:shimmer 10s infinite;
	z-index:-1;
	border-radius:30px
}
::-webkit-scrollbar {
	display:none!important
}
.clearfix::after {
	content:"";
	display:table;
	clear:both
}
html,
body {
	overflow:hidden!important;
	position:fixed;
	height:100dvh;
	width:100dvw;
	top:0;
	left:0
}
#bg {
	height:100dvh;
	width:100dvw;
	position:absolute;
	top:0;
	left:0;
	background:no-repeat 50% url(https://cdn.techespresso.ca/assets/images/bg/tribal.webp);
	background-size:cover;
	opacity:.2;
	z-index:-1;
	pointer-events:all
}
sup {
	font-size:70%
}
strong {
	font-weight:800
}
b {
	font-weight:600
}
i {
	font-style:normal
}
location {
	font-weight:inherit
}
.fa span {
	-webkit-font-smoothing:unset;
	-moz-osx-font-smoothing:unset
}
.fa:before {
	padding-right:5px
}
h1,
h2,
h3,
h4,
h5,
h6 {
	text-transform:none;
	font-size:inherit
}
.noA,
.noA a {
	border:none!important;
	color:inherit;
	background-color:initial!important;
	padding:0!important
}
.noA::before,
.noA a::before {
	display:none!important
}
a,
a:active,
a:focus,
button {
	outline:none;
	text-decoration:none;
	color:var(--hilite);
	pointer-events:all;
	cursor:pointer;
	background-color:initial;
	border:1px solid transparent;
	position:relative
}
a,
button {
	font-weight:600!important;
	font-size:inherit;
	line-height:inherit;
	border-radius:20px;
	transition:all .3s;
	-webkit-transition:all .3s;
	position:relative;
	display:inline-block
}
a::before,
button::before {
	content:'';
	position:absolute;
	left:-5px;
	right:-5px;
	margin:0 auto;
	top:0;
	width:10%;
	height:100%;
	background-color:rgba(255,255,255,.1);
	border-radius:20px;
	z-index:-1;
	opacity:0;
	will-change:opacity;
	box-shadow:0 0 4px black,inset 1px 1px 4px var(--textLight);
	transition:all .5s ease-out;
	-webkit-transition:all .5s ease-out
}
a:hover::before,
button:hover::before {
	opacity:.6;
	width:calc(100% + 10px);
	transition:all .3s;
	-webkit-transition:all .3s
}
a:hover,
button:hover {
	color:var(--blu)!important
}
.aButton,
.aButton-inverted {
	border-radius:25px;
	font-size:18px;
	line-height:22px;
	white-space:nowrap;
	border:1px solid var(--textLight)!important;
	overflow:hidden;
	cursor:pointer;
	text-align:center;
	-webkit-transition:all .5s;
	transition:all .5s;
	pointer-events:all
}
.aButton-inverted {
	position:relative;
	display:inline-block;
	padding:5px 10px;
	margin:10px 5px;
	color:var(--textLight);
	background-color:initial
}
.aButton-inverted:hover {
	color:var(--textDark);
	background-color:var(--textLight)
}
.aButton {
	position:relative;
	display:inline-block;
	padding:5px 10px;
	margin:10px 5px;
	color:var(--textDark);
	background-color:#fff
}
.aButton:hover {
	color:var(--textLight);
	background-color:initial
}
.aButton span,
.aButton-inverted span {
	font-weight:600
}
.noDecoration {
	outline:none!important;
	border:none!important;
	text-decoration:none!important;
	background-color:rgba(255,255,255,0)!important
}
num {
	position:absolute;
	width:35px;
	border-radius:50%;
	color:var(--blu);
	font-size:52px!important;
	line-height:40px;
	text-align:center;
	margin-top:6px;
	margin-left:-45px
}
select::-ms-expand {
	display:none
}
select {
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	background-image:url(https://cdn.techespresso.ca/assets/images/icons/mapPin-gray.png);
	background-position:right 5px center;
	background-repeat:no-repeat;
	background-size:26px;
	background-color:var(--white);
	font-size:20px;
	line-height:26px;
	padding:6px 35px 6px 10px;
	margin-top:-5px;
	cursor:pointer;
	width:150px;
	border:1px solid var(--colorMode-bg-light);
	border-radius:25px;
	margin-right:10px;
	outline:none;
	transition:all .3s;
	-webkit-transition:all .3s;
	color:var(--textDark);
	font-weight:400
}
select:hover,
select:active {
	border:1px solid var(--colorMode-bg-dark)
}
hr {
	width:100%;
	height:0;
	border:0;
	border-top:1px solid var(--colorMode-bg-light);
	margin:5px auto;
	padding:0
}
.med {
	width:50%;
	margin:30px 25%
}
.short {
	width:30%;
	margin:30px 35%
}
.xxl {
	font-size:-webkit-calc(18px + 2dvw);
	font-size:calc(18px + 2dvw);
	line-height:-webkit-calc(26px + 2dvw);
	line-height:calc(26px + 2dvw);
	margin-top:20px
}
.xl {
	font-size:-webkit-calc(10px + 2dvw);
	font-size:calc(10px + 2dvw);
	line-height:-webkit-calc(26px + 2dvw);
	line-height:calc(26px + 2dvw)
}
.l {
	font-size:-webkit-calc(12px + 1.2dvw);
	font-size:calc(12px + 1.2dvw);
	line-height:-webkit-calc(26px + 1.2dvw);
	line-height:calc(26px + 1.2dvw)
}
.m {
	font-size:34px!important;
	line-height:42px!important
}
.s {
	font-size:28px!important;
	line-height:36px!important
}
.xs {
	font-size:24px!important;
	line-height:32px!important
}
.xxs {
	font-size:20px!important;
	line-height:28px!important
}
.xxxs {
	font-size:16px!important;
	line-height:24px!important
}
.xxxxs {
	font-size:14px!important;
	line-height:21px!important
}
.tiny {
	font-size:11px!important;
	line-height:15px!important
}
.textDark {
	color:var(--textDark)!important
}
.textGray {
	color:var(--gray)!important
}
.textLight {
	color:var(--textLight)!important
}
.textBlue {
	color:var(--blu)!important
}
.textYellow {
	color:var(--yellow)!important
}
.textGreen {
	color:var(--green)!important
}
.textStrong {
	font-weight:800!important
}
.textBold {
	font-weight:600!important
}
.textMedium {
	font-weight:400!important
}
.keepItTogether {
	display:inline-block;
	white-space:nowrap
}
.centerText {
	width:100%!important;
	text-align:center!important
}
.centreText {
	width:100%!important;
	text-align:center!important
}
.leftText {
	width:100%!important;
	text-align:left!important
}
.rightText {
	width:100%!important;
	text-align:right!important
}
.accentText {
	font-weight:400;
	color:var(--accent)
}
.squircle {
	mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M0 50C0 6 6 0 50 0C94 0 100 6 100 50C100 94 94 100 50 100C6 100 0 94 0 50Z"/></svg>');
	mask-repeat:no-repeat;
	mask-size:cover;
	border:none!important;
	box-shadow:none!important
}
.squircle-tall {
	mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 280 400"><path d="M0 83.552C0 14.7469 14.7469 0 83.552 0H196.448C265.253 0 280 14.7469 280 83.552V316.448C280 385.253 265.253 400 196.448 400H83.552C14.7469 400 0 385.253 0 316.448V83.552Z"/></svg>');
	mask-repeat:no-repeat;
	mask-size:cover;
	border:none!important;
	box-shadow:none!important
}
li::marker {
	content:''
}
li::before {
	content:"\e917";
	left:-10px;
	position:absolute;
	font-family:fa-custom,sans-serif;
	padding-top:3px;
	color:var(--green);
	opacity:.85;
	font-size:20px
}
li {
	padding:10px;
	margin:0
}
.liHead {
	margin:10px 15px;
	position:relative;
	font-size:16px
}
li strong {
	padding-right:10px;
	font-size:18px
}
.liHead span {
	display:block;
	margin:10px
}
.liHead::marker {
	content:''
}
.liHead::before {
	content:''
}
ul li:last-child {
	margin-bottom:-5px
}
#liHead {
	font-size:22px;
	text-align:center;
	width:100%;
	display:block;
	margin:15px auto 30px
}
ul {
	list-style-type:none;
	padding:0;
	margin:0
}
.header-section li::before {
	left:13px;
	padding-top:22px
}
.noMarker::before {
	content:""
}
.header-section li {
	margin:10px 0 -55px 10px
}
.header-section ul {
	width:calc(100% + 10px)
}
.header-section ul span {
	margin:30px 0 -40px;
	display:block
}
.overlay {
	position:fixed;
	height:110%;
	width:110%;
	top:-5%;
	left:-5%;
	background-color:rgba(0,0,0,.2);
	z-index:999199;
	-webkit-backdrop-filter:blur(15px);
	backdrop-filter:blur(10px);
	opacity:0;
	display:none
}
#overlayLandscape {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	color:#fff;
	align-items:center;
	justify-content:center;
	text-align:center;
	z-index:999999;
	display:none;
	opacity:0;
	font-size:26px;
	font-weight:600;
	padding:25px;
	background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),rgba(0,0,0,.8)url(https://cdn.techespresso.ca/assets/images/logo/gear/gearLogo300.png)no-repeat 50% 35px;
	background-size:120px
}
#overlayLandscape button {
	font-size:18px;
	font-weight:400!important
}
#country-wrapper {
	display:flex;
	border:1px solid rgba(255,255,255,.5);
	border-radius:25px;
	margin:25px 0;
	overflow:hidden;
	transition:border-color .3s;
	cursor:pointer
}
#country-left,
#country-right {
	flex:1;
	display:flex;
	justify-content:center;
	align-items:center;
	padding:10px;
	min-width:0;
	background-color:rgba(130,130,130,0);
	transition:flex .25s ease,background-color .6s ease
}
#country-left i,
#country-right i {
	font-size:24px;
	padding:0 10px;
	display:flex;
	align-items:center
}
#country-left span,
#country-right span {
	font-size:18px;
	max-width:0;
	opacity:0;
	overflow:hidden;
	white-space:nowrap;
	display:flex;
	align-items:center;
	line-height:1;
	padding-top:2px;
	transition:max-width .25s ease,opacity .6s ease
}
#country-left:hover,
#country-right:hover {
	flex:4;
	background-color:rgba(130,130,130,.15)
}
#country-left:hover span,
#country-right:hover span {
	max-width:110px;
	opacity:1
}
#country-wrapper:has(#country-left:hover) #country-right,
#country-wrapper:has(#country-right:hover) #country-left {
	flex:1
}
#country-wrapper:hover {
	border-color:#fff
}
.menu {
	position:absolute;
	top:-320px;
	left:0;
	width:100%;
	height:360px;
	z-index:999201;
	border-radius:0 0 30px 30px;
	color:var(--textLight);
	font-size:14px
}
#menuBG {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	opacity:0;
	border-radius:0 0 30px 30px;
	border-bottom:none;
	background-image:var(--colorMode-gradient-old)
}
.menu:hover #menuBG,
.menu:active #menuBG,
.menuButton:hover>#menuBG,
.menuButton:active>#menuBG {
	opacity:1
}
#menu-button {
	position:absolute;
	margin:0 auto;
	left:0;
	right:0;
	bottom:0;
	width:50px;
	height:40px;
	cursor:pointer;
	z-index:999203
}
.menuButton {
	position:absolute;
	margin:0 auto;
	left:0;
	right:0;
	top:8px;
	width:45px;
	height:30px;
	cursor:pointer;
	overflow:hidden;
	text-align:center;
	z-index:999202;
	pointer-events:none
}
.menuB {
	position:absolute;
	margin:0 auto;
	left:0;
	right:0;
	background-color:rgba(255,255,255,.5);
	border-radius:5px;
	height:5px;
	width:100%;
	transform:rotate(0)
}
.menuButton:hover .menuB,
.menuButton:active .menuB {
	background-color:rgba(255,255,255,.75)!important
}
#mb1 {
	top:0
}
#mb2 {
	top:9px;
	opacity:1
}
#mb3 {
	top:18px
}
.menu-container {
	height:200px;
	width:100%;
	overflow:hidden;
	position:absolute;
	margin:0 auto;
	left:0;
	right:0;
	top:110px
}
.menuItem {
	position:absolute;
	margin:0 auto;
	left:0;
	right:0;
	width:calc(100% - 30px);
	min-width:300px;
	height:200px;
	top:0;
	white-space:nowrap;
	display:inline-block;
	pointer-events:none;
	opacity:0;
	container-type:inline-size;
	text-align:center
}
.menuTitle {
	position:relative;
	margin:0 auto;
	left:0;
	right:0;
	top:-10px;
	width:fit-content;
	font-size:26px;
	line-height:46px;
	color:var(--textLight);
	opacity:1
}
#menu-service {
	width:calc(100% - 50px);
	min-width:300px
}
.main-button {
	position:absolute;
	width:80cqw;
	left:0;
	right:0;
	margin:0 auto;
	bottom:10cqw;
	display:block ruby
}
.extra-button {
	position:relative;
	width:auto;
	max-width:300px;
	margin:10px auto 45px
}
.menuItem .loc,
.main-button .loc,
.extra-button .loc {
	display:inline-block;
	white-space:nowrap;
	width:49%;
	border:1px solid rgba(255,255,255,.5);
	border-radius:30px;
	font-size:26px;
	color:var(--textLight);
	text-align:center;
	cursor:pointer;
	height:45px;
	line-height:45px;
	overflow:hidden;
	margin-top:25px;
	align-content:center
}
.menuItem .loc:hover,
.menuItem .loc:active,
.main-button .loc:hover,
.main-button .loc:active {
	border-color:#fff
}
.extra-button .loc:hover,
.extra-button .loc:active {
	border-color:var(--colorMode-text)
}
#main-book,
#main-info {
	border-color:rgb(255,255,255,.5);
	color:rgb(255,255,255,.75)
}
#main-book:hover,
#main-book:active,
#main-info:hover,
#main-info:active {
	border-color:#fff;
	color:#fff
}
#extra-book,
#extra-info {
	border-color:var(--colorMode-extra-border);
	color:var(--colorMode-extra-color)
}
#extra-book:hover,
#extra-info:hover,
#extra-book:active,
#extra-info:active {
	border-color:var(--colorMode-text);
	color:var(--colorMode-text)
}
.menuItem .loc span,
.main-button .loc span,
.extra-button .loc span {
	max-width:0;
	display:inline-block;
	overflow:hidden;
	font-size:22px;
	line-height:20px;
	font-weight:400;
	padding:0!important
}
#extra-book i,
#extra-info i,
#extra-book i span,
#extra-info i span {
	color:inherit!important
}
#loc-can i::before,
#loc-usa i::before,
#main-info i::before,
#main-book i::before,
#extra-info i::before,
#extra-book i::before {
	margin-bottom:-3px!important
}
.menuItem .city {
	white-space:nowrap;
	width:100%;
	font-size:26px;
	color:var(--textLight);
	text-align:center;
	cursor:pointer;
	height:45px;
	line-height:45px;
	overflow:hidden;
	position:relative;
	margin-top:25px;
	display:none;
	max-width:300px;
	min-width:220px
}
#menu i span {
	font-weight:400
}
#loc-footer,
#city-footer {
	width:100%;
	text-align:center;
	margin-top:20px;
	font-size:14px;
	opacity:.6
}
#loc-usa,
#main-info,
#extra-info {
	border-radius:30px 0 0 30px;
	border-right:none
}
#loc-can,
#main-book,
#extra-book {
	border-radius:0 30px 30px 0;
	border-left:none
}
.menuBar {
	position:absolute;
	width:100%;
	bottom:3px;
	padding:5px 15px;
	overflow:hidden;
	font-weight:400;
	display:flex;
	justify-content:space-between;
	align-items:end;
	height:65px
}
#menuBar-location {
	display:flex;
	align-items:center;
	gap:5px;
	flex-grow:1;
	overflow:hidden
}
#menu-nav-container {
	position:absolute;
	top:5px;
	left:0;
	right:0;
	margin:5px auto;
	width:calc(100% - 80px);
	height:20px;
	align-self:start;
	display:flex;
	align-items:center;
	opacity:.75;
	z-index:1
}
#menu-nav-container i {
	width:20px;
	height:20px;
	border-radius:0;
	position:absolute;
	opacity:.3;
	cursor:auto
}
#menu-nav-container i:nth-child(2) {
	left:1px
}
#menu-nav-container i:nth-child(3) {
	left:65px
}
#menu-nav-container i:nth-child(4) {
	right:1px
}
#menu-nav-container i:nth-child(5) {
	right:0;
	left:0;
	margin:0 auto;
	top:-9px
}
#menu-nav-container div {
	width:2px;
	height:7px;
	display:inline-flex;
	position:absolute;
	margin:0 auto;
	background-color:#fff;
	top:11px
}
#menu-nav-container i:hover div,
#menu-nav-container i:active div {
	background-color:#dcdcdc
}
#menu-nav-container i:hover,
#menu-nav-container i:active {
	background-color:initial
}
#menu-nav-container hr {
	width:calc(100% - 20px);
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	border:1px solid rgba(255,255,255,.2);
	z-index:-1
}
#menuBar-svc {
	position:relative;
	margin-left:auto;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:clip;
	text-align:start;
	flex-shrink:1;
	flex-grow:0;
	direction:ltr;
	padding-right:10px;
	display:flex;
	align-content:center;
	justify-content:flex-start
}
.menuBar i,
.menuBar div i,
.contactBar i,
.contactBar div i,
.contactBar div:nth-child(-n+2) {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	white-space:nowrap;
	padding:5px 10px;
	cursor:pointer;
	border-radius:15px;
	margin:0;
	transition:all .3s ease
}
.menuBar i:hover,
.menuBar div i:hover,
.contactBar i:hover,
.contactBar div i:hover,
.contactBar div:nth-child(-n+2):hover,
.menuBar i:active,
.menuBar div i:active,
.contactBar i:active,
.contactBar div i:active,
.contactBar div:nth-child(-n+2):active {
	background-color:rgba(255,255,255,.1)
}
#menu-loc {
	width:300px
}
.city select {
	background-color:initial;
	width:inherit;
	position:absolute;
	left:0;
	top:0;
	margin:0;
	height:inherit;
	border:1px solid rgba(255,255,255,.5);
	border-radius:30px;
	float:none;
	background-position:right 8px center;
	padding-left:12px;
	font-weight:400;
	color:var(--white)
}
.city select:hover,
.city select:active {
	color:inherit;
	border-color:#fff
}
.services {
	position:relative;
	width:auto;
	height:130px;
	overflow-x:auto;
	overflow-y:hidden;
	white-space:nowrap;
	scroll-behavior:smooth;
	user-select:none;
	margin:15px 20px;
	top:-15px
}
.mSvc-container {
	display:inline-grid;
	width:95px;
	height:125px;
	box-sizing:border-box;
	margin:0 10px 0 0
}
.mSvc-container:hover .mSvc,
.mSvc-container:active .mSvc {
	background-color:rgba(255,255,255,.2)
}
.mSvc {
	width:90px;
	height:90px;
	background-color:rgba(255,255,255,.1);
	cursor:pointer;
	position:relative;
	left:2px
}
.mSvc i:first-child {
	line-height:90px;
	text-align:center;
	width:100%;
	font-size:26px;
	display:block
}
.mSvc-container p {
	font-size:12px;
	width:100%;
	text-align:center;
	line-height:14px;
	white-space:break-spaces
}
.mSvc-container:last-child {
	margin:0
}
.dragScroll {
	position:absolute;
	width:100cqw;
	height:inherit;
	top:50px;
	left:0;
	pointer-events:none;
	z-index:1
}
#dragScroll {
	display:none
}
.scrollRight,
.scrollLeft {
	top:17px;
	position:absolute;
	height:50px;
	width:50px;
	line-height:50px;
	transition:all .3s;
	color:var(--accent);
	font-weight:800!important;
	pointer-events:none;
	cursor:pointer;
	font-size:24px;
	border-radius:50%;
	text-align:center
}
.scrollRight {
	right:-25px
}
.scrollLeft {
	left:-25px
}
.dragScroll .scrollRight:hover,
.dragScroll .scrollLeft:hover,
.dragScroll .scrollRight:active,
.dragScroll .scrollLeft:active {
	box-shadow:0 0 10px -5px black
}
.contactBar {
	position:absolute;
	width:100%;
	top:42px;
	padding:5px 15px;
	overflow:hidden;
	font-weight:400
}
#contactBar-action {
	float:right
}
#contactBar-call-box {
	position:absolute;
	top:55px;
	left:15px;
	display:none;
	padding:5px;
	border-radius:0 0 10px 10px;
	color:var(--textLight);
	pointer-events:none;
	width:auto;
	height:auto;
	opacity:0;
	overflow:hidden;
	white-space:nowrap;
	z-index:1;
	box-shadow:0 10px 10px rgba(0,0,0,.2);
	background-image:var(--colorMode-gradient-blu)
}
#contactBar-call-box i {
	margin:7px
}
#contactBar-call-box a {
	mix-blend-mode:plus-lighter
}
.btnPrimary {
	position:absolute;
	left:50%;
	transform:translate(-50%,-50%)scale(1);
	width:220px;
	font-size:22px;
	height:44px;
	border-radius:22px;
	color:var(--white);
	pointer-events:all;
	background-color:rgba(255,255,255,0);
	line-height:44px;
	top:calc(50% + 120px)
}
.btnPrimary:hover {
	background-color:rgba(255,255,255,.25)
}
.btnPrimary i::before {
	font-size:28px;
	position:absolute;
	left:15px;
	top:50%;
	transform:translateY(-50%)
}
.btnPrimary i span {
	position:absolute;
	top:50%;
	left:calc(50% + 15px);
	transform:translate(-50%,-50%);
	font-weight:600;
	font-size:24px;
	width:max-content
}
#main-icon .btnPrimary {
	display:none
}
#extraBtn {
	position:relative;
	border:1px solid var(--colorMode-bg-light);
	cursor:pointer
}
#extraBtn i {
	color:var(--colorMode-text)!important
}
#extraBtn i span {
	color:var(--colorMode-text)!important
}
.headliners {
	position:absolute;
	color:var(--white);
	transform-origin:center;
	z-index:0;
	pointer-events:none;
	display:flex;
	align-items:center;
	width:calc(100% - 40px);
	opacity:1;
	will-change:transform,opacity;
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	border-radius:45px
}
#headliners-info-wrapper {
	position:absolute;
	left:-36px;
	transform:translateX(0);
	z-index:-1;
	opacity:.75;
	width:150px;
	height:150px;
	border-radius:50%;
	transition:transform .3s cubic-bezier(.25,.8,.25,1);
	user-select:none;
	touch-action:pan-y
}
.dragging {
	cursor:grabbing
}
#headliners-info-wrapper.dragging {
	transition:none;
	cursor:grabbing!important;
	will-change:transform
}
#headliners-info {
	height:64px;
	width:64px;
	border-radius:50%;
	background-color:var(--navy);
	color:var(--white);
	position:absolute;
	padding:0;
	z-index:-1;
	cursor:grab;
	font-style:normal;
	transform-origin:center center;
	pointer-events:all;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%)rotate(0)!important
}
#headliners-info::before,
#headliners-info::after {
	font-family:fa-custom,sans-serif;
	font-size:30px;
	transition:all .3s;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	font-style:normal;
	font-weight:400;
	font-variant:normal;
	text-transform:none;
	line-height:1;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	pointer-events:none
}
#headliners-info::before {
	content:'\e90a';
	opacity:1
}
#headliners-info::after {
	opacity:0
}
#headliners-info-bg {
	position:absolute;
	font-size:120px;
	z-index:-2;
	width:100%;
	height:100%;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	display:flex;
	justify-content:center;
	align-items:center;
	color:var(--colorMode-gear);
	animation:rotate2 40s linear infinite;
	transform-origin:center center;
	opacity:1;
	border-radius:50%;
	pointer-events:none
}
#headliners #LP2-teaser {
	opacity:1;
	background:linear-gradient( to right,transparent -10%,rgba(255,255,255,.75) 50%,transparent 110% );
	background-size:200% 100%;
	background-position:0;
	animation:slide 5s linear infinite;
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
	text-shadow:0 0 5px rgba(0,0,0,.33)
}
#headliners:hover #LP2-teaser {
	opacity:1;
	background:linear-gradient( to right,transparent -10%,rgba(255,255,255,.75) 50%,transparent 110% );
	background-size:200% 100%;
	background-position:0;
	animation:slide 5s linear infinite;
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
	text-shadow:0 0 5px rgba(0,0,0,.33)
}
#headliners:hover #LP2-body {
	opacity:0
}
#LP2-teaser.dragging {
	opacity:1!important
}
#headliners:hover #headliners-info,
#headliners:hover #headliners-info-wrapper #headliners-info {
	transform:translate(-50%,-50%)rotate(360deg)!important
}
#headliners:hover #headliners-info-wrapper #headliners-info::before {
	opacity:0;
	font-size:40px
}
#headliners:hover #headliners-info-wrapper #headliners-info::after {
	opacity:1;
	font-size:38px
}
#headliners-info-wrapper .gears::after {
	content:'\e929'
}
#headliners-info-wrapper .windows::after {
	content:'\e94a'
}
#headliners-info-wrapper .apple::after {
	content:'\e900'
}
#headliners-info-wrapper .battery-bolt::after {
	content:'\e903'
}
#headliners-info-wrapper .folder-heart::after {
	content:'\e925'
}
#headliners-info-wrapper .laptop::after {
	content:'\e935'
}
#headliners-info-wrapper .display-crack::after {
	content:'\e920'
}
#headliners-info-wrapper .earth-americas::after {
	content:'\e922'
}
#headliners-info-wrapper .shield-virus::after {
	content:'\e943'
}
#headliners-info-wrapper .umbrella::after {
	content:'\e946'
}
#headliners-info-wrapper .bitcoin-sign::after {
	content:'\e904'
}
#headliners-info-wrapper .building-shield::after {
	content:'\e906'
}
.headliners .checkers {
	margin:10px auto;
	border:none;
	pointer-events:none;
	display:inherit
}
.headliners .checkers i {
	display:inline-flex;
	position:relative;
	cursor:unset;
	background-color:rgba(255,255,255,5%);
	border:1px solid rgba(255,255,255,0)
}
.headliners .checkers i:hover,
.headliners .checkers i:active {
	color:var(--green)
}
.headliners .checkers i span {
	color:var(--white);
	font-weight:400
}
.LP2 {
	position:relative;
	display:inline-block;
	pointer-events:all;
	border:2px solid rgba(255,255,255,.25);
	border-radius:45px;
	background-image:linear-gradient(to right,transparent -10%,rgba(0,0,0,.5),transparent 110%);
	cursor:pointer;
	z-index:-3;
	height:76px;
	width:100%;
	container-type:inline-size;
	overflow:hidden;
	box-shadow:inset 0 0 25px -10px var(--black);
	transition:border-color .3s ease;
	-webkit-transition:border-color .3s ease
}
#headliners:hover #headliners-info-wrapper {
	z-index:1;
	opacity:1!important
}
#headliners:hover .LP2 {
	border-color:rgba(255,255,255,.5)
}
.headlinersDrag .LP2 {
	border-color:var(--purple);
	animation:colorCycle 6s linear infinite
}
.headlinersDrag #headliners-info-wrapper {
	z-index:1;
	opacity:1!important
}
.headlinersDrag #headliners-info,
.headlinersDrag #headliners-info-wrapper #headliners-info {
	transform:translate(-50%,-50%)rotate(360deg)!important
}
.headlinersDrag #headliners-info-wrapper #headliners-info::before {
	opacity:0;
	font-size:40px
}
.headlinersDrag #headliners-info-wrapper #headliners-info::after {
	opacity:1;
	font-size:38px
}
#LP2-body {
	position:absolute;
	display:inline-block;
	font-size:calc(1.5cqw + 24px);
	line-height:calc(1.25cqw + 15px);
	text-align:center;
	width:100%;
	padding:0;
	top:50%;
	transform:translateY(-50%);
	opacity:1;
	font-weight:400;
	align-content:center
}
.wrapText-R {
	width:20px;
	height:10px;
	float:right
}
#LP2-teaser {
	position:absolute;
	display:inline-block;
	font-size:clamp(22px,calc(1cqw + 18px),26px);
	width:auto;
	left:calc(50%);
	padding:0;
	top:50%;
	transform:translate(-50%,-50%);
	color:transparent;
	opacity:0;
	text-align:right;
	z-index:2;
	pointer-events:none
}
#LP2-teaser p {
	font-weight:600;
	animation:slide .75s ease-in-out infinite alternate;
	white-space:nowrap
}
.LP2 span,
.LP2 location {
	font-weight:800
}
body.dragging-active #LP2-teaser {
	opacity:1!important;
	pointer-events:none!important
}
#headliners-info.dragging,
body.dragging-active {
	cursor:grabbing!important;
	user-select:none!important
}
#main-service-type tag {
	position:absolute;
	font-size:14px;
	opacity:.7;
	z-index:1;
	-webkit-transition:all .3s;
	transition:all .3s;
	pointer-events:all;
	left:50%;
	transform:translateX(-50%);
	padding:0;
	border-radius:0 0 10px 10px;
	background-color:rgba(255,255,255,0);
	line-height:normal;
	width:213px;
	text-align:right;
	will-change:opacity;
	color:var(--textLight);
	bottom:125px;
	cursor:pointer
}
#main-service-type tag location {
	font-weight:400
}
#main-service-type tag:hover {
	opacity:1
}
#main-service-type:has(tag:hover)::after {
	opacity:0!important
}
#main-service-type tag location::before {
	content:"\e937";
	font-family:fa-custom,sans-serif;
	padding:0 4px;
	font-size:14px;
	opacity:.8;
	float:right;
	position:relative;
	top:1px
}
bind {
	white-space:nowrap;
	font-weight:inherit
}
.mainFrame {
	position:fixed;
	top:calc(100dvh + 100px);
	left:50%;
	-webkit-transform:translate(-50%,0%)translateZ(0);
	perspective:1500px;
	-webkit-perspective:1500px;
	transform-origin:center;
	margin:0 auto;
	width:calc(100dvw - 100px);
	height:calc(-50px + 100dvh);
	color:var(--colorMode-text);
	container-type:inline-size;
	border-radius:35px 35px 0 0;
	display:flex;
	align-content:center;
	justify-content:center;
	max-width:1000px;
	z-index:999200;
	transform:translateX(-50%)translateZ(0)
}
#flip-box-inner {
	position:relative;
	width:100%;
	height:100%;
	text-align:center;
	overflow:hidden;
	transform-style:preserve-3d;
	-webkit-transform-style:preserve-3d;
	-webkit-transform:translateZ(0);
	container-type:inline-size;
	border-radius:35px 35px 0 0;
	background-size:100%;
	transform:translateZ(0);
	background-color:var(--colorMode-flipBox-open)!important;
	box-shadow:0 0 15px black
}
.mainFramed {
	pointer-events:none;
	opacity:0;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	text-align:center;
	z-index:1
}
.main-content-outer {
	position:fixed;
	width:100%;
	height:calc(100% - 75px);
	top:70px;
	left:0;
	overflow:hidden auto;
	-webkit-mask-image:linear-gradient(to bottom,transparent,black 12%);
	mask-image:linear-gradient(to bottom,transparent,black 12%);
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat
}
#main-booking {
	transform:rotateY(180deg);
	-webkit-transform:rotateY(180deg)
}
#main-booking,
#main-content {
	display:none;
	pointer-events:all;
	opacity:1;
	width:100%;
	height:auto;
	top:10px;
	overflow:hidden;
	position:absolute
}
#main-booking .main-section .main-content-title i::before {
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	color:var(--colorMode-bg-light);
	z-index:-1;
	font-size:170px;
	top:-35px
}
.circleArrow-left {
	position:relative
}
#getStarted::before,
#getBooking::before,
#getInfo::before,
.circleArrow-left::after,
.circleArrow-right::after {
	content:'';
	position:absolute;
	width:160px;
	height:80px;
	background-image:url(https://cdn.techespresso.ca/assets/images/circleArrow.png);
	background-size:contain;
	background-repeat:no-repeat;
	left:-13px;
	opacity:.5;
	transform:rotate(0);
	top:-10px;
	transform-origin:center;
	pointer-events:none
}
.circleArrow-left::after {
	left:6px;
	transform:scaleX(1)rotate(-7deg);
	top:-6px
}
.circleArrow-right::after {
	left:-6px;
	transform:scaleX(-1)rotate(-4deg);
	top:-4px
}
#getStarted,
#getBooking,
#getInfo {
	width:fit-content;
	left:50%;
	position:relative;
	transform:translateX(-50%);
	font-size:16px;
	margin-top:5px
}
#getStarted strong,
#getBooking strong,
#getInfo strong {
	padding-right:10px
}
#getBooking {
	margin:75px 0 50px
}
#getInfo {
	margin:0 0 40px
}
#getInfo::before {
	width:130px;
	top:-8px
}
.main-buttons {
	font-size:22px;
	position:absolute;
	left:0;
	bottom:0;
	text-align:center;
	width:100%;
	padding-bottom:6cqw;
	overflow:hidden;
	white-space:nowrap;
	z-index:1
}
.main-buttons i {
	position:relative;
	width:35%;
	text-align:center;
	display:inline-block;
	font-size:8cqw;
	padding:2cqw;
	margin:2cqw;
	border-radius:6cqw;
	background-color:var(--colorMode-transparent);
	border:1px solid var(--colorMode-text);
	cursor:pointer
}
.main-buttons i:hover,
.main-buttons i:active {
	background-color:var(--colorMode-text);
	color:var(--colorMode-bg);
	border:1px solid var(--colorMode-bg)
}
.main-buttons i span {
	font-size:6cqw;
	font-weight:600;
	line-height:6.5cqw;
	position:absolute;
	margin:0 auto;
	left:7.5cqw;
	right:0
}
.main-buttons i::before {
	float:left;
	left:0;
	line-height:6.75cqw;
	position:relative
}
.main-buttons i:first-child::before {
	left:2.5cqw;
	font-size:6cqw;
	bottom:.5cqw
}
.main-buttons i:first-child {
	width:28%;
	border-top-right-radius:0;
	border-bottom-right-radius:0;
	margin-right:2px;
	border-bottom-left-radius:120px
}
.main-buttons i:last-child {
	width:46%;
	border-top-left-radius:0;
	border-bottom-left-radius:0;
	margin-left:2px;
	border-bottom-right-radius:120px
}
.hilite-button {
	background-color:rgba(255,255,255,.1)!important;
	color:var(--textLight)!important;
	font-weight:600!important;
	border:none!important
}
.hilite-button:hover,
.hilite-button:active {
	color:var(--textLight)!important;
	box-shadow:0 0 6px var(--textLight)
}
#main-icon-item {
	position:absolute;
	top:calc(50% + 15px);
	left:50%;
	font-size:calc(17.5cqw + 250px);
	color:#0a0a0a;
	opacity:.4;
	transform:translate(-50%,-50%);
	z-index:-10
}
#main-service-type {
	font-size:clamp(28px,calc(16px + 2.5cqw),48px);
	font-weight:800;
	color:var(--textLight);
	line-height:1.25;
	position:absolute;
	width:100%;
	bottom:0;
	padding:0 20px
}
#main-icon {
	pointer-events:none;
	opacity:1;
	align-content:center;
	height:100%;
	width:100%;
	z-index:-1;
	box-sizing:border-box;
	container-type:inline-size
}
#main-icon h3 {
	position:absolute;
	font-size:32px;
	opacity:.35;
	bottom:calc(48% + 160px);
	left:calc(50% + 10px);
	transform:translateX(-50%);
	width:max-content;
	padding:0 10px
}
#main-icon h3 span {
	font-weight:600
}
#main-icon h2 {
	position:relative;
	color:var(--textLight);
	font-size:clamp(14px,calc(12px + .75cqw),22px);
	padding:0 20px;
	line-height:1.6
}
#main-icon h1 {
	position:absolute;
	width:100%;
	bottom:48%;
	margin-bottom:20px
}
#LP-description {
	position:absolute;
	top:50%;
	left:50%;
	width:100%;
	transform:translateX(-50%)
}
#LP-perk {
	color:var(--textLight);
	display:flex;
	align-content:center;
	height:55px;
	justify-content:center
}
#LP-perk i {
	color:var(--yellow);
	font-size:18px;
	align-content:center
}
#LP-perk i::before {
	padding-right:3px
}
#LP-perk span {
	align-content:center;
	font-size:10px;
	color:var(--textLight);
	opacity:.6
}
#LP-perk span b {
	color:var(--white);
	padding:3px;
	font-size:12px
}
#main-close {
	pointer-events:none;
	opacity:0;
	font-size:35px;
	z-index:1;
	position:fixed;
	width:100%
}
#main-close h2,
#companyLogo h2 {
	position:absolute;
	margin:20px auto;
	left:30px;
	right:30px;
	width:fit-content;
	font-size:20px;
	max-width:calc(100% - 160px);
	text-align:center;
	color:#7d7d7d;
	line-height:14px
}
#main-close h2 span {
	font-size:calc(20px + .5cqw);
	font-weight:400;
	color:var(--hilite)
}
#main-close h2 span:nth-child(-n+2) {
	font-weight:800
}
#main-close h2 span:nth-child(3) {
	font-size:14px;
	position:absolute;
	right:16px;
	bottom:-18px
}
#main-closer {
	float:left
}
#main-switch {
	float:right
}
#main-closer,
#main-switch {
	margin:20px;
	cursor:pointer;
	opacity:.33;
	border-radius:50%;
	color:var(--colorMode-text)
}
#main-closer:hover,
#main-switch:hover,
#main-closer:focus,
#main-switch:focus,
#main-closer:active,
#main-switch:active {
	opacity:.8
}
.coverBG {
	position:relative;
	height:280px!important;
	width:90cqw;
	margin:0 5cqw;
	left:0;
	right:0;
	pointer-events:none;
	background-position:50%;
	background-repeat:no-repeat;
	background-size:780px;
	-webkit-mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent);
	mask-image:linear-gradient(to right,transparent,black 15%,black 85%,transparent);
	-webkit-mask-repeat:no-repeat;
	mask-repeat:no-repeat;
	background-color:initial!important;
	border-radius:0!important
}
#coverDescription {
	margin:300px 33px 3px;
	font-size:16px;
	text-align:center;
	padding-bottom:20px;
	position:relative
}
#coverDescription i span strong {
	font-size:calc(24px + 1.5cqw);
	transform:rotate(-10deg);
	position:absolute;
	left:3cqw;
	top:-55px;
	white-space:nowrap
}
#coverDescription i::before {
	position:absolute;
	left:5cqw;
	top:-125px;
	font-size:50px;
	color:var(--colorMode-bg-black)
}
.main-content-title {
	position:relative;
	font-size:calc(4cqw + 16px);
	color:var(--colorMode-text);
	font-weight:600;
	line-height:.8;
	height:250px;
	align-content:center;
	padding:18px 0 0;
	margin:50px auto;
	text-align:center
}
.main-content-title span,
.main-content-title tag,
.main-content-title location {
	font-weight:600
}
.main-section {
	position:relative;
	width:100%;
	height:fit-content;
	min-height:130px;
	display:inline-block;
	overflow:hidden;
	border:5px solid transparent;
	border-radius:40px;
	margin-bottom:-5px;
	outline:0 outset transparent;
	outline-offset:-5px
}
.main-info-header .main-content-title {
	display:inline-block;
	line-height:1.4;
	height:50px;
	font-size:22px;
	margin:0 20px
}
.main-info-header h3 {
	font-weight:200;
	font-size:16px;
	text-align:left
}
#main-booking .main-content-title {
	margin:0 0 25px
}
.main-info-header .main-content-title .keepItTogether {
	opacity:unset;
	margin:0;
	transform:unset;
	float:none;
	padding:0;
	display:inline
}
.main-content-title strong {
	position:relative;
	transform:rotate(-10deg);
	margin-bottom:20px;
	display:block;
	padding-right:20%;
	width:100%
}
.expander {
	max-height:130px;
	position:sticky
}
.main-header {
	position:absolute;
	width:100%;
	height:130px;
	left:0;
	top:0;
	cursor:pointer;
	border-radius:0
}
.main-header:hover i,
.main-header:active i {
	color:var(--hilite)
}
.main-header:hover,
.main-header:active {
	background-color:var(--colorMode-bg-light);
	border-radius:15px
}
.main-header i {
	position:absolute;
	left:20px;
	font-size:26px;
	line-height:120px;
	transform:rotate(0)
}
.mainTurn .main-header i {
	transform:rotate(45deg);
	color:var(--hilite)
}
.mainTurn .main-header {
	background-color:var(--colorMode-bg-light);
	border-radius:15px 15px 0 0
}
.main-header p {
	font-size:22px;
	line-height:124px;
	width:100%;
	text-align:center;
	user-select:none;
	font-weight:600
}
.main-service-content {
	position:relative;
	height:fit-content;
	width:100%;
	overflow:hidden;
	display:inline-block;
	padding-top:150px;
	margin-bottom:-6px;
	pointer-events:none
}
.main-content-title .keepItTogether {
	opacity:.5;
	position:relative;
	transform:rotate(-10deg);
	margin:0;
	padding-left:20%;
	width:100%;
	text-align:center
}
.checkers {
	display:inline-block;
	margin:20px 0 50px;
	width:100%;
	overflow-x:auto;
	pointer-events:auto;
	border:1px solid var(--colorMode-bg-light);
	white-space:nowrap;
	border-left:none!important;
	border-right:none!important;
	padding:5px;
	background-image:none;
	max-width:1000px
}
.main-service-content .checkers {
	margin:-25px 0 0;
	padding:0;
	background-color:var(--colorMode-bg-dark)
}
.checkers i {
	font-size:20px;
	padding:2px 10px 2px 3px;
	border-radius:20px;
	background-color:var(--colorMode-checkers);
	color:var(--green);
	display:inline-flex;
	align-items:center;
	margin:5px;
	border:1px solid var(--colorMode-text-dark);
	align-self:center;
	flex:none;
	overflow:hidden
}
#LP-checkers i {
	background-color:rgba(0,0,0,.25);
	border:1px solid rgba(0,0,0,.5);
	position:absolute;
	left:33%;
	transform:translateX(-50%);
	display:inline-flex
}
#LP-checkers i:nth-child(2) {
	left:67%
}
.checkers i span {
	display:inline-flex;
	align-self:center;
	font-size:14px;
	font-weight:400;
	color:var(--colorMode-text)
}
#LP-checkers i span {
	color:var(--textLight)
}
.checkers-plain {
	border:none;
	margin:50px auto -25px
}
.infoHeader {
	margin:30px auto 100px;
	width:calc(100% - 40px);
	max-width:750px
}
.main-service-content .infoHeader {
	margin:30px auto 80px
}
.infoHeader i {
	font-size:32px;
	padding:15px;
	border-radius:25px;
	background-color:var(--colorMode-bg-light);
	color:var(--colorMode-text);
	display:inline-flex;
	align-items:center;
	margin:20px;
	position:relative
}
.infoHeader i::after {
	border-right:1px solid rgba(255,255,255,.2);
	content:'';
	height:80%;
	position:absolute;
	left:53px
}
.infoHeader i span {
	display:inline-block;
	align-self:center;
	font-size:14px;
	text-align:left;
	color:var(--colorMode-text);
	margin-left:10px;
	font-weight:400;
	line-height:18px
}
.infoHeader i span b {
	font-weight:800
}
.extraLink {
	margin:0 auto;
	text-align:center!important
}
.extraLink i {
	background-color:var(--colorMode-bg-light);
	color:var(--colorMode-text);
	margin:25px auto;
	font-size:60px;
	border-radius:15px;
	pointer-events:all;
	cursor:pointer;
	filter:brightness(.8)
}
.extraLink i span {
	font-size:16px;
	display:inline-block;
	line-height:1.33;
	text-align:left;
	border-left:1px solid var(--colorMode-text-light);
	padding-left:10px;
	color:var(--colorMode-text)
}
.extraLink i span button {
	position:relative;
	display:block;
	margin:10px 0 -5px 2.5%;
	width:95%;
	line-height:30px;
	color:var(--colorMode-bg-black);
	font-weight:600!important;
	border-radius:unset;
	padding:5px;
	border:none;
	font-size:24px;
	text-align:right
}
.extraLink i:hover {
	filter:brightness(1.1)
}
.extraLink i:hover span button {
	color:var(--colorMode-text)!important
}
.extraLink i span button::before {
	display:none
}
.extraLink i::after {
	display:none
}
.textArea {
	width:100%;
	text-align:justify;
	font-size:18px;
	padding:0 20px;
	margin-bottom:22px;
	position:relative
}
.wrapImage {
	float:right;
	margin:0 20px 15px;
	width:100%;
	max-width:490px;
	height:auto
}
.wrapImage img {
	width:100%;
	height:auto;
	border-radius:15px
}
.wrapImage h3 {
	font-size:12px;
	font-weight:200
}
.snapBox-outer {
	position:relative;
	margin:125px auto 0;
	display:grid;
	overflow:scroll hidden;
	scroll-snap-type:x mandatory;
	color:var(--textLight);
	container-type:inline-size;
	pointer-events:all;
	border-radius:0 0 15px 15px;
	border-top:2px solid var(--colorMode-bg-light)
}
.snapBox-outer .dragScroll {
	position:sticky;
	top:0;
	pointer-events:all
}
.snapBox-outer .scrollRight,
.snapBox-outer .scrollLeft {
	top:10px;
	pointer-events:all
}
.snapBox-outer .scrollRight {
	right:0
}
.snapBox-outer .scrollLeft {
	left:0
}
#snapBox-reviews .dragScroll {
	top:calc(50% - 25px)
}
.snapBox-inner {
	display:flex
}
.snapBox {
	position:relative;
	width:80cqw;
	height:220px;
	background-color:var(--colorMode-glass);
	margin:0 10cqw;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	scroll-snap-align:center;
	border-radius:60px;
	overflow:hidden;
	container-type:inline-size;
	color:var(--colorMode-text)
}
.snapBox-title {
	font-size:24px;
	margin:20px auto;
	position:sticky;
	left:0;
	right:0;
	width:100cqw;
	display:inline-flex;
	justify-content:center;
	line-height:30px;
	color:var(--colorMode-text)
}
.snapBox-title span {
	font-size:20px;
	font-weight:400;
	display:inline-flex;
	align-self:center
}
.snapBox-description {
	position:sticky;
	padding:0 20px;
	font-size:14px;
	width:100cqw;
	display:block;
	height:auto;
	left:0;
	right:0;
	margin:25px auto;
	color:var(--colorMode-text)
}
.snapBox-description span {
	opacity:.6
}
.snapBox p {
	position:absolute;
	padding:10px;
	font-size:16px
}
.snapBox p:first-child {
	top:0;
	font-size:24px;
	font-weight:400;
	line-height:1
}
.snapBox-square p:first-child {
	top:10px;
	display:inline-flex;
	height:50px;
	line-height:28px!important;
	white-space:nowrap
}
.snapBox::before {
	content:attr(icon);
	font-family:fa-custom,sans-serif;
	font-weight:900;
	position:absolute;
	transform:translate(-50%,-50%)rotate(-12deg);
	pointer-events:none;
	font-size:140px;
	color:var(--colorMode-gear);
	top:110px;
	left:42px
}
#snapBox-service .snapBox-inner .snapBox::before {
	font-size:140px;
	color:var(--colorMode-gear);
	top:120px;
	left:40px
}
#snapBox-service .snapBox-inner .snapBox p:last-child {
	bottom:unset;
	font-size:unset;
	top:54%;
	transform:translateY(-50%);
	font-weight:400
}
.snapBox-tall {
	width:280px;
	height:400px;
	margin:0 calc(50cqw - 140px);
	border-radius:15px;
	background-color:var(--colorMode-bg-light);
	outline:1px solid rgba(135,135,135,.75)
}
.snapBox-tall p:first-child {
	border-top-left-radius:15px;
	border-top-right-radius:15px;
	background-color:var(--navy);
	border-bottom:2px solid var(--navy);
	padding:15px 0;
	color:var(--white)
}
.snapBox-tall::before {
	font-size:150px;
	top:56%;
	left:50%;
	color:var(--colorMode-bg-light);
	transform:translate(-50%,-50%)rotate(0)
}
.snapBox p:first-child span {
	font-size:14px;
	opacity:.75
}
.snapBox-tall p:nth-child(2) {
	top:55px;
	text-align:justify;
	font-size:14px;
	padding:15px 10px 10px;
	line-height:20px;
	border-bottom:1px solid rgba(255,255,255,.25)
}
.snapBox-tall p {
	width:100%;
	font-size:14px
}
.snapBox-tall p:nth-child(n+3):nth-child(-n+6) {
	text-align:left;
	font-weight:400
}
.snapBox-tall p:nth-child(n+3):nth-child(-n+6)::before {
	font-family:fa-custom,sans-serif;
	content:'\e945';
	font-weight:900;
	padding-right:5px;
	color:var(--green)
}
.snapBox-tall p:nth-child(3) {
	top:175px
}
.snapBox-tall p:nth-child(4) {
	top:200px
}
.snapBox-tall p:nth-child(5) {
	top:225px
}
.snapBox-tall p:nth-child(6) {
	top:250px
}
.snapBox-tall p:nth-child(7) {
	top:285px;
	font-size:18px;
	font-weight:400;
	opacity:.5
}
.snapBox-tall p:nth-child(8) {
	bottom:5px;
	font-size:44px;
	font-weight:400;
	opacity:.75
}
.snapBox-tall:hover .bookOption {
	bottom:-5px;
	opacity:1
}
#snapBox-faq,
#snapBox-price {
	margin:0
}
#snapBox-quote .snapBox-inner .snapBox-square p:first-child {
	height:50px;
	line-height:30px;
	font-size:22px;
	font-weight:600
}
#snapBox-quote .snapBox-inner .snapBox-square p:nth-child(3) {
	bottom:45px;
	width:100%;
	text-align:center
}
#quote-total {
	font-size:32px;
	font-weight:400;
	opacity:.65
}
#snapBox-quote .snapBox-inner .snapBox-square span {
	position:absolute;
	top:55px;
	width:100%;
	text-align:center;
	padding:5px 15px;
	height:125px;
	overflow-y:auto;
	border-bottom:1px solid var(--colorMode-bg-light);
	border-top:1px solid var(--colorMode-bg-light)
}
#snapBox-quote .hilite-button {
	margin:-10px auto;
	width:170px;
	font-size:20px;
	line-height:30px;
	height:30px;
	position:relative;
	color:var(--textLight)!important;
	border-radius:15px 15px 60% 60%;
	padding-bottom:2px;
	background-color:var(--hilite)!important;
	opacity:.75;
	mix-blend-mode:unset;
	left:unset;
	right:unset
}
#snapBox-quote button:hover {
	opacity:1
}
#snapBox-quote select {
	width:85%;
	text-align:center;
	margin-left:10px;
	font-size:16px;
	height:32px;
	line-height:20px;
	position:relative;
	z-index:1
}
#snapBox-quote .dragScroll .scrollRight {
	font-size:14px;
	font-weight:400!important;
	right:10px
}
#snapBox-reviews {
	margin:10px auto -10px;
	border-top:none
}
#snapBox-reviews .snapBox-description {
	margin:7px auto
}
#priceAdjust {
	position:sticky;
	top:260px;
	display:inline-flex;
	justify-content:space-between;
	align-content:center;
	height:40px;
	left:50%;
	width:fit-content;
	transform:translateX(-50%);
	z-index:1;
	margin:0 -150px
}
#priceAdjust p {
	line-height:40px;
	font-weight:400;
	color:var(--green)
}
#priceAdjust select {
	font-size:14px;
	line-height:14px;
	pointer-events:all;
	height:25px;
	align-self:center;
	appearance:listbox;
	background-image:none;
	width:120px;
	margin:0 0 5px 5px;
	text-align:center;
	opacity:.65
}
.bookOption {
	position:absolute;
	width:300px;
	height:115px;
	bottom:-80px;
	border-radius:10px;
	padding-top:10px;
	backdrop-filter:blur(4px)!important;
	opacity:0
}
.bookOption .aButton {
	background-color:rgba(0,0,0,.2);
	color:#fff;
	padding:5px 20px;
	font-size:18px;
	border:none!important;
	width:185px;
	mix-blend-mode:unset;
	height:35px;
	top:10px
}
.bookOption .aButton:hover,
.bookOption .aButton:active {
	color:var(--white)!important;
	background-color:var(--navy)
}
.bookOption button {
	mix-blend-mode:unset
}
.bookOption button::before {
}
.bookOption p {
	color:var(--colorMode-text);
	font-size:12px!important;
	text-align:center!important;
	top:80px!important;
	font-weight:400;
	padding:5px!important
}
.bookOption .btnPrimary {
	font-weight:600;
	background-color:var(--navy)!important;
	width:220px!important;
	height:44px!important;
	top:45px;
	filter:brightness(.9);
	cursor:pointer
}
.bookOption .btnPrimary:hover {
	background-color:var(--navy)!important;
	color:var(--white)!important;
	filter:brightness(1.1)
}
.snapBox-peek .noMobi {
	color:var(--colorMode-text-light)
}
.snapBox-peek h2 {
	font-size:18px;
	font-weight:400;
	padding:15px;
	top:50%;
	position:absolute;
	border-radius:8px;
	background-color:initial;
	transform:translateY(-50%);
	width:100%;
	max-width:575px
}
.peekAboo {
	width:100%;
	position:absolute;
	color:var(--textLight);
	font-weight:400;
	text-align:justify;
	padding:15px 15px 30px;
	border-top-left-radius:40px;
	border-top-right-radius:40px;
	height:235px;
	bottom:-250px;
	line-height:20px;
	opacity:0;
	background-color:var(--colorMode-bg-black)!important
}
.peekAboo p {
	position:relative;
	text-align:left;
	font-size:16px!important;
	top:-10px!important;
	line-height:20px
}
.peekAboo h3 {
	height:180px;
	overflow-y:auto;
	display:block;
	position:relative;
	top:-5px;
	border-radius:15px 15px 0 0;
	padding:10px 15px 0!important;
	color:var(--colorMode-text);
	font-weight:400;
	border:2px solid var(--colorMode-bg);
	border-bottom:none
}
.snapBox-peek:hover .peekAboo,
.snapBox-peek:focus .peekAboo,
.snapBox-peek:active .peekAboo {
	bottom:-15px;
	opacity:1
}
.socialIcons i {
	display:inline-grid;
	margin:20px;
	font-size:40px;
	border-radius:50%;
	background-color:var(--colorMode-bg-light);
	width:65px;
	height:65px;
	place-items:center;
	line-height:65px;
	pointer-events:all
}
.socialIcons i:hover,
.socialIcons i:active {
	background-color:var(--hilite);
	color:var(--textLight)
}
.socialIcons a {
	pointer-events:none
}
.header {
	padding-bottom:10px;
	background-color:#e1e1e1;
	color:var(--textDark);
	padding-top:80px
}
.header-section {
	margin:0 auto;
	padding:0 15px;
	font-weight:400;
	display:block
}
.header-section a,
.header-section .info-block button {
	mix-blend-mode:unset
}
.header-section b {
	font-weight:600;
	font-size:18px
}
.header-section .info-block {
	margin:15px auto 25px;
	background-color:var(--colorMode-bg-light);
	text-align:left
}
.header-section .info-block::before {
	padding-top:1px
}
.header-section .info-block span {
	font-weight:400!important
}
#popBook {
	float:none;
	margin:50px auto 10px;
	width:140px;
	border:1px solid transparent!important;
	background-color:var(--hilite)!important
}
#popBook:hover,
#popBook:active {
	background-color:initial!important;
	color:var(--hilite)!important;
	border:1px solid var(--hilite)!important;
	box-shadow:unset
}
.header i:first-child {
	position:absolute;
	width:100%;
	text-align:center;
	font-size:24px;
	padding:10px 0;
	font-weight:400;
	background-color:var(--colorMode-bg);
	color:var(--colorMode-text);
	top:0;
	left:0
}
.header i:first-child::before {
	font-size:40px;
	opacity:.25;
	display:inline-flex
}
.header i:first-child span {
	display:grid;
	margin:10px
}
.header i span {
	font-weight:400
}
.header h2 {
	text-align:center;
	padding:15px;
	font-weight:600;
	font-size:20px;
	background-image:var(--colorMode-gradient-newer);
	width:calc(100% + 30px);
	margin:30px 0 15px -15px;
	color:var(--textLight)
}
.header h3,
.header p {
	margin-bottom:15px;
	font-size:14px;
	font-weight:inherit
}
.header-section img {
	height:180px;
	width:180px;
	margin:35px auto 0;
	display:inline-flex;
	background-image:var(--colorMode-gradient-newer);
	pointer-events:none
}
.info-block {
	font-size:inherit!important;
	line-height:inherit;
	padding:10px!important;
	border-radius:20px;
	margin:10px auto;
	text-align:inherit;
	background-color:var(--colorMode-bg-light);
	display:inline-flex
}
.textArea .info-block {
	font-size:14px!important;
	text-align:left;
	width:100%;
	margin:25px auto
}
.info-block::before {
	font-family:fa-custom,sans-serif;
	content:'\e945';
	font-weight:400;
	padding:3px 10px 0 5px;
	color:var(--colorMode-footer)
}
.textArea .info-block span tag {
	font-size:18px;
	font-weight:800;
	margin-bottom:20px;
	display:inline-block
}
.info-block-large {
	font-size:16px!important;
	background-color:initial;
	border:1px solid var(--colorMode-text-light);
	width:calc(100% - 40px)!important;
	position:relative;
	overflow:hidden;
	margin:125px auto!important
}
.info-block-large::before {
	content:attr(icon);
	font-family:fa-custom,sans-serif;
	font-weight:900;
	position:absolute;
	font-size:300px;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	margin:0;
	padding:0;
	opacity:.1;
	color:var(--colorMode-text)
}
.snapBox-square {
	width:280px;
	height:280px;
	margin:0 calc(50cqw - 140px)
}
.snapBox-square button,
.snapBox-square a {
	color:var(--colorMode-footer);
	z-index:1
}
.snapBox-square p:last-child {
	bottom:10px;
	font-size:14px;
	padding:10px 25px
}
.snapReview i:nth-child(-n+5)::before {
	color:var(--accent);
	padding-right:3px
}
.snapReview i:nth-child(5)::before {
	padding-right:5px
}
.contact {
	white-space:normal;
	width:calc(100% - 20px);
	text-align:left;
	padding:15px 20px;
	max-width:600px;
	margin:50px auto;
	font-size:14px;
	border-radius:30px;
	border:2px solid var(--colorMode-text-light)
}
.contact-info {
	width:100%;
	max-width:275px;
	display:inline-block;
	padding:0 10px 0 0;
	text-align:left
}
.contact-map {
	display:inline-block;
	width:275px;
	height:195px;
	margin:15px auto 0;
	border-radius:15px;
	position:relative;
	pointer-events:all
}
.contact-map button {
	font-size:16px;
	font-weight:400!important;
	padding:0 8px;
	position:absolute;
	right:5px;
	bottom:5px;
	border-radius:15px;
	background-color:rgba(0,0,0,.5);
	border:none;
	color:#fff;
	mix-blend-mode:unset
}
.contact-map button:hover,
.contact-map button:active {
	background-color:#000
}
.contact i {
	margin:7px;
	display:inherit;
	height:20px!important
}
.contact i span {
	font-weight:400;
	line-height:20px!important
}
.contact i tag {
	font-weight:200
}
.contact-info i:first-child {
	margin-bottom:20px
}
.contact i:first-child span {
	font-size:22px
}
.socialIcons {
	margin-bottom:50px
}
#main-social,
#booking-time {
	margin-bottom:70px!important
}
#booking-time .main-header i:before {
	font-size:34px!important
}
.booking-steps {
	font-size:34px;
	color:var(--green);
	display:flex;
	align-items:center;
	margin:30px auto 15px
}
.booking-steps span {
	font-size:18px;
	color:var(--colorMode-text);
	font-weight:600;
	margin-left:5px
}
.communities {
	color:var(--colorMode-text);
	font-size:12px;
	width:100%;
	height:65px;
	padding:5px 10px;
	margin-top:-8px;
	border-radius:0 0 25px 25px;
	border:2px solid #bbb;
	overflow:hidden auto;
	left:0;
	position:relative;
	text-align:left;
	font-weight:200;
	border-top:none;
	opacity:.5
}
.communities:hover,
.communities:active {
	opacity:.8
}
.google-map {
	width:100%;
	height:400px;
	pointer-events:none;
	position:relative;
	display:inline-block;
	overflow:hidden;
	border-radius:25px 25px 0 0;
	left:0;
	top:0;
	container-type:inline-size;
	z-index:999000
}
.map-service-area {
	position:absolute;
	left:50%;
	top:50%;
	border:5px dashed var(--blu);
	border-radius:50%;
	width:350px;
	height:350px;
	background-image:url(https://cdn.techespresso.ca/assets/images/icons/techPinSlanted.png);
	background-position:calc(50% + 50px)calc(50% - 50px);
	background-repeat:no-repeat;
	background-color:initial;
	transform:translate(-50%,-50%);
	transform-origin:center;
	z-index:999002
}
.map-service-area-calgary {
	background-position:calc(50% + 50px)calc(50% - 50px)
}
.map-service-area-edmonton {
	background-position:calc(50% + 50px)calc(50% - 50px)
}
.main-booking-selector {
	width:100%;
	height:110px;
	border-radius:25px 25px 0 0;
	background-color:initial;
	margin-bottom:-118px;
	position:relative;
	font-size:20px;
	margin-top:5px;
	border-bottom:none;
	color:var(--colorMode-bg);
	z-index:999003;
	pointer-events:all
}
.main-booking-selector select {
	width:calc(100% - 20px);
	margin:5px;
	border:1px solid var(--textDark);
	display:none
}
.main-booking-selector select:hover,
.main-booking-selector select:active {
	border:1px solid var(--blu)
}
.main-booking-place,
.main-booking-location {
	position:absolute;
	display:inline-block;
	width:50%;
	top:0
}
.main-booking-place {
	left:0
}
.main-booking-location {
	right:0
}
#main-booking-loc-button {
	display:inline-block;
	width:calc(100% - 20px);
	margin:5px;
	border:1px solid var(--textDark)!important;
	height:40px
}
.main-booking-place select {
	display:inline-block
}
.main-booking-place p {
	text-align:left;
	padding-left:20px;
	font-weight:800;
	color:#000;
	text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff
}
.main-booking-location p {
	text-align:right;
	padding-right:20px;
	font-weight:800;
	color:#000;
	text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff
}
.bookingScreen-calendar-outer {
	width:100%;
	height:auto;
	max-height:0;
	pointer-events:none;
	opacity:0;
	background-position:50% 40px;
	background-repeat:no-repeat;
	background-image:none;
	overflow:hidden;
	margin-top:30px
}
#whatCalendar {
	border:none;
	width:calc(100% - 20px);
	overflow-x:hidden!important;
	margin-top:0;
	left:10px;
	position:relative;
	margin: 10px 0;
}
.booking-widget {
	--booking-column-width:176px;
	--booking-column-gap:16px;
	background:var(--colorMode-text-dark);
	border-radius:30px;
	padding:15px;
}
.booking-widget-topbar {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin-bottom:18px
}
.booking-nav-button {
	width:40px;
	height:40px;
	border-radius:50%;
	border:1px solid var(--hilite);
	background:white;
	color:var(--hilite);
	font-size:24px;
	line-height:1;
	cursor:pointer;
	transition:all .3s ease;
	filter: brightness(0.9);
}
.booking-nav-button:hover,
.booking-nav-button:active {
	filter:brightness(1.1);
	color: var(--hilite) !important;
}
.booking-nav-button[disabled] {
	opacity:.35;
	cursor:not-allowed
}
.booking-nav-status {
	color:var(--colorMode-text-light);
	font-size:13px;
	font-weight:700;
	letter-spacing:.04em;
	text-transform:uppercase;
	flex:1;
	text-align:center
}
.booking-calendar-frame {
	overflow:hidden;
	width:100%
}
.booking-calendar-track {
	display:grid;
	grid-template-columns:repeat(var(--booking-visible-columns,1), minmax(0, var(--booking-column-width)));
	justify-content:center;
	gap:var(--booking-column-gap);
	width:100%;
	max-width:100%;
	box-sizing:border-box;
	transition:transform .35s ease
}
.booking-day-column {
	position:relative;
	width:100%;
	min-width:0;
	padding:15px 0 10px;
	text-align:center
}
.booking-day-column.is-today {
}
.booking-day-current-label {
	position:absolute;
	top:-3px;
	left:50%;
	transform:translateX(-50%);
	margin:0;
	font-size:10px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--accent);
	white-space:nowrap;
	pointer-events:none
}
.booking-day-title {
	color:var(--colorMode-text);
	font-size:20px;
	font-weight:600;
	margin:0
}
.booking-day-subtitle {
	color:var(--colorMode-text-light);
	font-size:16px;
	margin:0 0 15px;
}
.booking-slot-button {
	display:block;
	width:100%;
	box-sizing:border-box;
	border-radius:999px;
	border:1px solid var(--hilite);
	background:transparent;
	color:var(--hilite);
	font-size:18px;
	font-weight:700;
	margin:0 0 12px;
	cursor:pointer;
	transition:all .25s ease;
	padding:10px 20px;
}
.booking-slot-button:hover,
.booking-slot-button:active {
	background:var(--hilite);
	color: white !important;
}
.booking-slot-button.is-unavailable,
.booking-slot-button[aria-disabled="true"] {
	cursor:not-allowed;
	opacity:.38;
	border-color:rgba(124,146,168,.5);
	color:rgba(173,190,208,.6);
	background:rgba(39,48,58,.48);
	transform:none
}
.booking-slot-button.is-selected {
	background:var(--accent);
	color: white;
}
.booking-form-panel {
	margin-top:10px;
	padding:22px 18px 8px;
	border-top:1px solid rgba(255,255,255,8%)
}
.booking-form-toprow {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	flex-wrap:wrap;
	margin-bottom:35px;
}
.booking-account-actions {
	display:flex;
	align-items:center;
	gap:20px;
	flex-wrap:wrap;
	justify-content: end;
	margin-bottom: 30px;
}
.booking-account-actions button:hover,
.booking-account-actions button:active {
	color:#fff
}
.booking-form-title {
	margin:0;
	color:var(--colorMode-text);
	font-size:22px;
	font-weight:600;
}
.booking-selected-summary {
	color:var(--accent);
	font-size:14px;
	margin:2px 0 0;
}
.booking-form-grid {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:14px
}
.booking-form-grid .full {
	grid-column:1/-1
}
.booking-form-field label {
	display:block;
	color:var(--colorMode-text-light);
	font-size:14px;
	font-weight:600;
	margin:10px 0 5px 20px;
	text-align:left;
}
.booking-form-field input,
.booking-form-field textarea {
	width:100%;
	border-radius:30px;
	border:1px solid rgba(255,255,255,.14);
	background:var(--colorMode-bg-black);
	color:var(--colorMode-text);
	padding:10px 20px;
	font:inherit
}
.booking-form-field textarea {
	min-height:110px;
	resize:vertical
}
.booking-form-field:has(#bookingAddress1) {
	grid-column: 1 / -1;
}
.booking-form-checkbox {
	display:flex;
	align-items:flex-start;
	gap:10px;
	color:rgba(255,255,255,.76);
	font-size:13px;
	line-height:1.45
}
.booking-form-checkbox input {
	margin:2px 5px 0 0;
	width: unset;
}
.booking-password-wrap {
	display:none;
	margin: -15px 0 10px 0;
}
.booking-password-wrap.is-visible {
	display:block
}
.booking-submit-row {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	flex-wrap:wrap;
	margin-top:12px;
	border-top: 1px solid var(--colorMode-text-light);
}
.booking-submit {
	min-width:175px;
	padding:10px 20px;
	border-radius:999px;
	border:1px solid var(--hilite);
	background:var(--hilite);
	color:#fff;
	font-size:16px;
	cursor:pointer;
	left: 50%;
	transform: translateX(-50%);
}
.booking-submit[disabled] {
	opacity:.45;
	cursor:not-allowed
}
.booking-inline-message {
	margin:20px 0 14px;
	font-size:13px;
	font-weight:600;
	color:var(--colorMode-text-light);
	width: 100%;
	min-height: 20px;
}
.booking-inline-message.is-error {
	color:var(--accent);
}
.booking-inline-message.is-success {
	color:#9df3b5
}
.booking-slot-button:hover::before, .booking-slot-button:active::before, .booking-nav-button::before, .booking-submit::before {
	display: none;
}
.mapHeader {
	margin:50px 0 5px 20px;
	text-align:left
}
#locationNote,
#svcNote {
	width:100%;
	text-align:left;
	padding:0 20px 20px;
	font-size:14px
}
.selectionType {
	text-align:left;
	margin:75px 20px 20px;
	font-size:20px;
	font-weight:400
}
#selectionType tag {
	color:var(--green);
	font-weight:400;
	font-size:16px
}
.selectionType i span,
.selectionType span,
.selectionType span tag,
.selectionType span tag location {
	font-weight:600;
	margin-right:10px;
	font-size:18px;
	color:var(--colorMode-text)
}
.selectionType span tag,
.selectionType span tag location {
	color:var(--green)!important
}
.locationEdit {
	pointer-events:all;
	float:left;
	margin-left:20px;
	font-size:14px
}
#timeButton {
	background-color:initial!important;
	border:1px solid var(--hilite)!important;
	color:var(--hilite)!important
}
#timeButton:before {
	display:none
}
#timeButton:hover,
#timeButton:active {
	background-color:var(--hilite)!important;
	box-shadow:none!important;
	color:var(--textLight)!important
}
#footer2 {
	position:absolute;
	display:flex;
	bottom:20px;
	width:calc(100dvw - 100px);
	background-color:rgba(10,10,10,.3);
	height:55px;
	justify-content:center;
	gap:3cqw;
	align-items:normal;
	color:var(--textLight);
	font-size:12px;
	z-index:999210;
	left:50%;
	transform:translateX(-50%);
	border-radius:30px;
	max-width:1000px;
	backdrop-filter:blur(10px);
	overflow:visible
}
#footer-mask {
	width:64px;
	height:29px;
	position:absolute;
	background-color:rgba(10,10,10,.25);
	bottom:50px;
	border-radius:var(--border)var(--border)0 0;
	--border:39px;
	z-index:-1;
	clip-path:polygon(0% 0%,100% 0%,100% 83%,0% 83%)
}
#footer2:hover,
#footer2:hover #footer-mask {
	background-color:rgba(10,10,10,.75)!important
}
.footer-buttons {
	display:inline-flex;
	width:70px;
	position:relative;
	padding:5px 0;
	justify-content:center;
	align-items:flex-end;
	background-color:rgba(255,255,255,0);
	border-radius:8px;
	margin:5px;
	cursor:pointer;
	opacity:.75;
	transition:all .3s;
	-webkit-transition:all .3s
}
.footer-buttons i::before {
	position:absolute;
	top:5px;
	left:50%;
	transform:translateX(-50%);
	font-size:16px;
	transition:all .3s;
	-webkit-transition:all .3s
}
.footer-buttons i span {
	font-weight:600;
	white-space:nowrap
}
#footer-booking i span {
	font-weight:800;
	font-size:13px;
	display:block ruby
}
#footer-booking i::before {
	top:-20px;
	font-size:42px;
	border-radius:50%;
	color:var(--textLight);
	transition:all .3s;
	-webkit-transition:all .3s;
	box-shadow:0 0 15px -5px var(--black)
}
#footer-booking {
	background-color:initial;
	text-align:center;
	border:none;
	width:85px;
	margin-bottom:2px;
	opacity:1
}
#footer-more>i:first-child::before {
	content:'•••';
	top:3px;
	font-size:12px
}
#footer-more>i:first-child span {
	position:absolute;
	bottom:2px;
	left:50%;
	transform:translateX(-50%)
}
#footer-more-menu {
	position:absolute;
	min-width:120px;
	min-height:100px;
	border-radius:10px;
	bottom:25px;
	opacity:0;
	pointer-events:none;
	padding:8px;
	transform:perspective(500px)rotateX(15deg);
	transform-origin:bottom;
	will-change:opacity;
	background-color:var(--colorMode-bg-tight-white)!important;
	display:none
}
#footer-more-menu i::before {
	position:relative;
	top:unset;
	left:unset;
	transform:translateX(0);
	font-size:13px;
	display:inline-block;
	padding-right:8px
}
#footer-more-menu i {
	display:block;
	padding:10px;
	width:100%;
	white-space:nowrap;
	opacity:.75;
	transition:all .3s;
	-webkit-transition:all .3s;
	border-radius:5px;
	color:var(--colorMode-text);
	pointer-events:inherit!important
}
#footer-more-menu i span {
	font-weight:600;
	color:var(--colorMode-text)!important;
	pointer-events:inherit!important
}
#footer-more-menu i:hover {
	opacity:1;
	background-color:var(--colorMode-bg-light)
}
#footer-more-menu i:not(:last-child) {
	border-bottom:1px solid rgba(255,255,255,.25)
}
#footer-lights2 {
	display:none!important
}
#footer-chat-spacer {
	width:70px;
	height:0;
	visibility:hidden;
	margin:5px;
	display:none
}
#footer-chat {
	position:absolute;
	right:1px;
	height:calc(100% - 10px);
	border-radius:8px 35px 35px 8px
}
.footer-buttons i span tag {
	position:absolute;
	display:grid;
	left:7px;
	bottom:7px;
	width:8px;
	height:8px;
	font-size:10px;
	border-radius:50%;
	align-content:center;
	justify-content:center;
	color:#fff;
	font-weight:800;
	background-color:var(--accent);
	justify-content:center;
	align-content:center
}
.footer-buttons:hover {
	opacity:1!important;
	background-color:rgba(255,255,255,.1)
}
.accentFooter::before {
	color:var(--accent)
}
.footer {
	position:fixed;
	height:27px;
	margin:0 auto;
	left:0;
	right:0;
	bottom:-3px;
	padding:1px 10px;
	border-top-right-radius:15px;
	background-color:var(--hilite);
	z-index:999211;
	overflow:hidden;
	opacity:1;
	display:none
}
.footer p,
.footer p span {
	font-weight:400;
	color:var(--textLight)
}
.footer p button {
}
.footer:hover,
.footer:active {
	opacity:1
}
.coInfo {
	position:relative;
	display:inline-block
}
.lightBox {
	position:relative;
	display:inline-block;
	width:30px;
	height:16px;
	border-radius:9px;
	background-color:rgba(0,0,0,.15);
	border:1px solid #bbb;
	bottom:-4px;
	cursor:pointer
}
.lightSwitch {
	position:absolute;
	left:1px;
	margin:2px;
	width:10px;
	height:10px;
	border-radius:50%;
	background-color:var(--white)
}
.popBox {
	display:table-cell;
	position:absolute;
	left:50%;
	bottom:-800px;
	width:100%;
	max-width:600px;
	max-height:685px;
	padding:20px 20px 70px;
	z-index:1000002;
	overflow:hidden;
	color:var(--colorMode-text);
	border-radius:30px 30px 0 0;
	background-color:var(--colorMode-bg-light)!important;
	transform:translateX(-50%)
}
.popBox-container {
	width:100%;
	height:400px;
	overflow-x:hidden;
	overflow-y:auto;
	background-color:var(--colorMode-text-dark);
	color:var(--textLight);
	border-radius:0 0 20px 20px
}
.popBox .aButton {
	top:0;
	padding:0;
	position:absolute;
	font-size:35px;
	opacity:.5;
	width:40px;
	height:40px;
	align-content:center;
	display:grid;
	background:rgba(0,0,0,.25)!important;
	box-shadow:none!important;
	border-radius:50%;
	color:var(--white)!important;
	mix-blend-mode:plus-lighter;
	right:5px
}
.popBox .aButton:hover {
	opacity:.7
}
#popBox .snapBox::before {
	top:50%;
	left:50%;
	color:var(--colorMode-bg-light)
}
#popBox .snapBox {
	background-color:rgba(255,255,255,.35)
}
#cookies,
#pdf,
#virusTutorial,
#tools,
#jobs,
#quote,
#bookingBox,
#extra,
#privacy,
#terms {
	display:none;
	color:inherit;
	border-radius:15px
}
#jobs {
	overflow:hidden;
	border-radius:15px 15px 0 0
}
#cookies p,
#terms p,
#privacy p {
	padding:8px;
	border-radius:15px;
	background-color:var(--colorMode-transparent-bg);
	color:var(--colorMode-text);
	max-height:250px;
	overflow-y:auto
}
#terms p,
#privacy p {
	font-size:14px
}
#snapBox-quote {
	padding:8px;
	border-radius:15px;
	color:var(--textLight);
	margin:0 auto
}
#coverBox {
	width:100%;
	height:82px;
	position:absolute;
	bottom:0;
	left:0;
	background-color:var(--colorMode-bg-black);
	display:none
}
.pdfShare {
	position:absolute;
	z-index:999090;
	top:45px;
	right:40px;
	width:45px;
	height:45px;
	border-radius:50%;
	line-height:45px;
	text-align:center;
	background-color:var(--colorMode-bg)!important;
	box-shadow:0 0 4px #444!important;
	font-size:24px;
	color:var(--colorMode-text)
}
.pdfShare:hover,
.pdfShare:active {
	background-color:var(--colorMode-text)!important;
	color:var(--colorMode-bg)
}
#cookies i,
#terms i,
#privacy i,
#extra i,
#tools i,
#quote i:first-child {
	text-align:center;
	width:100%;
	font-size:26px;
	padding:0 0 15px;
	display:inline-grid;
	color:var(--textLight)
}
#cookies i span,
#terms i span,
#privacy i span,
#extra i span,
#tools i span,
#quote i:first-child span {
	font-size:22px;
	padding:10px;
	font-weight:600;
	color:var(--textLight)
}
.extra-content {
	height:100%;
	max-height:360px;
	width:100%;
	overflow:hidden auto;
	background-color:var(--colorMode-checkers);
	border-radius:20px;
	position:relative
}
.extra-content h2 {
	text-align:center;
	padding:8px 15px;
	font-weight:600;
	font-size:18px;
	width:calc(100% + 50px);
	margin-left:-25px;
	color:var(--colorMode-text);
	background-color:rgba(100,180,255,.1);
	position:sticky;
	top:0;
	z-index:1;
	box-shadow:0 3px 5px rgba(0,0,0,.4);
	margin-bottom:-15px
}
#extra-title,
#tools-title {
	border-bottom:1px solid transparent
}
.extra-image-outer {
	width:100%;
	height:235px;
	background-size:200px!important;
	position:relative;
	text-align:center;
	margin:50px auto
}
.extra-image-outer h3 {
	position:absolute;
	right:0;
	left:0;
	margin:0 auto;
	bottom:0
}
.extra-image-inner {
	width:150px;
	height:150px;
	background-image:var(--colorMode-gradient-new);
	position:absolute;
	z-index:-1;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%)
}
.extraLink i span tag {
	display:block;
	margin-top:15px;
	font-size:14px
}
.header-section h3,
.header-section .h3 {
	padding:20px 0 40px
}
#tools-content .header-section a {
	width:100%;
	display:block;
	height:auto;
	text-align:center;
	padding-bottom:50px
}
#tools-content .header-section a img {
	width:100%;
	height:auto;
	padding:0;
	background-image:none!important;
	background-color:initial!important
}
#ctp {
	display:none
}
.ctpButtons {
	position:relative;
	display:inline-flex;
	margin:14px 5px -2px;
	padding:3px 15px;
	border-radius:25px;
	background-color:rgba(255,255,255,.1);
	cursor:pointer;
	color:var(--textLight);
	font-size:12px;
	opacity:.75
}
.ctpButtons:hover {
	opacity:1
}
#patriotIcon {
	position:absolute;
	bottom:5px;
	left:7px;
	width:100px;
	height:40px;
	background-color:initial;
	background-position:50%;
	background-repeat:no-repeat;
	background-size:contain;
	opacity:.4
}
#brandBG {
	width:30cqh;
	height:150px;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%)rotate(-15deg);
	z-index:-1;
	opacity:.25
}
#LP-checkers {
	position:absolute;
	bottom:calc(50% - 110px);
	border:none;
	margin:0;
	opacity:1;
	height:40px;
	display:none
}
#LP-services {
	position:absolute;
	width:calc(100%);
	height:calc(100% - 175px);
	top:40px;
	overflow:hidden;
	display:flex;
	justify-content:center;
	pointer-events:none;
	left:50%;
	transform:translateX(-50%);
	max-width:1000px;
	z-index:100
}
#LP-carousel {
	position:relative;
	width:calc(100% - 20px);
	max-width:600px;
	display:flex;
	justify-content:flex-end;
	flex-direction:column;
	pointer-events:none;
	padding:20px 20px 22px
}
#LP-rootCities {
	position:relative;
	width:calc(100% - 40px);
	display:flex;
	justify-content:flex-end;
	flex-direction:column;
	pointer-events:none;
	font-size:14px;
	color:var(--textLight)
}
#LP-rootCities .checkers {
	margin:10px 0;
	background-color:rgba(255,255,255,.1);
	border-radius:8px;
	box-shadow:0 0 10px 2px inset rgba(0,0,0,.5);
	backdrop-filter:blur(2px);
	touch-action:pan-x
}
#LP-rootCities .checkers a {
	pointer-events:all
}
#LP-rootCities h3 {
	padding-left:20px
}
#acuity-next-widget {
	position:absolute;
	bottom:130px;
	color:var(--textLight);
	padding:0;
	cursor:pointer;
	pointer-events:all;
	width:auto;
	display:flex;
	gap:10px;
	background-color:initial;
	white-space:nowrap;
	overflow:hidden;
	justify-content:center;
	height:20px;
	min-height:20px;
	left:50%;
	transform:translateX(-50%);
	z-index:999209;
	text-align:center;
	max-width:1000px;
	min-width:250px
}
.acuity-next-widget-docked {
	bottom:0!important;
	color:var(--white)!important;
	padding:2px 0 0!important;
	width:calc(100dvw - 100px)!important;
	background-color:var(--hilite)!important;
	border-radius:0!important
}
.acuity-next-widget-docked-mobile {
	width:calc(100% + 1px)!important
}
#acuity-next-main {
	font-size:12px;
	font-weight:600;
	position:relative;
	display:inline-flex;
	opacity:.8;
	-webkit-transition:all .3s;
	transition:all .3s;
	width:auto;
	line-height:18px;
	justify-content:center;
	min-height:20px;
	min-width:95px
}
#acuity-next-widget .label {
	position:relative;
	font-size:12px;
	display:inline-flex;
	line-height:18px;
	width:auto;
	justify-content:end;
	opacity:.65;
	font-weight:400
}
#acuity-next-widget:hover {
	color:var(--white)
}
#acuity-next-widget i::before {
	color:var(--textDark);
	transition:all .3s;
	-webkit-transition:all .3s
}
#acuity-next-widget:hover i::before {
	color:var(--green)
}
#acuity-next-widget:hover #acuity-next-main {
	opacity:1
}
#acuity-next-widget:hover .label {
	opacity:.75
}
#acuity-next-widget i {
	position:absolute;
	top:24px;
	font-size:40px;
	font-weight:600;
	width:100%;
	text-align:left;
	height:calc(100% - 24px);
	border-top:1px solid rgba(0,0,0,.1);
	line-height:39px;
	padding-left:10px;
	background-color:var(--white)
}
.acuity-next-widget-docked i {
	opacity:0
}
#acuity-next-widget i span {
	font-size:22px;
	font-weight:600;
	position:absolute;
	left:50%;
	transform:translateX(-50%)
}
#acuity-next-widget i::before {
	position:absolute;
	top:-11px;
	left:12px;
	border-radius:50%
}
.acuity-error {
	display:none!important
}
.pumpMe {
	animation:pumpItUp .75s ease-out
}
.rotating-color-border {
	background-image:conic-gradient( #ff8c00,#d946ef,#ffe030,#22c55e,#ff8c00 );
	background-origin:border-box;
	background-clip:border-box;
	position:relative;
	overflow:hidden
}
.rotating-color-border::before {
	content:"";
	position:absolute;
	inset:-55px;
	background:conic-gradient( #ff8c00,#d946ef,#ffe030,#22c55e,#ff8c00 );
	animation:rotate 6s linear infinite;
	z-index:-1
}
.animateMe-xxlong {
	-webkit-transition:all .9s ease-in-out;
	transition:all .9s ease-in-out
}
.animateMe-xlong {
	-webkit-transition:all .7s ease-in-out;
	transition:all .7s ease-in-out
}
.animateMe-long {
	-webkit-transition:all .5s ease-out;
	transition:all .5s ease-out
}
.animateMe {
	-webkit-transition:all .3s;
	transition:all .3s
}
.animateMe-bounce {
	-webkit-transition:all .45s cubic-bezier(.8,-.2,.2,1.2);
	transition:all .45s cubic-bezier(.8,-.2,.2,1.2)
}
.animateMe-bounce-long {
	-webkit-transition:all 1.25s cubic-bezier(.9,-.1,.1,1.1);
	transition:all 1.25s cubic-bezier(.9,-.1,.1,1.1)
}
@keyframes breath {
	0% {
		transform:scale(1)
	}
	15% {
		transform:scale(.98)
	}
	55% {
		transform:scale(1.02)
	}
	90% {
		transform:scale(.99)
	}
	100% {
		transform:scale(1)
	}
}
@keyframes pumpItUp {
	0% {
		transform:scale(1)
	}
	15% {
		transform:scale(.97)
	}
	55% {
		transform:scale(1.05);
		opacity:1
	}
	90% {
		transform:scale(.99)
	}
	100% {
		transform:scale(1);
		opacity:.5
	}
}
.breath {
	animation:breath .5s ease-in-out
}
@keyframes rotate {
	from {
		transform:rotate(0)
	}
	to {
		transform:rotate(360deg)
	}
}
@keyframes rotate2 {
	from {
		transform:translate(-50%,-50%)rotate(0)scale(1)
	}
	to {
		transform:translate(-50%,-50%)rotate(360deg)scale(1)
	}
}
@keyframes rotateY {
	from {
		transform:translate(-50%,-50%)rotateY(0)scale(1)
	}
	to {
		transform:translate(-50%,-50%)rotateY(360deg)scale(1)
	}
}
@keyframes shimmer {
	0% {
		left:-50%
	}
	12% {
		left:150%
	}
	100% {
		left:150%
	}
}
@keyframes slide {
	0% {
		background-position:200%
	}
	100% {
		background-position:-200%
	}
}
@keyframes colorCycle {
	0% {
		border-color:rgba(255,255,255,.5)
	}
	25% {
		border-color:var(--purple)
	}
	50% {
		border-color:var(--accent)
	}
	75% {
		border-color:var(--green)
	}
	100% {
		border-color:rgba(255,255,255,.5)
	}
}
@media(max-width:1050px) {
	#dragScroll {
		display:block
	}
}
@media(max-width:800px) {
	.wrapImage {
		float:none;
		margin:20px auto
	}
	#footer-light-switch {
		display:none
	}
	#footer-lights2 {
		display:inline-block!important
	}
	#footer-chat {
		position:relative;
		right:unset;
		height:unset;
		border-radius:8px
	}
}
@media(max-width:760px) {
	.popBox .aButton {
		float:left
	}
	.contact-map {
		width:100%
	}
}
@media(max-width:620px) {
	.footer {
		right:unset;
		box-shadow:0 0 6px black;
		background-image:var(--colorMode-glass);
		backdrop-filter:blur(20px);
		-webkit-backdrop-filter:blur(20px);
		background-color:var(--colorMode-bg-dark)
	}
	#patriotIcon {
		display:none
	}
	.wrapImage img {
		border-radius:0
	}
	.peekAboo {
		text-align:left
	}
	.checkers-plain {
		border:1px solid var(--colorMode-bg-light)
	}
	.noMobi {
		display:none
	}
	.peekAboo h3 {
		top:0;
		border-radius:25px 25px 0 0
	}
}
@media(max-width:555px) {
	.btnPrimary {
		background-color:#fff!important;
		width:100%;
		height:60px;
		color:var(--textDark)!important;
		top:calc(50% + 125px)
	}
	.btnPrimary i span {
		left:50%
	}
	#extraBtn {
		background-color:var(--colorMode-text)!important
	}
	#extraBtn i span,
	#extraBtn i {
		color:var(--colorMode-bg)!important
	}
	#getStarted::before,
	#getBooking::before {
		left:-25px;
		transform:scaleX(-1)rotate(-8deg);
		top:-10px
	}
	#footer2 {
		width:calc(100% - 6px)
	}
	#main-social,
	#booking-time {
		margin-bottom:85px!important
	}
	.circleArrow-left::after {
		left:0;
		transform:scaleX(1)rotate(-8deg);
		top:-10px;
		width:225px;
		height:200px
	}
	.circleArrow-right::after {
		left:-30px;
		transform:scaleX(-1)rotate(-10deg);
		top:-10px;
		width:225px;
		height:200px
	}
	#coverDescription i span strong {
		left:0;
		right:0;
		transform:translateX(0)rotate(-8deg);
		top:-60px
	}
	#LP2-teaser {
		left:calc(50% + 5cqw)
	}
	#main-booking .main-content-title {
		margin:-50px 0 -10px
	}
	#LP-rootCities {
		width:calc(100% + 4px)
	}
	#LP-rootCities .checkers {
		border-radius:0
	}
}
@media(max-width:520px) {
	.booking-form-grid {
		grid-template-columns:1fr
	}
	.booking-submit-row {
		align-items:stretch
	}
	.booking-submit {
		width:100%
	}
	.booking-account-actions,
	.booking-form-toprow {
		width:100%
	}
	.coInfo,
	#menuButton,
	#menu-button {
		display:none
	}
}
@media(max-width:480px) {
	#footer-location {
		border-radius:35px 8px 8px 35px
	}
	#footer-chat {
		border-radius:8px 35px 35px 8px
	}
}
@media(max-width:440px) {
	#footer2 {
		gap:0
	}
}
@media(max-width:370px) {
	#contactBar-action i:first-child,
	#contactBar-chat {
		display:none
	}
	.menuItem .loc span,
	.main-button .loc span {
		font-size:18px;
		line-height:18px
	}
}
