/* ////////// GENERAL ////////// */
.fsfont
{
	font-family: quasimoda, sans-serif;
	font-weight: 300;
	font-style: normal;
	line-height: 150%;
}

.fsblue 
{
	background-color: #3d84ff;
}

.fs-hr 
{
	width: 100%;
	margin: 10px 0px;
}

.fs-nomargin
{
	margin: 0 auto !important;
}

.fs-divider
{
	width: 90%;
	margin: 0px auto;
	height: 50px;

	animation: growwidth 1s ease-in-out 0s 1 forwards;

	background-color: #000;
	background-image: url("../img/fs-imgs/gplay.png");
}

.fs-display-none { display: none;}
.fs-before { opacity: 0 !important; }
.fs-after { opacity: 1 !important; }
.fs-desktop-only { display: none;}
.fs-mobile-only { display: block;}



@media only screen and (min-width: 1024px)
{

}

/*/////////// FLEX STANDARDS /////////// */

.fs-flex-split
{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
}

.fs-flex-center
{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.fs-flex-center 
{
	justify-content: center;
	align-items: center;
}

.fs-flex-start
{
	justify-content: flex-start;
	align-items: center;
}

.fs-flex-start p
{
	margin-left: 10px;
}

.fs-flex-container
{
	display: flex;
}

@media only screen and (min-width: 1024px)
{
	.desktop-only
	{
		display: block;
	}

	.mobile-only
	{
		display: none;
	}
}

/* ////////// NAV / TOP CONTENT ////////// */
.fs-promo-banner
{
	width: 100%;
	height: 50px;
	background-color: white;
	text-align: center;
	line-height: 50px;
}

.fs-promo-banner a
{
	color: black;
	text-decoration: none;
	font-style: italic;
	font-size: 20px;
}

@media only screen and (min-width: 1024px)
{

}

/* ////////// PRODUCT GRID ////////// */
#fs-shop-container
{
	margin: 50px auto;
}

#fs-product-grid
{
	width: 100%;
	min-height: 500px;
	margin: 0px auto;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-flow: row wrap;
}

.fs-product-grid
{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-flow: row wrap;
}

.fs-related-grid
{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-flow: row wrap;
}

.fs-grid-title
{
	margin: 25px auto;
	text-align: center;
}

#fs-product-grid-header
{
	text-align: center;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 50px;
}

.fs-grid-sort-select
{
	background-color: black;
	border: 1px solid white;
	padding: 10px;
	color: white;
	font-size: 12px;
	width: 175px;
	letter-spacing: 5px;

	border-radius: 0px;
}

.fs-grid-sort-select option
{
	font-size: 12px;
	padding: 5px;
	letter-spacing: 2px;
	border-radius: 0px;
}

.fs-product-cell
{
	width: 400px;
	height: 500px;
	margin: 75px 50px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-flow: column nowrap;
}

.fs-product-cell-title
{
	font-size: 24px;
	cursor: pointer;
	margin: 5px auto !important;
}

.fs-product-cell img
{
	width: 350px;
	height: 350px;
	margin: 0 auto;
	overflow: hidden;
	cursor: pointer;
}

.fs-product-cell p
{
	margin: 5px auto;
}

.fs-product-cell-pc
{
	width: 100%;
	margin-bottom: 15px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.fs-grid-addtocart, .fs-grid-outofstock
{
	width: 300px;
  	margin: 0 auto;
	height: 40px;
	color: white;
	background-color: black;
	border: 1px solid white;
	font-size: 18px;
}

.fs-variant-select
{
  width: 300px;
  margin: 0 auto;
  height: 50px;
  padding: 5px 0px;
  color: white;
  background-color: #000;
  text-align: center;
  border: 1px solid #FFF;
  border-bottom: 0px;
  font-family: univia-pro, sans-serif;
  font-weight: 300;
  font-style: italic;
  font-size: 16px;
}

/* MINI GRID */
.fs-product-cell-mini
{
	width: 200px;
	height: 375px;
	margin: 25px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-flow: column nowrap;
}

.fs-product-cell-mini img
{
	width: 200px;
	margin: 0 auto;
	overflow: hidden;
	cursor: pointer;
}

.fs-product-cell-mini p
{
	margin: 5px auto;
}

.fs-product-cell-mini > .fs-product-cell-title
{
	font-size: 20px !important;
	cursor: pointer;
	margin: 5px auto !important;
}

.fs-product-cell-mini > .fs-product-cell-pc
{
	width: 100%;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.fs-product-cell-mini > .fs-grid-addtocart, .fs-product-cell-mini > .fs-grid-outofstock
{
	width: 200px;
  	margin: 0 auto;
	height: 40px;
	color: white;
	background-color: black;
	border: 1px solid white;
	font-size: 16px;
}

.fs-product-cell-mini > .fs-variant-select
{
  width: 200px;
  margin: 0 auto;
  height: 40px;
  padding: 5px 0px;
  color: white;
  background-color: #000;
  text-align: center;
  border: 1px solid #FFF;
  border-bottom: 0px;
  font-family: univia-pro, sans-serif;
  font-weight: 300;
  font-style: italic;
  font-size: 16px;
}

.fs-variant-select option
{
	text-align: center;
}

.fs-product-bkg
{
	
}

@media only screen and (min-width: 1024px)
{
	.fs-product-grid
	{
		justify-content: flex-start;
	}
}

/* PRODUCT PAGE */
#fs-productpage
{
	width: 100%;
	min-height: 500px;
	padding: 50px 0px;
}

#fs-productpage-split
{
	width: 95%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
}


.fs-productpage-bkg
{
	background-color: #000;
	background-image: url("../img/fs-imgs/gplay.png");
}

.fs-productpage-bkg img
{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	z-index: -1;
}

#fs-productpage-imgs
{
	text-align: center;
	margin: 25px auto;
	margin-bottom: 0px;
	width: 90%;

	animation: swipelefttomid 0.5s ease-in-out 0s 1 forwards;
}

.fs-productpage-mainimg
{
	width: 100%;
}

#fs-productpage-info
{
	text-align: center;
	margin: 0 auto;
	padding: 50px 25px;
	width: calc(90% - 50px);

	animation: swiperighttomid 0.5s ease-in-out 0s 1 forwards;
}

#fs-productpage-info h1
{
	font-size: 32px;
	margin: 5px 0px;
	margin-top: 0px;
}

#fs-productpage-info h2
{
	font-size: 24px;
	color: grey;
	font-style: italic;
	margin: 5px 0px;
}

#fs-productpage-info p
{
	word-wrap: normal;
	font-size: 18px;
	text-align: left;
}

#fs-productpage-desc
{
	font-size: 16px !important;
}

#fs-productpage-thumbnail-container
{
	margin: 0px auto;
	width: 100%;

	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.fs-productpage-variants
{
	width: 250px;
	height: 40px;
	padding: 5px 0px;
	margin: 0 auto;
	display: block;
	color: white;
	background-color: #000;
	text-align: center;
	border: 1px solid #FFF;
	font-family: univia-pro, sans-serif;
	font-weight: 300;
	font-style: italic;
	font-size: 16px;
}

.fs-productpage-variants option
{
	font-size: 16px;
}

.fs-productpage-pc
{
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.fs-productpage-altpics
{
	transition: all 0.2s ease-in-out;
	display: block;
	flex-grow: 1;
	margin: 0 5px;
}

.fs-productpage-altpics:hover
{
	transform: scale(1.25);
}

.fs-productpage-outofstock
{
	width: 250px;
	height: 40px;
	padding: 5px 0px;
	margin: 0 auto;
	display: block;
	color: white;
	background-color: red;
	margin: 10px auto;
	margin-bottom: 50px;

	font-size: 16px;
}

.fs-productpage-addtocart
{
	width: 250px;
	height: 40px;
	padding: 5px 0px;
	display: block;
	color: white;
	background-color: black;
	margin: 10px auto;
	margin-bottom: 50px;
	border: 1px solid white;

	font-size: 16px;
}

.fs-productpage-error
{
	text-align: center;
	margin: 100px auto;
}

#fs-productpage-related
{
	width: 100%;
	text-align: center;
	margin: 0px;
}

#fs-productpage-related hr
{
	width: 100%;
	margin: 0 auto;
}

@media only screen and (min-width: 1200px)
{
	#fs-productpage-split
	{
		width: 90%;
		margin: 0 auto;
		justify-content: space-between;
		flex-direction: row;
	}

	#fs-productpage-imgs
	{
		width: 50%;
		margin: 0px;
	}

	#fs-productpage-info
	{
		text-align: left;
		width: 50%;
		padding: 0;
		padding-left: 25px;
	}

	.fs-productpage-pc
	{
		text-align: left;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}

	.fs-productpage-variants
	{
		margin: 0;
	}

	.fs-productpage-outofstock, .fs-productpage-addtocart
	{
		margin: 10px 0px;
		margin-bottom: 50px;
	}

	#fs-productpage-related
	{
		width: 100%;
		text-align: left;
		margin: 50px auto;
	}

	#fs-productpage-related hr
	{
		width: 400px;
		margin: 0;
	}
}

/* ////////// CART ////////// */
.fs-cart-open { animation: opencart 0.4s ease-in-out 0s 1 forwards;}
.fs-cart-close { animation: closecart 0.4s ease-in-out 0s 1 forwards;}
.fs-add-letter { animation: addletter 0.4s ease-in-out 0s 1 forwards;}
.fs-remove-letter { animation: removeletter 0.4s ease-in-out 0s 1 forwards;}

#fs-cart-container, #fs-contact-container
{
	z-index: 9999;
	position: fixed;
	top: 0px;
	right: -500px;
	width: 470px;
	height: 0px;
	overflow: hidden;
	background-color: white;
	color: black;
	border-right: 0px;
	transition: all 0.4s ease-in-out;
	padding: 15px;
}

#fs-cart-inside, #fs-contact-inside
{
	position: relative;
	text-align: center;
	padding: 15px;
	margin-top: 25px;
}

.fs-cartimg-container
{
	position: relative;
}

.fs-cartimg-container img 
{
	display: inline;
}

.fs-cartimg-anim-container
{
	width: 64px;
	height: 64px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
}

.fs-cart-anim1
{
	background-color: grey;
	width: 28px;
	height: 4px;
	margin: 3px auto;
	display: block;
	position: relative;
	left: 5px;
	top: 15px;

	animation: cartanim 1s ease-in-out 0s infinite;
}

.fs-cart-anim2
{
	background-color: grey;
	width: 28px;
	height: 4px;
	margin: 3px auto;
	display: block;
	position: relative;
	left: 5px;
	top: 15px;

	animation: cartanim2 1s ease-in-out 0.25s infinite;
}

#fs-cartitem-container
{
	height: fit-content;
	overflow-y: scroll;
	overflow-x: hidden;
	margin-top: 25px;
}

#fs-cart-inside h1
{
	margin: 50px auto;
	color: black;
}

#fs-cart-inside hr
{
	background-color: #D6D6D6 !important;
}

.fs-close-cart, .fs-close-contact
{
	position: absolute;
	left: 20px;
	top: 15px;
	color: red;
	cursor: pointer;
}

.fs-cart-empty
{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	text-align: center;

	display: flex;
	justify-content: center;
	align-items: center;
}

.fs-cartitem
{
	margin: 25px auto;
	position: relative;
	width: 90%;
	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 3px 20px 0 rgba(0,0,0,0.19);
	border-radius: 5px;
}

.fs-remove-cartitem
{
	position: absolute;
	right: 15px;
	top: 15px;
	cursor: pointer;
	font-size: 18px;
	color: black;
}

.fs-cartitem-inside
{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 15px;
}

.fs-cartitem-img
{
	position: relative;	
	overflow: hidden;
}

.fs-cartitem-quant
{
	color: black;
	position: absolute;
	right: 0px;
	top: 0px;
	font-size: 14px;

	margin: 0;
	padding: 2px;
	width: 16px;
	height: 16px;
	background-color: white;
}

.fs-quant-insuf
{
	animation: faderedtoblack 1s ease-in-out forwards;
}

.fs-cartitem-info
{
	margin-left: 25px;
	text-align: left;
}

.fs-cartitem-info h3
{
	margin: 10px 0px;
	color: black;
	font-size: 20px;
	font-weight: normal;
}

.fs-cartitem-detail
{
	font-size: 16px;
	opacity: 0.75;
	font-style: italic;
	margin: 10px 0px;
	color: grey;
}

.fs-cartitem-price
{
	margin: 10px 0px;
	color: black;
	font-size: 18px;
}

.fs-cartitem-saleprice
{
	display: inline-block;
	margin: 5px !important;
	color: red;
	font-size: 18px;
}

.fs-cartitem-fullprice
{
	display: inline-block;
	margin: 5px !important;
	text-decoration: line-through;
	color: black;
	font-size: 18px;
}

.fs-cartitem-normalprice
{
	display: inline-block;
	margin: 5px !important;
	color: black;
	font-size: 18px;
}

.fs-continue-shopping, .fs-close-container
{
	display: block;
	border: 0;
	padding: 15px;
	background-color: #3d84ff;
	color: white;
	margin: 0 auto;
}

#fs-cart-checkout-container
{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
}

#fs-cart-checkout-container h1
{
	color: grey;
	letter-spacing: 2px;
	font-size: 24px;
	margin: 25px auto;
}

#fs-cart-checkout-container button
{
	width: 100%;
	height: 50px;
	border: 0;
	background-color: #3d84ff;
}

@media only screen and (min-width: 1024px)
{
	
}

/* /////////// CONTACT //////////// */

#fs-contact-inside p, #fs-contact-inside h2
{
	color: black;
}

.fs-contact-input-container
{
	margin: 50px auto;
	width: 80%;
	text-align: center;
}

.fs-contact-input
{
	display: block;
	width: 300px;
	height: 40px;
	padding: 5px;
	border: 1px solid #3d84ff;
	margin: 5px auto;
	color: black;
	font-size: 16px;
}

.fs-contact-textarea
{
 width: 300px;
 color: black;
 font-size: 16px;
 border: 1px solid #3d84ff;
 padding: 5px;
}

.fs-contact-submit
{
	width: 312px;
	height: 40px;
	padding: 5px;
	background-color: #3d84ff;
	color: white;
	border: 0;
}

.fs-success-check
{
	display: inline;
    animation: success-anim 1.0s ease-in 0s 1 normal forwards;
    -webkit-animation: success-anim 1.0s ease-in 0s 1 normal forwards;
}



/* ------------ FS CALENDAR ---------- */
#fs-calendar-container
{
	width: 90%;
	min-height: 425px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: column;
	margin: 25px auto;
	text-align: center;
	background-color: #fff;
	border: 2px solid #3d84ff;
	border-radius: 25px;
	padding: 5px;
	overflow: hidden;

	-webkit-transition: all 0.25s ease-in-out;
       -moz-transition: all 0.25s ease-in-out;
        -ms-transition: all 0.25s ease-in-out;
         -o-transition: all 0.25s ease-in-out;
            transition: all 0.25s ease-in-out;
}

.fs-expand-calendar
{
	width: 90% !important;
	min-height: 600px !important;
}

.fs-expand-calendar-max
{
	width: 90% !important;
	min-height: 800px !important;
}

#fs-calendar-display-date
{
	color: #949494;
	text-align:center;
}

#fs-calendar-table
{
  width: fit-content;
  margin: 10px;
  margin-bottom: 30px;
  border-collapse: collapse;
  border: 1px solid #ccc;

  background-color: white;
  color: black;
}

#fs-calendar-table caption
{
  font-size: 32px;
  margin: 5px;
}

#fs-calendar-table th 
{
  text-align: center;
  color: #949494;
}

#fs-calendar-table .header-row
{
  height: 65px !important;
}

#fs-calendar-table tr
{
  border: solid #BEBEBE;
  border-width: 1px 0;
}

#fs-calendar-table td
{
  width: 45px;
  height: 60px;
  aspect-ratio: 1/1;
  border-right: 1px solid #BEBEBE;
  padding: 0;
  margin: 0;
  vertical-align: top;
  text-align: left;
}

.fs-calendar-cell
{
  width: 45px;
  height: 60px;
  cursor: pointer;
}

.fs-calendar-cell:hover
{
  -webkit-box-shadow: 0 2px 4px 0 rgba(61,132,255,0.2), 0 1px 5px 0 rgba(61,132,255,0.19);
  -moz-box-shadow: 0 2px 4px 0 rgba(61,132,255,0.2), 0 1px 5px 0 rgba(61,132,255,0.19);
  box-shadow: 0 8px 16px 0 rgba(61,132,255,0.2), 0 6px 20px 0 rgba(61,132,255,0.19);
}

.fs-calendar-cell-selected
{
  width: 48px;
  height: 58px;
  border: 1px solid #3d84ff;
   -webkit-box-shadow: 0 2px 4px 0 rgba(61,132,255,0.2), 0 1px 5px 0 rgba(61,132,255,0.19);
   -moz-box-shadow: 0 2px 4px 0 rgba(61,132,255,0.2), 0 1px 5px 0 rgba(61,132,255,0.19);
   box-shadow: 0 8px 16px 0 rgba(61,132,255,0.2), 0 6px 20px 0 rgba(61,132,255,0.19);

}

.fs-unavailable
{
  background-color: #bbb !important;
  cursor: default !important;
}

.fs-unavailable:hover 
{
  box-shadow: none !important; 
}

#fs-calendar-table tr:first-child {
  border-top: none;
}
#fs-calendar-table tr:last-child {
  border-bottom: none;
}

.fs-calendar-prev, .fs-calendar-next
{
  margin: 0 20px;
  opacity: 0.5;
  cursor: pointer;
}

.fs-event-list
{
  height: calc(100% - 25px);
  overflow-y: auto;
  overflow-x: hidden;

  width: 100%;

  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}

.fs-calendar-event
{
  width: 20px;
  height: 20px;
}

.fs-calendar-cell p
{
  text-align: center;
  color: green;
}

#fs-event
{
  text-align: left;
  opacity: 0.75;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin: 1px;
  padding: 0px;
  font-size: 0px;
  color: white;
  overflow: hidden;
  white-space: nowrap;
}

#fs-daynumber
{
  position: relative;
  text-align: center;
  top: 0px;
  left: 0px;
  width: 15px;
  height: 15px;
  font-size: 10px;

  display: flex;
  justify-content: center;
  align-items: center;
}

.fs-today
{
  color: #3d84ff;
  font-size: 18px;
  font-weight: bold;
  color: black;
}

.fs-nottoday
{
	color: black;
}

.fs-service-container
{
	opacity: 0;
	width: fit-content;
	overflow: hidden;

	-webkit-transition: all 0.5s ease-in-out;
       -moz-transition: all 0.5s ease-in-out;
        -ms-transition: all 0.5s ease-in-out;
         -o-transition: all 0.5s ease-in-out;
            transition: all 0.5s ease-in-out;
}

.fs-service-container h2
{
	font-size: 28px;
}

.fs-service-select
{
	color: black !important;
	padding: 10px;
}

.fs-service-select option
{
	color: black !important;
}

.fs-timeslot-container
{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: row;
	flex-wrap: wrap;

	max-width: 90%;
	margin: 25px auto;
}

.fs-timeframe-btn
{
	padding: 10px;
	border-radius: 5px;
	background-color: white;
	color: black;
	margin: 5px;
	border: 1px solid black;
}

.fs-timeframe-btn:hover
{
	background-color: #3d84ff !important;
	color: white;
}

.fs-timeframe-selected 
{
	background-color: #3d84ff !important;
	color: white;
}

.fs-service-select-title
{
	color: #949494;
	letter-spacing: 5px;
	font-style: italic;
	font-size: 18px !important;
	margin: 20px auto;
}

.fs-service-select
{
	width: 250px;
	padding: 5px;
}

.fs-service-select-inner
{
	margin: 30px auto;
	margin-top: 0px;
	padding:5px;
}

.fs-service-select-inner h2
{
	color: black;
}

.fs-timeslot-container p
{
	color: black;
}

.fs-service-details
{
	background-color: white;
	border-radius: 15px;
	padding: 15px;
	border: 1px solid #3d84ff;
	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 3px 20px 0 rgba(0,0,0,0.19);
	text-align: center;
	margin: 15px auto;

	width: calc(90% - 30px);
}

.fs-service-details p
{
	color: black !important;
	margin: 5px;
	font-size: 18px;
}

.fs-service-details h2
{
	color: black !important;
}

.fs-service-details hr 
{
	height: 1px;
  background-color: #ccc;
  border: none;
}

.fs-service-details img
{
	margin: 5px auto;
	border-radius: 50%;
}

.fs-service-details button
{
	margin: 15px auto;
}

@media only screen and (min-width: 1200px)
{
	#fs-calendar-container
	{
		width: 680px;
		min-height: 600px;
		align-items: center;
		justify-content: space-around;
		flex-direction: row;
	}

	.fs-expand-calendar, .fs-expand-calendar-max
	{
		width: 80% !important;
		min-height: 600px !important;
	}

  #fs-calendar-table td
  {
    width: 90px;
    height: 90px;
    aspect-ratio: 1/1;
  }

  .fs-calendar-cell
  {
    width: 90px;
    height: 90px;
  }

  .fs-calendar-cell-selected
  {
    width: 88px;
    height: 88px;
  }

  #fs-daynumber
  {
    width: 20px;
    height: 20px;
  }


  #fs-event
  {
    text-align: left;
    opacity: 0.75;
    width: 100%;
    margin: 1px auto;
    padding: 1px;
    font-size: 10px;
    border-radius: 0px;
  }

  .fs-event-list
  {
    height: calc(100% - 25px);
    overflow-y: auto;
    overflow-x: hidden;

    width: 100%;

    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .fs-calendar-event
  {
    width: 100%;
    height: fit-content;
  }

  .fs-service-select-inner
	{
		margin: 50px auto;
		margin-top: 25px;
		padding:10px;
	}

	.fs-timeslot-container
	{
		justify-content: center;
		align-items: center;
		max-width: 90%;
		margin: 25px auto;
	}

	.fs-timeslot-container-outer
	{
		margin: 25px auto;
		padding:10px;
	}

	.fs-service-details
	{
		border-radius: 15px;
		padding: 25px;
		margin: 15px auto;

		width: calc(90% - 54px);
	}
}

@media only screen and (min-width: 1400px)
{
	#fs-calendar-container
	{
		min-width: 925px;
		min-height: 800px;
	}

	.fs-expand-calendar, .fs-expand-calendar-max
	{
		width: 80% !important;
		min-height: 800px !important;
	}

  #fs-calendar-table
  {
    width: fit-content;
    margin: 50px auto;
    margin-bottom: 50px;
  }

  #fs-calendar-table tr
  {
    border: solid #808080;
    border-width: 1px 0;
  }

  #fs-calendar-table td
  {
    width: 125px;
    height: 125px;
    aspect-ratio: 1/1;
  }

  .fs-calendar-cell
  {
    width: 125px;
    height: 125px;
  }

  .fs-calendar-cell-selected
  {
    width: 123px;
    height: 123px;
  }

  #fs-daynumber
  {
    width: 25px;
    height: 25px;
    font-size: 12px;
  }

  #fs-event
  {
    padding: 2px;
    font-size: 12px;
  }

}

/*////////// POP UPS ///////////*/
.fs-email-popup
{
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  text-align: center;
  padding: 15px;
  z-index: 995;

  width: 80%;
  max-width: 400px;

  background-color: #fff;
  border: 2px solid #000;
  border-radius: 15px;

  animation: fadein 1s ease-in-out forwards;
}

.fs-email-popup-inner
{
  width: 80%;
  margin: 0 auto;
}

.fs-email-popup-inner h1
{
  color: black;
  font-size: 24px;
}

.fs-email-popup-inner p
{
  color: black;
  font-size: 14px;
  line-height: 125%;
}

.fs-email-popup-inner button
{
  cursor: pointer;
  width: 100%;
  height: 40px;
  background-color: #3d84ff;
  border: 0;
  margin: 2px auto;
}

.fs-email-popup-inner input 
{
	border: 1px solid black;
	padding: 10px;
	width: calc(100% - 23px);
	font-size: 14px;
	margin: 2px auto;
}

.fs-email-popup-x
{
  position: absolute;
  right: 0px;
  top: 0px;
  width: 42px;
  height: 42px;
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 15px;
  border-top: 0;
  border-right: 0;
  color: black;

  cursor: pointer;
}

@media only screen and (min-width: 1024px)
{
	.fs-email-popup
	{
		max-width: 500px;
		padding: 25px;
	}

	.fs-email-popup-inner h1
	{
		font-size: 32px;
	}

	.fs-email-popup-inner p
	{
		font-size: 18px;
	}

	.fs-email-popup-inner input 
	{
		width: calc(90% - 23px);
		height: 30px;
	}

	.fs-email-popup-inner button
	{
  	width: 90%;
  	height: 50px;
  }
}

/*////////// COOKIES ////////////*/
#fs-acceptcookies-msg
{
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;

	width: 400px;
	padding: 25px;

	background-color: white;
	border-radius: 25px;
}

#fs-acceptcookies-msg p
{
	color: black !important;
}

#fs-acceptcookies-msg a
{
	font-size: 14px;
	color: black !important;
	opacity: 0.5;
}

#fs-acceptcookies-msg button
{
	border: 0;
	padding: 5px;
	background-color: black;
	color: white;
	display: block;
	margin: 10px auto;
}

/*////////////// 404 ////////////////*/
.fs-404-container
{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
}

.fs-404-container h1
{
	font-size: 48px;
	letter-spacing: 5px; 
	font-style:italic;
	margin: 0 auto;
}

.fs-404-container img
{
	width: 384px;
}

.fs-console-container 
{
  width: 100%;
  text-align:center;
  color:white;
  vertical-align: top;
  margin-top: 30px;
}

.fs-console-container span
{
	font-size: 22px !important;
}

.fs-console-underscore 
{
  display:inline-block;
  position:relative;
  top:0px;
  left:1px;
}

.fs-hidden404 {opacity:0;}
.fs-full404 { opacity: 1;}


/*///////// EFFECTS /////////// */

/* TEXT EFFECT */
.fs-text-effect-container
{
	width: 100%;
	text-align: center;
}

.fs-text-effect
{
	width: 500px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;

	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.fs-effect-char
{
	text-align: center;
	margin: 0px 10px;
}

.fs-effect-char p
{
	color: white;
	font-size: 48px;
	text-align: center;
}

.fs-letter:nth-child(1)
{
	color: black;
	font-style: italic;
	margin: 0 5px;
	animation: letteranim 2s 0s infinite forwards ease-in-out;
}

.fs-letter:nth-child(2)
{
	color: black;
	font-style: italic;
	margin: 0 5px;
	animation: letteranim 2s 0.2s infinite forwards ease-in-out;
}

.fs-letter:nth-child(3)
{
	color: black;
	font-style: italic;
	margin: 0 5px;
	animation: letteranim 2s 0.4s infinite forwards ease-in-out;
}

.fs-letter:nth-child(4) 
{
	color: black;
	font-style: italic;
	margin: 0 5px;
	animation: letteranim 2s 0.6s infinite forwards ease-in-out;
}

.fs-letter:nth-child(5)
{
	color: black;
	font-style: italic;
	margin: 0 5px;
	animation: letteranim 2s 0.8s infinite forwards ease-in-out;
}

/* DEV MESSAGE */
.fs-devmsg
{
	margin: 50px auto;
	background: linear-gradient(135deg, 
        	rgba(53, 53, 53, 0.25) 0 10%, rgba(255, 255, 0, 0.25) 10% 15%, 
        	rgba(53, 53, 53, 0.25) 15% 25%, rgba(255, 255, 0, 0.25) 25% 30%,
        	rgba(53, 53, 53, 0.25) 30% 40%, rgba(255, 255, 0, 0.25) 40% 45%,
        	rgba(53, 53, 53, 0.25) 45% 55%, rgba(255, 255, 0, 0.25) 55% 60%,
        	rgba(53, 53, 53, 0.25) 60% 70%, rgba(255, 255, 0, 0.25) 70% 75%,
        	rgba(53, 53, 53, 0.25) 75% 85%, rgba(255, 255, 0, 0.25) 85% 100%,
        	rgba(53, 53, 53, 0.25) 90% 100%);

	background-size: 200% 200%;
	animation: fs-indev 5s linear infinite;
	
}

.fs-devmsg p
{
	font-family: quasimoda, sans-serif;
    font-weight: 300;
    font-style: italic;
	margin: 0 5px;

	opacity: 0.75;
}

@-webkit-keyframes fs-indev {
    0%{background-position:0% 0%}
    100%{background-position:100% 100%}
}
@-moz-keyframes fs-indev {
    0%{background-position:0% 0%}
    100%{background-position:100% 100%}
}
@keyframes fs-indev { 
    0%{background-position:0% 0%}
    100%{background-position:89% 100%}
}


/* LOADING */
#loading-ring, #loading-ring-specific
{
  position: absolute;
  top: calc(50% - 32px);
  left: calc(50% - 32px);
  width: 64px;
  height: 64px;
  z-index: 9;
  margin: 0;
}

.lds-ring, .lds-ring-dark
{
  display: inline-block;
  position: relative;
  top: calc(50% - 32px);
  width: 64px;
  height: 64px;
}

.lds-ring div, .lds-ring-dark div
{
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 51px;
  height: 51px;
  margin: 6px;
  border: 6px solid #FFF;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #FFF transparent transparent transparent;
}

.lds-ring-dark div {
	box-sizing: border-box;
	display: block;
	position: absolute;
	width: 51px;
	height: 51px;
	margin: 6px;
	border: 6px solid #00263b;
	border-radius: 50%;
	animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
	border-color: #00263b transparent transparent transparent;
  }

.lds-ring div:nth-child(1), .lds-ring-dark div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2), .lds-ring-dark div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3), .lds-ring-dark div:nth-child(3) {
  animation-delay: -0.15s;
}

@keyframes lds-ring {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }

/*///////// ANIMATIONS /////////// */

@keyframes opencart 
{
	0% {
		right: -500px;
	}
	100% {
		right: 0px;
	}
}

@keyframes closecart
{
	0% {
		right: 0px;
	}
	100% {
		right: -500px;
	}
}

 @keyframes removeletter 
 {
	 0% {
		 transform: scale(1.0,1.0) rotate(0deg);
	 }
	 100% {
		 transform: scale(0,0) rotate(180deg);
	 }
 }


@keyframes addletter 
{
  0% {
	  transform: scale(0,0) rotate(180deg);
	  text-shadow: 2px 2px black;
  }
  100% {
	  transform: scale(1.0,1.0) rotate(0deg);
	  text-shadow: 2px 2px grey;
  }
}

@keyframes letteranim 
{
  0% {
	  transform: translateY(0px);
  }
  20% {
	transform: translateY(-30px);
  }
  40% {
	transform: translateY(0px);
  }
  100% {
	transform: translateY(0px);
  }
}

 @keyframes cartanim
{
	0% {
		width: 28px;
	}
	50% {
		width: 18px;
	}
	100% {
		width: 28px;
	}
}

@keyframes cartanim2
{
	0% {
		width: 22px;
	}
	50% {
		width: 12px;
	}
	100% {
		width: 22px;
	}
}

@keyframes success-anim {
    0% {
      transform: rotate(0deg) scale(0.5,0.5);
    }
    50% {
        transform: rotate(180deg) scale(1.2,1.2);
    }
    100% {
        transform: rotate(360deg) scale(1.0,1.0);
    }
  }

  @keyframes swipelefttomid 
  {
	  0% {
		  transform: translateX(-4000px);
	  }
	  100% {
		transform: translateX(0px);
	  }
  }

  @keyframes swiperighttomid 
  {
	  0% {
		  transform: translateX(4000px);
	  }
	  100% {
		transform: translateX(0px);
	  }
  }

  @keyframes faderedtoblack
  {
	  0% {
		  color: red;
	  }
	  100% {
		color: black;
	  }
  }

  @keyframes growwidth
  {
	  0% {
		  width: 0%;
	  }
	  100% {
		width: 90%;
	  }
  }

 @keyframes fs-fadein {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}


/*/////// SCROLLBARS //////////*/

#fs-cartitem-container::-webkit-scrollbar {
	width: 12px;  /* Remove scrollbar space */
    background: transparent;  /* Optional: just make scrollbar invisible */
  }

  /* Track */
  #fs-cartitem-container::-webkit-scrollbar-track {
	background: transparent;
  }

  /* Handle */
  #fs-cartitem-container::-webkit-scrollbar-thumb {
	background: #141414;
	border-radius: 6px;
  }
  