/* Default 16px */
/* 0.625 = 10px */
/* 0.750 = 12px */
/* 0.875 = 14px */
/* 0.875 = 14px */
/* 1.000 = 16px */
/* 0.125 = 18px */
/* 0.250 = 20px */





/* COLORS (light theme, dark theme, gradient)*/
/* Green | #A8E6CF | #4CAF50 | linear-gradient(to right, #A8E6CF, #4CAF50) */
/* Red | #FFABAB | #FF5252 | linear-gradient(to right, #FFABAB, #FF5252) */
/* Purple | #D7B2E2 | #9C27B0 | linear-gradient(to right, #D7B2E2, #9C27B0) */
/* Blue | #DAFF45 | #DAFF45 | linear-gradient(to right, #DAFF45, #DAFF45) */
/* Orange | #FFCC80 | #FF9800 | linear-gradient(to right, #FFCC80, #FF9800) */

/* Yellow | #DAFF45 | #DAFF45 | linear-gradient(to right, #DAFF45, #DAFF45) */
/* GOLD | #1A33CC | #1A33CC | linear-gradient(to right, #1A33CC, #1A33CC) */

/* Quantom Green | #DAFF45 | #DAFF45 | linear-gradient(to right, #DAFF45, #DAFF45) */

@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@100;200;300;400;500;600;700&display=swap');


@font-face {
    font-family: 'Schabo';
    src: url('../fonts/schabo/schabo-condensed.woff2') format('woff2'),
         url('../fonts/schabo/schabo-condensed.woff') format('woff');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}


/*
@font-face {
    font-family: 'Schabo';
    src: url('../fonts/delirium/DELIRIUM-NCV.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}
*/

/*
@font-face {
    font-family: 'Schabo';
    src: url('../fonts/morganite/Morganite-Black.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}
*/

/*
@font-face {
    font-family: 'Schabo';
    src: url('../fonts/bebas_neue/BebasNeue-Regular.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
	font-display: swap;
}
*/

/*
@font-face {
    font-family: 'Schabo';
    src: url('../fonts/oswald/Oswald-VariableFont_wght.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
	font-display: swap;
}
*/

/*
@font-face {
    font-family: 'Schabo';
    src: url('../fonts/schabox/schabox-condensed.woff2') format('woff2'),
         url('../fonts/schabox/schabox-condensed.woff') format('woff');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}
*/

/*
@font-face {
    font-family: 'Schabo';
    src: url('../fonts/superset/SupersetRegular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}
*/

/*
@font-face {
    font-family: 'Schabo';
    src: url('../fonts/redig/Redig-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
	font-display: swap;
}
*/

/*
@font-face {
    font-family: 'Reakt';
    src: url('../fonts/dm_sans/DMSans-VariableFont_opsz,wght.ttf') format('truetype'),
         url('../fonts/dm_sans/static/DMSans_18pt-Regular.ttf') format('truetype');
    font-weight: 100 900;
    font-stretch: 50% 200%;
    font-display: swap;
}
*/

/******************* BODY FONT *******************/

@font-face {
    font-family: 'Reakt';
    src: url('../fonts/inter/Inter-VariableFont_opsz,wght.ttf') format('truetype'),
         url('../fonts/inter/static/Inter_18pt-Regular.ttf') format('truetype');
    font-weight: 100 900;
    font-stretch: 50% 200%;
    font-display: swap;
}



/*  Scrollbar */

/* Track */
::-webkit-scrollbar-track {
    background-color: rgba(50, 50, 50, 0.8); /* Darker track background */
    border-radius: 4px; /* Rounded corners */
}

/* Scrollbar */
::-webkit-scrollbar {
    width: 8px; /* Increased width for better usability */
    background-color: rgba(30, 30, 30, 0.8); /* Darker scrollbar background */
}

/* Thumb */
::-webkit-scrollbar-thumb {
    border-radius: 4px; /* Rounded corners */
    background-color: #888; /* Lighter thumb color */
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5); /* Shadow for depth */
}

/* Thumb hover state */
::-webkit-scrollbar-thumb:hover {
    background-color: #555; /* Darker on hover */
}

/* WebKit browsers (Chrome, Safari) */
textarea::-webkit-scrollbar {
    width: 8px; /* Width of the scrollbar */
    background-color: rgba(30, 30, 30, 0.8); /* Background color of scrollbar */
}

textarea::-webkit-scrollbar-track {
    background: rgba(50, 50, 50, 0.8); /* Track color */
    border-radius: 4px; /* Rounded corners */
}

textarea::-webkit-scrollbar-thumb {
    background-color: #888; /* Scrollbar thumb color */
    border-radius: 4px; /* Rounded corners */
    border: 2px solid rgba(30, 30, 30, 0.8); /* Space around thumb */
}

textarea::-webkit-scrollbar-thumb:hover {
    background-color: #555; /* Darker color on hover */
}

/* Firefox */
textarea {
    scrollbar-width: thin; /* Use thin scrollbar */
    scrollbar-color: #888 rgba(50, 50, 50, 0.8); /* Thumb and track colors */
}

/* For Edge and Internet Explorer */
textarea {
    -ms-overflow-style: -ms-autohiding-scrollbar; /* Hide scrollbar if not needed */
}


/*  RESEST */

*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font-family: 'Reakt', system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}


a,
a:link,
a:visited {
  display: inline-block;
  position: relative;
  text-decoration: none;
  color: inherit;
  cursor: auto;
  transition: 0.1s;
}
a:hover,
a:link:hover,
a:visited:hover {
  cursor: pointer;
}

a.decorated {
	color: white;
	text-decoration: underline;
	text-decoration-color: #DAFF45;
	transition: color 0.3s ease;
}
a.decorated:hover {
	cursor: pointer;
	color: #DAFF45 !important;
}

a.decorated:after {
	content: '';
	width: 100%;
	height: 0;
	border-bottom: 0px solid #DAFF45 !important;
	display: block;
	position: absolute;
	bottom: 0;
}

.pill,
button.pill {
    position: relative;
    display: inline-block;
    padding: 4px 14px;
    background: rgba(40,40,40,1);
    border: 1px solid rgba(40,40,40,1);
	box-shadow: 0px 0px 0px 1px rgba(32, 32, 32, 0.1);
	transition: all 0.3s ease 0s;
    font-size: 0.875rem;
    line-height: 12px;
    border-radius: 12px;
	margin: 2px 1px;
	color: white;
    user-select: none;
    /*min-width: 100px;*/
    text-align: center;
    text-indent: 1px;
    text-overflow: "";
    -webkit-appearance: none;
    -moz-appearance: none;
	min-width: 100px;
	/*background: rgba(70, 175, 227, 1);*/
}

.pill:hover,
button.pill:hover {
	cursor: pointer;
	box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.1);
}

button.pill option ,
.pill option {
    background: #252525;
    color: #555;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
}

.pill-disabled {
    border: 1px solid #252525 !important;
    background: #777 !important;
    color: #222 !important;
    opacity: 0.3 !important;
    cursor: not-allowed !important;	
}

/*  Global Styles */

html { 
	font-size: 16px; /* Base font size */
}

body {
  font-size: 100%;
  color: rgba(255, 255, 255, 1);
  background: rgba(18, 18, 18, 1.0);
  font-family: 'Reakt', system-ui, sans-serif;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.5;
  font-family: "Schabo";
  font-weight: normal; /* important */
  text-transform: uppercase;
  overflow-wrap: break-word;
  letter-spacing: 0px;
}

p {
  line-height: 1.65;
  font-family: "Reakt";
  font-weight: 300;
  overflow-wrap: break-word;
}

h1 { font-size: 2.75rem; }
h2 { font-size: 2.25rem; }
h3 { font-size: 2.0rem; }
h4 { font-size: 1.75rem; }
h5 { font-size: 1.5rem; }
h6 { font-size: 1.4rem; }
p { font-size: 1.0rem; }

p.text-mute { 
	font-size: 0.85rem; 
	color: #777; 
}

button.pill, .pill { font-size: 0.825rem; }

b, strong {
  font-family: 'Reakt';
  font-weight: 700;
}

ol, ul {
  list-style-type: none;
}

hr {
  display: block;
  height: 1px;
  width: 90%;
  border: 0;
  border-top: 1px solid #aaaaaa;
  margin: 0 auto;
  padding: 0;
}

/*  Top header/Nav */

header {
  position: relative;
  display: block;
  top: 0;
  left: 0;
  height: 60px;
  width: 100%;
  background: none;
  background: transparent;
  z-index: 8;
  padding: 0;
}
header nav {
  display: flex;
  padding: 20px 2.5% 6px 2.5%;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
}
header .logo {
  display: flex;
  flex: 1 0 auto;
  padding: 4px 2px;
  justify-content: left;
  
}
header .logo img {
  width: 130px;
  height: auto;
  
	width: 48px;
	height: 34px;
}
header .social {
  position: relative;
  display: inline-flex;
  margin: auto;
}
header .social i {
  display: inline-block;
  margin: 0 6px;
  color: #aaa;
  font-size: 1.2rem;
}
header .social a:hover > i {
  color: #DAFF45;
  cursor: pointer;
}

/*  Header and Parallax Text */

.hero-wrap {
  position: relative;
  display: flex;
  width: 100%;
  height: 40vh;
  margin: 40px 0 0 0;
  align-items: center;
  justify-content: start;
  /*background: url('../images/binary-bg.png') no-repeat center center scroll; */
  /*ebkit-background-size: 500px;*/
  /*-moz-background-size: 80%;*/
  /*-o-background-size: 80%;*/
  /*background-size: 500px;*/
}
.hero-wrap:before {
	/*content: '01010100 01101000 01100101 00100000 01010010 01100101';*/
	font-family: 'Roboto Mono';
	align-items: center;
	justify-content: center;
	color: rgba(40, 40, 40, 0.5);
	margin: -10px auto 0 auto;
	letter-spacing: 2px;
	-webkit-user-select: none;
	user-select: none; 
	white-space: nowrap;
	overflow: hidden;
}

.parallax-title {
  display: none;
  position: fixed;
  top: 0px;
  left: 0px;
  margin: 15vh 0 0 -75px;
  z-index: 0;
}

.parallax-title h1 {
	ms-writing-mode: tb-rl; 
	-webkit-writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	font-size: 280px;
	line-height: 100%;
	margin: 0 0 0 0;
	color: rgba(50,50,50,.1);
	background: linear-gradient(90deg, rgba(50,50,50,0), rgba(50,50,50,0.35));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	letter-spacing: 20px;
	-webkit-user-select: none;
	user-select: none;  
}

.hero-wrap .hero-centered {
  position: absolute;
  width: 100%;
  padding: 0 5%;
  text-align: center;
}
.hero-wrap .hero-centered a {
	margin-top: 10px;
}

.hero-wrap .hero-centered h1 {
  font-weight: normal;
  letter-spacing: .5px;
  color: white;
  text-transform: uppercase;
}

.hero-wrap .hero-centered h1:before {
	/*content: '[\00a0';*/
	display: inline-block;
}
.hero-wrap .hero-centered h1:after {
	/*content: '\00a0]';*/
	display: inline-block;
}

.hero-wrap .hero-centered p {
	font-size: 18px;
	padding: 0 50px;
	color: #777;
}

.profile-icon {
  padding: 0px 0 0 0;
  margin: 0 0 0 6px;
  height: 100%;
}

.profile-icon span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  color: #fff;
  background-color: #777;
  border-radius: 25px;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
}

.profile-icon .profile-img {
  position: relative;
  padding: 0;
}
.profile-icon .profile-img span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
}
.profile-icon .profile-img span, .profile-img img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
}
.profile-icon .profile-img i {
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  border: 1px solid #fff;
  border-radius: 50%;
}

/*  Icon + Dropdown */

#profile-nav {
	position: relative;
	display: block;
	background: transparent;
}
#profile-list {
  width: 120px;
  background: #181818;
  position: absolute;
  text-align: right;
  top: 0;
  right: 0;
  margin: 28px -5px auto auto;
  padding: 5px;
  border-radius: 3px;
  box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
  display: none;
}
#profile-list:after {
  content: '';
  position: absolute;
  display: block;
  margin-top: -6px;
  margin-right: 12px;
  top: 0px;
  right: 0px;
  width: 0;
  height: 0;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #181818;
  border-left: 6px solid transparent;
}

ul#profile-list li a {
  padding: 5px 8px;
  width: 100%;
  font-size: 12px;
}
ul#profile-list li:hover {
  cursor: pointer;
  border-radius: 3px;
  background: rgba(40,40,40,1);
  /*padding: 0 2px 0 0;*/
  transition: .2s all;
}

/* Allow the profile to open */
a#profile-icon:focus + div#profile-nav > ul#profile-list {
	/*display: block;*/
}
/* Keep the list open if profile is hovered upon click */
div#profile-nav:hover > ul#profile-list {
	/*display: block;*/
}

/* Main Content */

main {}

/* ===================== */
/*      Footer	  */
/* ===================== */
	
.copyright {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  justify-content: center;
  align-content: center;
  width: 100%;
  height: 8.5rem;
  margin-top: 2rem;
  padding: 20px 0 20px 0;
  background: none;
  bottom: 5px;
  text-align: center;
  color: gray;
  text-transform: uppercase;
}

.copyright p {
  letter-spacing: 1px;
  font-size: .625rem;
  line-height: 2;
  font-family: 'Reakt';	
}

.copyright a:hover {
	color: #DAFF45;
}

/* PRELOADER */
.preloader {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  position: fixed;
  right: 0;
  top: 0;
  background: #1dacd6;
  background: #181818;
  /* transition-duration: 1s; */
  /* -webkit-transition-duration: 1s;
  /* transition-timing-function: cubic-bezier(0.86, 0, 0.09, 1); */
  /* -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.09, 1); */
  z-index: 99;
}
.preloader figure {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #333;
  border-radius: 50%;
  animation: fadeup 0.30s;
  position: relative;
}
.preloader figure:after {
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid transparent;
  border-top: 1px solid #fff;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  animation: rotate1 0.60s infinite;
}
.preloader img {
  height: 35px;
  display: inline-block;
}

.page-loaded .preloader {
  /* top: -100%;*/
  animation: dissappear 0.80s forwards;
}
@keyframes dissappear {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}

@keyframes fadeup {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes rotate1 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* SIDE WIDGET */
.side-widget {
  width: 400px;
  height: 100vh;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: fixed;
  right: -100%;
  top: 0;
  transition: right 0.35s cubic-bezier(0.5, 0, 0.5, 1); /* Quick opening and closing */
  -webkit-transition: right 0.35s cubic-bezier(0.5, 0, 0.5, 1); /* Optional for older browsers */
  background: #0d0d0d;
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.4);
  padding: 30px 30px 20px 30px;
  color: #fff;
  z-index: 98;
}
.side-widget .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  overflow-y: auto;
  height: 100%;
}
.side-widget .logo {
  width: 100%;
  display: block;
  margin-bottom: 40px;
}
.side-widget .logo img {
  width: 32px;
  height: 23px;
  visibility: visible;
}
.side-widget .show-mobile {
  display: none;
}
.side-widget .hide-mobile {
  width: 100%;
  display: inline-block;
}
.side-widget .gallery {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.side-widget .gallery a {
  width: 50%;
  padding-right: 3px;
}
.side-widget .gallery a:last-child {
  padding-left: 3px;
}
.side-widget p {
  width: 100%;
  display: block;
  color: #fff;
}
.side-widget .widget-title {
  width: 100%;
  display: block;
  margin-bottom: 10px;
  font-size: 18px;
  color: #1dacd6;
}
.side-widget .address {
  width: 100%;
  display: block;
  margin-bottom: 20px;
}
.side-widget .address a {
  display: inline-block;
  color: #fff;
  text-decoration: underline;
}
.side-widget .address a:hover {
  text-decoration: none;
}
.side-widget .social-media {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
}
.side-widget .social-media li {
  display: inline-block;
  margin-right: 20px;
  padding: 0;
  list-style: none;
}
.side-widget .social-media li a {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}
.side-widget .social-media li a:hover {
  color: #DAFF45;
}
.side-widget .custom-menu {
  width: 100%;
  display: block;
  margin-bottom: 20px;
  margin-top: 20px;
}
.side-widget .custom-menu ul {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
}
.side-widget .custom-menu ul li {
  display: inline-block;
  margin: 3px 0;
  margin-right: 10px;
  padding: 0;
  list-style: none;
}
.side-widget .custom-menu ul li ul {
  display: none;
  padding-left: 20px;
  margin-bottom: 10px;
}
.side-widget .custom-menu ul li a {
  color: #fff;
  font-size: 18px;
  font-weight: 600;
}
.side-widget .custom-menu ul li a:hover {
  text-decoration: none;
  color: #1dacd6;
}
.side-widget .site-menu {
  width: 100%;
  display: block;
  margin-bottom: 20px;
  margin-top: 20px;
}
.side-widget .site-menu ul {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
}
.side-widget .site-menu ul li {
  display: block;
  margin: 2px 0;
  padding: 2px 0;
  list-style: none;
}
.side-widget .site-menu ul li a {
  color: #fff;
  font-size: .875rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  width: 100%;
  padding: 4px 0;
	/* added to keep svg inline */
	display: flex;
	justify-content: start;
	align-items: center;
	flex-flow: row nowrap;    
}
.side-widget .site-menu ul li a svg {
  fill: #555; 
  margin-right: 5px;
  min-width: 20px;
}
.side-widget .site-menu ul li a.active-link {
  color: #DAFF45; 
}
.side-widget .site-menu ul li a.active-link svg {
  fill: #DAFF45; 
}
.side-widget .site-menu ul li a:hover {
  text-decoration: none;
  color: #DAFF45;
}
.side-widget .site-menu ul li a:hover svg {
  fill: #DAFF45;
}
.side-widget.active {
  right: 0;
  transition: right 0.5s cubic-bezier(0.5, 0, 0.2, 1); /* Slow down when fully opened */
  -webkit-transition: right 0.5s cubic-bezier(0.5, 0, 0.2, 1); /* Optional for older browsers */
}







/* HAMBURGER MENU */
.hamburger-menu {
  width: 24px;
  height: 16px;
  position: relative;
  margin: 0 0 0 0px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  transition-duration: 500ms;
  -webkit-transition-duration: 500ms;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  cursor: pointer;
}

.hamburger-menu span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #eee;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.hamburger-menu span:nth-child(1) {
  top: 0px;
  width: 100%;
}

.hamburger-menu span:nth-child(2) {
  top: 6px;
  width: 18px;
}

.hamburger-menu span:nth-child(3) {
  top: 12px;
  width: 100%;
}

.hamburger-menu:hover span {
  width: 100% !important;
}
/*
.hamburger-menu.open span {
  width: 20px !important;
}

.hamburger-menu.open span:nth-child(1) {
  top: 9px;
  right: 0;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
  width: 28px !important;
}

.hamburger-menu.open span:nth-child(2) {
  opacity: 0;
  left: -20px;
}

.hamburger-menu.open span:nth-child(3) {
  top: 9px;
  right: 0;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  transform: rotate(-135deg);
  width: 28px !important;
}
*/

.close-menu-icon {
	position: absolute;
	right: 30px;
	top: 25px;
	font-size: 1.25rem;
	background: transparent;
	border-radius: 50%;
	padding: 6px;
	
}
.close-menu-icon:hover {
	cursor: pointer;
	background: #252525;
	
}
.close-menu-icon svg {
	fill: #f5f5f5;
}
.close-menu-icon:hover {
	cursor: pointer;
	background: #252525;
	
}
.close-menu-icon:hover svg {
	fill: #ccc;
}






/******************* MODAL *******************/


/* Modal Overlay */
.modal-overlay {
  display: none; /* Hidden by default */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent dark background */
  justify-content: center;
  align-items: center;
  padding: 20px;
  box-sizing: border-box;
  z-index: 99;
}

/* Modal Dialog */
.modal-dialog {
  background-color: #333;
  padding: 20px;
  border-radius: 4px;
  max-width: 400px;
  width: 100%;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transform: scale(0.95);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Header */
.modal-header {
  display: flex;
  align-items: center; /* Vertically center the icon and title */
  justify-content: flex-start;
  position: relative;
}

/* Icon */
.modal-icon {
  margin-right: 10px;
  display: inline-block;
  flex-shrink: 0; /* Prevent icon from shrinking */
}

.modal-icon svg {
  width: 20px;
  height: 20px;
}

/* Title */
.modal-title {
  font-size: 1.4rem;
  color: #fff;
  margin: 0;
  display: flex;
  align-items: center; /* Ensure the title is vertically centered */
  letter-spacing: .5px;
  font-family: 'Reakt';
  font-size: .85rem;
  font-weight: 700;
}

.modal-close-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem; /* Adjust size as needed */
  color: #aaa;
  background: none;
  border: none;
  cursor: pointer;
  margin-left: auto;
  padding: 0;
  border-radius: 50%;
  height: 32px;
  width: 32px;
  text-align: center;
  box-sizing: border-box;
  line-height: 1;
  font-family: system-ui, sans-serif;
  /* Optional UI */
  display: none;
}

.modal-close-btn span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 1;
  transform: translateY(-1px); /* 👈 Key visual tweak */
}


.modal-close-btn:hover {
  color: #fff;
  background: #252525;
}

/* Body */
.modal-body {
  color: #ccc;
  font-size: .95rem;
  margin: 1rem 0 20px 0;
  line-height: 1.5;
  font-family: 'Reakt';
}

/* Style for the input inside the modal body */
.modal-body input {
    width: 100%; /* Make the input field fill the width of the modal */
    padding: 10px; /* Add some padding inside the input */
    margin-top: 10px; /* Space between the message and the input */
    font-size: 16px; /* Adjust font size for better readability */
    border: 2px solid #ccc; /* Add a light border */
    border-radius: 5px; /* Rounded corners for the input */
    box-sizing: border-box; /* Ensures padding doesn't overflow the input */
    outline: none; /* Remove the default focus outline */
    transition: all 0.3s ease; /* Smooth transition when focusing */
	background: #f5f5f5;	
}

/* Placeholder style */
.modal-body input::placeholder {
    color: #777; /* Lighter gray for placeholder text */
    opacity: 1; /* Ensures full opacity for placeholder */
}

/* Focus state for search bar */
.modal-body input:focus {
    outline: none; /* Remove the default focus outline */
    border-color: #555; /* Orange border to indicate focus */
    background-color: #fff; /* Slightly lighter background on focus */
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.6); /* Subtle glowing effect around the input */
}

/* Hover state for search bar */
.modal-body input:hover {
    border-color: #555; /* Slightly lighter border on hover */
    background-color: #fff; /* Slightly lighter background on hover */
}

/* Optional: Add a subtle transition effect for placeholder */
.modal-body input::placeholder {
    transition: color 0.3s ease;
}

/* Footer */
.modal-footer {
  display: flex;
  justify-content: flex-end;
}

/* Default button styles */
.modal-ok-btn,
.modal-confirm-btn {
  padding: 7px 20px;
  background-color: #DAFF45; /* Custom highlight color */
  color: #181818;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-weight: 700;
}

.modal-ok-btn:hover,
.modal-confirm-btn:hover {
  background-color: #DAFF45;
  opacity: 0.9;
}

/* Cancel button styles */
.modal-cancel-btn {
  padding: 8px 20px;
  background-color: #555; /* Dark gray for cancel button */
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  margin-left: 5px;
}

.modal-cancel-btn:hover {
  background-color: #444; /* Darker gray on hover */
  opacity: 0.9;
}


.modal-ok-btn {
  display: none;
}

.modal-confirm-btn {
  display: none;
}

.modal-cancel-btn {
  display: none;
}

/* Different modal types */
.modal-dialog.alert {
  border-left: 0px solid #e74c3c; /* Red border for alert */
}

.modal-dialog.warning {
  border-left: 0px solid #f39c12; /* Yellow-orange border for warning */
}

.modal-dialog.info {
  border-left: 0px solid #3498db; /* Blue border for info */
}

.modal-dialog.success {
  border-left: 0px solid #2ecc71; /* Green border for success */
}

.modal-dialog.confirm {
  border-left: 0px solid #3498db; /* Blue border for confirm */
}

/* Default button styles */
.modal-dialog.alert .modal-ok-btn,
.modal-dialog.alert .modal-confirm-btn {
  background-color: #e74c3c; /* Custom highlight color */
}

/* Default button styles */
.modal-dialog.warning .modal-ok-btn,
.modal-dialog.warning .modal-confirm-btn {
  background-color: #f39c12; /* Custom highlight color */
}

/* Default button styles */
.modal-dialog.info .modal-ok-btn,
.modal-dialog.info .modal-confirm-btn {
  background-color: #3498db; /* Custom highlight color */
}

/* Default button styles */
.modal-dialog.success .modal-ok-btn,
.modal-dialog.success .modal-confirm-btn {
  background-color: #2ecc71; /* Custom highlight color */
}

/* Icon colors for different modal types */
.modal-icon.alert {
  color: #e74c3c;
  fill: #e74c3c;
}

.modal-icon.warning {
  color: #f39c12;
  fill: #f39c12;
}

.modal-icon.info {
  color: #3498db;
  fill: #3498db;
}

.modal-icon.success {
  color: #2ecc71;
  fill: #2ecc71;
}

.modal-icon.confirm {
  color: #3498db;
  fill: #3498db;
}








/* ===================== */
/*      FEEDBACK  */
/* ===================== */
/* Toast Notifications */
.feedback-container #toast {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    display: none; /* Initially hidden */
    padding: 10px 20px;
    border-radius: 5px;
    color: white;
    opacity: 0.9;
    transition: opacity 0.5s, transform 0.5s;
}

.feedback-container .toast-success {
    background-color: rgb(76, 175, 80); /* Green for success */
}

.feedback-container .toast-error {
    background-color: rgb(244, 67, 54); /* Red for error */
}

/* Overlay for Lightbox Effect */
.feedback-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8); /* Dark semi-transparent background */
    display: none; /* Initially hidden */
    z-index: 8; /* Below the feedback form */
}

/* Feedback Form */
.feedback-container .feedback-form {
    display: none; /* Initially hidden */
    background-color: #2c2c2c; /* Darker background for the form */
    border: 1px solid #444; /* Border color */
    border-radius: 5px;
    padding: 15px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    max-width: 500px; /* Limit the width of the form */
	min-width: 300px;
    position: fixed; /* Position fixed for lightbox effect */
    top: 50%; /* Center vertically */
    left: 50%; /* Center horizontally */
    transform: translate(-50%, -50%); /* Adjust position */
    z-index: 9; /* Above the overlay */
    transition: transform 0.3s ease; /* Smooth transition */
}

/* Feedback Form Active State */
.feedback-container .feedback-form.active {
    display: block; /* Show form */
}

/* Feedback Button */
.feedback-container .feedback-button {
    background-color: rgba(30, 30, 30, 1); /* Dark button */
    color: rgba(125, 249, 255, 1); /* Highlight color */
    border: 1px solid #252525;
    border-radius: 5px;
    padding: 10px 5px; /* Adjusted padding */
    cursor: pointer;
    font-size: 12px; /* Smaller font size for vertical text */
    writing-mode: vertical-rl; /* Vertical text */
    text-align: center;
    position: absolute;
    top: 50%; /* Centered in the middle of the form */
    right: 0%; /* Positioned to the left of the form */
    transform: translateY(-50%) rotate(180deg); /* Center vertically */
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Feedback Button Hover Effect */
.feedback-container .feedback-button:hover {
    background-color: rgba(76, 175, 80, 0.8); /* Change color on hover */
}

.feedback-container h2 {
    font-size: 2rem;
}

.feedback-container p {
    margin-bottom: 0.5rem;
}

/* Textarea */
.feedback-container textarea {
    width: 100%;
    margin-bottom: 10px;
    background-color: #1f1f1f; /* Dark textarea */
    color: #ffffff; /* Light text color */
    border: 1px solid #444; /* Border color */
    border-radius: 4px; /* Rounded corners */
    padding: 0.5rem;
}

/* General Button Styles */
.feedback-container .feedback-form button {
    margin-right: 5px;
    background-color: #1f1f1f; /* Dark button background */
    color: rgba(125, 249, 255, 1); /* Lighter accent color for text */
    border: 1px solid #444; /* Border color to match the theme */
    border-radius: 4px;
    padding: 5px 10px; /* Padding for buttons */
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s; /* Smooth transition for hover effect */
}

/* Button Hover Effect */
.feedback-container .feedback-form button:hover {
    background-color: rgba(125, 249, 255, 1); /* Lighter background on hover */
    color: #1f1f1f; /* Dark text on hover */
}


/*  All Media/Screen Styles */

@media screen and (max-width: 876px) {
	html {
		font-size: 16px;
	}
	
	body { 
		font-size: 100%; 
	}
}


@media screen and (min-width: 876px) and (max-width: 1280px) {
	
  .hero-h {
    font-size: 180px !important;
  }
  
}
@media screen and (max-width: 876px) {
	
  iframe {
    width: auto;
    height: auto;
  }
  header nav {
    padding: 20px 20px 6px 20px;
  }    
.hero-wrap {
	height: 30vh;
}  
  .hero-h {
    font-size: 80px !important;
  }
	.hero-wrap .hero-centered h1 {
		font-size: 26px;
		letter-spacing: 16px;
	}
	.copyright {
		font-size: .625rem;
	}
    .pill {
        padding: 4px 14px;
		line-height: 1;
		border-radius: 12px;
    }	
	header .logo img {
	  /* w: 32, h: 23*/
	  width: 42px;
	  height: auto;
	}
}



/* ------------------------------------------------------------------- 
 * ## footer section
 * ------------------------------------------------------------------- */

footer .cryptedmail:after {
    content: attr(data-name) "@" attr(data-domain) "." attr(data-tld);
    font-family: "Reakt";
}

footer {
	position: relative;
    width: 100%;
    height: auto;
    min-height: 100px;	
    display: flex;
    flex-flow: column nowrap;
    justify-content: start;
    align-items: center;
    background: #0C0C0C;
	border-top: 2px solid #121212;
	/* Set max width on content only */
	padding: 15% calc((100% - 800px)/2);
	margin: 0 auto;
	overflow: hidden;
}

footer .row {
    width: 100%;
    height: auto;
    position: relative;
    display: flex;
    flex-flow: row wrap;
    justify-content: start;
}

footer .row .col {
    flex: 1 0 0;
    padding: 0 20px;
}

footer .footer-info .col:nth-of-type(1) img {
    display: inline-block;
	margin-right: 5px;
	margin-top: 15px;
	opacity: .90;
}
footer .footer-info .col:nth-of-type(1) img:hover,
footer .footer-info .col:nth-of-type(1) img:focus {
    display: inline-block;
	margin-right: 5px;
	margin-top: 15px;
	opacity: 1;
}

footer .footer-info .col:nth-of-type(1) {
    flex: 1 0 0;
}

footer .footer-info .col:nth-of-type(2) {
    flex: 0 0 0;
}

footer .footer-info .col:nth-of-type(3) {
    flex: 0 0 0;
}

footer .footer-copyright .col:nth-of-type(1) {
    flex: 1 0 auto;
	
}

footer .footer-copyright .col:nth-of-type(2) {
    flex: 0 0 auto;
}

footer .row .col strong {
    color: white;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 1px;
	line-height: 2;
}

footer .row .col p {
    color: #ccc;
}

footer hr {
    width: 100%;
    margin: 0 auto;
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #111;
    margin: 2rem 0 1rem 0;
}

footer .social-icons {
    text-align: right;
    white-space: nowrap;
}

footer .social-icons a {
    width: 35px;
    height: 35px;
    line-height: 35px;
    margin-left: 6px;
    margin-right: 0;
    border-radius: 100%;
    background-color: #222;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-info .col a:hover,
.footer-info .col a:focus {
    color: #DAFF45;
}

.social-icons li:last-of-type {
    display: none;
}

.social-icons a svg {
    fill: #ccc;
}

.social-icons {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}
.social-icons li {
    display: inline-block;
    margin-bottom: 4px;
}
.social-icons li.title {
    margin-right: 15px;
    text-transform: uppercase;
    color: #96a2b2;
    font-weight: 700;
    font-size: 12px;
}
.social-icons a {
    background-color: #eceeef;
    color: #818a91;
    font-size: 16px;
    display: inline-block;
    line-height: 44px;
    width: 44px;
    height: 44px;
    text-align: center;
    margin-right: 8px;
    border-radius: 100%;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
}
footer .social-icons a:active,
footer .social-icons a:focus,
footer .social-icons a:hover {
    color: #fff;
    background-color: #29aafe;
}
footer .social-icons.size-sm a {
    line-height: 34px;
    height: 34px;
    width: 34px;
    font-size: 14px;
}
footer .social-icons a.facebook:hover {
    background-color: #3b5998;
}
footer .social-icons a.twitter:hover {
    background-color: #00aced;
}
footer .social-icons a.linkedin:hover {
    background-color: #007bb6;
}
footer .social-icons a.dribbble:hover {
    background-color: #ea4c89;
}

@media (max-width: 991px) {
    footer .row [class^="col"] {
        margin-bottom: 30px;
    }
}

@media (max-width: 767px) {
    footer {
    }
    footer .copyright-text,
    footer .social-icons {
        text-align: center;
    }
    footer .row {
        width: 100%;
        height: auto;
        display: flex;
        flex-flow: column nowrap;
    }
	
	footer hr {
		width: 80%;
		margin: 0 auto;
		display: block;
		height: 1px;
		border: 0;
		margin-bottom: 2rem;
		border-top: 1px solid #111;
	}
	
    footer .footer-copyright .col:nth-of-type(1) {
        text-align: center;
    }
    footer .footer-copyright .col:nth-of-type(2) {
        text-align: center;
    }
    footer .social-icons li.title {
        display: block;
        margin-right: 0;
        font-weight: 600;
    }	
}



/* ===================== */
/*      Cookie Banner	  */
/* ===================== */
	

/* Cookie Consent Banner Styling */
.cookie-consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #181818;
  padding: 15px;
  text-align: center;
  font-size: 14px;
  z-index: 98;
  display: none; /* Initially hidden */
  border-top: 1px solid #121212;
}

.cookie-consent-banner p {
  color: #F5F5F4;
  font-size: .95rem;
}

.cookie-consent-btn {
  background-color: #f39c12;
  background-color: #DAFF45;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 14px;
  margin-left: 15px;
  margin-top: 1rem;
  border-radius: 8px;
  color: #000;
}

.cookie-consent-btn:hover {
  background-color: #DAFF45;
}

.cookie-consent-banner a {
  color: #DAFF45;
  text-decoration: none;
}

.cookie-consent-banner a:hover {
  text-decoration: underline;
}
