/* Custom page CSS
-------------------------------------------------- */
/* font initialize */
@font-face { font-family: galderglynn; src: url('../lib/galderglynn.ttf'); font-display: swap;} 
@font-face { font-family: Rubik; src: url('../lib/quicksand.ttf'); font-display: swap;}

* {
  scroll-margin-block-start: 3.7rem;
  /*Adds margin to the top of the viewport*/
  
  scroll-margin-block-end: 110px;
  /*Adds margin to the bottom of the viewport*/
}

html {
  scroll-behavior: smooth;
}

body {
  text-shadow: 0 .05rem .1rem rgba(0, 0, 0, .1);
}

.container{
	max-width: min(95vw,100em);
}

h1,h2,h3,h4,h5,h6{
	font-family: galderglynn, sans-serif;
	font-weight: bold;
	Color: White;
}

div.hstart{
	margin-top: 10rem;
	font-size: min(20vw, 150px);
	font-family: galderglynn, sans-serif;
	font-weight: bold;
}

div.splitSpace{
	margin-top:3vh;
}

div.captionTxt{
	margin:1rem;
	font-size: min(3.5vw,.9rem);
	font-family: 'Rubik', sans-serif;
	letter-spacing: 1px;
	background-color:rgba(200,200,200,.8);
	text-align:Left;
	padding: 1rem 1rem;
	width: 100%;
}

section.bgBlk{
	background-color: rgba(40,40,40,1) !important;
}

h2{
	font-size: min(7vw, 1.3rem);
	color: rgba(220,0,0,1);
}

h2.listTitle{
	text-align:center; 
	margin:min(4vw,2rem);
}

h3{
	font-size: min(6vw, 1.1rem);
}

h3.red{
	color: rgba(210,0,0,1);
}

h4{
	font-size: min(4vw,1rem);
	font-family: 'Rubik', sans-serif;
	letter-spacing: 1px;
	font-weight:bold;
}

p{
	font-size: min(3.5vw,.9rem);
	font-family: 'Rubik', sans-serif;
	letter-spacing: 1px;
	color:white;
}

p.listP{
	font-size: min(3vw,.8rem);
}

p.headCaption{
	font-size:min(3vw, .8rem);
	color:white;
}

p.abtn{
	margin-top:1rem;
	margin-bottom:1.5rem;
	margin-left:0rem;
}

.pFont{
	font-size: min(3.5vw,.9rem);
	font-family: 'Rubik', sans-serif;
	letter-spacing: 1px;
	font-weight:normal;
}

/* Back to top floating button*/
#btnbackToTop,#btnbackToTop:visited,#btnbackToTop:active,#btnbackToTop:focus {
  font-family: 'Rubik', sans-serif;
  display: none;
  position: fixed;
  bottom: 15px;
  right: 20px;
  z-index: 99;
  font-size: .8rem;
  border: none;
  outline: none;
  background-color: rgba(200,200,200,.6);
  color: rgb(255,72,72);
  cursor: pointer;
  padding: .8rem;
  border-radius: 2%;
  box-shadow: 0 0 .2rem rgba(0, 0, 0, 0.1);
  transition: all .2s ease 0s;
}

#btnbackToTop:hover {
  background-color: rgba(150,150,150,.8);
  color: rgb(50,50,50);
  transition: all 1s ease 0s;
}
/* End - Back to top floating button*/

.pull-right{
	float:right;
}

.text-muted-header{
	padding-left:.5rem;
	color:rgba(155,155,155,0.95);
}

.top-card{
	padding: 1rem 0rem 1rem 0rem;
}

.calendar {
	margin: 0 auto;	
	background-color:rgba(255,255,255,0.95);
	padding: 0.5rem;
	border-style: solid;
}

.footer {
	color:rgb(220,220,220);
	text-align: left;
	padding: .2rem 0rem .3rem 0rem;
	background-color: rgba(50,50,50,.9);
	box-shadow: 0 -1px 4px rgba(0,0,0,0.2);
}

.footer-text{
	margin:1vh 0vw;
	font-family: 'Rubik', sans-serif;
	font-size: min(3vw,.7rem);
	text-align:center
}


a.bkToTop,a.bkToTop:visited,a.bkToTop:active{
	color: rgb(250,70,70);
	font-size: min(3.5vw,.7rem);
}

a.bkToTop:hover{
	color: rgb(220,220,220);
}

.navbar{
  background-image: linear-gradient(to right, rgba(220, 220, 220,.9) 1%, rgba(0,0,0,.01));
  padding: .4rem 0rem .4rem min(8vw,2rem);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.navbar-expand{
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.navbar-toggle{
  background-image: linear-gradient(to bottom, rgba(150,150,150,1) 100%, rgba(0,0,0,1));
}

.navbar-brand{
  padding: 0rem;
  margin-left:-1rem;
  margin-right:min(2vw,3rem);
}

.navbar-toggler{
	padding: .5rem 0rem .5rem 0rem;
}

.nav-item{
	padding: .4rem .5rem .4rem 0rem;
	font-family: galderglynn, sans-serif;
	font-size: 1.1rem;
}

.nav-item:hover{
	transition: all 1s ease 0s;

}

.nav-link{
	padding: 0rem;
	margin: .5rem 0rem;
	border-bottom: .1rem solid transparent;
	border-top: .1rem solid transparent;
	color: rgb(50,50,50);
	letter-spacing: .8px;
}

.nav-sublink{
	margin: 0rem 1rem;
	border-bottom: .1rem solid transparent;
	border-top: .1rem solid transparent;
	color: rgb(50,50,50);
	letter-spacing: .8px;
}

.nav-link:hover, .nav-sublink:hover{
	transition: all .5s ease 0s;
	border-bottom-color: rgba(225, 25, 25, .5);
	color: rgb(0,0,0);
}

.nav-widget{
  padding: 1rem 0rem 1rem 0rem;
}

.nav-logo{
	width: 8.5rem;
	height:2rem;
}

a.menuBtn{
	display:inline;
	margin-right: 1rem;
}


.thickStroked {
  -webkit-text-stroke: 1px black;
}

a{
	color: rgb(225,70,70);
}

a:hover{
	text-decoration: none;
	color: rgb(20,20,20);
}

div.skillCard{
	color: rgb(225,0,0);
	font-size:min(3vw,.8rem);
	margin-top:min(2vh,2rem);
	margin-bottom:min(1vh,2rem);
	background-color: rgba(50,50,50,1);
	padding: 0.2rem 1rem;
	text-transform: uppercase;
}

span.menuTxt{
	color:rgb(50,50,50);
	font-size:1.1rem;
	vertical-align: middle;
	font-weight: bold;
}

span.redLineHd{
	border-bottom:1px red solid
}

.table-header{
  background-color: rgba(25,25,25,.3);
  font-weight: bold;
}

.table{
  background-color: rgba(250,250,250,.4);
  border: 3px solid rgb(60,60,60);
  font-size: min(3.5vw,.9rem);
	font-family: 'Rubik', sans-serif;
}

code {
  font-size: 80%;
}

/* Custom Link button */
a.aBtnRed,a.aBtnRed:visited,a.aBtnRed:active{
  background-color: rgba(200,0,00,.9);
  text-shadow: none; /* Prevent inheritance from `body` */
  border-radius: 1px;
  border: none;
  letter-spacing: .5px;
  font-family: 'Rubik', sans-serif;
  font-size: min(4vw,.95rem);
  padding: 1rem 2rem 1rem 2rem;
  transition: all 0.3s ease 0s;
  margin:1rem 1rem 1rem 0rem;
  color: rgb(220,220,220);
  white-space: nowrap;
  display: inline-block;
}

a.aBtnRed:Hover{
  background-color: rgba(200,0,00,1);
  text-shadow: none; /* Prevent inheritance from `body` */
  transition: all 0.3s ease 0s;
  border: none;
  padding: 1rem 2.5rem 1rem 2rem;
  margin:1rem .5rem 1rem 0rem;
}

a.aBtnRed-outline,a.aBtnRed-outline:visited,a.aBtnRed-outline:active{
  background-color: transparent;
  text-shadow: none; /* Prevent inheritance from `body` */
  border-radius: 1px;
  border: .2rem rgba(200,0,0,.95) solid;
  letter-spacing: .5px;
  font-family: 'Rubik', sans-serif;
  font-size: min(4vw,.95rem);
  padding: .8rem 2rem .8rem 2rem;
  transition: all 0.3s ease 0s;
  margin:1rem 1rem 1rem 0rem;
  color: rgb(250,250,250);
  white-space: nowrap;
  display: inline-block;
}

a.aBtnRed-outline:Hover{
  background-color: transparent;
  text-shadow: none; /* Prevent inheritance from `body` */
  transition: all 0.3s ease 0s;
  border: 3px rgba(255,0,0,.95) solid;
  padding: .8rem 2.5rem .8rem 2rem;
  margin:1rem .5rem 1rem 0rem;
}

a.aBtnSmall,a.aBtnSmall:visited,a.aBtnSmall:active{
  background-color: rgba(50,50,50,.9);
  text-shadow: none; /* Prevent inheritance from `body` */
  border-radius: 1px;
  border: none;
  letter-spacing: .5px;
  font-size: min(4vw,.95rem);
  padding: 1rem 2rem 1rem 2rem;
  transition: all 0.3s ease 0s;
  margin:1rem 1rem 1rem 0rem;
  color: rgb(250,250,250);
  white-space: nowrap;
  display: inline-block;
}

a.aBtnSmall:Hover{
  background-color: rgba(150,150,150,.9);
  color: white;
  text-shadow: none; /* Prevent inheritance from `body` */
  transition: all 0.3s ease 0s;
  border: none;
  padding: 1rem 2.5rem 1rem 2rem;
  margin:1rem .5rem 1rem 0rem;
}

/* End of Custom Link button*/


#header-content {
  bottom: 0;
}

.caroudsel-container {
  background-color: red;
  position: relative;
  width: 100%;
}

.carousel{
	background-color: rgba(0,0,0,1);
	border-bottom-style: solid;
	border-bottom-width: 0px;
}

.slide {
	margin-left: 0;
	margin-right: 0;
	width: 100%; 
}


.carousel-item img {
	width:100%;
	
	max-height: 80vh;
}

.carousel-caption{
	padding-bottom:0vw;
}
@media (max-width: 768px) {
  .carousel-caption {padding-bottom:0vw;}
}

div.leftToCenterOnResize{
	text-align:left;
}
@media (max-width: 768px) {
  div.leftToCenterOnResize {text-align:center;}
}

div.splitSection{
	background-color:rgba(200,0,0,1); 
	Text-align:Center;
	font-size:min(7vw,1.3rem);
	padding:1rem;
	Color:rgb(220,220,220);
	font-family: galderglynn, sans-serif;
	font-weight: bold;
}

span.divBox{
	background-color: transparent;
	border: 2px solid;
	border-color: rgba(50,50,50,1);
	text-align:center;
	vertical-align: middle;
	padding:.5vw;
}

img.round-image {
  width: 16vw;  /* Set a specific width */
  height: 16vw; /* Height must match width for a circle */
  border-radius: 50%;
  object-fit: cover; /* Ensures the image doesn't stretch */
  border: 3px solid #333; /* Optional "frame" border */
}
@media (max-width: 992px) {
  img.round-image { width: 40vw;  /* Set a specific width */
  height: 40vw; /* Height must match width */}
}

img.imgSmallList{
	max-height:min(60vw,18rem);
	margin-top:1rem;
	margin-bottom:1rem;
	border:3px rgb(150,150,150) solid;
}

img.imgBrands{
	max-height:256px;
	max-width:100%;
	padding: 20px;
}

img.vidPreview {
	border: 2px rgba(0,0,0,0.7) solid; 
	display: block; 
	object-fit: cover;
	width: 98%; 
	height: auto; 
	max-height: 540px; 	
}

iframe.vidView{
	display:block;
	border: 2px rgba(0,0,0,0.7) solid;
	margin-left: auto;
	margin-right: auto;
	width: 98%; 
	height: 540px;
}

img.center {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	object-fit: cover;
}

.dropdown-menu{
	background-color: rgba(0,0,0,0.8);
	color:white;
	border:2px solid rgba(0,0,0,.9);
}

.dropdown-item{
	color:white;
	font-size:1.2rem;
}

.dropdown-item:hover{
    background-color:rgba(255,255,255,0.2);
	color:white;
 }

.list-group-item, .list-group-item:focus{
	font-size:1.05rem;
	color:white;
	background-color: rgba(50,50,50,.8);
	border:0px solid rgba(0,0,0,.3);
	font-family: 'Rubik', sans-serif;
	text-align:center;
}

.noticeForm{
	text-align:Left;
	font-size:1rem; 
	color: rgb(255,60,60);
	background-color: rgba(0,0,0,.8);
	margin:1%;
	padding:1.2rem;
}

.list-group-item-action:hover{
	color:white;
	background-color: rgba(20,20,20,.95);
	transition: all .3s ease 0s;
}

.list-group-item-action:after{
	color:rgba(255,255,255,0);
	content: '\2771''\2771';
    float: right; 
	margin-right:0%;
}

.list-group-item-action:hover:after{
	color:rgba(255,255,255,.2);
	content: '\2770''\2770';
    float: right; 
	transition: all .3s ease 0s;
	margin-right:10%;
}

.list-group-item-action:before{
	color:rgba(255,255,255,0);
	content: '\2770''\2770';
    float: left; 
	margin-left:0%;
}

.list-group-item-action:hover:before{
	color:rgba(255,255,255,.2);
	content: '\2771''\2771';
    float: left; 
	transition: all .3s ease 0s;
	margin-left:10%;
}

/**/

.list-group-header-action{
	color:white;
	font-weight: bold;
}

.list-group-header-action:hover{
	color:white;
	background-color: rgba(0,0,0,.9);
	transition: all .3s ease 0s;
}

.list-group-header-action:after{
	color:rgba(255,255,255,.2);
	content: '\2771''\2771';
    float: right; 
	margin-right:0%;
}

.list-group-header-action:hover:after{
	color:rgba(255,255,255,.5);
	content: '\2770''\2770';
    float: right; 
	transition: all .3s ease 0s;
	margin-right:10%;
}

.list-group-header-action:before{
	color:rgba(255,255,255,.2);
	content: '\2770''\2770';
    float: left; 
	margin-left:0%;
}

.list-group-header-action:hover:before{
	color:rgba(255,255,255,.5);
	content: '\2771''\2771';
    float: left; 
	transition: all .3s ease 0s;
	margin-left:10%;
}

/**/

.card-header{
	background-color: rgba(0,0,0,0.6);
	color:white;
	border:2px solid rgba(0,0,0,.2);
	font-family: 'Rubik', sans-serif;
}

.txtMid{
	text-align:center;
}

.card-header:hover{
	background-color: rgba(0,0,0,0.8);
	color:white;
	border:2px solid rgba(0,0,0,.5);
	transition: all .3s ease 0s;
	text-decoration: none;
}

.card-title{
	font-size:1.05rem;
}

.card{
	background-color: rgba(0,0,0,0);
	border:0px solid;
}

.card-body{
	background-color: rgba(0,0,0,.1);
	color:black;
	padding: .5rem 1rem 1rem 1rem;
	margin-bottom:1rem;
	border-radius: 0px;
	border:3px solid;
	border-color: rgba(0,0,0,.5);
}

.map-card-body{
	background-color: rgba(255,255,255,0);
	color:black;
	padding: 0rem 0rem .01rem 0rem;
	margin-bottom:2rem;
	border:2px solid rgba(0,0,0,.8);
	border-radius: 0px;
	width: 100%;
}

.accordion .card-header:after {
    content: '\25B2';
    float: right; 
	color: rgba(255,255,255,.6);
}
.accordion .card-header.collapsed:after {
    content: '\25BC'; 
	color: rgba(255,255,255,.6);
}

.btn-link{
	color:white;
	text-decoration:none;
	width:100%;
	text-align: left;
}
.btn-link:hover{
	color:white;
	text-decoration:none;
	width:100%;
	text-align: left;
}


/* Popup container - can be anything you want */
.popup {
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* The actual popup */
.popup .popuptext {
  visibility: hidden;
  width: 10rem;
  background-color: rgba(0,0,0,.9);
  color: white;
  text-align: center;
  border-radius: 6px;
  padding: 8px 0;
  position: absolute;
  z-index: 1;
  bottom: -60%;
  left: 60%;
  margin-left: -5rem;
}

/* ---------------- Start of "hide and show the popup" ------------ */
.popup .show {
  visibility: visible;
  -webkit-animation: fadeIn 1s;
  animation: fadeIn 1s;
}

.popup .hide {
  visibility: hidden;
}

/* Add animation (fade in the popup) */
@-webkit-keyframes fadeIn {
  from {opacity: 0;} 
  to {opacity: 1;}
}

@keyframes fadeIn {
  from {opacity: 0;}
  to {opacity:1 ;}
}
/* ---------------- End of "hide and show the popup" ------------ */


/* ------------- BurgerMenu Animation -------------*/
/* Define the shape and color of the hamburger lines */
.navbar-toggler span {
    display: block;
    background-color: rgb(60,60,60);
    height: 3px;
    width: 25px;
    margin-top: 5px;
    margin-bottom: 5px;
    position: relative;
    left: 0;
    opacity: 1;
    transition: all 0.35s ease-out;
    transform-origin: center left;
}


/* top line needs a little padding */
.navbar-toggler span:nth-child(1) {
    margin-top: 0.3em;
}

/**
 * Animate collapse into X.
 */

/* top line rotates 45 degrees clockwise and moves up and in a bit to close the center of the X in the center of the button */
.navbar-toggler:not(.collapsed) span:nth-child(1) {
    transform: translate(15%, -33%) rotate(45deg);
}
/* center line goes transparent */
.navbar-toggler:not(.collapsed) span:nth-child(2) {
    opacity: 0;
}
/* bottom line rotates 45 degrees counter clockwise, in, and down a bit to close the center of the X in the center of the button  */
.navbar-toggler:not(.collapsed) span:nth-child(3) {
    transform: translate(15%, 33%) rotate(-45deg) ;
}


/**
 * Animate collapse open into hamburger menu
 */

/* top line moves back to initial position and rotates back to 0 degrees */
.navbar-toggler span:nth-child(1) {
    transform: translate(0%, 0%) rotate(0deg) ;
}
/* middle line goes back to regular color and opacity */
.navbar-toggler span:nth-child(2) {
    opacity: 1;
}
/* bottom line goes back to initial position and rotates back to 0 degrees */
.navbar-toggler span:nth-child(3) {
    transform: translate(0%, 0%) rotate(0deg) ;
}
/* ------------- End of BurgerMenu Animation -------------*/

/* Animation Button*/
.btnAni {
  position: relative;
  transform: translate(-50%, -50%);
  background: linear-gradient(to right, rgba(210,0,0,.9) 20%, rgba(60,0,0,1)); /*rgba(50,50,50,.7);*/
  text-decoration: none;
  font-size: min(4vw,1rem);
  font-family: Rubik;
  padding: 1rem 2.5rem;
  border: 3px solid rgba(30, 30, 30, 1);
  transition: 0.04s 0.2s cubic-bezier(0.1, 0, 0.1, 1);
  color:white;
  border-radius:2px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  white-space: nowrap;
}
.btnAni::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 100%;
  bottom: 0;
  background: rgba(50,50,50,.7);
  transition: 0.6s 0.2s cubic-bezier(0.1, 0, 0.1, 1), left 0.5s cubic-bezier(0.1, 0, 0.1, 1);
  z-index: -1;
}
.btnAni::after {
  content: "";
  background: rgba(60, 60, 60, 1);
  background-image: url("../img/right_arrow_icon_white.webp");
  position: absolute;
  top: 0;
  left: calc(100% - 3em);
  right: 3em;
  bottom: 0;
  background-size: 1.5em;
  background-repeat: no-repeat;
  background-position: center;
  transition: right 0.1s cubic-bezier(0.1, 0, 0.1, 1);
  
}
.btnAni:hover {
  transition: 0.5s 0.2s cubic-bezier(0.1, 0, 0.1, 1);
  padding: 1rem 4rem 1rem 1rem;
  color: white;
}
.btnAni:hover::before {
  left: calc(100% - 3em);
  right: 0;
  transition: 0.3s cubic-bezier(0.1, 0, 0.1, 1), left 0.3s 0.2s cubic-bezier(0.1, 0, 0.1, 1);
}
.btnAni:hover::after {
  right: 0;
  transition: right 0.3s 0.2s cubic-bezier(0.1, 0, 0.1, 1);
}
/* End of Animation Button */

/*blur box*/
.blurred-box{
  position: relative;
  width: 250px;
  height: 350px;
  top: calc(50% - 175px);
  left: calc(50% - 125px);
  background: inherit;
  border-radius: 2px;
  overflow: hidden;
}

.blurred-box:after{
 content: '';
 width: 300px;
 height: 300px;
 background: inherit; 
 position: absolute;
 left: -25px;
 left position
 right: 0;
 top: -25px;  
 top position 
 bottom: 0;
 box-shadow: inset 0 0 0 200px rgba(255,255,255,0.05);
 filter: blur(10px);
}
/*blur box*/