
/* ##########################################
// ##                                      ##
// ##         Copyright © 2022 by          ##
// ##           Thomas Anderson            ##
// ##         All Rights Reserved.         ##
// ##                                      ##
// ########################################## */

:root {
	--white-color:			#FFFFFF;
	--primary-color:		#247cff;
	--title-color:			#c40000;
	--subtitle-color:		#002d72;
	--section-bg-color:		#F9F9F9;
	--dark-color:			#000000;
	--p-color:			#717275;
	--border-color:			#eaeaea;
	--menu-bg-color:		#002d72;
	--menu-color:			#f5d00d;
	
	--body-font-family:		'Open Sans', sans-serif;
	--title-font-family:		'Impact', 'Haettenschweiler', 'Arial Black', 'Open Sans', sans-serif;
	--menu-font-family:		'Open Sans', sans-serif; /* 'Dosis',  */
	
	--title-font-size:              5.5vw;
	--subtitle-font-size:           2.8vw;
	--subtitle-line-height:		1.5rem;
	--h1-font-size:                 2.4vw;
	--h2-font-size:                 2.2vw;
	--h3-font-size:                 2.0vw;
	--h4-font-size:                 1.8vw;
	--h5-font-size:                 1.6vw;
	--h6-font-size:                 1.4vw;
	--p-font-size:                  1.2vw;
	--menu-font-size:               1.3vw;
	--hamburger-menu-font-size:	4.0vh;
	--hamburger-submenu-font-size:	3.2vh;
	
	--font-weight-light:            300;
	--font-weight-normal:           400;
	--font-weight-semibold:         600;
	--font-weight-bold:             700;
	
	--title-height:			calc(var(--title-font-size) + var(--subtitle-font-size) + 1vh);
	--nav-height:			calc(var(--menu-font-size)*1.5);
	--nav-width:			60vw;
	--menu-top:			calc(0 - (var(--nav-height) + 1));
	--next-menu-top:		calc(0 - var(--nav-height));
	--menu-width:			9vw;
	--menu_setback:			-1vw;
	--submenu-width:		16vw;
	--submenu_setback:		calc(var(--submenu-width) * 0.4);
	--header-height:		calc(var(--title-height) + var(--nav-height) + 1vh);
	--candidate-height:		calc(100vh - var(--header-height));
	
	--mobile-max-width:		767;

	--multiplier:			1.0;
}


body, html {
	background: var(--white-color);
	font-family: var(--body-font-family);    
	position: relative;
	min-width: 100vw;
	min-height: 100vh;
	padding: 0;
	margin: 0;
	overflow-x: hidden; }

/*---------------------------------------
  HOME              
-----------------------------------------*/

.home {
	/* border: 1px solid black; */
	/* background-image: url('../images/gallery/capitol-photo.jpg'); */
	background-color: var(--white-color);
	width: 100vw;
	height: 100vh;
	margin: 0; padding: 0;
	/* overflow: hidden; */
	
	/* parallax */
	/*background-attachment: fixed;*/ /* this doesn't work on iOS, so we use a javascript solultion instead */
	background-position: top 0% left 0%;
	background-repeat: no-repeat;
	background-size: cover; }

.home .container {
	display: inline-block; position: relative;
	width: 100vw;
	height: 100vh;
	margin: 0; padding: 0;
	/* overflow: hidden; */ }

#header {
	display: block; position: fixed;
	width: 100vw; white-space: normal; top: 0px !important;
	height: var(--header-height);
	/* border: 1px solid yellow;
	background-color: green; */
	z-index: 101; }

#title {
	display: block; position: absolute;
	/*border: 1px solid black;*/
	top: 0px !important;  vertical-align: middle; overflow-y: hidden;
	left: 0px !important; text-align: center; width: 30vw; overflow-x: hidden;
	margin: 0; padding: 0;
	z-index: 110;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain; }
	
/*.title {
	display: inline-block;
	color: var(--title-color);
	font-family: var(--title-font-family); font-size: var(--title-font-size); line-height: var(--title-font-size); filter: drop-shadow(1vw 1vh 0.75rem white);
	margin-left: 10px; text-align: right; vertical-align: text-top;
	white-space: nowrap;
	overflow: hidden;
	z-index: 115; }

.subtitle {
	display: inline-block;
	color: var(--subtitle-color);
	font-family: var(--title-font-family); font-size: var(--subtitle-font-size); line-height: var(--subtitle-line-height); filter: drop-shadow(1vw 1vh 0.75rem white);
	text-align: right; vertical-align: text-top;
	white-space: nowrap;
	overflow: visible;
	z-index: 115; }

.conjunction {
	display: inline-block;
	color: rgb(0,0,0);
	font-family: var(--body-font-family); font-size: var(--h3-font-size); line-height: 0.9rem; filter: drop-shadow(1vw 1vh 0.75rem white);
	vertical-align: text-top;
	z-index: 115; } */

#candidate {
	display: block; position: absolute;
	/* border: 1px solid red; */
	/* background-image: url('../images/gallery/thomas-red-shirt.png'); */
	bottom: 0; width: 100vw;
	height: var(--candidate-height);
	margin: 0; padding: 0; overflow: visible;
	z-index: 100;

	/* parallax */
	/*background-attachment: fixed;*/ /* this doesn't work on iOS, so we use a javascript solultion instead */
	background-position: bottom 0% left 20%;
	background-repeat: no-repeat;
	background-size: contain; }

.row { padding-top: 1vh; }

/* @media only screen and (max-device-width: 1366px) {	
  .home { background-attachment: scroll; }} */ /* turn off parallax scrolling for all tablets and phones */

.slogan-text {
	display: block;
	background-color: rgba(255, 255, 255, 0.7);
	position: absolute;
	top: 40%; right: 10%; width: 40vw;
	padding: 1.5rem 2.5rem;
	z-index: 102; }
  
.home-text {
	display: block;
	background-color: rgba(255, 255, 255, 1.0);
	border-radius: 50px 50px 0px 0px;
	position: absolute;
	bottom: 0; right: 0; width: 40vw;
	padding: 1.5rem 2.5rem;
	z-index: 102; }
	
.about-link {
	text-decoration: none;
	color: inherit;
	font-size: larger;
	}

.contact-phone { font-weight: var(--font-weight-semibold); }

.embed-right {	float: right;	border: 1px solid black;	font-size: smaller;	margin: 1vw; padding: 1vw; }
.embed-left {	float: left;	border: 1px solid black;	font-size: smaller;	margin: 1vw; padding: 1vw; }

/*---------------------------------------
  NAVIGATION              
-----------------------------------------*/

@media screen and (min-width: 768px) {					/* full screen menu */
	#nav {	display: block; position: absolute;
		right: 0; width: var(--nav-width); text-align: right;
		bottom: 0; height: var(--nav-height); vertical-align: middle;
		margin: 0; padding: 0; }

	.menu, .toggle {
		/* border: 1px solid aqua; */
		display: block; position: absolute;
		right: 0; width: var(--nav-width); text-align: right;
		bottom: 0; height: var(--nav-height); vertical-align: middle;
		margin-right: 18px; padding: 0;
		color: var(--menu-color); background-color: var(--menu-bg-color);
		font-family: var(--menu-font-family); font-weight: var(--font-weight-bold); font-size: var(--menu-font-size); white-space: nowrap; text-decoration: none;
		z-index: 1000; }

	.menu-main {
		position: relative;
		color: var(--menu-color); background-color: var(--menu-bg-color);
		box-shadow: rgba(25, 25, 25, 0.4) 6px 4px 8px;
		margin: 0; padding-right: 10px;
		list-style: none;
		z-index: 1001;}
	
	.menu-main li {
		display: inline-block;
		background-color: var(--menu-bg-color);
		width: var(--menu-width); 
		height: var(--nav-height); vertical-align: middle;
		margin: 0; padding: 0;
		z-index: 1001; }
	
	.menu-main a  {							/* main menu items text */	/*, [id^=drop] + a*/
		display: block;
		text-align: center; text-decoration: none; white-space: nowrap;
		color: var(--menu-color); transition: background-color 0.3s ease-in-out;
		width: 100%;
		height: 100%; vertical-align: middle;
		margin: 0; padding: 0;
		z-index: 1002;
		/* border: 1px solid aqua; */ }
	
	.menu-main a:hover, [id^=drop]:checked + a {			/* menu items hover text */
		color: var(--menu-bg-color); background-color: var(--menu-color); }
		
	.menu-main li:hover > ul {					/* show sub-menus */
		display: inherit; list-style: none; }
	    
	.menu-submenu {							/* hidden element controlling the first sub-menu */
		background-color: rgba(0, 0, 0, 0);			/* transparent */
		display: none;
		position: absolute;
		top: var(--menu-top);
		left: var(--menu_setback); width: var(--submenu-width);
		text-align: left;
		z-index: 1003; }
		
	.menu-submenu ul {						/* hidden element controlling the subsequent sub-menus */
		background-color: rgba(100, 0, 0, 0);			/* transparent */
		display: none;
		position: absolute;
		top: var(--menu-top);
		left: var(--submenu_setback); width: var(--submenu-width);
		text-align: left;
		list-style: none;
		z-index: 1004; }

	.menu-submenu li {						/* visible element of the sub-menu */
		display: list-item; position: relative;
		width: 100%;
		box-shadow: rgba(25, 25, 25, 0.4) 6px 4px 8px;
		z-index: auto; }
		
	.menu-submenu li a {						/* link text of the sub-menu */
		/* border: 1px solid green; */
		width: 100%;
		text-align: left;
		padding-left: 1vw;
		white-space: nowrap; }
		
	.menu-submenu li a .arrow {
		display: inline-block;
		position: absolute;
		right: 0;
		margin-right: 6px;
		transform: rotate(-90deg);
		transition: all 0.4s ease;
		/* border: 1px solid purple; */  }
	
	.menu-submenu li:hover > ul {					/* show sub-menus of sub-menus */
		display: inherit; }
		
	.menu-submenu li:hover > a {					
		color: var(--menu-bg-color); background-color: var(--menu-color);  }
		
	.menu-submenu li:hover > a .arrow { transform: rotate(0deg);  }

	/*.menu-link { width: 100%; height: 100%; white-space: nowrap; border: 1px solid yellow; }
	.menu-link .arrow { display: inline-block; position: relative; float: right; margin-right: 6px; border: 1px solid red;  }
	.menu-submenu:hover > .arrow { transform: rotateZ(-60deg); }
	.menu-submenu ul:hover > .arrow { transform: rotateZ(-90deg); }*/

	[id^=drop] { display: none; }
	.toggle { display: none; }
}

@media screen and (max-width: 767px) {					/* hamburger menu for small screens */
	#nav {	display: block; position: absolute;			/* position the hamburger menu in the top right */
		top: 0vw; right: 0vw; width: 50vw;
		margin: 0; padding: 0; }

	#menu-wrapper {							/* hamburger icon outer box */
		display: block; position: absolute; overflow: hidden;
		top: 1.0vw; height: 9vw; vertical-align: middle;
		right: 4vw; width: 9vw; text-align: center;
		color: var(--menu-color); background-color: var(--menu-bg-color); box-shadow: rgba(25, 25, 25, 0.5) 6px 4px 8px;
		font-family: var(--body-font-family); font-weight: var(--font-weight-bold); font-size: var(--menu-font-size); white-space: nowrap; text-decoration: none; 
		cursor: pointer; }

	#menu-wrapper #hamburger-menu {					/* hamburger icon inner box */
		position: relative;
		width: 5vw; height: 5vw;
		margin: 2vw; padding: 0;
		z-index: 1001; }

	#menu-wrapper #hamburger-menu span {				/* hamburger icon lines */
		opacity: 1;
		left: 0;
		display: block;
		width: 5vw;
		height: 1vw;
		border-radius: 10px;
		color: black;
		background-color: white;
		position: absolute;
		transform: rotate(0deg);
		transition: .4s ease-in-out; }

	#menu-wrapper #hamburger-menu span:nth-child(1) {	top: 0; }					/* top line */
	#menu-wrapper #hamburger-menu.open span:nth-child(1) {	transform: translateY(1.96vw) rotate(135deg); }	/* onclick, move down and rotate into X */
	#menu-wrapper #hamburger-menu span:nth-child(2) {	top: 2.0vw; }					/* mid line */
	#menu-wrapper #hamburger-menu.open span:nth-child(2) { opacity: 0; transform: translateX(-5vw); }	/* onclick, move left and disappear */
	#menu-wrapper #hamburger-menu span:nth-child(3) {	bottom: 0; }					/* bot line */
	#menu-wrapper #hamburger-menu.open span:nth-child(3) {	transform: translateY(-2vw) rotate(-135deg); }	/* onclick, move up and rotate into X */

	.menu-main {						/* top-level menu */
		display: block; position: absolute;
		top: 10vw; min-height: 30vh; height: fit-content; overflow-y: visible;
		right: calc(var(--nav-width)*-1); width: var(--nav-width); overflow-x: hidden; padding: 0;
		background-color: var(--menu-bg-color); box-shadow: rgba(25, 25, 25, 0.5) 6px 4px 8px;
		list-style: none; padding: 1vw;
		z-index: 1002; }
	.menu-main a {						/* top-level menu link */
		background-color: rgba(0, 0, 0, 0);
		font-family: var(--menu-font-family); font-weight: var(--font-weight-bold); font-size: var(--hamburger-menu-font-size); white-space: nowrap; text-decoration: none;
		line-height: calc(var(--hamburger-menu-font-size)*1.15);
		cursor: pointer; }
	.menu-main a.menu-link		{ color: var(--menu-color); white-space: nowrap; }
	.menu-main a.menu-link.active	{ color: var(--menu-bg-color) !important; }
	.menu-main a.leaf			{ color: var(--menu-color); }
	.menu-main a.menu-link span.arrow	{ display: none; float: right; }

	.menu-main ul.menu-submenu {				/* submenu */
		/*border: 2px solid blue;*/
		position: relative;
		height: fit-content;
		width: 100%;
		background-color: var(--menu-bg-color);
		list-style: none; padding: 1vw 1vw 1vw 2vw; }
	.menu-main ul.menu-submenu.open {
		display: list-item !important; }
	.menu-main ul.menu-submenu.closed {
		display: none !important; }
	.menu-main ul.menu-submenu a {				/* submenu link */
		width: 100%;
		font-size: var(--hamburger-submenu-font-size); }

	.menu-main li {
		position: relative;
		background-color: rgba(0, 0, 0, 0);
		width: 100%; line-height: calc(var(--hamburger-menu-font-size)*1.15);
		border: 0; padding: 0; margin: 0;
		cursor: pointer; }
	.menu-main li.dropdown.menu-toggle {			/* dropdown menu toggle */
		/*border: 1px solid red;*/
		height: fit-content;
		box-shadow: rgba(50, 50, 50, 0.2) 6px 2px 10px; }
	.menu-main li.dropdown.menu-toggle a:before, li.dropdown.menu-toggle a:after {
		content: '';
		display: block;	position: absolute;
		height: 2px;
		top: calc((var(--hamburger-menu-font-size)+0.5)/2); right: 2vw; width: 15px; margin-top: -1px;
		transform-origin: 50% 50%;
		transition: all 0.3s ease-out;
		z-index: 1010; }
	.menu-main li.dropdown.menu-toggle.inactive a:before, li.dropdown.menu-toggle.inactive a:after {
		color: red; /*var(--menu-color);*/ background-color: var(--menu-bg-color); }
	.menu-main li.dropdown.menu-toggle a:before {
		transform: rotate(-90deg);
		opacity: 1;
		z-index: 1012; }
	.menu-main li.dropdown.menu-toggle.active-tab {
		/*border: 2px solid green;*/
		border-bottom: 1px solid black;
		background-color: var(--menu-color);
		transition: all 0.3s ease; }
	.menu-main li.dropdown.menu-toggle.active-tab a.active:before {
		top: calc((var(--hamburger-menu-font-size)+0.5)/2); right: 2vw; width: 15px; margin-top: -1px;
		color: green; /* var(--menu-bg-color);*/ background-color: var(--menu-color);
		transform: rotate(0deg); }
	.menu-main li.dropdown.menu-toggle.active-tab a.active:after {
		top: calc((var(--hamburger-menu-font-size)+0.5)/2); right: 2vw; width: 15px; margin-top: -1px;
		color: green; /* var(--menu-bg-color);*/ background-color: var(--menu-color);
		transform: rotate(180deg);
		opacity: 0; }

	[id^=drop] { display: none; }
	.toggle { display: none; }
}
	
/*#nav li.dropdown > a:after {
      content: "▼";
      display: block;
      margin-left: 0.5rem;
      transition: transform 250ms linear;
      font-size: 0.5em;
      white-space: nowrap; }
      
#nav li.dropdown > a[aria-expanded="true"]:after {
      transform: rotate(-180deg); } */

/*#nav li.dropdown ul a {
      padding-left: 2.25rem; }

#nav li.dropdown ul li.dropdown ul a {
	padding-left: 3.375rem; }*/

/*---------------------------------------
  TYPOGRAPHY               
-----------------------------------------*/

h2, h3, h4, h5, h6 {
  color: var(--dark-color);
  line-height: inherit; }

h1, h2, h3, h4, h5, h6 {
  font-weight: var(--font-weight-semibold); }

h1, h2 {
  font-weight: var(--font-weight-bold); }

h1 {
  font-size: var(--h1-font-size);
  line-height: normal; }

h2 { font-size: var(--h2-font-size); }
h3 { font-size: var(--h3-font-size); }
h4 { font-size: var(--h4-font-size); }
h5 { font-size: var(--h5-font-size); }
h6 { font-size: var(--h6-font-size); }

p {
  color: var(--p-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-normal);
  letter-spacing: 0.5px; }

a, button {
  touch-action: manipulation;
  transition: all 0.3s; }

a {
  color: var(--p-color);
  text-decoration: none; }

a:hover {
  color: var(--primary-color); }

.section-padding {
  padding-top: 1vh;
  padding-bottom: 1vh; }

/*---------------------------------------
  ANIMATED TEXT              
-----------------------------------------*/
.animated {
  position: relative; }

.animated-info {
  display: inline-block;
  vertical-align: top;
  position: relative;
  min-width: 30vw; }

.animated-foil {
	color: var(--title-color); }

.animated-item {
	color: var(--subtitle-color);
	display: block;
	opacity: 0;
	overflow: hidden;
	position: absolute; top: 0; right: 0; left: 0;
	animation-name: bottom-to-top;
	animation-duration: 6s;
	animation-timing-function: linear; /*ease-in-out;*/
	animation-delay: 12s;
	animation-iteration-count: infinite;
	animation-direction: normal; }

.animated-item:nth-child(2n+2) {
	animation-direction: alternate;
	animation-delay: 3s; }

@keyframes bottom-to-top {
	0% {
		opacity: 1;
		transform: translateY(0px); }
	15% {
		opacity: 0.75;
		transform: translateY(3px); }
	25% {
		opacity: 0.15;
		transform: translateY(5px); }
	50% {
		opacity	: 0; }
	75% {
		opacity: 0.15;
		transform: translateY(5px); }
	85% {
		opacity: 0.75;
		transform: translateY(3px); }
	100% {
		opacity: 1;
		transform: translateY(0px); }
}

/*---------------------------------------
  CUSTOM LINK               
-----------------------------------------*/
.custom-link {
  display: inline-block;
  text-decoration: none;
  border: 1px solid var(--border-color);
  color: var(--primary-color);
  pointer-events: auto;
  font-weight: var(--font-weight-semibold);
  line-height: 40px;
  position: relative;
  padding: 0 30px;
  box-sizing: border-box;
  margin: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  overflow: hidden;
  border-radius: 0;
  text-transform: uppercase;
}

.custom-link::before {
  content: attr(data-hover);
  background-color: var(--border-color);
  color: var(--primary-color);
  position: absolute;
  top: 100%;
  bottom: 0;
  left: 0;
  transition: all 300ms cubic-bezier(0.19, 1, 0.56, 1);
  right: 0;
  text-align: center;
}

.custom-link:hover::before {
  top: 0;
}

b,
strong {
  font-weight: var(--font-weight-bold);
}

/*---------------------------------------
  LIST GROUP               
-----------------------------------------*/
.list-group-item {
  background-color: transparent;
  color: var(--p-color);
  font-size: var(--p-font-size);
  padding: 1rem 0;
}

.list-group-item:first-child {
  padding-top: 0;
}

.list-group-item span {
  font-weight: var(--font-weight-semibold);
  margin-left: auto;
}


/*---------------------------------------
  FEATURED              
-----------------------------------------*/
.featured-circle {
  border-radius: 100%;
  width: 350px;
  height: 350px;
  margin: 0 auto;
  padding: 0 20px;
}

.featured-text {
  font-size: var(--h6-font-size);
  line-height: 2rem;
  font-weight: var(--font-weight-bold);
  text-align: center;
  margin-bottom: 0;
}

.featured-number {
  color: var(--primary-color);
  font-size: 8rem;
  margin: 0 10px;
}

.featured-image-circle {
	object-fit:cover;
	border-radius: 50%;
	width: 350px;
	height: 350px; }

/*---------------------------------------
  REVIEWS               
-----------------------------------------*/
.reviews-thumb {
  margin-bottom: 0;
  padding: 32px;
}

.reviews-text {
  margin-top: 10px;
  margin-bottom: 25px;
}

.reviews-image {
  border-radius: 100px;
  width: 70px !important;
  height: 70px !important;
}

.reviews-carousel .owl-item {
  opacity: 0.45;
}

.reviews-carousel .owl-item.active.center {
  opacity: 1;
}

.reviews-carousel .owl-item.active.center .reviews-thumb {
  background: var(--dark-color);
}

.reviews-carousel .owl-item.active.center .reviews-thumb,
.reviews-carousel .owl-item.active.center .reviews-text {
  color: var(--white-color);
}

.reviews-carousel .owl-nav {
  display: flex;
  justify-content: space-between;
  margin: auto;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.reviews-carousel .owl-nav span {
  width: 35px;
  height: 35px;
  line-height: 35px;
  display: block;
}

.reviews-carousel .owl-nav .owl-prev {
  position: relative;
  left: -80px;
}

.reviews-carousel .owl-nav .owl-next {
  position: relative;
  right: -80px;
}

.reviews-carousel .owl-prev span,
.reviews-carousel .owl-next span {
  color: transparent;
}

.reviews-carousel .owl-prev span::before,
.reviews-carousel .owl-next span::before {
  /*font-family: bootstrap-icons;*/
  display: block;
  font-size: var(--h3-font-size);
  color: var(--p-color);
  width: 35px;
  height: 35px;
}

.reviews-carousel .owl-prev span::before {
  content: "\f12f";
}

.reviews-carousel .owl-next span::before {
  content: "\f138";
}

/*---------------------------------------
  BOOKING FORM            
-----------------------------------------*/

.booking-form .form-control {
  background: transparent;
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid var(--border-color);
  color: #6c757d;
  font-weight: var(--font-weight-normal);
  padding-top: 12px;
  padding-bottom: 12px;
  margin-top: 15px;
  transition: all 0.3s;
}

.booking-form #submit-button {
  background: var(--dark-color);
  border-bottom: 0;
  font-weight: var(--font-weight-semibold);
  color: var(--white-color);
  text-transform: uppercase;
  margin-top: 35px;
}

.booking-form #submit-button:hover {
  background: var(--primary-color);
}

/*---------------------------------------
  FOOTER              
-----------------------------------------*/
.site-footer {
  background: var(--section-bg-color);
}

.copyright-text {
  font-size: var(--menu-font-size);
}

/*---------------------------------------
  SOCIAL ICON               
-----------------------------------------*/
.social-icon {
  margin: 0;
  padding: 0;
}

.social-icon li {
  list-style: none;
  display: inline-block;
  vertical-align: top;
  transition: all 0.3s;
}

.social-icon:hover li:not(:hover) {
  opacity: 0.65;
}

.social-icon-link {
  font-size: var(--title-font-size);
  display: inline-block;
  vertical-align: top;
  margin-top: 4px;
  margin-bottom: 4px;
  margin-right: 15px;
}

.social-icon-link:hover {
  color: var(--primary-color);
}

/*---------------------------------------
  RESPONSIVE STYLES               
-----------------------------------------*/

@media screen and (min-width: 1600px) {		/* max width = default styles */
}

@media screen and (min-width: 1300px) and (max-width: 1599px) {
	:root {			--multiplier: 1.1; }
	.title {		font-size: calc(var(--title-font-size)*var(--multiplier));	line-height: calc(var(--title-font-size)*var(--multiplier)); }
	.subtitle {		font-size: calc(var(--subtitle-font-size)*var(--multiplier));	line-height: calc(var(--subtitle-line-height)*var(--multiplier)); }
	h1 {			font-size: calc(var(--h1-font-size)*var(--multiplier)); }
	h2 {			font-size: calc(var(--h2-font-size)*var(--multiplier)); }
	h3 {			font-size: calc(var(--h3-font-size)*var(--multiplier)); }
	h4 {			font-size: calc(var(--h4-font-size)*var(--multiplier)); }
	h5 {			font-size: calc(var(--h5-font-size)*var(--multiplier)); }
	h6 {			font-size: calc(var(--h6-font-size)*var(--multiplier)); }
	p {			font-size: calc(var(--p-font-size)*var(--multiplier)); }
	#nav {			width: calc(var(--nav-width)*var(--multiplier));	height: calc(var(--nav-height)*var(--multiplier)); }
	.menu, .toggle {	width: calc(var(--nav-width)*var(--multiplier));	height: calc(var(--nav-height)*var(--multiplier));	font-size: calc(var(--menu-font-size)*var(--multiplier)); }
	.menu-main li {		width: calc(var(--nav-width)/8*var(--multiplier));	height:  calc(var(--nav-height)*var(--multiplier)); }
	.menu-submenu {		width: calc(var(--submenu-width)*var(--multiplier));	top:  calc(var(--menu-top)*var(--multiplier));		left:  calc(var(--menu_setback)*var(--multiplier)); }
	.menu-submenu ul {	width: calc(var(--submenu-width)*var(--multiplier));	top:  calc(var(--menu-top)*var(--multiplier));		left:  calc(var(--submenu_setback)*var(--multiplier)); }
	.menu-submenu li {	width: calc(var(--submenu-width)*var(--multiplier));	height:  calc(var(--nav-height)*var(--multiplier)); }
	#title {		max-width: 90vw;	width:		48vw; }
	.home-text {		max-width: 100vw;	min-width:	40vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.slogan-text {		max-width: 100vw;	min-width:	40vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.animated-info {	max-width: 100vw;	min-width:	40vw; }
	}

@media screen and (min-width: 991px) and (max-width: 1299px) {
	:root {			--multiplier: 1.2; }
	.title {		font-size: calc(var(--title-font-size)*var(--multiplier));	line-height: calc(var(--title-font-size)*var(--multiplier)); }
	.subtitle {		font-size: calc(var(--subtitle-font-size)*var(--multiplier));	line-height: calc(var(--subtitle-line-height)*var(--multiplier)); }
	h1 {			font-size: calc(var(--h1-font-size)*var(--multiplier)); }
	h2 {			font-size: calc(var(--h2-font-size)*var(--multiplier)); }
	h3 {			font-size: calc(var(--h3-font-size)*var(--multiplier)); }
	h4 {			font-size: calc(var(--h4-font-size)*var(--multiplier)); }
	h5 {			font-size: calc(var(--h5-font-size)*var(--multiplier)); }
	h6 {			font-size: calc(var(--h6-font-size)*var(--multiplier)); }
	p {			font-size: calc(var(--p-font-size)*var(--multiplier)); }
	#nav {			width: calc(var(--nav-width)*var(--multiplier));	height: calc(var(--nav-height)*var(--multiplier)); }
	.menu, .toggle {	width: calc(var(--nav-width)*var(--multiplier));	height: calc(var(--nav-height)*var(--multiplier));	font-size: calc(var(--menu-font-size)*var(--multiplier)); }
	.menu-main li {		width: calc(var(--nav-width)/8*var(--multiplier));	height:  calc(var(--nav-height)*var(--multiplier)); }
	.menu-submenu {		width: calc(var(--submenu-width)*var(--multiplier));	top:  calc(var(--menu-top)*var(--multiplier));		left:  calc(var(--menu_setback)*var(--multiplier)); }
	.menu-submenu ul {	width: calc(var(--submenu-width)*var(--multiplier));	top:  calc(var(--menu-top)*var(--multiplier));		left:  calc(var(--submenu_setback)*var(--multiplier)); }
	.menu-submenu li {	width: calc(var(--submenu-width)*var(--multiplier));	height:  calc(var(--nav-height)*var(--multiplier)); }
	#title {		max-width: 90vw;	width:		60vw; }
	.home-text {		max-width: 100vw;	min-width: 	40vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.slogan-text {		max-width: 100vw;	min-width: 	40vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.animated-info {	max-width: 100vw;	min-width: 	40vw; }
	
	/* .section-padding {
	  padding-top: 5rem;
	  padding-bottom: 5rem;
	}
	
	.navbar .title .subtitle {
	  padding-top: 10px;
	  padding-bottom: 10px;
	}
	
	.navbar-nav .nav-link {
	  padding-top: 5px;
	  padding-bottom: 10px;
	}
	
	.home .container {
	  height: inherit;
	}
	
	.home-text {
	  position: relative;
	  bottom: 100px;
	  left: 0;
	  width: auto;
	  margin-bottom: -100px;
	  padding: 2rem;
	}
	
	.featured-circle {
	  width: 320px;
	  height: 320px;
	} */
}

@media screen and (min-width: 768px) and (max-width: 990px) {
	:root {			--multiplier: 1.3; }
	.title {		font-size: calc(var(--title-font-size)*0.9*var(--multiplier));		line-height: calc(var(--title-font-size)*0.9*var(--multiplier)); }
	.subtitle {		font-size: calc(var(--subtitle-font-size)*0.9*var(--multiplier));	line-height: calc(var(--subtitle-line-height)*0.6*var(--multiplier)); }
	h1 {			font-size: calc(var(--h1-font-size)*var(--multiplier)); }
	h2 {			font-size: calc(var(--h2-font-size)*var(--multiplier)); }
	h3 {			font-size: calc(var(--h3-font-size)*var(--multiplier)); }
	h4 {			font-size: calc(var(--h4-font-size)*var(--multiplier)); }
	h5 {			font-size: calc(var(--h5-font-size)*var(--multiplier)); }
	h6 {			font-size: calc(var(--h6-font-size)*var(--multiplier)); }
	p {			font-size: calc(var(--p-font-size)*var(--multiplier)); }
	#nav {			width: calc(var(--nav-width)*var(--multiplier));	height: calc(var(--nav-height)*var(--multiplier)); }
	.menu, .toggle {	width: calc(var(--nav-width)*var(--multiplier));	height: calc(var(--nav-height)*var(--multiplier));	font-size: calc(var(--menu-font-size)*var(--multiplier)); }
	.menu-main li {		width: calc(var(--nav-width)/8*var(--multiplier));	height:  calc(var(--nav-height)*var(--multiplier)); }
	.menu-submenu {		width: calc(var(--submenu-width)*var(--multiplier));	top:  calc(var(--menu-top)*var(--multiplier));		left:  calc(var(--menu_setback)*var(--multiplier)); }
	.menu-submenu ul {	width: calc(var(--submenu-width)*var(--multiplier));	top:  calc(var(--menu-top)*var(--multiplier));		left:  calc(var(--submenu_setback)*var(--multiplier)); }
	.menu-submenu li {	width: calc(var(--submenu-width)*var(--multiplier));	height:  calc(var(--nav-height)*var(--multiplier)); }
	#title {		max-width: 90vw;	width:		65vw; }
	.home-text {		max-width: 100vw;	min-width:	40vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.slogan-text {		max-width: 100vw;	min-width:	40vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.animated-info {	max-width: 100vw;	min-width:	40vw; }
}
	
@media screen and (min-width: 576px) and (max-width: 767px) {
	:root {			--multiplier: 1.8; }
	.title {		font-size: calc(var(--title-font-size)*0.9*var(--multiplier));		line-height: calc(var(--title-font-size)*0.9*var(--multiplier)); }
	.subtitle {		font-size: calc(var(--subtitle-font-size)*0.9*var(--multiplier));	line-height: calc(var(--subtitle-line-height)*0.5*var(--multiplier)); }
	h1 {			font-size: calc(var(--h1-font-size)*var(--multiplier)); }
	h2 {			font-size: calc(var(--h2-font-size)*var(--multiplier)); }
	h3 {			font-size: calc(var(--h3-font-size)*var(--multiplier)); }
	h4 {			font-size: calc(var(--h4-font-size)*var(--multiplier)); }
	h5 {			font-size: calc(var(--h5-font-size)*var(--multiplier)); }
	h6 {			font-size: calc(var(--h6-font-size)*var(--multiplier)); }
	p {			font-size: calc(var(--p-font-size)*var(--multiplier)); }
	#header {		max-width: 100vw;	height:		16vh; }
	#title {		max-width: 90vw;	width:		72vw; }
	.home-text {		max-width: 100vw;	min-width:	50vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.slogan-text {		max-width: 100vw;	min-width:	50vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.animated-info {	max-width: 100vw;	min-width:	50vw; }}

@media screen and (min-width: 481px) and (max-width: 575px) {
	:root {			--multiplier: 2.2; }
	.title {		font-size: calc(var(--title-font-size)*0.9*var(--multiplier));		line-height: calc(var(--title-font-size)*0.9*var(--multiplier)); }
	.subtitle {		font-size: calc(var(--subtitle-font-size)*0.9*var(--multiplier));	line-height: calc(var(--subtitle-line-height)*0.4*var(--multiplier)); }
	h1 {			font-size: calc(var(--h1-font-size)*var(--multiplier)); }
	h2 {			font-size: calc(var(--h2-font-size)*var(--multiplier)); }
	h3 {			font-size: calc(var(--h3-font-size)*var(--multiplier)); }
	h4 {			font-size: calc(var(--h4-font-size)*var(--multiplier)); }
	h5 {			font-size: calc(var(--h5-font-size)*var(--multiplier)); }
	h6 {			font-size: calc(var(--h6-font-size)*var(--multiplier)); }
	p {			font-size: calc(var(--p-font-size)*var(--multiplier)); }
	#header {		max-width: 100vw;	height:		16vh; }
	#title {		max-width: 90vw;	width:		75vw; }
	.home-text {		max-width: 100vw;	min-width:	55vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.slogan-text {		max-width: 100vw;	min-width:	55vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.animated-info {	max-width: 100vw;	min-width:	55vw; }

	/* nav > ul, nav > ul.show {
	  display: grid;
	  grid-auto-columns: max-content;
	  grid-auto-flow: column; }
	nav .dropdown ul.show {
	  position: absolute; }
	nav .dropdown ul ul {
	  top: 0;
	  left: 100%; } */
	
	/* .reviews-carousel .owl-nav {
	position: relative;
	width: auto !important;
	transform: inherit;
	top: 0;
	bottom: 0;
	left: 0;
	max-width: 100px;
	margin: 20px auto; }
	
	.reviews-carousel .owl-nav .owl-prev,
	.reviews-carousel .owl-nav .owl-next {
	right: 0;
	left: 0; } */
}

@media screen and (min-width: 361px) and (max-width: 480px) {
	:root {			--multiplier: 3.0; }
	.title {		font-size: calc(var(--title-font-size)*0.6*var(--multiplier));		line-height: calc(var(--title-font-size)*0.6*var(--multiplier)); }
	.subtitle {		font-size: calc(var(--subtitle-font-size)*0.6*var(--multiplier));	line-height: calc(var(--subtitle-line-height)*0.3*var(--multiplier)); }
	h1 {			font-size: calc(var(--h1-font-size)*var(--multiplier)); }
	h2 {			font-size: calc(var(--h2-font-size)*var(--multiplier)); }
	h3 {			font-size: calc(var(--h3-font-size)*var(--multiplier)); }
	h4 {			font-size: calc(var(--h4-font-size)*var(--multiplier)); }
	h5 {			font-size: calc(var(--h5-font-size)*var(--multiplier)); }
	h6 {			font-size: calc(var(--h6-font-size)*var(--multiplier)); }
	p {			font-size: calc(var(--p-font-size)*var(--multiplier)); }
	#header {		max-width: 100vw;	height:		16vh; }
	#title {		max-width: 90vw;	width:		80vw; }
	.home-text {		max-width: 100vw;	min-width: 	60vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.slogan-text {		max-width: 100vw;	min-width:	60vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.animated-info {	max-width: 100vw;	min-width:	60vw; }

	.homeLinks .custom-link {
	  font-size: 12px;
	  line-height: 30px;
	  margin-right: 12px !important;
	  padding: 0 25px; }
	
	.contact-phone {
	  font-size: 12px; }
}

@media screen and (max-width: 360px) {
	:root {			--multiplier: 3.5; }
	.title {		font-size: calc(var(--title-font-size)*0.5*var(--multiplier));		line-height: calc(var(--title-font-size)*0.5*var(--multiplier)); }
	.subtitle {		font-size: calc(var(--subtitle-font-size)*0.5*var(--multiplier));	line-height: calc(var(--subtitle-line-height)*0.2*var(--multiplier)); }
	h1 {			font-size: calc(var(--h1-font-size)*var(--multiplier)); }
	h2 {			font-size: calc(var(--h2-font-size)*var(--multiplier)); }
	h3 {			font-size: calc(var(--h3-font-size)*var(--multiplier)); }
	h4 {			font-size: calc(var(--h4-font-size)*var(--multiplier)); }
	h5 {			font-size: calc(var(--h5-font-size)*var(--multiplier)); }
	h6 {			font-size: calc(var(--h6-font-size)*var(--multiplier)); }
	p {			font-size: calc(var(--p-font-size)*var(--multiplier)); }
	#header {		max-width: 100vw;	height:		16vh; }
	#title {		max-width: 90vw;	width:		80vw; }
	.home-text {		max-width: 100vw;	min-width:	65vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.slogan-text {		max-width: 100vw;	min-width:	65vw; 	width: calc(var(--nav-width)*var(--multiplier)); }
	.animated-info {	max-width: 100vw;	min-width:	65vw; }
	
	.featured-number { font-size: 5rem; }
	
	.featured-circle { width: 235px; height: 235px;	}
	
	.reviews-image {  width: 55px !important; height: 55px !important; }
	.reviews-thumb figcaption { font-size: var(--menu-font-size); }
	
	.timeline::before { left: 42px; }
}