
:root {
	--bs-font-sans-serif: 'Montserrat', sans-serif;
	--bs-font-sans-serif-2: 'Roboto Condensed', sans-serif;
	--bs-body-font-size: 16px;

	--wrapper-padding: 72px;
	
	--wrapper-xxs: 36rem;
	/*--wrapper-xs: 47.6rem;*/ --wrapper-xs: var(--wrapper-xxs);
	--wrapper-s: 72.5rem;
	--wrapper-m: 1360px;
	--wrapper-l: 1680px;
	--wrapper-xl: 1920px;
	
	--item-gap-xxs: 2px;
	--item-gap-xs: 6px;
	--item-gap-s: calc(var(--item-gap, 24px) / 2);
	--item-gap: 24px;
	--item-gap-l: calc(var(--item-gap) * 1.5);
	--item-gap-xl: calc(var(--item-gap) * 2);
	--item-gap-xxl: calc(var(--item-gap) * 3);
	
	--box-padding: 3rem;
	
	--section-b-margin: clamp(4rem, 5vw, 6rem); 
	--font-display-1: 5rem;
	
	--rounded-xxs: .2rem;
	--rounded-xs: .3rem;
	--rounded-s: .4rem;
	--rounded: .5rem;
	--rounded-l: 1rem;
	--rounded-xl: 2rem;
	--rounded-xxl: 4rem;
	--rounded-pill: 50rem;
	--rounded-circle: 50%;
}

html {min-width: 412px;}

html, body {width: 100%; height: 100%; position: relative;}

#site {
	min-height: 100%; display: flex; flex-direction: column; align-items: stretch; overflow: hidden;
}

.container-fluid {
	position: relative; max-width: var(--wrapper-l); padding-left: var(--wrapper-padding); padding-right: var(--wrapper-padding);
}

.wrapper-xxs, .wrapper-xs, .wrapper-s, .wrapper-m {margin: 0 auto;}
.wrapper-xxs {max-width: var(--wrapper-xxs);}
.wrapper-xs {max-width: var(--wrapper-xs);}
.wrapper-s {max-width: var(--wrapper-s);}
.wrapper-m {max-width: var(--wrapper-m);}


main {flex-grow: 1;}

.w-33 {width: 33.33%;}

.text-indent, .text-indent-hide {display: inline-block; text-indent: 100%; white-space: nowrap; overflow: hidden;}
.text-indent-hide {position: absolute; display: block; width: 0; height: 0; visibility: hidden;}

p {margin-bottom: 1.5em;}

img {max-width: 100%; height: auto; font-size: 0; border: none;}

#site .hide, .hide {display: none;}

:root .btn {
	position: relative; font-size: .85rem; letter-spacing: .05em; text-transform: uppercase;
}
:root .btn:not(.btn-link) {text-decoration: none;}
:root .btn-lg {min-width: 14rem; padding-left: 2em; padding-right: 2em; font-size: 1.15em; font-weight: normal;}
:root .btn-outline {border-width: 2px;}

.list-styled {list-style: none; padding-left: 1.2em;}
	.list-styled li {position: relative;}
	.list-styled li:before {
		content: ""; position: absolute; left: -1em; top: .6em;
		display: block; width: 4px; height: 4px;
	}

/* :: Header 
===================================================================================================== :: */

.index #header {position: absolute; top: 0; left: 0; z-index: 100; width: 100%;}
#header {padding-bottom: .2em;}

	#header .container-fluid {display: flex; align-items: center;}

	.site-logo {/*min-width: calc(25% - .8rem);*/ margin: 1rem 1.5rem .8rem 0; padding: 0;}
		.site-logo a {display: block; max-width: 220px;}

	#header a {text-decoration: none;}

/* :: Meta :: */

#header .meta {display: inline-flex;}
	#header .meta > div {margin: 0 .5em;}
		#header .meta a {position: relative; display: flex; align-items: center; height: 100%; padding: .7em .5em; white-space: nowrap; font-weight: bold;}
		
		/*#header .phone a {font-weight: bold;}*/
		
		.login-btn span {
			display: inline-block; max-width: 12em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
		}
		
		#header .meta a:before {
			content: ""; position: absolute; right: .4em; bottom: 0; left: .4em;
			display: block; height: 0; opacity: 0;
		}
		#header .meta a:hover:before {height: 3px; opacity: 1;}
			
			#header .meta .stores svg {margin-top: -6px; margin-bottom: -6px;}
			#header .meta #map-symbol {animation: wobble-ver-right 3s 1s infinite both;}
			


@keyframes wobble-ver-right {
  0%, 100% {transform: translateY(0); transform-origin: 50% 50%;}
  5% {transform: translateY(-4px);}
  10% {transform: translateY(4px);}
  15% {transform: translateY(-4px);}
  20% {transform: translateY(3px);}
  25% {transform: translateY(-1px);}
}
		

/* :: Navigations 
===================================================================================================== :: */

/* :: Main Navigation :: */

#site .nav-collapse {display: none;}

.site-nav {margin-top: -.4em;}

	.site-nav .main-nav nav {position: relative; display: flex;}
		.site-nav .nav {margin: 0;}
			.site-nav a {text-decoration: none;}
			.site-nav .nav > li {position: relative; margin: 0 .1em; line-height: normal; text-align: center;}
				.site-nav .nav > li > a {
					position: relative; display: block; padding: 0 .9em; font-weight: bold;
				}
				  .site-nav .nav > li > a span {position: relative; display: inline-block; padding: .5em 0;}
				  .site-nav .nav > li > a span:before {
					  content: ""; position: absolute; right: 0; bottom: .1em; left: 0;
					  display: block; height: 0; opacity: 0;
				  }
				  .site-nav .nav > .current > a span:before, .site-nav .nav > li:hover > a span:before {height: 3px; opacity: 1;}
	
				.site-nav .main-nav .nav > li {flex-grow: 1;}
	
/* :: Sub navigation :: */

.site-nav .sub-menu-wrapper {
	width: 100%; margin: 0; padding: 2em;
}
	.site-nav .sub-menu-wrapper ul {list-style: none; margin: 0; padding: 0;}
		.site-nav .sub-menu-wrapper > ul > .sub-menu {margin-bottom: .5em;}
		.site-nav .sub-menu-wrapper > ul > li > a {font-weight: bold;}
		.site-nav .sub-menu li {margin: 0 0 1em; padding: 0; text-align: left;}
			
		.site-nav .sub-menu:hover > .sub-menu-wrapper {
			height: auto; visibility: visible; opacity: 1; transform: scaleY(1);
		}
		
			.site-nav .sub-menu li a {
				display: block; padding: .2em .3em; 
				line-height: 1.286em; background: none;
				border-style: solid; border-width: 1px 0 0; border-color: transparent;
				cursor: pointer;
			}
			.site-nav .sub-menu li:first-child a {border-top-width: 0;}
			.site-nav .sub-menu li a:hover {background-color: hsla(0,0%,100%,.1);}
			
			.site-nav .sub-menu li > a span {
				display: inline; padding-bottom: .4em;
				background-position: 0 1.2em; background-size: 0 0;
				background-image: linear-gradient(to right, var(--brand-color) 0%, var(--brand-color) 100%); background-repeat: repeat-x;
			}
				.site-nav .sub-menu .current > a span, .site-nav .sub-menu li > a:hover span {background-size: 100% 2px;}

/* :: Hero Section :: */

.index .hero-section {position: relative; z-index: 10; padding-top: calc(7rem + 4vh);}

	.index .hero-section .container-fluid > .inner {
		position: relative; margin-bottom: calc(var(--rounded-xl)* -1);
	}
		.index .hero-section .lead-heading {position: relative; margin-bottom: 0;}
		.index .hero-section .col-info .lead-heading:before {
			content: ""; position: absolute; top: .2em; right: calc(100% + 1.5rem);
			display: block; width: 1.5em; height: 3em;
			border-radius: 1.5em 0 0 1.5em;
		}
		.index .hero-section .col-info ul {max-width: 30em; margin: calc(1em + 2vh) 0;}
	
.index .hero-section .col-calc {
	position: relative; z-index: 2; width: 100%;  
}

	.index .hero-section .col-calc .lead-heading {margin-bottom: .5em;}


.hero-section .nav-tabs, .hero-section .nav-tabs .nav-link {border: none;}
.hero-section .nav-tabs .nav-link {
	height: 100%; padding: 1em 2.5em; border-radius: var(--rounded-l) var(--rounded-l) 0 0;
}
	.hero-section .nav-tabs .nav-link span, .hero-section .nav-tabs .nav-link strong {font-weight: 900;}
	.hero-section .nav-tabs .nav-link * {position: relative;}
	.hero-section .nav-tabs .nav-link:hover * {top: -.1rem;}

.nav-tab-content-wrapper {
	overflow: hidden; border-radius: var(--rounded-xl); box-shadow: 0 1em 1em rgba(0,0,0,.01);
}
.index .nav-tab-content-wrapper {border-top-left-radius: 0;}
	.nav-tab-content-wrapper .item-wrapper {background-repeat: no-repeat; background-position: 100% 0; background-size: 100%;}


.inside .hero-section {
	padding: calc(.5em + 4vh) 0; background: url(inside-hero-bgr.svg) no-repeat 100% 100%; background-size: cover;
	animation: hero-bgr-anm 50s linear infinite alternate;
}
@keyframes hero-bgr-anm { 
	to {background-position: 100% 0%;}
}

	.inside .hero-section h1 {/*margin-left: 25%;*/ font-weight: bold; font-size: clamp(2.25em, 2vw + 1em, 3em); text-align: center;}

.inside .hero-section + main {padding-top: calc(1.2rem + 2vh);}

/* :: Main and Content 
===================================================================================================== :: */

.lead-heading {margin-bottom: calc(.3em + 2vh); font-size: clamp(1.875em, 2vw + 1em, 3em); font-weight: 900; letter-spacing: .02em;}

.inside main {padding-bottom: calc(1em + 1.5%);}

	.inside .main-content {display: flex; flex-wrap: wrap; padding-top: 2em;}
	.content {flex: 1; position: relative; max-width: 100%; min-height: 10em;}
		.content a:hover {text-decoration: none;}
		
		h2.text-center strong {display: inline-block; max-width: 18em;}
		
		ul, ol {padding-left: 1.2em;}

/* :: Scale and Crop Images :: */

.img-crop {
	position: relative; display: flex; width: 100%; padding-top: var(--aspect-ratio);
}
.img-crop.ratio-16x9 {--aspect-ratio: 56.25%;}
.img-crop.ratio-4x3 {--aspect-ratio: 75%;}
.img-crop.ratio-1x1 {--aspect-ratio: 100%;}


	.img-crop > img {
		position: absolute; top: 0; left: 0;
		width: 100%; height: 100%; object-fit: cover;
	}

/* :: Calculator :: */

.inside .calc-wrapper {
	background-repeat: no-repeat; background-position: 0 0; background-size: cover;
}
	.calc-wrapper > .inner {padding: calc(2em + 3%);}
	.calc-wrapper > .inner {display: grid; width: clamp(360px, 66%, 700px);}
	.inside .calc-wrapper > .inner {display: grid; width: clamp(320px, 66%, 700px);}
	/*.inside .calc-body {flex: 1; margin: calc(1em + 2%); margin-left: 0;}*/
		.calc-row {margin: 1em 0;}
			.calc-row .tags {margin-top: .5em;}
				.calc-row .btn-info {min-width: 2.5em; margin-top: .5em;}
			/*.calc-row .dropdown-toggle {border-width: 0;}*/
			
			.calc-row .calc-range-labels {margin: -.7rem 0 calc(1em + 2vh);}
	
	.calc-values {
		display: grid; /*grid-template-columns: repeat(3, 1fr);*/ 
		grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
		gap: 1em;
	}
	
		.calc-values > section {margin-bottom: 1em; padding-left: 1.5em; border-left: 4px solid;}
			.calc-values .property {display: block;}
			.calc-values .value {font-size: 1.5em;}
	
		/*.calc-values .row {margin-bottom: 1em;}
		.inside .calc-values .row:not(:first-child) {padding-top: .5em; border-top: 2px solid;}*/
		
		.calc-values .more {
			grid-row-start: 3; grid-column-start: 1;
			grid-row-end: 4; grid-column-end: 3;
		}
		
		.calc-values .btn {display: block;}

	/*.index .calc-values {max-width: 28em; margin: calc(.5em + 1vh) auto 0;}
		.index .calc-values .row {
			margin: -2px 0 0; padding: .5em 0; border-style: solid; border-width: 2px 0;
		}*/
		/*.index .calc-values .row:not(.monthly-pay-first, .monthly-pay-n) {display: none;}*/
		
			.calc-values strong.col {max-width: 8em;}
			.calc-wrapper .more {margin: 1.4em 0 0;}
			
			/*.index .calc-body .btn-more {display: none;}
			.index .calc-values .btn-more {display: block;}*/

	.qty-wrapper {
		position: relative; display: inline-block; min-height: 48px; margin-right: .5em; white-space: nowrap;
	}
	
	.qty-wrapper i, .qty-wrapper input {
		display: inline-block; vertical-align: middle; text-align: center;
	}
	:root .qty-wrapper input {
		z-index: 2; width: 90px; height: 48px; font-weight: bold; font-size: 1.2em; text-decoration: underline;
		border-width: 0; border-radius: var(--bs-border-radius-sm);
 	}
	:root .qty-wrapper input:focus {text-decoration: none;}
	.qty-wrapper i {
		position: absolute; right: 0; width: 32px; height: 24px; border-style: solid; cursor: pointer;
	}
	.qty-increase {top: 0; border-width: 0 0 1px; border-radius: 0 var(--bs-border-radius-sm) 0 0;}
	.qty-decrease {bottom: 0; border-width: 1px 0 0; border-radius: 0 0 var(--bs-border-radius-sm) 0;}
	
	.qty-wrapper i:before {
		content: ""; position: absolute; top: 50%; left: 50%;
		display: block; width: 10px; height: 10px; margin-left: -5px;
		border-style: solid; border-width: 1px 1px 0 0;
	}
	.qty-increase:before {margin-top: -2px; transform: rotate(-45deg);}
	.qty-decrease:before {margin-top: -9px; transform: rotate(135deg);}

	input[type=number]::-webkit-inner-spin-button, 
		input[type=number]::-webkit-outer-spin-button { 
			-webkit-appearance: none; margin: 0;
		}
		input[type=number] {-moz-appearance: textfield;}


.checkbox-lg {margin-bottom: 1em; padding-left: 2em;}
	.checkbox-lg .form-check-input {
		width: 1.5em; height: 1.5em; margin-top: 0; margin-left: -2em;
		background-size: 120%;
	}

/* :: Item List :: */

	.item-list .item-cell {height: 100%;}
	.item-list .item-link {
		position: relative; display: grid; height: 100%; text-decoration: none;
	}
	
	/*.item-list .item-link:before, .item-list .item-link:after {
		content: ""; position: absolute; right: 30%; z-index: 10; display: block; border-style: solid; opacity: 0;
	}
	.item-list .item-link:before {bottom: 2.8rem; margin-right: -1px; border-width: 2px 0 0;}
	.item-list .item-link:hover:before {width: 30px;}
	.item-list .item-link:after {bottom: 2.2rem; width: 20px; height: 20px; border-width: 2px 2px 0 0; transform: rotate(45deg);}
	.item-list .item-link:hover:before, .item-list .item-link:hover:after {right: 15%; opacity: 1;}*/
	
		.item-list .img {
			display: block; margin-bottom: 1em; overflow: hidden; 
		}
			.item-list .item-link:hover img {opacity: .7;}
		
		.item-link .info {
			position: relative; z-index: 1; max-width: 90%; margin-top: -4.2rem; padding: 1em 1em 3.5em 0;
			border-top-right-radius: var(--rounded-l);
		}
		/*.item-list .item-link:hover .info {max-width: 100%; border-top-right-radius: 0;}*/
			.item-link strong, .item-link .info span:not(.btn) {display: block;}
			
			.item-link .btn {
				position: absolute; left: 0; bottom: 0; z-index: 10;
			}

/* :: Index products :: */

/*.index .item-categories .item-link {display: grid; grid-template-columns: 2fr 1fr;}*/

.index .section-products {margin-bottom: -2em; padding-bottom: 0;}
	.section-products .container-fluid {max-width: var(--wrapper-m);}

.index .item-link .info {
	position: absolute; min-width: 50%; margin-top: 0; padding-bottom: 1em;
	border-radius: 0 0 var(--rounded-xl) 0;
}
	.index .item-link .btn {bottom: 3em; left: 2em;}

/* :: Content sections :: */

.content-section {
	padding: calc(1em + 4%) 0; 
}
	.content-section .h1 {max-width: 15em; margin: 0 auto 1.2em;}

/* :: Steps :: */

.steps ol {display: grid; gap: calc(1em + 3%);}
	.steps ol > li {position: relative; counter-increment: counter-numbers; padding-left: 4.5rem; padding-right: 2%;}
	.steps ol > li:before {
		content: counter(counter-numbers); position: absolute; top: -1.5rem; left: 0; min-width: .7em; text-align: center;
		font-size: 5em; font-weight: bold;
	}
		.steps ol > li .h2 {min-height: 1em; margin: 0 0 1rem; font-weight: bold;}

/* :: Section why :: */

.section-why .container-fluid {max-width: var(--wrapper-m);}
	.section-why .row > div {margin-bottom: calc(1em + 2%);}
		.section-why .row .icon {flex-shrink: 0; margin-right: 1em;}
		.section-why .row .h6 {max-width: 18em; margin: 1em auto;}

/* :: Section how :: */

.section-how {padding-bottom: 2rem;}
	.section-how .h1 {margin-bottom: 2em;}
	.section-how .steps {margin-bottom: 4rem;}
	.section-how .img {margin-bottom: -6rem;}

/* :: Section mission :: */

.section-mission {padding-top: 8em;}

/* :: Forms :: */

.apply-main .apply-steps {margin-right: var(--box-padding);}

.forms-wrapper {
	margin-bottom: var(--box-padding); padding: var(--box-padding);
}
	.forms-wrapper .h3:first-child {
		margin: calc(-1 * var(--box-padding) - 2px) 0 var(--box-padding) calc(-1 * var(--box-padding) - 2px); 
		/*padding: calc(var(--box-padding) / 2);*/
	}
		.forms-wrapper .h3:first-child span {
			display: inline-block; min-width: 6.4em; padding: .7rem 1rem;
			border-bottom-right-radius: var(--rounded-l);
		}
	
	.forms-wrapper .form-control, .forms-wrapper .form-select {padding: .5em .75em; font-size: 1.1em;}
	.forms-wrapper .form-check {padding-left: 2.2em;}
		.forms-wrapper .form-check-input {margin-top: 0; font-size: 1.4em;}

.popup-content {max-width: 80vw;}

/* :: Login Content Bar :: */

.fieldset legend {margin-bottom: 1em;}
.fieldset .form-group {margin: 0 0 2em;}
	.fieldset .form-group:last-child {margin-bottom: 0;}
	.fieldset .form-group label {margin-bottom: .5em;}

.btn-block {display: block; width: 100%;}

.breadcrumb {margin-top: 1.2em; font-size: .9em;}

/* :: My Profile :: */

.nav-tabs {
	--bs-nav-tabs-border-width: 2px;
	/*--bs-nav-tabs-border-color: var(--brand-color);*/
	--bs-nav-tabs-link-active-color: var(--brand-color);
}
	.nav-item {margin-right: .2em;}
		.nav-tabs .nav-link {
			--bs-nav-tabs-border-radius: var(--rounded);
			--bs-nav-link-color: var(--brand-color-2);
		}

.my-profile .profile-content {padding-top: calc(2em + 2vh);}
	.profile-content .status .property {display: block;}

/* :: Steps :: */

.steps-type-dots {display: flex; list-style: none; margin-bottom: 1em; padding: 0;}
  .steps-type-dots li {
	  flex: 1; position: relative; margin: 0; padding: 0; text-align: center; cursor: default;
  }
	.steps-type-dots a {display: inline-block; text-decoration: none;}

	  .steps-type-dots .steps-progress, .steps-type-dots .progress-bar {
		  position: relative; height: 4px; margin: 24px 0; background-color: #ddd;
	  }
	  
		.steps-type-dots .steps-progress .dot {
			position: absolute; top: 50%; left: 50%; z-index: 5;
			width: 24px; height: 24px; transform: translate(-50%,-50%);
			background-color: var(--bs-white);
			border: 4px solid #ddd; border-radius: 50%;
		}
		.steps-type-dots > li:first-child .steps-progress, .steps-type-dots > li:last-child .steps-progress,
		.steps-type-dots .current .progress-bar {width: 50%;}
		.steps-type-dots .complete .progress-bar, .steps-type-dots > li:last-child .progress-bar {width: 100%;}
		.steps-type-dots > li:first-child .steps-progress {margin-left: 50%;}
			.steps-type-dots > li:first-child .steps-progress .dot {left: 0;}
			.steps-type-dots > li:last-child .steps-progress .dot {left: 100%;}
		  
		.steps-type-dots .complete .progress-bar, .steps-type-dots .current .progress-bar {
			background-color: var(--brand-color);
		}
		  .steps-type-dots .complete .dot, .steps-type-dots .current .dot {
			  background-color: var(--bs-white); border-color: var(--brand-color);
		  }

		#site .steps-type-dots li:first-child.current .progress-bar, 
		.steps-type-dots li:first-child.current .progress-bar {
			color: inherit; background-color: transparent;
		}

:root .underline-hover:hover {text-decoration: underline;}

@media (max-width: 767px) {
.steps-type-dots {flex-wrap: wrap;}
	.steps-type-dots li {flex: auto; width: 100%; min-height: 3.8em; padding: 12px 0 10px 80px; text-align: left;}
		
		.steps-type-dots .steps-title {position: absolute; top: 9px; left: 48px;}
		
		.steps-type-dots .steps-progress {position: absolute; top: 0; bottom: 0; left: 15px; margin: 0;}
		
		.steps-type-dots .progress-bar, 
		.steps-type-dots .steps-progress, 
		.steps-type-dots > li:first-child .steps-progress,
		.steps-type-dots > li:last-child .steps-progress {height: auto; width: 8px; margin: 0;}
		
		.steps-type-dots > li:first-child .steps-progress {top: 15px;}
		.steps-type-dots > li:last-child .steps-progress {bottom: auto; height: 30px;}
		
			.steps-type-dots .progress-bar {position: absolute; width: 8px; left: 0;}
			.steps-type-dots .current .progress-bar {width: 8px;}
			.steps-type-dots .complete .progress-bar {top: 0; bottom: 0;}
			
			.steps-type-dots .steps-progress .dot, 
			.steps-type-dots > li:first-child .steps-progress .dot, 
			.steps-type-dots > li:last-child .steps-progress .dot {
				left: 4px; margin: 0;
			}
			.steps-type-dots .steps-progress .dot {top: 24px;}
			.steps-type-dots > li:first-child .steps-progress .dot {top: 10px;}
}

/* :: Contact :: */

.contact-section-wrapper {margin-bottom: 2em;}
	.contact-section-wrapper h2 {max-width: 23em;}
	
	.contact-section-wrapper .accordion {max-width: 800px;}

.accordion-button:focus {box-shadow: none;}
	.accordion-body > section:not(:first-child) {
		margin-top: calc(var(--bs-accordion-body-padding-y) + .5em); padding-top: calc(var(--bs-accordion-body-padding-y) + .3em); border-top: 1px solid;
	}
		.accordion-body section h4 {margin: .2em 0 .7em;}
		.accordion-body section p {margin-bottom: 1em;}

.collapsing {
    transition-property: height, visibility; transition-duration: 0.35s;
}

.info-display {position: relative; margin-top: 3.3em; margin-bottom: calc(1em + 1vh); padding: calc(2em + 2%) calc(2em + 2%);}

/* :: Footer
===================================================================================================== :: */

#footer {padding: 0; font-size: .9em;}
	
		#footer .level-1 .container-fluid {
			padding-top: calc(1em + 4%); padding-bottom: calc(1em + 4%);
		}
			#footer .col {padding-right: 1em;}
			#footer h3 {margin: 0 0 .7em; text-transform: uppercase;}
			
			#footer li {margin-bottom: .7em;}
				#footer li a {display: inline-block;}
			#footer a {text-decoration: none;}
			
			.footer-contact a {font-weight: bold;}
			
			#footer .social {margin-top: calc(1.5em + 5%); padding-top: calc(1.5em + 5%); border-top: 2px solid;}
				#footer .social a {display: inline-block; margin-right: 1.5em; opacity: .8;}
				#footer .social a:hover {opacity: 1;}
	
		#footer .level-2 .container-fluid {padding-top: 1.7em; padding-bottom: 1.7em;}
			.footer-copy {margin: 0;}
	
/* :: Special Classes and styling
===================================================================================================== :: */

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6,
:root strong {font-weight: bold;}
:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) strong {font-weight: 900;}

:root .btn {border-width: 2px;}

:root .btn-more, :root .btn-back {
	position: relative; z-index: 1; display: inline-block; padding: .9em 1.2em;
	font-size: 1.1em; font-weight: bold; text-decoration: none; text-transform: none !important;
	border: 2px solid;
}
:root .btn-more {padding-right: 2.5em;}
:root .btn-back {min-width: 8em; padding-left: 2.5em;}
.btn-more:before, .btn-back:before {
	content: ""; position: absolute; top: -2px; bottom: -2px; z-index: -1;
	display: block; border-radius: var(--rounded); opacity: 0;
}
.btn-more:before {left: -2px; right: 50%;}
.btn-more:hover:before {right: -2px; opacity: 1;}

.btn-back:before {left: 50%; right: -2px;}
.btn-back:hover:before {left: -2px; opacity: 1;}

.btn-more:after, .btn-back:after {
	content: ""; position: absolute; top: 1.4em;  
	display: block; width: 8px; height: 8px; border-style: solid; border-width: 2px 2px 0 0;
}
.btn-more:after {right: 1.5em; transform: rotate(45deg);}
.btn-back:after {left: 1.5em; transform: rotate(-135deg);}
	.btn-more span, .btn-back span {position: relative; z-index: 1;}


#footer a span {
	display: inline; padding-bottom: .4em;
	background-position: 0 1.3em; background-size: 0 2px;
	background-image: linear-gradient(to right, var(--brand-color) 0%, var(--brand-color) 100%); background-repeat: repeat-x;
}
#footer a:hover span {background-size: 100% 2px;}

#header, .hero-section, h1, h2, h3, h4, h5, h6, .item-cell, #footer {
	cursor: default;
}

.btn {
	border-radius: var(--rounded);
}

.sub-menu-wrapper, .forms-wrapper {
	border-radius: var(--rounded-l);
}

.info-display, 
.item-list .img,
.inside .calc-wrapper {
	border-radius: var(--rounded-xl);
}

/*.dropdown-toggle {
	border-radius: var(--bs-border-radius-pill);
}
*/
/* :: Scroll to Top :: */

.cd-top {
  position: fixed; z-index: 999; bottom: .7rem; right: .7rem; 
  display: inline-block; width: 42px; height: 42px; text-indent: 200%; white-space: nowrap;
  background-color: var(--brand-color); border-radius: var(--bs-border-radius-pill);
  box-shadow: 0 .3em .5em rgba(0,0,0,.3);
  visibility: hidden; opacity: 0;
}
.cd-top:before {
	content: ""; position: absolute; top: 17px; left: 50%;
	display: block; width: 11px; height: 11px; margin: 0 0 0 -6px;
	border-style: solid; border-width: 3px 3px 0 0; border-color: white;
	transform: rotate(-45deg);
}
.cd-top, .cd-top:before {transition: all .2s ease;}

.cd-top.cd-is-visible {visibility: visible; opacity: 1;}
.no-touch .cd-top:hover, .cd-top:hover:before {top: 15px;}

/* :: Transitions :: */

#header, #header a, .site-logo img, #header .meta svg *,
.site-nav .nav > li > a span:before, .site-nav .sub-menu li a span,
#header .meta a:before,
.site-nav .sub-menu-wrapper, 
.nav-collapse:before, .nav-collapse:after, .nav-collapse span:before, .nav-wrapper, .inner-nav-wrapper,
.btn, .form-control, .nav-link,
.item-list .item-link:before, .item-list .item-link:after, .item-list .item-link img, .item-link .info,
#footer a, #footer a span, .del-item path, .btn-more, .btn-more:before, .btn-back, .btn-back:before {
	transition: all .2s ease;
}

