:root {
  --bg-dark: #050505;
  --bg-deep: #0a0a0a;
  --text-dim: #a1a1aa;
  --accent: #3b82f6;
  --accent-glow: #00aaff;
  --clr-green: #15bd91;
  --glass-border: #ffffff14;
}

@font-face {
  font-family: 'Inter';
  src: url('../font/Inter.woff2') format('woff2-variations'),
    url('../font/Inter.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Inter';
  src: url('../font/InterI.woff2') format('woff2-variations'),
    url('../font/InterI.woff2') format('woff2');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-display: block;
  font-family: bootstrap-icons;
  src: url("../font/bootstrap-icons.woff2?e34853135f9e39acf64315236852cd5a") format("woff2")
}

* {
  font-family: Inter sans-serif;
}

body {
  background-color: var(--bg-dark);
  color: var(--text-light);
  font-family: 'Inter', sans-serif;
  line-height: 1.4;
}

.clr-green {
  color: var(--clr-green);
}

body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at 50% 0%, #0078ff0f 0%, transparent 50%);
  pointer-events: none;
  z-index: 9998;
}

.main-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: linear-gradient(180deg, #0a0a0a 0%, #050505 50%, #030303 100%);
  overflow: hidden;
}

.main-bg::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #0a0a0a 0%, #050505 100%);
}

.main-bg::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(ellipse at 50% 30%, #008cff14 0%, transparent 60%);
  pointer-events: none;
}

.glows {
  position: fixed;
  border-radius: 50%;
  background: radial-gradient(circle, #0096ff73 0%, #00aaff33 35%, transparent 70%);
  filter: blur(140px);
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
  will-change: transform;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.glows.up-left {
  width: 700px;
  height: 700px;
  top: -200px;
  left: -200px;
}

.glows.low-right {
  width: 600px;
  height: 600px;
  bottom: -150px;
  right: -150px;
}

.glows.center-glow {
  width: 500px;
  height: 500px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

body.scrolled .glows.up-left {
  transform: translate(30px, 40px);
}

body.scrolled .glows.low-right {
  transform: translate(-25px, 30px);
}

body.scrolled .glows.center-glow {
  transform: translate(-50%, -50%) scale(1.1);
}

.nav-big {
  backdrop-filter: blur(15px);
  border-bottom: 1px solid var(--glass-border);
  padding: 1.2rem 5%;
  transition: padding 0.3s ease, background 0.3s ease;
}

.nav-big.nav-smaller {
  padding: 0.1rem 5%;
  background: #ffffff14;
  backdrop-filter: blur(20px);
  border-bottom: 1px solid #ffffff26;
}

.nav-small {
  background: #ffffff14;
  backdrop-filter: blur(20px);
  border-bottom: 1px solid #ffffff26;
}

.home-box {
  background: radial-gradient(circle, #00a0ff66 0%, #00b4ff40 15%, #0096ff1a 35%, transparent 70%);
}

.main-header {
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
}

.home-gcon-logo {
  width: 100%;
  height: auto;
  z-index: 1;
  animation: float 4s ease-in-out infinite;
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-15px);
  }
}

.home-button-main {
  background: linear-gradient(135deg, #3688e940 0%, #3b82f626 50%, #2563c433 100%);
  color: #fff;
  border: 1px solid #3688e966;
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 20px #3688e933, inset 0 1px 0 #ffffff1a;
  transition: 0.4s all;
}

.home-button-main:hover {
  background: linear-gradient(135deg, #3688e959 0%, #3b82f640 50%, #2563c44d 100%);
  border-color: #5a9cf099;
  box-shadow: 0 8px 35px #3688e959, 0 0 60px #3688e926, inset 0 1px 0 #ffffff26;
  transform: scale(1.03) translateY(-2px);
  transition: 0.4s all;
}

.home-button-second {
  background: linear-gradient(135deg, #ffffff14 0%, #ffffff0a 50%, #ffffff0f 100%);
  color: #fff;
  border: 1px solid #ffffff33;
  backdrop-filter: blur(10px);
  box-shadow: 0 4px 20px #00000033, inset 0 1px 0 #ffffff1a;
  transition: 0.4s all;
}

.home-button-second:hover {
  background: linear-gradient(135deg, #ffffff1f 0%, #ffffff14 50%, #ffffff1a 100%);
  border-color: #ffffff59;
  box-shadow: 0 8px 35px #ffffff14, 0 0 40px #3688e91a, inset 0 1px 0 #ffffff26;
  transform: scale(1.03) translateY(-2px);
  transition: 0.4s all;
}

.glass-box {
  background: #ffffff08;
  border: 1px solid #ffffff14;
  transition: 0.4s all;
}

.glass-box-hover:hover {
  border-color: var(--accent);
  transform: translateY(-1rem);
  transition: 0.4s all;
}

.blue-box {
  background: linear-gradient(180deg, #3b8ef0 0%, #1a5fb4 50%, #0d3a6e 100%) !important;
}

.admin-box {
  top: 5rem;
  right: -5rem;
  box-shadow: -25px 30px 80px #00000080, -8px 8px 30px #22a5f526, inset 0 0 0 1px #ffffff1a;
}

.big-font {
  font-size: clamp(3.5rem, 5vw, 5rem);
}

.partners-box {
  display: flex;
  overflow: hidden;
  padding: 2rem 0;
  mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
  white-space: nowrap;
}

.partners-subbox {
  gap: 3rem;
  padding-right: 3rem;
  flex-shrink: 0;
  animation: scroll-left 35s linear infinite;
}

.partners-box:hover .partners-subbox {
  animation-play-state: paused;
}

@keyframes scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

.glass-hr {
  border: 1px solid #ffffff20;
}

.photo-box {
  aspect-ratio: 1 / 1;
  perspective: 1000px;
}

.photo-content {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.6s;
  transform-style: preserve-3d;
}

.photo-box:hover .photo-content {
  transform: rotateY(180deg);
}

.photo-front,
.photo-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

.photo-back {
  transform: rotateY(180deg);
}

.footer {
  background: #00000080;
  border-top: 1px solid #ffffff20;
}

#about,
#gcon,
#grnt,
#gsee,
#contact {
  scroll-margin-top: 8rem;
}

.text-dim {
  color: var(--text-dim);
}

.border-dim {
  border-color: var(--text-dim) !important;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flex-1 {
  flex: 1;
  min-width: 0;
  min-height: 0;
}

.flex-fill {
  flex: 1;
  min-height: 0;
  min-width: 0;
}

a {
  text-decoration: none;
  color: inherit;
}

.overflow-xy {
  overflow-x: hidden;
  overflow-y: auto;
}

.opacity-disabled {
  opacity: .2;
  filter: grayscale(100);
}

.img-fit {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.w-1-rem {
  width: 1rem;
}

.w-2-rem {
  width: 2rem;
}

.w-3-rem {
  width: 3rem;
}

.w-4-rem {
  width: 4rem;
}

.w-5-rem {
  width: 5rem;
}

.w-6-rem {
  width: 6rem;
}

.w-7-rem {
  width: 7rem;
}

.w-8-rem {
  width: 8rem;
}

.w-9-rem {
  width: 9rem;
}

.w-10-rem {
  width: 10rem;
}

.w-11-rem {
  width: 11rem;
}

.w-12-rem {
  width: 12rem;
}

.w-13-rem {
  width: 13rem;
}

.w-14-rem {
  width: 14rem;
}

.w-15-rem {
  width: 15rem;
}

.h-1-rem {
  height: 1rem;
}

.h-2-rem {
  height: 2rem;
}

.h-3-rem {
  height: 3rem;
}

.h-4-rem {
  height: 4rem;
}

.h-5-rem {
  height: 5rem;
}

.h-6-rem {
  height: 6rem;
}

.h-7-rem {
  height: 7rem;
}

.h-8-rem {
  height: 8rem;
}

.h-9-rem {
  height: 9rem;
}

.h-10-rem {
  height: 10rem;
}

.h-11-rem {
  height: 11rem;
}

.h-12-rem {
  height: 12rem;
}

.h-13-rem {
  height: 13rem;
}

.h-14-rem {
  height: 14rem;
}

.h-15-rem {
  height: 15rem;
}

/*bootstrap tune*/

.a-inherit {
  color: inherit;
}

.a-inherit:hover {
  color: inherit;
  text-decoration: none;
}

.form-control:focus {
  border-color: var(--bs-indigo);
  box-shadow: 0 0 0.6rem 0.2rem rgba(102, 16, 242, 0.8);
}

html:not([data-bs-theme="dark"]) .form-control:focus {
  border-color: #9fcef1;
  box-shadow: 0 0 0.6rem 0.2rem rgba(159, 206, 241, 0.8);
}

.login-input:focus {
  background-color: rgba(255, 255, 255, 0.07);
  border-color: #fff;
  box-shadow: 0 0 0.6rem 0.2rem rgb(255 255 255 / 80%);
}

.modal-open .modal {
  overflow-y: hidden !important;
}

.modal-content {
  box-shadow: 0 0 8rem 2rem rgba(0, 0, 0, 0.3);
  border-radius: .6rem !important;
}

.modal-header {
  background-color: var(--bs-indigo);
  color: #fff;
  padding: .6rem 1rem !important;
  border-bottom: 3px solid rgba(255, 255, 255, 0.4) !important;
  border-top-left-radius: .5rem !important;
  border-top-right-radius: .5rem !important;
}

html:not([data-bs-theme="dark"]) .modal-header {
  background-color: #548dd4;
}

.btn-close {
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  opacity: 1;
}

.modal-body {
  max-height: 80vh;
  overflow-x: hidden;
  overflow-y: auto;
}

.modal-back {
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(../img/iconBack.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

label,
.form-check {
  margin-bottom: 0;
}

.btn {
  font-weight: bold;
}

.btn:focus,
.btn:hover,
.btn:active {
  color: #fff;
}

.btn-xs {
  padding: 0.1rem 0.3rem;
  font-size: 0.8rem;
  line-height: 1.5;
  border-radius: .25rem;
}

.btn-warning {
  color: #fff;
  background-color: #ffa500;
}

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-purple,
.badge-purple {
  color: #fff;
  background-color: #7030a0;
}

.btn-purple:hover {
  background-color: #5f2889;
}

.btn-outline-purple {
  color: #7030a0;
  border-color: #7030a0;
}

.btn-orange,
.badge-orange {
  color: #fff;
  background-color: #ed6b47;
}

.btn-orange:hover {
  background-color: #e84516;
}

.btn:disabled {
  background-color: #999;
  color: #fff;
  border: 1px solid #999;
  cursor: not-allowed;
}

a.btn.disabled,
span.btn.disabled {
  background-color: #999;
  color: #fff;
  border: 1px solid #999;
  cursor: not-allowed;
}