/* -------------------------------------------

Name: 		Ruizarch
Version:    1.0
Developer:	Nazar Miller (millerDigitalDesign)
Portfolio:  https://themeforest.net/user/millerdigitaldesign/portfolio?ref=MillerDigitalDesign

p.s. I am available for Freelance hire (UI design, web development). email: miller.themes@gmail.com

------------------------------------------- */
/*--------------------------------------------

1. common
    - main
    - typography
    - link
    - button
    - form
    - breadcrumbs
    - backgrounds
    - spaces
2. components
    - preloader
    - cursor
    - hidden elements
    - scrollbar
    - frame
    - menu button
    - menu 
    - banner
    - circle text
    - lines
    - dodecahedron
    - about
    - partners
    - services
    - team
    - social icons
    - revievs
    - blog
    - footer
    - portfolio
    - map
    - accordion
    - price
    - 404
    - images
    - page transitions


--------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100;200;300;400;500;600;700;800;900&display=swap");

/* -------------------------------------------

main

------------------------------------------- */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html,
body {
  padding: 0;
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: rgba(0, 0, 0, 0.5);
  line-height: 150%;
}

@media screen and (max-width: 768px) {

  html,
  body {
    font-size: 15px;
  }
}

*::-moz-selection {
  color: inherit;
  background-color: transparent;
}

*::selection {
  color: inherit;
  background-color: transparent;
}

.mil-wrapper {
  position: relative;
  overflow: hidden;
  max-width: 100%;
}

.container {
  pointer-events: all;
}

.mil-relative {
  position: relative;
}

.mil-o-hidden {
  overflow: hidden;
}

.mil-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mil-vert-between {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 100%;
}

@media screen and (max-width: 992px) {
  .mil-mobile-hidden {
    display: none;
  }
}

section {
  position: relative;
  overflow: hidden;
}

/* -------------------------------------------

typography

------------------------------------------- */
h1,
.mil-h1,
h2,
.mil-h12,
h3,
.mil-h3,
h4,
.mil-h4,
h5,
.mil-h5,
h6,
.mil-h6 {
  font-family: "Outfit", sans-serif;
  color: rgb(0, 0, 0);
  font-weight: 500;
  line-height: 120%;
}

@media screen and (max-width: 768px) {

  h1 br,
  .mil-h1 br,
  h2 br,
  .mil-h12 br,
  h3 br,
  .mil-h3 br,
  h4 br,
  .mil-h4 br,
  h5 br,
  .mil-h5 br,
  h6 br,
  .mil-h6 br {
    display: none;
  }
}

h1,
.mil-h1 {
  font-size: 86px;
}

@media screen and (max-width: 1400px) {

  h1,
  .mil-h1 {
    font-size: 74px;
  }
}

@media screen and (max-width: 1200px) {

  h1,
  .mil-h1 {
    font-size: 72px;
  }
}

@media screen and (max-width: 992px) {

  h1,
  .mil-h1 {
    font-size: 58px;
  }
}

@media screen and (max-width: 768px) {

  h1,
  .mil-h1 {
    font-size: 34px;
  }
}

h2,
.mil-h2 {
  font-size: 68px;
  line-height: 120%;
}

@media screen and (max-width: 1200px) {

  h2,
  .mil-h2 {
    font-size: 56px;
  }
}

@media screen and (max-width: 992px) {

  h2,
  .mil-h2 {
    font-size: 44px;
  }
}

@media screen and (max-width: 768px) {

  h2,
  .mil-h2 {
    font-size: 36px;
  }
}

h3,
.mil-h3 {
  font-size: 42px;
}

@media screen and (max-width: 1200px) {

  h3,
  .mil-h3 {
    font-size: 39px;
  }
}

@media screen and (max-width: 992px) {

  h3,
  .mil-h3 {
    font-size: 36px;
  }
}

@media screen and (max-width: 768px) {

  h3,
  .mil-h3 {
    font-size: 30px;
  }
}

h4,
.mil-h4 {
  font-size: 28px;
}

@media screen and (max-width: 1200px) {

  h4,
  .mil-h4 {
    font-size: 26px;
  }
}

@media screen and (max-width: 992px) {

  h4,
  .mil-h4 {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {

  h4,
  .mil-h4 {
    font-size: 22px;
  }
}

h5,
.mil-h5 {
  font-size: 20px;
  line-height: 150%;
}

@media screen and (max-width: 768px) {

  h5,
  .mil-h5 {
    font-size: 18px;
  }
}

h6,
.mil-h6 {
  font-size: 18px;
  line-height: 150%;
}

@media screen and (max-width: 1200px) {

  h6,
  .mil-h6 {
    font-size: 17px;
  }
}

@media screen and (max-width: 992px) {

  h6,
  .mil-h6 {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px) {

  h6,
  .mil-h6 {
    font-size: 21px;
  }
}

.mil-no-wrap {
  white-space: nowrap;
}

blockquote {
  padding: 60px;
  background-color: rgba(0, 0, 0, 0.05);
  font-size: 18px;
  color: rgb(0, 0, 0);
  font-style: italic;
  border-left: solid 4px rgb(255, 152, 0);
}

@media screen and (max-width: 768px) {
  blockquote {
    padding: 30px;
    font-size: 16px;
  }
}

.mil-text-sm {
  font-size: 15px;
}

.mil-text-lg {
  font-size: 18px;
  line-height: 170%;
}

.mil-text-xl {
  font-size: 22px;
  line-height: 180%;
}

@media screen and (max-width: 768px) {
  .mil-text-xl {
    font-size: 20px;
  }
}

.mil-upper {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
}

.mil-bold {
  font-weight: 500;
}

.mil-thin {
  font-weight: 100;
}

a {
  color: inherit;
  text-decoration: none;
}

.mil-complex-title {
  line-height: normal;
}

.mil-accent {
  color: rgb(255, 152, 0);
}

.mil-light {
  color: rgb(255, 255, 255) !important;
}

.mil-light a {
  color: rgb(255, 255, 255) !important;
}

.mil-muted {
  color: rgba(255, 255, 255, 0.9);
}

.mil-dark {
  color: rgb(0, 0, 0);
}

.mil-light-soft {
  color: rgba(255, 255, 255, 0.4);
}

.mil-dark-soft {
  color: rgba(0, 0, 0, 0.5);
}

.mil-marker {
  background-color: rgb(255, 152, 0);
  padding: 0 5px;
}

.mil-center {
  text-align: center;
}

.mil-text-center {
  text-align: center;
}

.mil-left {
  text-align: left;
}

.mil-right {
  text-align: right;
}

@media screen and (max-width: 576px) {
  .mil-sm-center {
    text-align: center;
  }
}

.mil-suptitle {
  position: relative;
  display: block;
  margin-bottom: 60px;
}

.mil-suptitle:before {
  content: "";
  position: absolute;
  right: calc(100% + 30px);
  top: 10px;
  width: 600px;
  height: 1px;
  background-color: rgb(255, 255, 255);
  opacity: 0.2;
}

.mil-suptitle.mil-suptitle-right {
  text-align: right;
}

.mil-suptitle.mil-suptitle-right:before {
  left: calc(100% + 30px);
}

@media screen and (max-width: 768px) {
  .mil-suptitle.mil-suptitle-right {
    text-align: center;
  }

  .mil-suptitle.mil-suptitle-right:before {
    display: none;
  }
}

.mil-suptitle.mil-suptitle-dark:before {
  background-color: rgb(0, 0, 0);
  opacity: 0.1;
}

@media screen and (max-width: 768px) {
  .mil-suptitle {
    margin-bottom: 60px;
  }
}

.mil-divider {
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.1);
}

.mil-img-frame {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-bottom: 140%;
}

.mil-img-frame img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

/* -------------------------------------------

link

------------------------------------------- */
.mil-link {
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12px;
}

.mil-link svg {
  margin-left: 15px;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 10px;
  background-color: rgba(255, 255, 255, 0.1);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-link svg path {
  fill: rgb(255, 255, 255);
}

.mil-link.mil-accent svg {
  background-color: rgba(255, 255, 255, 0.1);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-link.mil-accent svg path {
  fill: rgb(255, 152, 0);
}

.mil-link.mil-dark svg {
  background-color: rgba(0, 0, 0, 0.1);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-link.mil-dark svg path {
  fill: rgb(0, 0, 0);
}

.mil-link:hover svg {
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
}

.mil-link.mil-down-arrow svg {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.mil-link.mil-down-arrow:hover svg {
  -webkit-transform: scale(1.15) rotate(90deg);
  transform: scale(1.15) rotate(90deg);
}

.mil-link.mil-icon-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.mil-link.mil-icon-left svg {
  margin-left: 0;
  margin: 0 5px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.mil-link.mil-icon-left:hover svg {
  -webkit-transform: scale(1.15) rotate(180deg);
  transform: scale(1.15) rotate(180deg);
}

/* -------------------------------------------

button

------------------------------------------- */
.mil-button {
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: none;
  letter-spacing: 2px;
  font-size: 16px;
  background-color: rgb(255, 152, 0);
  color: rgb(0, 0, 0);
  border-radius: 70px;
  padding: 0 15px 0 50px;
  height: 70px;
  text-transform: uppercase;
  font-weight: 500;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-button span {
  white-space: nowrap;
}

.mil-button svg {
  margin-left: 30px;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 10px;
  background-color: rgb(0, 0, 0);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  z-index: 9999 !important;
}

.mil-button svg path {
  fill: rgb(255, 152, 0);
}

.mil-button.mil-icon-button {
  padding: 15px;
}

.mil-button.mil-icon-button svg {
  margin-left: 0;
}

.mil-button.mil-icon-button-sm {
  padding: 0;
  height: 40px;
}

.mil-button.mil-icon-button-sm svg {
  margin-left: 0;
  background-color: rgb(255, 152, 0);
}

.mil-button.mil-icon-button-sm svg path {
  fill: rgb(0, 0, 0);
}

.mil-button:hover {
  -webkit-transform: scale(1.015);
  transform: scale(1.015);
  -webkit-filter: brightness(110%);
  filter: brightness(110%);
}

.mil-button:hover svg {
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
}

.mil-button.mil-arrow-down svg {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.mil-button.mil-arrow-down:hover {
  -webkit-transform: scale(1.015);
  transform: scale(1.015);
  -webkit-filter: brightness(110%);
  filter: brightness(110%);
}

.mil-button.mil-arrow-down:hover svg {
  -webkit-transform: scale(1.15) rotate(90deg);
  transform: scale(1.15) rotate(90deg);
}

@media screen and (max-width: 992px) {
  .mil-button {
    height: 60px;
    padding: 0 10px 0 40px;
  }

  .mil-button svg {
    margin-left: 25px;
  }
}

/* -------------------------------------------

form

------------------------------------------- */
input,
textarea {
  position: relative;
  height: 70px;
  padding: 0 30px;
  width: 100%;
  font-size: 14px;
  letter-spacing: normal;
  font-weight: 500;
  font-family: "Outfit", sans-serif;
  color: rgb(0, 0, 0);
  border: none;
  border-bottom: solid 1px rgba(0, 0, 0, 0.2);
  margin-bottom: 30px;
}

input:focus,
textarea:focus {
  outline: inherit;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}

input::placeholder,
textarea::placeholder {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}

textarea {
  padding: 15px 30px;
  height: 300px;
}

/* -------------------------------------------

breadcrumbs

------------------------------------------- */
.mil-breadcrumbs {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

.mil-breadcrumbs:before {
  content: "";
  position: absolute;
  right: calc(100% + 30px);
  top: 10px;
  width: 100vw;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
}

.mil-breadcrumbs li {
  list-style-type: none;
}

.mil-breadcrumbs li:after {
  content: "/";
  margin: 0 15px;
  color: rgb(0, 0, 0);
}

.mil-breadcrumbs li a {
  color: rgb(0, 0, 0);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  font-size: 12px;
  white-space: nowrap;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-breadcrumbs li a:hover {
  color: rgb(255, 152, 0);
}

.mil-breadcrumbs li:last-child {
  margin-right: 0;
  cursor: not-allowed;
}

.mil-breadcrumbs li:last-child a {
  opacity: 0.4;
  pointer-events: none;
}

.mil-breadcrumbs li:last-child:after {
  display: none;
}

.mil-breadcrumbs.mil-light:before {
  background-color: rgba(255, 255, 255, 0.1);
}

.mil-breadcrumbs.mil-light li:after {
  color: rgba(255, 255, 255, 0.9);
}

.mil-breadcrumbs.mil-light li a:hover {
  color: rgb(255, 152, 0) !important;
}

.mil-breadcrumbs.mil-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* -------------------------------------------

backgrounds

------------------------------------------- */
.mil-dark-bg {
  position: relative;
}

.mil-dark-bg:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  pointer-events: none;
  z-index: 2;
  -webkit-backdrop-filter: invert(100%);
  backdrop-filter: invert(100%);
}

.mil-dark-bg .mi-invert-fix {
  height: 100%;
  position: relative;
  pointer-events: none;
  z-index: 3;
}

.mil-dark-bg .mi-invert-fix .container {
  pointer-events: all;
}

.mil-soft-bg {
  background-color: rgb(242, 242, 242);
}

/* -------------------------------------------

spaces

------------------------------------------- */
.mil-mr-30 {
  margin-right: 30px;
}

.mil-mb-5 {
  margin-bottom: 5px;
}

.mil-mb-10 {
  margin-bottom: 10px;
}

.mil-mb-15 {
  margin-bottom: 15px;
}

.mil-mb-20 {
  margin-bottom: 15px;
}

.mil-mb-30 {
  margin-bottom: 30px;
}

.mil-mb-60 {
  margin-bottom: 60px;
}

.mil-mb-90 {
  margin-bottom: 90px;
}

.mil-mb-120 {
  margin-bottom: 120px;
}

@media screen and (max-width: 992px) {
  .mil-mb-120 {
    margin-bottom: 90px;
  }
}

.mil-mt-suptitle-offset {
  margin-top: 70px;
}

@media screen and (max-width: 992px) {
  .mil-mt-suptitle-offset {
    margin-top: 30px;
  }
}

.mil-p-120-120 {
  padding-top: 120px;
  padding-bottom: 120px;
}

@media screen and (max-width: 992px) {
  .mil-p-120-120 {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}

.mil-p-120-90 {
  padding-top: 120px;
  padding-bottom: 90px;
}

@media screen and (max-width: 992px) {
  .mil-p-120-90 {
    padding-top: 90px;
    padding-bottom: 60px;
  }
}

.mil-p-0-120 {
  padding-bottom: 120px;
}

@media screen and (max-width: 992px) {
  .mil-p-0-120 {
    padding-bottom: 90px;
  }
}

.mil-p-120-0 {
  padding-top: 120px;
}

@media screen and (max-width: 992px) {
  .mil-p-120-0 {
    padding-top: 90px;
  }
}

.mil-p-120-60 {
  padding-top: 120px;
  padding-bottom: 60px;
}

@media screen and (max-width: 992px) {
  .mil-p-120-60 {
    padding-top: 90px;
    padding-bottom: 30px;
  }
}

.mil-p-90-90 {
  padding-top: 90px;
  padding-bottom: 90px;
}

@media screen and (max-width: 992px) {
  .mil-p-90-90 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.mil-p-90-120 {
  padding-top: 90px;
  padding-bottom: 120px;
}

@media screen and (max-width: 992px) {
  .mil-p-90-120 {
    padding-top: 60px;
    padding-bottom: 90px;
  }
}

.mil-p-0-90 {
  padding-bottom: 90px;
}

@media screen and (max-width: 992px) {
  .mil-p-0-90 {
    padding-bottom: 60px;
  }
}

.mil-p-0-30 {
  padding-bottom: 30px;
}

@media screen and (max-width: 992px) {
  .mil-p-0-30 {
    padding-bottom: 0;
  }
}

.mil-p-120-30 {
  padding-top: 120px;
  padding-bottom: 30px;
}

@media screen and (max-width: 992px) {
  .mil-p-120-30 {
    padding-top: 90px;
    padding-bottom: 0;
  }
}

.mil-adaptive-right {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (max-width: 992px) {
  .mil-adaptive-right {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.mil-btn-space {
  margin-right: 30px;
}

@media screen and (max-width: 500px) {
  .mil-btn-space {
    margin-right: 50px;
    margin-bottom: 30px;
  }
}

/* -------------------------------------------

preloader

------------------------------------------- */
.mil-preloader {
  position: fixed;
  z-index: 9;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh; height: -webkit-fill-available;
  background-color: rgb(0, 0, 0);
}

.mil-preloader .mil-preloader-animation {
  opacity: 0;
  position: relative;
  height: 100vh; height: -webkit-fill-available;
  color: rgb(255, 255, 255);
}

.mil-preloader .mil-preloader-animation .mil-pos-abs {
  position: absolute;
  height: 100vh; height: -webkit-fill-available;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-preloader .mil-preloader-animation .mil-pos-abs p {
  opacity: 0;
  margin: 0 5px;
}

@media screen and (max-width: 992px) {
  .mil-preloader .mil-preloader-animation .mil-pos-abs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .mil-preloader .mil-preloader-animation .mil-pos-abs p {
    margin-right: 0;
    margin-bottom: 10px;
  }
}

.mil-preloader .mil-preloader-animation .mil-pos-abs .mil-reveal-frame {
  position: relative;
  padding: 0 30px;
}

.mil-preloader .mil-preloader-animation .mil-pos-abs .mil-reveal-frame .mil-reveal-box {
  z-index: 4;
  position: absolute;
  opacity: 0;
  height: 100%;
  background-color: rgb(255, 152, 0);
}

.mil-preloader.mil-hidden {
  pointer-events: none;
}

/* -------------------------------------------

cursor

------------------------------------------- */
.mil-ball {
  width: 20px;
  height: 20px;
  position: fixed;
  z-index: 10;
  background-color: rgb(0, 0, 0);
  border-radius: 50%;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  opacity: 0.1;
}

.mil-ball .mil-icon-1 {
  position: absolute;
  width: 40px;
  height: 40px;
  -webkit-transform: scale(0);
  transform: scale(0);
}

.mil-ball .mil-icon-1 svg {
  fill: rgba(255, 255, 255, 0.9);
}

.mil-ball .mil-more-text,
.mil-ball .mil-choose-text {
  position: absolute;
  width: 100%;
  text-align: center;
  display: block;
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  -webkit-transform: scale(0);
  transform: scale(0);
}

.mil-ball.mil-accent .mil-icon-1 svg {
  fill: rgb(0, 0, 0);
}

.mil-ball.mil-accent .mil-more-text,
.mil-ball.mil-accent .mil-choose-text {
  color: rgb(0, 0, 0);
}

@media screen and (max-width: 1200px) {
  .mil-ball {
    display: none;
  }
}

/* -------------------------------------------

hidden elements

------------------------------------------- */
.mil-hidden-elements .mil-dodecahedron,
.mil-hidden-elements .mil-lines,
.mil-hidden-elements .mil-arrow {
  display: none;
}

/* -------------------------------------------

scrollbar

------------------------------------------- */
::-webkit-scrollbar {
  display: none;
}

.mil-progress-track {
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background-color: rgb(0, 0, 0);
}

.mil-progress-track .mil-progress {
  width: 4px;
  height: 0;
  background-color: rgb(255, 152, 0);
}

@media screen and (max-width: 992px) {
  .mil-progress-track {
    display: none;
  }
}

/* -------------------------------------------

frame

------------------------------------------- */
.mil-logo {
  font-size: 42px;
  font-weight: 500;
  line-height: 100%;
}

@media screen and (max-width: 992px) {
  .mil-logo {
    font-size: 36px;
  }
}

.mil-frame {
  padding: 50px 60px 60px 60px;
  position: fixed;
  z-index: 2;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1200px) {
  .mil-frame {
    padding: 30px;
  }
}

@media screen and (max-width: 1200px) {
  .mil-frame {
    padding: 0;
    z-index: 999;
    height: 90px;
  }
}

@media screen and (max-width: 1200px) {
  .mil-frame .mil-frame-top {
    height: 90px;
    background-color: rgba(0, 0, 0, 0.95);
    border-bottom: solid 1px rgba(255, 255, 255, 0.1);
    padding: 0 30px;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  .mil-frame .mil-frame-top .mil-logo {
    color: rgb(255, 255, 255);
  }

  .mil-frame .mil-frame-top .mil-menu-btn span,
  .mil-frame .mil-frame-top .mil-menu-btn span:after,
  .mil-frame .mil-frame-top .mil-menu-btn span:before {
    background: rgb(255, 255, 255);
  }
}

.mil-frame .mil-frame-bottom {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

@media screen and (max-width: 1200px) {
  .mil-frame .mil-frame-bottom {
    display: none;
  }
}

.mil-frame .mil-frame-bottom .mil-current-page {
  pointer-events: none;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12px;
  width: 300px;
  color: rgb(0, 0, 0);
  -webkit-transform: rotate(-90deg) translateX(138px) translateY(-138px);
  transform: rotate(-90deg) translateX(138px) translateY(-138px);
}

.mil-frame .mil-frame-bottom .mil-back-to-top {
  width: 300px;
  -webkit-transform: rotate(-90deg) translateX(130px) translateY(130px);
  transform: rotate(-90deg) translateX(130px) translateY(130px);
  pointer-events: all;
}

.mil-frame-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-frame-top .mil-logo {
  pointer-events: all;
  color: rgb(0, 0, 0);
}

/* -------------------------------------------

menu button

------------------------------------------- */
.mil-menu-btn {
  pointer-events: all;
  height: 28px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transform: scale(1.3);
}

@media screen and (max-width: 992px) {
  .mil-menu-btn {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

.mil-menu-btn span,
.mil-menu-btn span:after,
.mil-menu-btn span:before {
  content: "";
  display: block;
  width: 28px;
  height: 2.5px;
  background: rgb(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: inherit;
  transition: inherit;
}

.mil-menu-btn span {
  position: relative;
}

.mil-menu-btn span:after,
.mil-menu-btn span:before {
  position: absolute;
}

.mil-menu-btn span:before {
  top: -9px;
}

.mil-menu-btn span:after {
  width: 18px;
  top: 9px;
}

.mil-menu-btn.mil-active span {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.mil-menu-btn.mil-active span:before {
  -webkit-transform: translate(0px, 9px) rotate(-90deg);
  transform: translate(0px, 9px) rotate(-90deg);
}

.mil-menu-btn.mil-active span:after {
  opacity: 0;
  width: 24px;
  -webkit-transform: translate(0px, -9px) rotate(-90deg);
  transform: translate(0px, -9px) rotate(-90deg);
}

/* -------------------------------------------

menu

------------------------------------------- */
.mil-menu-frame {
  position: fixed;
  z-index: 9999 !important;
  width: 100%;
  height: 100vh; height: -webkit-fill-available;
  background-color: #0d0d0d !important;
  background: linear-gradient(145deg, #0a0a1a 0%, #050510 40%, #0d0d0d 100%) !important;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  overflow: hidden;
}

/* Top accent bar */
.mil-menu-frame::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent, #ffa600, #ff6b00, transparent);
  z-index: 1;
}

/* Ambient radial glow */
.mil-menu-frame::after {
  content: '';
  position: absolute;
  bottom: -100px;
  right: -100px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(255, 166, 0, 0.07) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}


.mil-menu-frame .container {
  pointer-events: none;
}

.mil-menu-frame .mil-frame-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 50px 60px;
}

@media screen and (max-width: 1200px) {
  .mil-menu-frame .mil-frame-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    /* Adjusted padding for mobile */
    pointer-events: all !important;
    z-index: 10000;
  }

  .mil-menu-frame .mil-menu-btn {
    pointer-events: all !important;
    cursor: pointer !important;
    position: relative;
    z-index: 10001;
  }
}

.mil-menu-frame .mil-frame-top .mil-logo {
  color: rgb(255, 255, 255);
}

.mil-menu-frame .mil-frame-top .mil-menu-btn span,
.mil-menu-frame .mil-frame-top .mil-menu-btn span:after,
.mil-menu-frame .mil-frame-top .mil-menu-btn span:before {
  background-color: rgb(255, 255, 255);
}

.mil-menu-frame .mil-main-menu {
  -webkit-transform: translateX(-30px);
  transform: translateX(-30px);
  opacity: 0;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

@media screen and (max-width: 1200px) {
  .mil-menu-frame .mil-main-menu {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    padding-bottom: 140px;
  }
}

.mil-menu-frame .mil-menu-right-frame {
  padding-left: 60px;
  position: relative;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  border-left: solid 1px rgba(255, 255, 255, 0.1);
  opacity: 0;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-menu-frame .mil-menu-right-frame .mil-menu-right {
    padding-bottom: 120px;
    padding-left: 60px;
    width: 100%;
  }

.mil-menu-frame .mil-menu-right-frame .mil-animation-in {
  position: absolute;
  top: -320px;
  right: 0;
  opacity: 0;
  -webkit-transform: translateY(-60px);
  transform: translateY(-60px);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

@media screen and (max-width: 1200px) {
  .mil-menu-frame .mil-menu-right-frame {
    display: none;
  }
}

@media screen and (max-height: 800px) {
  .mil-menu-frame .mil-menu-right-frame {
    display: none;
  }
}

.mil-menu-frame.mil-active {
  opacity: 1;
  pointer-events: all;
}

.mil-menu-frame.mil-active .container {
  pointer-events: all;
}

.mil-menu-frame.mil-active .mil-main-menu {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.mil-menu-frame.mil-active .mil-menu-right-frame {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.mil-menu-frame.mil-active .mil-menu-right-frame .mil-animation-in {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

.mil-menu-list li {
  list-style-type: none;
  margin-bottom: 15px;
}

.mil-menu-list li:last-child {
  margin-bottom: 0;
}

.mil-menu-list li a {
  display: block;
  -webkit-transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-menu-list li a:hover {
  -webkit-transform: translateX(5px);
  transform: translateX(5px);
  color: rgb(255, 255, 255);
}

.mil-menu-list.mil-hori-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mil-menu-list.mil-hori-list li {
  margin-bottom: 0;
  margin-right: 30px;
}

.mil-menu-list.mil-dark li a {
  color: rgb(0, 0, 0);
}

.mil-main-menu {
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-main-menu ul {
  padding: 0;
  margin: 0;
}

.mil-main-menu ul li {
  margin-bottom: 40px;
}

.mil-main-menu ul li:last-child {
  margin-bottom: 0;
}

.mil-main-menu ul li a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.65);
  font-size: 34px;
  letter-spacing: 0.01em;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  text-decoration: none;
}

/* Underline slide-in on hover */
.mil-main-menu ul li a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #ffa600, #ff6b00);
  transition: width 0.35s cubic-bezier(0, 0, 0.3642, 1);
  border-radius: 2px;
}

@media screen and (max-width: 992px) {
  .mil-main-menu ul li a {
    font-size: 26px;
  }
}

.mil-main-menu ul li a:before {
  content: "";
  position: absolute;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-main-menu ul li a:hover {
  color: rgb(255, 255, 255);
  letter-spacing: 0.04em;
  text-shadow: 0 0 20px rgba(255, 166, 0, 0.3);
}

.mil-main-menu ul li a:hover::after {
  width: 100%;
}

.mil-main-menu ul li a.mil-active {
  padding-left: 25px;
}

.mil-main-menu ul li a.mil-active:before {
  -webkit-transform: scale(1);
  transform: scale(1);
  background: linear-gradient(180deg, #ffa600, #ff6b00);
  box-shadow: 0 0 8px rgba(255, 166, 0, 0.6);
  width: 4px;
  height: 28px;
  border-radius: 4px;
  top: 50%;
  transform: translateY(-50%) scale(1);
}

.mil-main-menu ul li.mil-active>a {
  color: rgb(255, 152, 0);
}

.mil-main-menu ul li.mil-active>a:hover {
  color: rgb(255, 152, 0) !important;
  -webkit-filter: brightness(110%);
  filter: brightness(110%);
}

.mil-main-menu ul li.mil-has-children>a:hover {
  color: rgb(255, 255, 255);
  padding-left: 25px;
}

.mil-main-menu ul li.mil-has-children>a:hover:before {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.mil-main-menu ul li.mil-has-children ul {
  padding-left: 25px;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-main-menu ul li.mil-has-children ul li {
  margin-bottom: 5px;
}

.mil-main-menu ul li.mil-has-children ul li:first-child {
  margin-top: 40px;
}

.mil-main-menu ul li.mil-has-children ul li a {
  display: block;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 2px;
  font-weight: 500;
  text-transform: uppercase;
}

.mil-main-menu ul li.mil-has-children ul li a:before {
  display: none;
}

.mil-main-menu ul li.mil-has-children ul li a:hover {
  color: rgba(255, 255, 255, 0.8);
  -webkit-transform: translateX(5px);
  transform: translateX(5px);
}

.mil-main-menu ul li.mil-has-children ul.mil-active {
  max-height: 200px;
}

@media screen and (max-width: 1200px) {
  .mil-main-menu {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .mil-main-menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .mil-main-menu ul li {
    margin-bottom: 30px;
  }

  .mil-main-menu ul li a {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .mil-main-menu ul li a:before {
    display: none;
  }

  .mil-main-menu ul li a.mil-active {
    padding-left: 0 !important;
  }

  .mil-main-menu ul li.mil-has-children ul {
    padding-left: 0;
  }

  .mil-main-menu ul li.mil-has-children ul li:first-child {
    margin-top: 30px;
  }
}

/* -------------------------------------------

banner

------------------------------------------- */
.mil-banner {
  height: 100vh;
}

.mil-banner .container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.mil-banner .mil-banner-content {
  width: 100%;
  padding-bottom: 120px;
  position: relative;
}

@media screen and (max-width: 992px) {
  .mil-banner .mil-banner-content {
    padding-bottom: 90px;
  }
}

.mil-banner .mil-lines-place {
  position: absolute;
  left: 0;
  bottom: calc(100% + 120px);
}

.mil-inner-banner .mil-banner-content {
  padding: 150px 0 0 0;
}

@media screen and (max-width: 1200px) {
  .mil-inner-banner .mil-banner-content {
    padding: 180px 0 0 0;
  }
}

.mil-banner-personal {
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.1);
}

.mil-banner-personal .mil-banner-content {
  position: relative;
  padding-top: 90px;
}

@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content {
    padding-top: 180px;
  }
}

.mil-banner-personal .mil-banner-content .mil-personal-text {
  margin-bottom: 300px;
}

@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content .mil-personal-text {
    margin-bottom: 80px;
    text-align: center;
  }
}

.mil-banner-personal .mil-banner-content .mil-banner-panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0 60px 0 90px;
  background-color: rgb(255, 255, 255);
  height: 180px;
  position: absolute;
  top: calc(100vh - 180px);
  left: 0;
  width: 100%;
}

@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content .mil-banner-panel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
    padding: 60px 30px;
  }

  .mil-banner-personal .mil-banner-content .mil-banner-panel h5 {
    margin-bottom: 60px;
    text-align: center;
    width: 80%;
  }
}

.mil-banner-personal .mil-banner-content .mil-banner-panel .mil-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mil-banner-personal .mil-banner-content .mil-banner-panel .mil-right .mil-social-frame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 30px;
  padding: 0 50px;
  background-color: rgba(0, 0, 0, 0.1);
  height: 70px;
  border-radius: 70px;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-banner-personal .mil-banner-content .mil-banner-panel .mil-right .mil-social-frame:hover {
  -webkit-transform: scale(1.015);
  transform: scale(1.015);
}

@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content .mil-banner-panel .mil-right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .mil-banner-personal .mil-banner-content .mil-banner-panel .mil-right .mil-social-frame {
    margin-right: 0;
    margin-bottom: 30px;
    height: 60px;
  }
}

.mil-banner-personal .mil-banner-content .mil-banner-panel .mil-button {
  margin: 0 !important;
}

@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content .mil-banner-panel {
    bottom: 0;
    top: auto;
  }
}

@media screen and (max-width: 768px) {
  .mil-banner-personal .mil-banner-content .mil-banner-panel {
    position: static;
    margin-bottom: 90px;
  }
}

@media screen and (max-width: 992px) {
  .mil-banner-personal {
    height: auto;
  }
}

.mil-portrait-frame {
  position: relative;
}

.mil-portrait-frame img {
  position: relative;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.mil-portrait-frame .mil-nimbus {
  background: radial-gradient(50% 50% at 50% 50%, rgb(255, 152, 0) 0%, rgba(250, 168, 69, 0) 100%);
  width: 100%;
  padding-bottom: 100%;
  position: absolute;
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .mil-portrait-frame {
    height: 400px;
  }

  .mil-portrait-frame img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top;
  }
}

/* -------------------------------------------

circle text

------------------------------------------- */
.mil-circle-text {
  position: absolute;
  right: 0;
  bottom: 90px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 140px;
  height: 140px;
}

.mil-circle-text .mil-ct-svg {
  -webkit-transform: scale(2);
  transform: scale(2);
  width: 140px;
  height: 140px;
}

.mil-circle-text .mil-ct-svg text {
  fill: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-circle-text .mil-button {
  position: absolute;
}

.mil-circle-text:hover svg text {
  fill: rgb(255, 255, 255);
}

@media screen and (max-width: 992px) {
  .mil-circle-text {
    display: none;
  }
}

/* -------------------------------------------

lines

------------------------------------------- */
@-webkit-keyframes move {
  from {
    -webkit-transform: translateY(-75px);
    transform: translateY(-75px);
  }

  50% {
    -webkit-transform: translateY(75px);
    transform: translateY(75px);
  }

  to {
    -webkit-transform: translateY(-75px);
    transform: translateY(-75px);
  }
}

@keyframes move {
  from {
    -webkit-transform: translateY(-75px);
    transform: translateY(-75px);
  }

  50% {
    -webkit-transform: translateY(75px);
    transform: translateY(75px);
  }

  to {
    -webkit-transform: translateY(-75px);
    transform: translateY(-75px);
  }
}

.mil-lines-place .mil-lines {
  opacity: 0.05;
  pointer-events: none;
}

@media screen and (max-width: 992px) {
  .mil-lines-place .mil-lines {
    display: none;
  }
}

.mil-lines-place .mil-lines path,
.mil-lines-place .mil-lines rect,
.mil-lines-place .mil-lines line {
  stroke: rgb(0, 0, 0);
}

.mil-lines-place .mil-lines .mil-move {
  -webkit-animation: move 10s linear infinite;
  animation: move 10s linear infinite;
}

.mil-lines-place.mil-light .mil-lines {
  opacity: 0.2;
}

.mil-lines-place.mil-light .mil-lines path,
.mil-lines-place.mil-light .mil-lines rect,
.mil-lines-place.mil-light .mil-lines line {
  stroke: rgb(255, 255, 255);
}

/* -------------------------------------------

dodecahedron

------------------------------------------- */
.mil-animation-frame {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  -webkit-animation: jump 10s linear infinite;
  animation: jump 10s linear infinite;
  pointer-events: none;
}

.mil-animation {
  position: absolute;
  display: inline-block;
  width: 300px;
  height: 300px;
  opacity: 0.2;
  pointer-events: none;
}

.mil-position-1 {
  top: 100px;
  right: 100px;
}

.mil-position-1 .mil-pentagon div {
  border-top: 2px solid rgba(0, 0, 0, 0.5);
}

.mil-position-2 {
  top: -60px;
  left: 15%;
}

.mil-position-2 .mil-pentagon div {
  border-top: 1px solid rgb(255, 255, 255);
}

.mil-position-2 .mil-dodecahedron {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

@media screen and (max-width: 1400px) {
  .mil-position-2 {
    display: none;
  }
}

.mil-position-3 {
  bottom: -100px;
  right: 35%;
}

.mil-position-3 .mil-pentagon div {
  border-top: 1px solid rgb(255, 255, 255);
}

.mil-position-3 .mil-dodecahedron {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

@media screen and (max-width: 1400px) {
  .mil-position-3 {
    display: none;
  }
}

.mil-position-4 {
  top: -60px;
  right: 20%;
}

.mil-position-4 .mil-pentagon div {
  border-top: 2px solid rgba(0, 0, 0, 0.5);
}

.mil-position-4 .mil-dodecahedron {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

@media screen and (max-width: 1400px) {
  .mil-position-4 {
    display: none;
  }
}

.mil-position-4.mil-dark .mil-pentagon div {
  border-top: 2px solid rgba(0, 0, 0, 0.5);
}

.mil-dodecahedron {
  position: relative;
  left: 100px;
  top: 40px;
  width: 100px;
  height: 223px;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-animation: rotate 100s infinite linear;
  animation: rotate 100s infinite linear;
}

@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotateX(0deg) rotateY(360deg) rotateZ(360deg);
    transform: rotateX(0deg) rotateY(360deg) rotateZ(360deg);
  }

  to {
    -webkit-transform: rotateX(360deg) rotateY(0deg) rotateZ(-360deg);
    transform: rotateX(360deg) rotateY(0deg) rotateZ(-360deg);
  }
}

@keyframes rotate {
  from {
    -webkit-transform: rotateX(0deg) rotateY(360deg) rotateZ(360deg);
    transform: rotateX(0deg) rotateY(360deg) rotateZ(360deg);
  }

  to {
    -webkit-transform: rotateX(360deg) rotateY(0deg) rotateZ(-360deg);
    transform: rotateX(360deg) rotateY(0deg) rotateZ(-360deg);
  }
}

.mil-pentagon {
  position: absolute;
  width: 100px;
}

.mil-pentagon:nth-child(1) {
  -webkit-transform: rotateY(0.2turn) translateZ(69px) rotateX(26.5deg);
  transform: rotateY(0.2turn) translateZ(69px) rotateX(26.5deg);
}

.mil-pentagon:nth-child(6) {
  bottom: 0;
  -webkit-transform: rotateY(0.2turn) translateZ(-69px) rotateX(206.5deg);
  transform: rotateY(0.2turn) translateZ(-69px) rotateX(206.5deg);
}

.mil-pentagon:nth-child(2) {
  -webkit-transform: rotateY(0.4turn) translateZ(69px) rotateX(26.5deg);
  transform: rotateY(0.4turn) translateZ(69px) rotateX(26.5deg);
}

.mil-pentagon:nth-child(7) {
  bottom: 0;
  -webkit-transform: rotateY(0.4turn) translateZ(-69px) rotateX(206.5deg);
  transform: rotateY(0.4turn) translateZ(-69px) rotateX(206.5deg);
}

.mil-pentagon:nth-child(3) {
  -webkit-transform: rotateY(0.6turn) translateZ(69px) rotateX(26.5deg);
  transform: rotateY(0.6turn) translateZ(69px) rotateX(26.5deg);
}

.mil-pentagon:nth-child(8) {
  bottom: 0;
  -webkit-transform: rotateY(0.6turn) translateZ(-69px) rotateX(206.5deg);
  transform: rotateY(0.6turn) translateZ(-69px) rotateX(206.5deg);
}

.mil-pentagon:nth-child(4) {
  -webkit-transform: rotateY(0.8turn) translateZ(69px) rotateX(26.5deg);
  transform: rotateY(0.8turn) translateZ(69px) rotateX(26.5deg);
}

.mil-pentagon:nth-child(9) {
  bottom: 0;
  -webkit-transform: rotateY(0.8turn) translateZ(-69px) rotateX(206.5deg);
  transform: rotateY(0.8turn) translateZ(-69px) rotateX(206.5deg);
}

.mil-pentagon:nth-child(5) {
  -webkit-transform: rotateY(1turn) translateZ(69px) rotateX(26.5deg);
  transform: rotateY(1turn) translateZ(69px) rotateX(26.5deg);
}

.mil-pentagon:nth-child(10) {
  bottom: 0;
  -webkit-transform: rotateY(1turn) translateZ(-69px) rotateX(206.5deg);
  transform: rotateY(1turn) translateZ(-69px) rotateX(206.5deg);
}

.mil-pentagon:nth-child(11) {
  -webkit-transform: translateZ(69px) rotateX(-90deg);
  transform: translateZ(69px) rotateX(-90deg);
}

.mil-pentagon:nth-child(12) {
  bottom: 0;
  -webkit-transform: translateZ(-69px) rotateX(90deg);
  transform: translateZ(-69px) rotateX(90deg);
}

.mil-pentagon div {
  position: absolute;
  width: 100px;
  height: 69px;
  -webkit-transform-origin: bottom;
  transform-origin: bottom;
}

.mil-pentagon div:nth-child(1) {
  -webkit-transform: rotate(0.2turn);
  transform: rotate(0.2turn);
}

.mil-pentagon div:nth-child(2) {
  -webkit-transform: rotate(0.4turn);
  transform: rotate(0.4turn);
}

.mil-pentagon div:nth-child(3) {
  -webkit-transform: rotate(0.6turn);
  transform: rotate(0.6turn);
}

.mil-pentagon div:nth-child(4) {
  -webkit-transform: rotate(0.8turn);
  transform: rotate(0.8turn);
}

.mil-pentagon div:nth-child(5) {
  -webkit-transform: rotate(1turn);
  transform: rotate(1turn);
}

@-webkit-keyframes jump {
  0% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  50% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  100% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
}

@keyframes jump {
  0% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  50% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }

  100% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
}

/* -------------------------------------------

about

------------------------------------------- */
.mil-about-quote {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-about-quote .mil-avatar {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  position: relative;
}

.mil-about-quote .mil-avatar:after {
  content: ' " ';
  color: rgb(0, 0, 0);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: rgb(255, 152, 0);
  position: absolute;
  bottom: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 12px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 36px;
}

.mil-about-quote .mil-avatar img {
  border-radius: 50%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
}

.mil-about-quote .mil-quote {
  padding-left: 30px;
  width: calc(100% - 90px);
}

@media screen and (max-width: 992px) {
  .mil-about-quote .mil-avatar {
    width: 70px;
    height: 70px;
  }

  .mil-about-quote .mil-avatar:after {
    padding-top: 7px;
    width: 25px;
    height: 25px;
    font-size: 24px;
  }

  .mil-about-quote .mil-quote {
    font-size: 16px;
    padding-left: 30px;
    width: calc(100% - 70px);
  }
}

.mil-about-photo {
  position: relative;
}

.mil-about-photo .mil-lines-place {
  position: absolute;
  top: -120px;
  left: -27%;
}

/* -------------------------------------------

partners

------------------------------------------- */
.mil-infinite-show .swiper-wrapper {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}

.mil-partner-frame {
  display: block;
}

.mil-partner-frame img {
  width: 100%;
}

/* -------------------------------------------

services

------------------------------------------- */
.mil-complex-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-complex-text .mil-button {
  margin-left: 30px;
}

@media screen and (max-width: 768px) {
  .mil-complex-text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .mil-complex-text .mil-button {
    margin-left: 0;
    margin-top: 60px;
  }
}

.mil-text-image {
  height: 80px;
  width: 250px;
  display: inline-block;
  overflow: hidden;
  border-radius: 70px;
  margin-right: 30px;
}

.mil-text-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-text-image:hover img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

@media screen and (max-width: 768px) {
  .mil-text-image {
    display: none;
  }
}

.mil-service-card-sm {
  position: relative;
  display: block;
  padding: 60px 30px;
}

.mil-service-card-sm p {
  opacity: 0;
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-service-card-sm .mil-button {
  -webkit-transform: scale(0.3);
  transform: scale(0.3);
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  opacity: 0.4;
}

.mil-service-card-sm:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 4px;
  width: 0;
  background-color: rgb(255, 152, 0);
  -webkit-transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-service-card-sm:hover p {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.mil-service-card-sm:hover .mil-button {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
  opacity: 1;
}

.mil-service-card-sm:hover:before {
  width: 100%;
}

@media screen and (max-width: 992px) {
  .mil-service-card-sm p {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }

  .mil-service-card-sm .mil-button {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
    opacity: 1;
  }
}

.mil-services-grid {
  border-top: solid 1px rgba(255, 255, 255, 0.1);
}

.mil-services-grid .mil-services-grid-item {
  border-right: solid 1px rgba(255, 255, 255, 0.1);
}

.mil-services-grid .mil-services-grid-item:first-child {
  border-left: solid 1px rgba(255, 255, 255, 0.1);
}

@media screen and (max-width: 992px) {
  .mil-services-grid {
    padding-bottom: 90px;
  }

  .mil-services-grid .mil-services-grid-item {
    border-bottom: solid 1px rgba(255, 255, 255, 0.1);
  }

  .mil-services-grid .mil-services-grid-item:nth-child(3) {
    border-left: solid 1px rgba(255, 255, 255, 0.1);
  }
}

@media screen and (max-width: 768px) {
  .mil-services-grid {
    padding-bottom: 90px;
  }

  .mil-services-grid .mil-services-grid-item {
    border-left: solid 1px rgba(255, 255, 255, 0.1);
    border-bottom: solid 1px rgba(255, 255, 255, 0.1);
  }
}

.mil-service-card-lg {
  display: block;
}

.mil-service-card-lg .mil-descr {
  padding-right: 30px;
}

.mil-service-card-lg.mil-offset {
  margin-top: 60px;
  margin-bottom: 60px;
}

@media screen and (max-width: 992px) {
  .mil-service-card-lg.mil-offset {
    margin-top: 0;
  }
}

@media screen and (max-width: 992px) {
  .mil-service-card-lg {
    margin-bottom: 60px;
  }
}

.mil-service-card-lg.mil-other-card {
  overflow: hidden;
  position: relative;
  border: solid 1px rgb(229, 229, 229);
  padding: 60px;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-service-card-lg.mil-other-card .mil-descr {
  padding-right: 0;
}

.mil-service-card-lg.mil-other-card:hover {
  background-color: rgb(255, 152, 0);
}

.mil-service-card-lg.mil-other-card:hover .mil-link svg {
  background-color: rgb(0, 0, 0);
}

.mil-service-card-lg.mil-other-card:hover .mil-link svg path {
  fill: rgb(255, 152, 0);
}

@media screen and (max-width: 1200px) {
  .mil-service-card-lg.mil-other-card {
    padding: 30px;
  }
}

.mil-service-list li {
  border-bottom: solid 1px rgba(255, 255, 255, 0.1);
  list-style-type: none;
  padding: 15px 0;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  font-size: 12px;
}

.mil-service-list li:first-child {
  border-top: solid 1px rgba(255, 255, 255, 0.1);
}

.mil-service-list.mil-light li {
  color: rgba(255, 255, 255, 0.6);
}

.mil-service-list.mil-dark li {
  border-bottom: solid 1px rgba(0, 0, 0, 0.1);
}

.mil-service-list.mil-dark li:first-child {
  border-top: solid 1px rgba(0, 0, 0, 0.1);
}

/* -------------------------------------------

team

------------------------------------------- */
.mil-team-card {
  position: relative;
  overflow: hidden;
  padding-bottom: 130%;
}

.mil-team-card:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  width: 0;
  background-color: rgb(255, 152, 0);
  -webkit-transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-team-card img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-team-card.mil-offset-card {
  -webkit-transform: translateY(60px);
  transform: translateY(60px);
}

@media screen and (max-width: 992px) {
  .mil-team-card.mil-offset-card {
    -webkit-transform: none;
    transform: none;
  }
}

.mil-team-card .mil-description {
  opacity: 0;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 60px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  pointer-events: none;
  -webkit-transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-team-card .mil-description .mil-secrc-text {
  opacity: 0;
  -webkit-transform: translateY(15px);
  transform: translateY(15px);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.mil-team-card .mil-description .mil-secrc-text a {
  color: rgb(255, 255, 255);
  -webkit-transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-team-card .mil-description .mil-secrc-text a:hover {
  color: rgb(255, 152, 0);
}

.mil-team-card:hover img {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.mil-team-card:hover:after {
  width: 100%;
}

.mil-team-card:hover .mil-description {
  opacity: 1;
  pointer-events: all;
}

.mil-team-card:hover .mil-description .mil-secrc-text {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.mil-team-list {
  position: relative;
}

.mil-team-list .mil-lines-place {
  position: absolute;
  top: -120px;
  left: -22.5%;
}

/* -------------------------------------------

social icons

------------------------------------------- */
.mil-social-icons {
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mil-social-icons.mil-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.mil-social-icons li {
  list-style-type: none;
  margin: 0 5px;
}

.mil-social-icons li:last-child {
  margin-right: 0;
}

.mil-social-icons li a {
  color: rgb(255, 255, 255);
  font-size: 18px;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-social-icons li a:hover {
  color: rgb(255, 152, 0);
}

.mil-social-icons.mil-dark li a {
  color: rgb(0, 0, 0);
}

.mil-social-icons.mil-dark li a:hover {
  color: rgb(255, 152, 0);
}

/* -------------------------------------------

revievs

------------------------------------------- */
.mil-revi-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 992px) {
  .mil-revi-pagination {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.mil-revi-pagination .swiper-pagination-bullet {
  padding: 0;
  width: 110px;
  height: 110px;
  padding: 10px;
  opacity: 1;
  border: none;
  background-color: transparent;
  margin: 0 !important;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1) !important;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1) !important;
}

@media screen and (max-width: 992px) {
  .mil-revi-pagination .swiper-pagination-bullet {
    width: 90px;
    height: 90px;
  }
}

.mil-revi-pagination .swiper-pagination-bullet:nth-child(2n) {
  margin-top: 30px !important;
}

@media screen and (max-width: 992px) {
  .mil-revi-pagination .swiper-pagination-bullet:nth-child(2n) {
    margin-top: 0 !important;
  }
}

.mil-revi-pagination .swiper-pagination-bullet:hover {
  -webkit-box-shadow: inset 0 0 0 4px rgb(255, 255, 255);
  box-shadow: inset 0 0 0 4px rgb(255, 255, 255);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot {
  background-color: red;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background-size: cover;
  background-position: top;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1) !important;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1) !important;
}

@media screen and (max-width: 992px) {
  .mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot {
    width: 70px;
    height: 70px;
  }
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-1 {
  background-image: url(../img/faces/customers/1.jpg);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-2 {
  background-image: url(../img/faces/customers/2.jpg);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-3 {
  background-image: url(../img/faces/customers/3.jpg);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-4 {
  background-image: url(../img/faces/customers/4.jpg);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-5 {
  background-image: url(../img/faces/customers/5.jpg);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-6 {
  background-image: url(../img/faces/customers/6.jpg);
}

.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-7 {
  background-image: url(../img/faces/customers/7.jpg);
}

.mil-revi-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  -webkit-box-shadow: inset 0 0 0 4px rgb(255, 152, 0);
  box-shadow: inset 0 0 0 4px rgb(255, 152, 0);
}

.mil-quote-icon {
  display: block;
  margin: 0 auto;
  width: 40px;
  height: 40px;
  margin-bottom: 15px;
}

.mil-quote-icon path {
  fill: rgb(255, 152, 0);
}

.mil-slider-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mil-slider-nav .mil-slider-arrow {
  width: 40px;
  height: 40px;
  padding: 10px;
  background-color: rgb(0, 0, 0);
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-slider-nav .mil-slider-arrow svg path {
  fill: rgb(255, 152, 0);
}

.mil-slider-nav .mil-slider-arrow.mil-prev {
  margin-right: 10px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.mil-slider-nav .mil-slider-arrow.swiper-button-disabled {
  opacity: 0.1;
  cursor: not-allowed;
}

.mil-slider-nav .mil-slider-arrow:hover {
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
}

.mil-slider-nav .mil-slider-arrow:hover.mil-prev {
  -webkit-transform: rotate(180deg) scale(1.15);
  transform: rotate(180deg) scale(1.15);
}

.mil-slider-nav.mil-reviews-nav {
  position: absolute;
  top: 160px;
  left: 0;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 992px) {
  .mil-slider-nav.mil-reviews-nav {
    top: 0;
  }
}

.mil-slider-nav.mil-soft .mil-slider-arrow {
  background-color: rgb(229, 229, 229);
}

.mil-slider-nav.mil-soft .mil-slider-arrow svg path {
  fill: rgb(0, 0, 0);
}

/* -------------------------------------------

blog

------------------------------------------- */
.mil-blog-card {
  display: block;
}

.mil-blog-card .mil-cover-frame {
  position: relative;
  overflow: hidden;
  padding-bottom: 65%;
  margin-bottom: 30px;
}

.mil-blog-card .mil-cover-frame img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-blog-card .mil-post-descr {
  padding: 30px 30px 0 0;
}

.mil-blog-card .mil-post-descr .mil-post-text {
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.mil-blog-card:hover .mil-cover-frame img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.mil-blog-card.mil-blog-card-hori {
  padding-top: 60px;
  border-top: solid 1px rgb(229, 229, 229);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-blog-card.mil-blog-card-hori .mil-cover-frame {
  margin-bottom: 0;
  width: 450px;
  padding-bottom: 27%;
}

.mil-blog-card.mil-blog-card-hori .mil-post-descr {
  width: calc(100% - 450px);
  padding: 0;
  padding-left: 60px;
}

@media screen and (max-width: 992px) {
  .mil-blog-card.mil-blog-card-hori {
    display: block;
    padding-top: 0;
    border: none;
  }

  .mil-blog-card.mil-blog-card-hori .mil-cover-frame {
    width: 100%;
    padding-bottom: 65%;
    margin-bottom: 30px;
  }

  .mil-blog-card.mil-blog-card-hori .mil-post-descr {
    width: 100%;
    padding: 30px 30px 0 0;
  }
}

.mil-labels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0;
}

.mil-labels .mil-label {
  margin: 0 5px;
}

.mil-labels .mil-label:last-child {
  margin-right: 0;
}

.mil-pagination {
  padding-top: 60px;
  border-top: solid 1px rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 20px;
}

.mil-pagination-btn {
  display: inline-block;
  width: 40px;
  height: 40px;
  font-size: 12px;
  font-weight: 500;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.1);
  color: rgb(0, 0, 0);
  text-align: center;
  line-height: 40px;
  text-decoration: none;
  margin-right: 10px;
}

.mil-pagination-btn.mil-active {
  background-color: rgb(255, 152, 0);
}

.mil-category-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mil-category-list li {
  list-style-type: none;
  margin-right: 10px;
}

.mil-category-list li:last-child {
  margin-right: 0;
}

.mil-category-list li a {
  height: 40px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: transparent;
  padding: 0 20px;
  border-radius: 40px;
  color: rgb(0, 0, 0);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-category-list li a:hover {
  background-color: rgb(229, 229, 229);
}

.mil-category-list li a.mil-active {
  background-color: rgb(255, 152, 0);
}

@media screen and (max-width: 768px) {
  .mil-category-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .mil-category-list li {
    margin-right: 0;
    margin-bottom: 10px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .mil-category-list li:last-child {
    margin-bottom: 0;
  }

  .mil-category-list li a {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

/* -------------------------------------------

footer

------------------------------------------- */
.mil-footer-menu {
  margin-bottom: 120px;
}

.mil-footer-menu ul li {
  list-style-type: none;
  margin-bottom: 30px;
}

.mil-footer-menu ul li a {
  display: block;
  font-weight: 500;
  font-size: 28px;
  color: rgba(255, 255, 255, 0.9);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-footer-menu ul li a:hover {
  -webkit-transform: translateX(10px);
  transform: translateX(10px);
  color: rgb(255, 152, 0);
}

@media screen and (max-width: 768px) {
  .mil-footer-menu ul li a {
    font-size: 22px;
  }
}

.mil-footer-menu ul li.mil-active a {
  color: rgb(255, 152, 0);
}

.mil-footer-menu ul li.mil-active a:hover {
  -webkit-transform: none;
  transform: none;
}

@media screen and (max-width: 768px) {
  .mil-footer-menu {
    margin-bottom: 60px;
  }
}

.mil-subscribe-form {
  position: relative;
  height: 70px;
  width: 100%;
}

.mil-subscribe-form input {
  height: 100%;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.1);
  color: rgb(0, 0, 0);
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  border: none;
  border-radius: 70px;
  padding: 0 0 0 50px;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-subscribe-form input::-webkit-input-placeholder {
  color: rgb(128, 128, 128);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.mil-subscribe-form input::-moz-placeholder {
  color: rgb(128, 128, 128);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.mil-subscribe-form input:-ms-input-placeholder {
  color: rgb(128, 128, 128);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.mil-subscribe-form input::-ms-input-placeholder {
  color: rgb(128, 128, 128);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.mil-subscribe-form input::placeholder {
  color: rgb(128, 128, 128);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.mil-subscribe-form input:focus {
  background-color: rgb(255, 255, 255);
  outline: inherit;
}

.mil-subscribe-form input:hover {
  background-color: rgb(255, 255, 255);
}

.mil-subscribe-form .mil-button {
  position: absolute;
  top: 15px;
  right: 15px;
}

.mil-subscribe-form.mil-subscribe-form-2 input {
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.1);
}

/* -------------------------------------------

portfolio

------------------------------------------- */
.mil-portfolio-item {
  display: block;
}

.mil-portfolio-item .mil-cover-frame {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}

.mil-portfolio-item .mil-cover-frame .mil-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mil-portfolio-item .mil-cover-frame .mil-cover img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-portfolio-item .mil-cover-frame.mil-vert {
  padding-bottom: 130%;
}

.mil-portfolio-item .mil-cover-frame.mil-hori {
  padding-bottom: 65%;
}

.mil-portfolio-item:hover .mil-cover-frame .mil-cover img {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.mil-portfolio-item.mil-slider-item .mil-cover-frame {
  margin-bottom: 30px;
  height: calc(100vh - 360px);
}

@media screen and (max-width: 992px) {
  .mil-portfolio-item.mil-slider-item .mil-cover-frame {
    height: auto;
    padding-bottom: 100%;
  }
}

.mil-portfolio-item.mil-slider-item .mil-descr {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 180px;
  background-color: rgb(242, 242, 242);
  padding: 0 60px;
}

@media screen and (max-width: 992px) {
  .mil-portfolio-item.mil-slider-item .mil-descr {
    padding: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    height: auto;
  }

  .mil-portfolio-item.mil-slider-item .mil-descr .mil-descr-text {
    margin-bottom: 30px;
  }
}

.mil-portfolio-item.mil-slider-item:hover .mil-cover-frame .mil-cover img {
  -webkit-transform: none;
  transform: none;
}

.swiper-slide .mil-portfolio-item .mil-descr {
  pointer-events: none;
}

.swiper-slide.swiper-slide-active .mil-portfolio-item .mil-descr {
  pointer-events: all;
}

.mil-portfolio {
  position: relative;
}

.mil-portfolio .mil-lines-place {
  position: absolute;
  left: 40.7%;
}

.mil-portfolio .mil-lines-place.mil-lines-long {
  top: 1289px;
}

.mil-portfolio-slider-frame {
  z-index: 0;
  padding-top: 150px;
}

@media screen and (max-width: 992px) {
  .mil-portfolio-slider-frame {
    padding-top: 180px;
  }
}

.mil-portfolio-nav {
  background-color: rgb(242, 242, 242);
  width: 100%;
  padding: 0 60px;
  height: 180px;
  position: absolute;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.mil-portfolio-nav .mil-portfolio-btns-frame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0 15px;
  height: 70px;
  border-radius: 70px;
  background-color: rgb(255, 255, 255);
}

@media screen and (max-width: 992px) {
  .mil-portfolio-nav {
    position: static;
    height: auto;
    padding: 30px 0 90px;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    background-color: rgb(255, 255, 255);
  }

  .mil-portfolio-nav .mil-portfolio-btns-frame {
    width: 100%;
    height: auto;
    padding: 0;
  }
}

.swiper-portfolio-pagination {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 0 15px;
}

.mil-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: 120px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: solid 1px rgba(0, 0, 0, 0.1);
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .mil-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
    padding: 30px;
  }
}

.mil-works-nav {
  padding-top: 60px;
  border-top: solid 1px rgba(0, 0, 0, 0.1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-works-nav .mil-disabled {
  opacity: 0.2;
  cursor: not-allowed;
}

@media screen and (max-width: 768px) {
  .mil-works-nav {
    padding-top: 0;
    border-top: none;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .mil-works-nav .mil-link {
    display: none;
  }

  .mil-works-nav .mil-link:last-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

/***************************

map

***************************/
.mil-map-frame {
  background-color: rgb(229, 229, 229);
  pointer-events: all;
  height: 600px;
  position: relative;
  overflow: hidden;
}

.mil-map-frame .mil-map {
  position: absolute;
  top: -25%;
  left: -25%;
  width: 150%;
  height: 150%;
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-map-frame .mil-map iframe {
  width: 100%;
  height: 100%;
}

/* -------------------------------------------

accordion

------------------------------------------- */
.mil-accordion-group {
  border-bottom: solid 1px rgba(0, 0, 0, 0.2);
  margin-bottom: 30px;
}

.mil-accordion-group .mil-accordion-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  cursor: pointer;
  margin-bottom: 30px;
}

.mil-accordion-group .mil-accordion-menu .mil-symbol {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  color: rgb(0, 0, 0);
  background-color: rgb(229, 229, 229);
  font-size: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}

.mil-accordion-group .mil-accordion-menu .mil-symbol .mil-plus,
.mil-accordion-group .mil-accordion-menu .mil-symbol .mil-minus {
  position: absolute;
}

.mil-accordion-group .mil-accordion-menu .mil-symbol .mil-minus {
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
}

.mil-accordion-group .mil-accordion-menu .mil-accordion-head {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgb(0, 0, 0);
}

.mil-accordion-content {
  height: 0;
  overflow: hidden;
}

/***************************

price

***************************/
.mil-price-card {
  display: block;
  width: 100%;
  border-top: solid 1px rgba(255, 255, 255, 0.1);
  border-bottom: solid 1px rgba(255, 255, 255, 0.1);
  padding: 60px 0 30px;
}

.mil-price-card .mil-price-number {
  padding-top: 10px;
  line-height: 70%;
  font-size: 54px;
  font-weight: 500;
}

.mil-price-card .mil-price-number .mil-thin {
  font-weight: 200;
  font-size: 18px;
}

/***************************

404

***************************/
.mil-404-banner .mil-animation-frame {
  z-index: 2;
}

.mil-404-frame {
  padding-top: 100px;
  height: 100vh; height: -webkit-fill-available;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.mil-404-text {
  display: block;
  text-align: center;
  color: rgb(255, 255, 255);
}

.mil-scale-frame {
  -webkit-transform: scale(2.3);
  transform: scale(2.3);
  text-align: center;
  margin-bottom: 90px;
}

@media screen and (max-width: 530px) {
  .mil-scale-frame {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    margin-bottom: 50px;
  }
}

.mil-404 {
  position: relative;
  color: rgb(255, 255, 255);
  font-size: 6em;
  font-weight: 500;
  animation: glitch-skew 1s infinite linear alternate-reverse;
}

.mil-404::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  left: 2px;
  text-shadow: -2px 0 rgb(255, 152, 0);
  clip: rect(44px, 450px, 56px, 0);
  animation: glitch-anim 5s infinite linear alternate-reverse;
}

.mil-404::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  left: -2px;
  text-shadow: -2px 0 rgb(153, 153, 153), 2px 2px rgb(229, 229, 229);
  animation: glitch-anim2 1s infinite linear alternate-reverse;
}

@-webkit-keyframes glitch-anim {
  0% {
    clip: rect(49px, 9999px, 31px, 0);
    -webkit-transform: skew(0.04deg);
    transform: skew(0.04deg);
  }

  5% {
    clip: rect(63px, 9999px, 92px, 0);
    -webkit-transform: skew(0.18deg);
    transform: skew(0.18deg);
  }

  10% {
    clip: rect(86px, 9999px, 74px, 0);
    -webkit-transform: skew(0.4deg);
    transform: skew(0.4deg);
  }

  15% {
    clip: rect(85px, 9999px, 19px, 0);
    -webkit-transform: skew(0.57deg);
    transform: skew(0.57deg);
  }

  20% {
    clip: rect(64px, 9999px, 75px, 0);
    -webkit-transform: skew(0.96deg);
    transform: skew(0.96deg);
  }

  25% {
    clip: rect(77px, 9999px, 17px, 0);
    -webkit-transform: skew(0.61deg);
    transform: skew(0.61deg);
  }

  30% {
    clip: rect(16px, 9999px, 76px, 0);
    -webkit-transform: skew(0.81deg);
    transform: skew(0.81deg);
  }

  35% {
    clip: rect(5px, 9999px, 61px, 0);
    -webkit-transform: skew(0.56deg);
    transform: skew(0.56deg);
  }

  40% {
    clip: rect(79px, 9999px, 81px, 0);
    -webkit-transform: skew(0.05deg);
    transform: skew(0.05deg);
  }

  45% {
    clip: rect(20px, 9999px, 97px, 0);
    -webkit-transform: skew(0.56deg);
    transform: skew(0.56deg);
  }

  50% {
    clip: rect(33px, 9999px, 100px, 0);
    -webkit-transform: skew(0.16deg);
    transform: skew(0.16deg);
  }

  55% {
    clip: rect(19px, 9999px, 76px, 0);
    -webkit-transform: skew(0.93deg);
    transform: skew(0.93deg);
  }

  60% {
    clip: rect(29px, 9999px, 59px, 0);
    -webkit-transform: skew(0.58deg);
    transform: skew(0.58deg);
  }

  65% {
    clip: rect(19px, 9999px, 95px, 0);
    -webkit-transform: skew(0.83deg);
    transform: skew(0.83deg);
  }

  70% {
    clip: rect(88px, 9999px, 30px, 0);
    -webkit-transform: skew(0.39deg);
    transform: skew(0.39deg);
  }

  75% {
    clip: rect(43px, 9999px, 45px, 0);
    -webkit-transform: skew(0.6deg);
    transform: skew(0.6deg);
  }

  80% {
    clip: rect(30px, 9999px, 4px, 0);
    -webkit-transform: skew(0.89deg);
    transform: skew(0.89deg);
  }

  85% {
    clip: rect(4px, 9999px, 96px, 0);
    -webkit-transform: skew(1deg);
    transform: skew(1deg);
  }

  90% {
    clip: rect(4px, 9999px, 91px, 0);
    -webkit-transform: skew(0.2deg);
    transform: skew(0.2deg);
  }

  95% {
    clip: rect(48px, 9999px, 80px, 0);
    -webkit-transform: skew(0.41deg);
    transform: skew(0.41deg);
  }

  100% {
    clip: rect(10px, 9999px, 58px, 0);
    -webkit-transform: skew(0.91deg);
    transform: skew(0.91deg);
  }
}

@keyframes glitch-anim {
  0% {
    clip: rect(49px, 9999px, 31px, 0);
    -webkit-transform: skew(0.04deg);
    transform: skew(0.04deg);
  }

  5% {
    clip: rect(63px, 9999px, 92px, 0);
    -webkit-transform: skew(0.18deg);
    transform: skew(0.18deg);
  }

  10% {
    clip: rect(86px, 9999px, 74px, 0);
    -webkit-transform: skew(0.4deg);
    transform: skew(0.4deg);
  }

  15% {
    clip: rect(85px, 9999px, 19px, 0);
    -webkit-transform: skew(0.57deg);
    transform: skew(0.57deg);
  }

  20% {
    clip: rect(64px, 9999px, 75px, 0);
    -webkit-transform: skew(0.96deg);
    transform: skew(0.96deg);
  }

  25% {
    clip: rect(77px, 9999px, 17px, 0);
    -webkit-transform: skew(0.61deg);
    transform: skew(0.61deg);
  }

  30% {
    clip: rect(16px, 9999px, 76px, 0);
    -webkit-transform: skew(0.81deg);
    transform: skew(0.81deg);
  }

  35% {
    clip: rect(5px, 9999px, 61px, 0);
    -webkit-transform: skew(0.56deg);
    transform: skew(0.56deg);
  }

  40% {
    clip: rect(79px, 9999px, 81px, 0);
    -webkit-transform: skew(0.05deg);
    transform: skew(0.05deg);
  }

  45% {
    clip: rect(20px, 9999px, 97px, 0);
    -webkit-transform: skew(0.56deg);
    transform: skew(0.56deg);
  }

  50% {
    clip: rect(33px, 9999px, 100px, 0);
    -webkit-transform: skew(0.16deg);
    transform: skew(0.16deg);
  }

  55% {
    clip: rect(19px, 9999px, 76px, 0);
    -webkit-transform: skew(0.93deg);
    transform: skew(0.93deg);
  }

  60% {
    clip: rect(29px, 9999px, 59px, 0);
    -webkit-transform: skew(0.58deg);
    transform: skew(0.58deg);
  }

  65% {
    clip: rect(19px, 9999px, 95px, 0);
    -webkit-transform: skew(0.83deg);
    transform: skew(0.83deg);
  }

  70% {
    clip: rect(88px, 9999px, 30px, 0);
    -webkit-transform: skew(0.39deg);
    transform: skew(0.39deg);
  }

  75% {
    clip: rect(43px, 9999px, 45px, 0);
    -webkit-transform: skew(0.6deg);
    transform: skew(0.6deg);
  }

  80% {
    clip: rect(30px, 9999px, 4px, 0);
    -webkit-transform: skew(0.89deg);
    transform: skew(0.89deg);
  }

  85% {
    clip: rect(4px, 9999px, 96px, 0);
    -webkit-transform: skew(1deg);
    transform: skew(1deg);
  }

  90% {
    clip: rect(4px, 9999px, 91px, 0);
    -webkit-transform: skew(0.2deg);
    transform: skew(0.2deg);
  }

  95% {
    clip: rect(48px, 9999px, 80px, 0);
    -webkit-transform: skew(0.41deg);
    transform: skew(0.41deg);
  }

  100% {
    clip: rect(10px, 9999px, 58px, 0);
    -webkit-transform: skew(0.91deg);
    transform: skew(0.91deg);
  }
}

@-webkit-keyframes glitch-anim2 {
  0% {
    clip: rect(97px, 9999px, 84px, 0);
    -webkit-transform: skew(0.55deg);
    transform: skew(0.55deg);
  }

  5% {
    clip: rect(82px, 9999px, 21px, 0);
    -webkit-transform: skew(0.04deg);
    transform: skew(0.04deg);
  }

  10% {
    clip: rect(51px, 9999px, 99px, 0);
    -webkit-transform: skew(0.93deg);
    transform: skew(0.93deg);
  }

  15% {
    clip: rect(42px, 9999px, 97px, 0);
    -webkit-transform: skew(0.03deg);
    transform: skew(0.03deg);
  }

  20% {
    clip: rect(27px, 9999px, 25px, 0);
    -webkit-transform: skew(0.86deg);
    transform: skew(0.86deg);
  }

  25% {
    clip: rect(69px, 9999px, 5px, 0);
    -webkit-transform: skew(0.95deg);
    transform: skew(0.95deg);
  }

  30% {
    clip: rect(38px, 9999px, 67px, 0);
    -webkit-transform: skew(0.33deg);
    transform: skew(0.33deg);
  }

  35% {
    clip: rect(8px, 9999px, 90px, 0);
    -webkit-transform: skew(0.67deg);
    transform: skew(0.67deg);
  }

  40% {
    clip: rect(34px, 9999px, 31px, 0);
    -webkit-transform: skew(0.33deg);
    transform: skew(0.33deg);
  }

  45% {
    clip: rect(1px, 9999px, 25px, 0);
    -webkit-transform: skew(0.71deg);
    transform: skew(0.71deg);
  }

  50% {
    clip: rect(45px, 9999px, 40px, 0);
    -webkit-transform: skew(0.38deg);
    transform: skew(0.38deg);
  }

  55% {
    clip: rect(84px, 9999px, 96px, 0);
    -webkit-transform: skew(0.3deg);
    transform: skew(0.3deg);
  }

  60% {
    clip: rect(68px, 9999px, 59px, 0);
    -webkit-transform: skew(0.35deg);
    transform: skew(0.35deg);
  }

  65% {
    clip: rect(93px, 9999px, 48px, 0);
    -webkit-transform: skew(0.25deg);
    transform: skew(0.25deg);
  }

  70% {
    clip: rect(19px, 9999px, 40px, 0);
    -webkit-transform: skew(0.97deg);
    transform: skew(0.97deg);
  }

  75% {
    clip: rect(76px, 9999px, 56px, 0);
    -webkit-transform: skew(0.79deg);
    transform: skew(0.79deg);
  }

  80% {
    clip: rect(22px, 9999px, 82px, 0);
    -webkit-transform: skew(0.48deg);
    transform: skew(0.48deg);
  }

  85% {
    clip: rect(30px, 9999px, 63px, 0);
    -webkit-transform: skew(0.91deg);
    transform: skew(0.91deg);
  }

  90% {
    clip: rect(68px, 9999px, 44px, 0);
    -webkit-transform: skew(0.4deg);
    transform: skew(0.4deg);
  }

  95% {
    clip: rect(12px, 9999px, 36px, 0);
    -webkit-transform: skew(0.61deg);
    transform: skew(0.61deg);
  }

  100% {
    clip: rect(24px, 9999px, 5px, 0);
    -webkit-transform: skew(0.96deg);
    transform: skew(0.96deg);
  }
}

@keyframes glitch-anim2 {
  0% {
    clip: rect(97px, 9999px, 84px, 0);
    -webkit-transform: skew(0.55deg);
    transform: skew(0.55deg);
  }

  5% {
    clip: rect(82px, 9999px, 21px, 0);
    -webkit-transform: skew(0.04deg);
    transform: skew(0.04deg);
  }

  10% {
    clip: rect(51px, 9999px, 99px, 0);
    -webkit-transform: skew(0.93deg);
    transform: skew(0.93deg);
  }

  15% {
    clip: rect(42px, 9999px, 97px, 0);
    -webkit-transform: skew(0.03deg);
    transform: skew(0.03deg);
  }

  20% {
    clip: rect(27px, 9999px, 25px, 0);
    -webkit-transform: skew(0.86deg);
    transform: skew(0.86deg);
  }

  25% {
    clip: rect(69px, 9999px, 5px, 0);
    -webkit-transform: skew(0.95deg);
    transform: skew(0.95deg);
  }

  30% {
    clip: rect(38px, 9999px, 67px, 0);
    -webkit-transform: skew(0.33deg);
    transform: skew(0.33deg);
  }

  35% {
    clip: rect(8px, 9999px, 90px, 0);
    -webkit-transform: skew(0.67deg);
    transform: skew(0.67deg);
  }

  40% {
    clip: rect(34px, 9999px, 31px, 0);
    -webkit-transform: skew(0.33deg);
    transform: skew(0.33deg);
  }

  45% {
    clip: rect(1px, 9999px, 25px, 0);
    -webkit-transform: skew(0.71deg);
    transform: skew(0.71deg);
  }

  50% {
    clip: rect(45px, 9999px, 40px, 0);
    -webkit-transform: skew(0.38deg);
    transform: skew(0.38deg);
  }

  55% {
    clip: rect(84px, 9999px, 96px, 0);
    -webkit-transform: skew(0.3deg);
    transform: skew(0.3deg);
  }

  60% {
    clip: rect(68px, 9999px, 59px, 0);
    -webkit-transform: skew(0.35deg);
    transform: skew(0.35deg);
  }

  65% {
    clip: rect(93px, 9999px, 48px, 0);
    -webkit-transform: skew(0.25deg);
    transform: skew(0.25deg);
  }

  70% {
    clip: rect(19px, 9999px, 40px, 0);
    -webkit-transform: skew(0.97deg);
    transform: skew(0.97deg);
  }

  75% {
    clip: rect(76px, 9999px, 56px, 0);
    -webkit-transform: skew(0.79deg);
    transform: skew(0.79deg);
  }

  80% {
    clip: rect(22px, 9999px, 82px, 0);
    -webkit-transform: skew(0.48deg);
    transform: skew(0.48deg);
  }

  85% {
    clip: rect(30px, 9999px, 63px, 0);
    -webkit-transform: skew(0.91deg);
    transform: skew(0.91deg);
  }

  90% {
    clip: rect(68px, 9999px, 44px, 0);
    -webkit-transform: skew(0.4deg);
    transform: skew(0.4deg);
  }

  95% {
    clip: rect(12px, 9999px, 36px, 0);
    -webkit-transform: skew(0.61deg);
    transform: skew(0.61deg);
  }

  100% {
    clip: rect(24px, 9999px, 5px, 0);
    -webkit-transform: skew(0.96deg);
    transform: skew(0.96deg);
  }
}

@-webkit-keyframes glitch-skew {
  0% {
    -webkit-transform: skew(3deg);
    transform: skew(3deg);
  }

  10% {
    -webkit-transform: skew(2deg);
    transform: skew(2deg);
  }

  20% {
    -webkit-transform: skew(0deg);
    transform: skew(0deg);
  }

  30% {
    -webkit-transform: skew(0deg);
    transform: skew(0deg);
  }

  40% {
    -webkit-transform: skew(2deg);
    transform: skew(2deg);
  }

  50% {
    -webkit-transform: skew(-1deg);
    transform: skew(-1deg);
  }

  60% {
    -webkit-transform: skew(-3deg);
    transform: skew(-3deg);
  }

  70% {
    -webkit-transform: skew(-1deg);
    transform: skew(-1deg);
  }

  80% {
    -webkit-transform: skew(-1deg);
    transform: skew(-1deg);
  }

  90% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  100% {
    -webkit-transform: skew(-3deg);
    transform: skew(-3deg);
  }
}

@keyframes glitch-skew {
  0% {
    -webkit-transform: skew(3deg);
    transform: skew(3deg);
  }

  10% {
    -webkit-transform: skew(2deg);
    transform: skew(2deg);
  }

  20% {
    -webkit-transform: skew(0deg);
    transform: skew(0deg);
  }

  30% {
    -webkit-transform: skew(0deg);
    transform: skew(0deg);
  }

  40% {
    -webkit-transform: skew(2deg);
    transform: skew(2deg);
  }

  50% {
    -webkit-transform: skew(-1deg);
    transform: skew(-1deg);
  }

  60% {
    -webkit-transform: skew(-3deg);
    transform: skew(-3deg);
  }

  70% {
    -webkit-transform: skew(-1deg);
    transform: skew(-1deg);
  }

  80% {
    -webkit-transform: skew(-1deg);
    transform: skew(-1deg);
  }

  90% {
    -webkit-transform: skew(4deg);
    transform: skew(4deg);
  }

  100% {
    -webkit-transform: skew(-3deg);
    transform: skew(-3deg);
  }
}

/***************************

images

***************************/
.mil-image-frame {
  position: relative;
  overflow: hidden;
}

.mil-image-frame>img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.mil-image-frame.mil-horizontal {
  padding-bottom: 65%;
}

.mil-image-frame.mil-vertical {
  padding-bottom: 140%;
}

.mil-image-frame.mil-square {
  padding-bottom: 100%;
}

.mil-image-frame.mil-fw {
  padding-bottom: 50%;
}

.mil-image-frame .mil-zoom-btn {
  opacity: 0;
  -webkit-transform: translateY(15px);
  transform: translateY(15px);
  position: absolute;
  top: 30px;
  right: 30px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

.mil-image-frame .mil-zoom-btn:hover {
  background-color: rgb(255, 255, 255);
}

.mil-image-frame .mil-zoom-btn img {
  height: 17px;
  width: 17px;
}

.mil-image-frame:hover .mil-zoom-btn {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  z-index: 2;
}

/***************************

page transitions

***************************/
.mil-frame {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

.mil-curtain {
  position: fixed;
  pointer-events: none;
  z-index: 4;
  background-color: rgb(0, 0, 0);
  opacity: 0;
  width: 100%;
  height: 100vh; height: -webkit-fill-available;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

.mil-main-transition {
  -webkit-transition: 0.6s;
  transition: 0.6s;
  margin-top: 0;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.mil-main-transition .mil-animation-frame {
  opacity: 1;
  margin-top: 0;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.mil-main-transition .mil-lines-place {
  opacity: 1;
  margin-top: 0;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

html.is-animating .mil-frame {
  opacity: 0;
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
}

@media screen and (max-width: 1200px) {
  html.is-animating .mil-frame {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

html.is-animating .mil-curtain {
  opacity: 1;
  pointer-events: all;
}

html.is-animating .mil-main-transition {
  margin-top: 0.1px;
}

html.is-animating .mil-main-transition .mil-animation-frame {
  opacity: 0;
  margin-top: -90px;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

html.is-animating .mil-main-transition .mil-lines-place {
  opacity: 0;
  margin-top: 90px;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

html.is-animating .mil-menu-frame {
  opacity: 0;
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

/* Restored Recovery Styles */

/* Custom Recovery Styles */
.mil-banner-personal .mil-animation .mil-pentagon div {
  border-top-color: #ffffff !important;
  border-top-width: 2px !important;
  opacity: 0.8 !important;
}

.mil-banner-personal .mil-animation.mil-dark .mil-pentagon div,
.mil-banner-personal .mil-animation.mil-light .mil-pentagon div {
  border-top-color: #ffffff !important;
  opacity: 0.8 !important;
}

/* Venue Section - Polaroid Cards */
.mil-venue-gallery {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.mil-venue-card {
  width: 250px;
  height: 300px;
  background-color: #fff;
  padding: 10px 10px 40px 10px;
  /* larger bottom padding for polaroid look */
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
  transition: transform 0.3s ease;
  position: relative;
  border: 1px solid #eee;
}

.mil-venue-card:hover {
  transform: scale(1.05) rotate(0deg) !important;
  z-index: 10 !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.mil-card-img {
  width: 100%;
  height: 100%;
  background-color: #eee;
  overflow: hidden;
}

.mil-p-90-90 {
  padding: 90px 0;
}

/* Rain Animation Background */
.mil-rain-animation {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: #cae9f1;
  background-image: radial-gradient(4px 100px at 0px 235px, #272257, #0000),
    radial-gradient(4px 100px at 300px 235px, #272257, #0000),
    radial-gradient(1.5px 1.5px at 150px 117.5px, #272257 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 252px, #272257, #0000),
    radial-gradient(4px 100px at 300px 252px, #272257, #0000),
    radial-gradient(1.5px 1.5px at 150px 126px, #272257 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 150px, #272257, #0000),
    radial-gradient(4px 100px at 300px 150px, #272257, #0000),
    radial-gradient(1.5px 1.5px at 150px 75px, #272257 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 253px, #272257, #0000),
    radial-gradient(4px 100px at 300px 253px, #272257, #0000),
    radial-gradient(1.5px 1.5px at 150px 126.5px, #272257 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 204px, #272257, #0000),
    radial-gradient(4px 100px at 300px 204px, #272257, #0000),
    radial-gradient(1.5px 1.5px at 150px 102px, #272257 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 134px, #272257, #0000),
    radial-gradient(4px 100px at 300px 134px, #272257, #0000),
    radial-gradient(1.5px 1.5px at 150px 67px, #272257 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 179px, #272257, #0000),
    radial-gradient(4px 100px at 300px 179px, #272257, #0000),
    radial-gradient(1.5px 1.5px at 150px 89.5px, #272257 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 299px, #272257, #0000),
    radial-gradient(4px 100px at 300px 299px, #272257, #0000),
    radial-gradient(1.5px 1.5px at 150px 149.5px, #272257 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 215px, #272257, #0000),
    radial-gradient(4px 100px at 300px 215px, #272257, #0000),
    radial-gradient(1.5px 1.5px at 150px 107.5px, #272257 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 281px, #272257, #0000),
    radial-gradient(4px 100px at 300px 281px, #272257, #0000),
    radial-gradient(1.5px 1.5px at 150px 140.5px, #272257 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 158px, #272257, #0000),
    radial-gradient(4px 100px at 300px 158px, #272257, #0000),
    radial-gradient(1.5px 1.5px at 150px 79px, #272257 100%, #0000 150%),
    radial-gradient(4px 100px at 0px 210px, #272257, #0000),
    radial-gradient(4px 100px at 300px 210px, #272257, #0000),
    radial-gradient(1.5px 1.5px at 150px 105px, #272257 100%, #0000 150%);
  background-size:
    300px 235px,
    300px 235px,
    300px 235px,
    300px 252px,
    300px 252px,
    300px 252px,
    300px 150px,
    300px 150px,
    300px 150px,
    300px 253px,
    300px 253px,
    300px 253px,
    300px 204px,
    300px 204px,
    300px 204px,
    300px 134px,
    300px 134px,
    300px 134px,
    300px 179px,
    300px 179px,
    300px 179px,
    300px 299px,
    300px 299px,
    300px 299px,
    300px 215px,
    300px 215px,
    300px 215px,
    300px 281px,
    300px 281px,
    300px 281px,
    300px 158px,
    300px 158px,
    300px 158px,
    300px 210px,
    300px 210px,
    300px 210px;
  animation: bg-rain 150s linear infinite;
}

@keyframes bg-rain {
  0% {
    background-position:
      0px 220px,
      3px 220px,
      151.5px 337.5px,
      25px 24px,
      28px 24px,
      176.5px 150px,
      50px 16px,
      53px 16px,
      201.5px 91px,
      75px 224px,
      78px 224px,
      226.5px 350.5px,
      100px 19px,
      103px 19px,
      251.5px 121px,
      125px 120px,
      128px 120px,
      276.5px 187px,
      150px 31px,
      153px 31px,
      301.5px 120.5px,
      175px 235px,
      178px 235px,
      326.5px 384.5px,
      200px 121px,
      203px 121px,
      351.5px 228.5px,
      225px 224px,
      228px 224px,
      376.5px 364.5px,
      250px 26px,
      253px 26px,
      401.5px 105px,
      275px 75px,
      278px 75px,
      426.5px 180px;
  }

  to {
    background-position:
      0px 6800px,
      3px 6800px,
      151.5px 6917.5px,
      25px 13632px,
      28px 13632px,
      176.5px 13758px,
      50px 5416px,
      53px 5416px,
      201.5px 5491px,
      75px 17175px,
      78px 17175px,
      226.5px 17301.5px,
      100px 5119px,
      103px 5119px,
      251.5px 5221px,
      125px 8428px,
      128px 8428px,
      276.5px 8495px,
      150px 9876px,
      153px 9876px,
      301.5px 9965.5px,
      175px 13391px,
      178px 13391px,
      326.5px 13540.5px,
      200px 14741px,
      203px 14741px,
      351.5px 14848.5px,
      225px 18770px,
      228px 18770px,
      376.5px 18910.5px,
      250px 5082px,
      253px 5082px,
      401.5px 5161px,
      275px 6375px,
      278px 6375px,
      426.5px 6480px;
  }
}

/* Stars Animation Styles */
/* Stars Animation Background */
.mil-stars-background {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: radial-gradient(ellipse at bottom, #1b2735 0%, #090a0f 100%);
  overflow: hidden;
  z-index: 0;
}

#stars {
  width: 1px;
  height: 1px;
  background: transparent;
  box-shadow:
    1744px 122px #FFF,
    134px 1321px #FFF,
    92px 859px #FFF,
    1670px 626px #FFF,
    424px 1361px #FFF,
    1378px 304px #FFF,
    110px 1058px #FFF,
    1694px 982px #FFF,
    642px 1476px #FFF,
    1858px 1222px #FFF,
    1626px 1640px #FFF,
    715px 446px #FFF,
    994px 1269px #FFF,
    1496px 871px #FFF,
    50px 1603px #FFF,
    1346px 617px #FFF,
    459px 1015px #FFF,
    1455px 1729px #FFF,
    345px 827px #FFF,
    588px 1324px #FFF,
    756px 1475px #FFF,
    1156px 973px #FFF,
    167px 1152px #FFF,
    939px 255px #FFF,
    1226px 600px #FFF,
    1738px 1656px #FFF,
    450px 1749px #FFF,
    1231px 1195px #FFF,
    1388px 1565px #FFF,
    1555px 1345px #FFF,
    882px 1032px #FFF,
    142px 653px #FFF,
    521px 1640px #FFF,
    975px 1435px #FFF,
    180px 109px #FFF,
    159px 1121px #FFF,
    1852px 1782px #FFF,
    723px 1515px #FFF,
    289px 584px #FFF,
    1639px 345px #FFF,
    864px 621px #FFF,
    1645px 1726px #FFF,
    910px 1654px #FFF,
    1465px 414px #FFF,
    923px 305px #FFF,
    1693px 803px #FFF,
    1124px 1435px #FFF,
    1377px 741px #FFF,
    1896px 1500px #FFF,
    518px 439px #FFF,
    155px 1109px #FFF,
    1230px 486px #FFF,
    1320px 806px #FFF,
    1793px 1266px #FFF,
    500px 96px #FFF,
    642px 413px #FFF,
    1407px 122px #FFF,
    406px 1327px #FFF,
    587px 277px #FFF,
    760px 229px #FFF,
    1240px 1564px #FFF,
    1419px 1215px #FFF,
    877px 629px #FFF,
    123px 1599px #FFF,
    851px 1319px #FFF,
    1148px 1441px #FFF,
    135px 260px #FFF,
    1385px 1296px #FFF,
    1659px 871px #FFF,
    569px 1218px #FFF,
    347px 788px #FFF,
    1670px 1516px #FFF,
    1890px 487px #FFF,
    1322px 1346px #FFF,
    1681px 717px #FFF,
    273px 1229px #FFF,
    82px 695px #FFF,
    465px 1709px #FFF,
    1560px 1795px #FFF,
    1135px 1682px #FFF,
    681px 151px #FFF,
    1518px 1417px #FFF,
    1433px 93px #FFF,
    335px 233px #FFF,
    1200px 1198px #FFF,
    366px 1236px #FFF,
    502px 1017px #FFF,
    1548px 1520px #FFF,
    71px 969px #FFF,
    187px 590px #FFF,
    1455px 584px #FFF,
    82px 1343px #FFF,
    617px 610px #FFF,
    677px 520px #FFF,
    259px 1083px #FFF,
    1248px 899px #FFF,
    424px 600px #FFF,
    1071px 283px #FFF,
    1354px 174px #FFF,
    292px 144px #FFF,
    150px 107px #FFF,
    729px 1045px #FFF,
    205px 756px #FFF,
    63px 1475px #FFF,
    1368px 1690px #FFF,
    261px 370px #FFF,
    642px 1604px #FFF,
    276px 376px #FFF,
    551px 406px #FFF,
    1793px 809px #FFF,
    1712px 1594px #FFF,
    1828px 432px #FFF,
    1768px 936px #FFF,
    1877px 34px #FFF,
    178px 1656px #FFF,
    1271px 1221px #FFF,
    1874px 1261px #FFF,
    724px 1194px #FFF,
    1522px 512px #FFF,
    965px 257px #FFF,
    1653px 486px #FFF,
    1608px 650px #FFF,
    185px 530px #FFF,
    1040px 661px #FFF,
    163px 444px #FFF,
    1775px 1573px #FFF,
    1061px 1137px #FFF,
    210px 1403px #FFF,
    1052px 97px #FFF,
    272px 1459px #FFF,
    1557px 551px #FFF,
    930px 1779px #FFF,
    1135px 208px #FFF,
    904px 1747px #FFF,
    801px 171px #FFF,
    714px 260px #FFF,
    1336px 970px #FFF,
    167px 369px #FFF,
    664px 387px #FFF,
    1826px 1445px #FFF,
    1745px 1073px #FFF,
    1024px 1269px #FFF,
    1463px 1007px #FFF,
    342px 790px #FFF,
    1016px 1317px #FFF,
    699px 165px #FFF,
    456px 1603px #FFF,
    1881px 871px #FFF,
    322px 1572px #FFF,
    879px 610px #FFF,
    1698px 1361px #FFF,
    1465px 691px #FFF,
    347px 1652px #FFF,
    1007px 1159px #FFF,
    1339px 233px #FFF,
    1074px 1667px #FFF,
    683px 1747px #FFF,
    873px 1709px #FFF,
    1643px 211px #FFF,
    1199px 827px #FFF,
    867px 1182px #FFF,
    1475px 229px #FFF,
    269px 728px #FFF,
    508px 1160px #FFF,
    104px 1215px #FFF,
    142px 1735px #FFF,
    739px 1215px #FFF,
    1593px 85px #FFF,
    1316px 1637px #FFF,
    584px 926px #FFF,
    1793px 1056px #FFF,
    1301px 1461px #FFF,
    1647px 1386px #FFF,
    377px 621px #FFF,
    1734px 1303px #FFF,
    1898px 571px #FFF,
    1488px 1205px #FFF,
    1131px 653px #FFF,
    1472px 1256px #FFF,
    289px 744px #FFF,
    1729px 1163px #FFF,
    178px 1083px #FFF,
    140px 1032px #FFF,
    1843px 439px #FFF,
    143px 839px #FFF,
    1346px 632px #FFF,
    1105px 713px #FFF,
    282px 304px #FFF,
    436px 1563px #FFF,
    849px 164px #FFF,
    121px 1459px #FFF,
    1833px 1782px #FFF,
    1786px 836px #FFF,
    1670px 1421px #FFF,
    354px 1118px #FFF,
    597px 424px #FFF,
    1918px 486px #FFF,
    1757px 1309px #FFF,
    1473px 899px #FFF,
    1297px 1017px #FFF,
    485px 1210px #FFF,
    299px 233px #FFF,
    751px 542px #FFF,
    738px 1341px #FFF,
    646px 609px #FFF,
    1613px 844px #FFF,
    954px 387px #FFF,
    1792px 1629px #FFF,
    960px 480px #FFF,
    363px 1485px #FFF,
    1423px 1779px #FFF,
    1536px 871px #FFF,
    364px 326px #FFF,
    414px 1664px #FFF,
    873px 299px #FFF,
    508px 678px #FFF,
    577px 1496px #FFF,
    1001px 1210px #FFF,
    1764px 1242px #FFF,
    617px 854px #FFF,
    1557px 1450px #FFF,
    1911px 1139px #FFF,
    15px 445px #FFF,
    1033px 1318px #FFF,
    1773px 432px #FFF,
    1329px 1770px #FFF,
    1233px 783px #FFF,
    1441px 717px #FFF,
    551px 85px #FFF,
    1548px 1775px #FFF,
    108px 97px #FFF,
    620px 489px #FFF,
    683px 1464px #FFF,
    1902px 260px #FFF,
    1032px 1475px #FFF,
    576px 1740px #FFF,
    1109px 1210px #FFF,
    300px 305px #FFF,
    462px 1016px #FFF,
    932px 414px #FFF,
    1669px 929px #FFF,
    162px 107px #FFF,
    462px 299px #FFF,
    1783px 303px #FFF,
    135px 490px #FFF,
    366px 207px #FFF,
    1032px 534px #FFF,
    448px 877px #FFF,
    1084px 311px #FFF,
    1268px 1293px #FFF,
    1003px 318px #FFF,
    1909px 877px #FFF,
    1529px 406px #FFF,
    1328px 233px #FFF,
    1772px 1445px #FFF,
    1692px 1461px #FFF,
    537px 748px #FFF,
    616px 970px #FFF,
    1729px 381px #FFF,
    1205px 436px #FFF,
    946px 748px #FFF,
    1500px 179px #FFF,
    651px 664px #FFF,
    1659px 1636px #FFF,
    771px 1211px #FFF,
    625px 470px #FFF,
    1359px 1222px #FFF,
    1480px 482px #FFF,
    700px 1024px #FFF,
    377px 857px #FFF,
    1423px 1422px #FFF,
    329px 763px #FFF,
    642px 1283px #FFF,
    287px 707px #FFF,
    1277px 1152px #FFF,
    57px 590px #FFF,
    1039px 219px #FFF,
    597px 55px #FFF,
    839px 235px #FFF,
    1023px 1726px #FFF,
    664px 601px #FFF,
    268px 1242px #FFF,
    1518px 1729px #FFF,
    1299px 1317px #FFF,
    867px 329px #FFF,
    1498px 972px #FFF;
  animation: animStar 50s linear infinite;
}

#stars:after {
  content: " ";
  position: absolute;
  top: 2000px;
  width: 1px;
  height: 1px;
  background: transparent;
  box-shadow:
    1744px 122px #FFF,
    134px 1321px #FFF,
    92px 859px #FFF,
    1670px 626px #FFF,
    424px 1361px #FFF,
    1378px 304px #FFF,
    110px 1058px #FFF,
    1694px 982px #FFF,
    642px 1476px #FFF,
    1858px 1222px #FFF,
    1626px 1640px #FFF,
    715px 446px #FFF,
    994px 1269px #FFF,
    1496px 871px #FFF,
    50px 1603px #FFF,
    1346px 617px #FFF,
    459px 1015px #FFF,
    1455px 1729px #FFF,
    345px 827px #FFF,
    588px 1324px #FFF,
    756px 1475px #FFF,
    1156px 973px #FFF,
    167px 1152px #FFF,
    939px 255px #FFF,
    1226px 600px #FFF,
    1738px 1656px #FFF,
    450px 1749px #FFF,
    1231px 1195px #FFF,
    1388px 1565px #FFF,
    1555px 1345px #FFF,
    882px 1032px #FFF,
    142px 653px #FFF,
    521px 1640px #FFF,
    975px 1435px #FFF,
    180px 109px #FFF,
    159px 1121px #FFF,
    1852px 1782px #FFF,
    723px 1515px #FFF,
    289px 584px #FFF,
    1639px 345px #FFF,
    864px 621px #FFF,
    1645px 1726px #FFF,
    910px 1654px #FFF,
    1465px 414px #FFF,
    923px 305px #FFF,
    1693px 803px #FFF,
    1124px 1435px #FFF,
    1377px 741px #FFF,
    1896px 1500px #FFF,
    518px 439px #FFF,
    155px 1109px #FFF,
    1230px 486px #FFF,
    1320px 806px #FFF,
    1793px 1266px #FFF,
    500px 96px #FFF,
    642px 413px #FFF,
    1407px 122px #FFF,
    406px 1327px #FFF,
    587px 277px #FFF,
    760px 229px #FFF,
    1240px 1564px #FFF,
    1419px 1215px #FFF,
    877px 629px #FFF,
    123px 1599px #FFF,
    851px 1319px #FFF,
    1148px 1441px #FFF,
    135px 260px #FFF,
    1385px 1296px #FFF,
    1659px 871px #FFF,
    569px 1218px #FFF,
    347px 788px #FFF,
    1670px 1516px #FFF,
    1890px 487px #FFF,
    1322px 1346px #FFF,
    1681px 717px #FFF,
    273px 1229px #FFF,
    82px 695px #FFF,
    465px 1709px #FFF,
    1560px 1795px #FFF,
    1135px 1682px #FFF,
    681px 151px #FFF,
    1518px 1417px #FFF,
    1433px 93px #FFF,
    335px 233px #FFF,
    1200px 1198px #FFF,
    366px 1236px #FFF,
    502px 1017px #FFF,
    1548px 1520px #FFF,
    71px 969px #FFF,
    187px 590px #FFF,
    1455px 584px #FFF,
    82px 1343px #FFF,
    617px 610px #FFF,
    677px 520px #FFF,
    259px 1083px #FFF,
    1248px 899px #FFF,
    424px 600px #FFF,
    1071px 283px #FFF,
    1354px 174px #FFF,
    292px 144px #FFF,
    150px 107px #FFF,
    729px 1045px #FFF,
    205px 756px #FFF,
    63px 1475px #FFF,
    1368px 1690px #FFF,
    261px 370px #FFF,
    642px 1604px #FFF,
    276px 376px #FFF,
    551px 406px #FFF,
    1793px 809px #FFF,
    1712px 1594px #FFF,
    1828px 432px #FFF,
    1768px 936px #FFF,
    1877px 34px #FFF,
    178px 1656px #FFF,
    1271px 1221px #FFF,
    1874px 1261px #FFF,
    724px 1194px #FFF,
    1522px 512px #FFF,
    965px 257px #FFF,
    1653px 486px #FFF,
    1608px 650px #FFF,
    185px 530px #FFF,
    1040px 661px #FFF,
    163px 444px #FFF,
    1775px 1573px #FFF,
    1061px 1137px #FFF,
    210px 1403px #FFF,
    1052px 97px #FFF,
    272px 1459px #FFF,
    1557px 551px #FFF,
    930px 1779px #FFF,
    1135px 208px #FFF,
    904px 1747px #FFF,
    801px 171px #FFF,
    714px 260px #FFF,
    1336px 970px #FFF,
    167px 369px #FFF,
    664px 387px #FFF,
    1826px 1445px #FFF,
    1745px 1073px #FFF,
    1024px 1269px #FFF,
    1463px 1007px #FFF,
    342px 790px #FFF,
    1016px 1317px #FFF,
    699px 165px #FFF,
    456px 1603px #FFF,
    1881px 871px #FFF,
    322px 1572px #FFF,
    879px 610px #FFF,
    1698px 1361px #FFF,
    1465px 691px #FFF,
    347px 1652px #FFF,
    1007px 1159px #FFF,
    1339px 233px #FFF,
    1074px 1667px #FFF,
    683px 1747px #FFF,
    873px 1709px #FFF,
    1643px 211px #FFF,
    1199px 827px #FFF,
    867px 1182px #FFF,
    1475px 229px #FFF,
    269px 728px #FFF,
    508px 1160px #FFF,
    104px 1215px #FFF,
    142px 1735px #FFF,
    739px 1215px #FFF,
    1593px 85px #FFF,
    1316px 1637px #FFF,
    584px 926px #FFF,
    1793px 1056px #FFF,
    1301px 1461px #FFF,
    1647px 1386px #FFF,
    377px 621px #FFF,
    1734px 1303px #FFF,
    1898px 571px #FFF,
    1488px 1205px #FFF,
    1131px 653px #FFF,
    1472px 1256px #FFF,
    289px 744px #FFF,
    1729px 1163px #FFF,
    178px 1083px #FFF,
    140px 1032px #FFF,
    1843px 439px #FFF,
    143px 839px #FFF,
    1346px 632px #FFF,
    1105px 713px #FFF,
    282px 304px #FFF,
    436px 1563px #FFF,
    849px 164px #FFF,
    121px 1459px #FFF,
    1833px 1782px #FFF,
    1786px 836px #FFF,
    1670px 1421px #FFF,
    354px 1118px #FFF,
    597px 424px #FFF,
    1918px 486px #FFF,
    1757px 1309px #FFF,
    1473px 899px #FFF,
    1297px 1017px #FFF,
    485px 1210px #FFF,
    299px 233px #FFF,
    751px 542px #FFF,
    738px 1341px #FFF,
    646px 609px #FFF,
    1613px 844px #FFF,
    954px 387px #FFF,
    1792px 1629px #FFF,
    960px 480px #FFF,
    363px 1485px #FFF,
    1423px 1779px #FFF,
    1536px 871px #FFF,
    364px 326px #FFF,
    414px 1664px #FFF,
    873px 299px #FFF,
    508px 678px #FFF,
    577px 1496px #FFF,
    1001px 1210px #FFF,
    1764px 1242px #FFF,
    617px 854px #FFF,
    1557px 1450px #FFF,
    1911px 1139px #FFF,
    15px 445px #FFF,
    1033px 1318px #FFF,
    1773px 432px #FFF,
    1329px 1770px #FFF,
    1233px 783px #FFF,
    1441px 717px #FFF,
    551px 85px #FFF,
    1548px 1775px #FFF,
    108px 97px #FFF,
    620px 489px #FFF,
    683px 1464px #FFF,
    1902px 260px #FFF,
    1032px 1475px #FFF,
    576px 1740px #FFF,
    1109px 1210px #FFF,
    300px 305px #FFF,
    462px 1016px #FFF,
    932px 414px #FFF,
    1669px 929px #FFF,
    162px 107px #FFF,
    462px 299px #FFF,
    1783px 303px #FFF,
    135px 490px #FFF,
    366px 207px #FFF,
    1032px 534px #FFF,
    448px 877px #FFF,
    1084px 311px #FFF,
    1268px 1293px #FFF,
    1003px 318px #FFF,
    1909px 877px #FFF,
    1529px 406px #FFF,
    1328px 233px #FFF,
    1772px 1445px #FFF,
    1692px 1461px #FFF,
    537px 748px #FFF,
    616px 970px #FFF,
    1729px 381px #FFF,
    1205px 436px #FFF,
    946px 748px #FFF,
    1500px 179px #FFF,
    651px 664px #FFF,
    1659px 1636px #FFF,
    771px 1211px #FFF,
    625px 470px #FFF,
    1359px 1222px #FFF,
    1480px 482px #FFF,
    700px 1024px #FFF,
    377px 857px #FFF,
    1423px 1422px #FFF,
    329px 763px #FFF,
    642px 1283px #FFF,
    287px 707px #FFF,
    1277px 1152px #FFF,
    57px 590px #FFF,
    1039px 219px #FFF,
    597px 55px #FFF,
    839px 235px #FFF,
    1023px 1726px #FFF,
    664px 601px #FFF,
    268px 1242px #FFF,
    1518px 1729px #FFF,
    1299px 1317px #FFF,
    867px 329px #FFF,
    1498px 972px #FFF;
}

#stars2 {
  width: 2px;
  height: 2px;
  background: transparent;
  box-shadow:
    1054px 1419px #FFF,
    1757px 921px #FFF,
    1503px 933px #FFF,
    210px 1026px #FFF,
    65px 1290px #FFF,
    1741px 1133px #FFF,
    1650px 1438px #FFF,
    1074px 1723px #FFF,
    965px 1495px #FFF,
    1212px 290px #FFF,
    171px 167px #FFF,
    939px 697px #FFF,
    1670px 24px #FFF,
    99px 544px #FFF,
    108px 638px #FFF,
    382px 1464px #FFF,
    924px 1144px #FFF,
    1231px 543px #FFF,
    1898px 846px #FFF,
    1853px 1146px #FFF,
    960px 433px #FFF,
    1190px 815px #FFF,
    1593px 802px #FFF,
    1745px 338px #FFF,
    1010px 796px #FFF,
    943px 1113px #FFF,
    1256px 1315px #FFF,
    35px 956px #FFF,
    205px 440px #FFF,
    762px 129px #FFF,
    1115px 1150px #FFF,
    1072px 1450px #FFF,
    57px 747px #FFF,
    1212px 8px #FFF,
    782px 767px #FFF,
    375px 1076px #FFF,
    1615px 1636px #FFF,
    982px 793px #FFF,
    185px 561px #FFF,
    588px 949px #FFF,
    392px 691px #FFF,
    902px 1605px #FFF,
    1244px 1362px #FFF,
    414px 1583px #FFF,
    1920px 848px #FFF,
    1040px 1205px #FFF,
    393px 166px #FFF,
    1032px 1021px #FFF,
    1441px 1201px #FFF,
    1708px 839px #FFF;
  animation: animStar 100s linear infinite;
}

#stars2:after {
  content: " ";
  position: absolute;
  top: 2000px;
  width: 2px;
  height: 2px;
  background: transparent;
  box-shadow:
    1054px 1419px #FFF,
    1757px 921px #FFF,
    1503px 933px #FFF,
    210px 1026px #FFF,
    65px 1290px #FFF,
    1741px 1133px #FFF,
    1650px 1438px #FFF,
    1074px 1723px #FFF,
    965px 1495px #FFF,
    1212px 290px #FFF,
    171px 167px #FFF,
    939px 697px #FFF,
    1670px 24px #FFF,
    99px 544px #FFF,
    108px 638px #FFF,
    382px 1464px #FFF,
    924px 1144px #FFF,
    1231px 543px #FFF,
    1898px 846px #FFF,
    1853px 1146px #FFF,
    960px 433px #FFF,
    1190px 815px #FFF,
    1593px 802px #FFF,
    1745px 338px #FFF,
    1010px 796px #FFF,
    943px 1113px #FFF,
    1256px 1315px #FFF,
    35px 956px #FFF,
    205px 440px #FFF,
    762px 129px #FFF,
    1115px 1150px #FFF,
    1072px 1450px #FFF,
    57px 747px #FFF,
    1212px 8px #FFF,
    782px 767px #FFF,
    375px 1076px #FFF,
    1615px 1636px #FFF,
    982px 793px #FFF,
    185px 561px #FFF,
    588px 949px #FFF,
    392px 691px #FFF,
    902px 1605px #FFF,
    1244px 1362px #FFF,
    414px 1583px #FFF,
    1920px 848px #FFF,
    1040px 1205px #FFF,
    393px 166px #FFF,
    1032px 1021px #FFF,
    1441px 1201px #FFF,
    1708px 839px #FFF;
}

#stars3 {
  width: 3px;
  height: 3px;
  background: transparent;
  box-shadow:
    1494px 58px #FFF,
    805px 1007px #FFF,
    1665px 1500px #FFF,
    1522px 1551px #FFF,
    178px 13391px #FFF,
    326.5px 13540.5px #FFF,
    200px 14741px #FFF,
    203px 14741px #FFF,
    351.5px 14848.5px #FFF,
    225px 18770px #FFF,
    228px 18770px #FFF,
    376.5px 18910.5px #FFF,
    250px 5082px #FFF,
    253px 5082px #FFF,
    401.5px 5161px #FFF,
    275px 6375px #FFF,
    278px 6375px #FFF,
    426.5px 6480px #FFF;
  animation: animStar 150s linear infinite;
}

#stars3:after {
  content: " ";
  position: absolute;
  top: 2000px;
  width: 3px;
  height: 3px;
  background: transparent;
  box-shadow:
    1494px 58px #FFF,
    805px 1007px #FFF,
    1665px 1500px #FFF,
    1522px 1551px #FFF,
    178px 13391px #FFF,
    326.5px 13540.5px #FFF,
    200px 14741px #FFF,
    203px 14741px #FFF,
    351.5px 14848.5px #FFF,
    225px 18770px #FFF,
    228px 18770px #FFF,
    376.5px 18910.5px #FFF,
    250px 5082px #FFF,
    253px 5082px #FFF,
    401.5px 5161px #FFF,
    275px 6375px #FFF,
    278px 6375px #FFF,
    426.5px 6480px #FFF;
}

@keyframes animStar {
  from {
    transform: translateY(0px);
  }

  to {
    transform: translateY(-2000px);
  }
}

/* -------------------------------------------

custom loader

------------------------------------------- */
.custom-loader {
  width: 70px;
  height: 70px;
  background: #ffa600;
  border-radius: 50px;
  -webkit-mask: radial-gradient(circle 31px at 50% calc(100% + 13px), #000 95%, #0000) top 4px left 50%,
    radial-gradient(circle 31px, #000 95%, #0000) center,
    radial-gradient(circle 31px at 50% -13px, #000 95%, #0000) bottom 4px left 50%,
    linear-gradient(#000 0 0);
  mask: radial-gradient(circle 31px at 50% calc(100% + 13px), #000 95%, #0000) top 4px left 50%,
    radial-gradient(circle 31px, #000 95%, #0000) center,
    radial-gradient(circle 31px at 50% -13px, #000 95%, #0000) bottom 4px left 50%,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  animation: cu10 1.5s infinite;
}

@keyframes cu10 {
  0% {
    -webkit-mask-size: 0 18px, 0 18px, 0 18px, auto
  }

  16.67% {
    -webkit-mask-size: 100% 18px, 0 18px, 0 18px, auto
  }

  33.33% {
    -webkit-mask-size: 100% 18px, 100% 18px, 0 18px, auto
  }

  50% {
    -webkit-mask-size: 100% 18px, 100% 18px, 100% 18px, auto
  }

  66.67% {
    -webkit-mask-size: 0 18px, 100% 18px, 100% 18px, auto
  }

  83.33% {
    -webkit-mask-size: 0 18px, 0 18px, 100% 18px, auto
  }

  100% {
    -webkit-mask-size: 0 18px, 0 18px, 0 18px, auto
  }
}

.custom-loader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: none;
  justify-content: center;
  align-items: center;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

/* Shine Animation */
@-moz-keyframes shine {
  0% {
    background-position: 0;
  }

  60% {
    background-position: 180px;
  }

  100% {
    background-position: 180px;
  }
}

/* Shine Animation */
@-moz-keyframes shine {
  0% {
    background-position: -100px;
  }

  100% {
    background-position: 300px;
  }
}

@-webkit-keyframes shine {
  0% {
    background-position: -100px;
  }

  100% {
    background-position: 300px;
  }
}

@-o-keyframes shine {
  0% {
    background-position: -100px;
  }

  100% {
    background-position: 300px;
  }
}

/* -------------------------------------------
Sidebar Menu â€“ Decorative Animations
------------------------------------------- */

/* Decor container sits inside .mil-menu-frame */
.mil-menu-decor {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

/* Floating orbs */
@keyframes orbFloat {

  0%,
  100% {
    transform: translateY(0) scale(1);
    opacity: .5
  }

  50% {
    transform: translateY(-30px) scale(1.08);
    opacity: .8
  }
}

@keyframes orbFloat2 {

  0%,
  100% {
    transform: translateY(0) scale(1);
    opacity: .3
  }

  50% {
    transform: translateY(20px) scale(1.1);
    opacity: .6
  }
}

.mil-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  pointer-events: none;
}

.mil-orb-1 {
  width: 340px;
  height: 340px;
  top: -80px;
  left: -80px;
  background: radial-gradient(circle, rgba(255, 130, 0, .22) 0%, transparent 70%);
  animation: orbFloat 7s ease-in-out infinite;
}

.mil-orb-2 {
  width: 280px;
  height: 280px;
  bottom: 60px;
  right: -60px;
  background: radial-gradient(circle, rgba(80, 80, 255, .15) 0%, transparent 70%);
  animation: orbFloat2 9s ease-in-out infinite 1s;
}

.mil-orb-3 {
  width: 200px;
  height: 200px;
  bottom: 30%;
  left: 25%;
  background: radial-gradient(circle, rgba(255, 166, 0, .1) 0%, transparent 70%);
  animation: orbFloat 11s ease-in-out infinite 3s;
}

/* Watermark */
.mil-menu-watermark {
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: clamp(90px, 16vw, 190px);
  font-weight: 900;
  line-height: 0.85;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.04);
  letter-spacing: -0.04em;
  text-align: right;
  user-select: none;
}

/* Left accent line + travelling dot */
@keyframes dotTravel {
  0% {
    top: 0%;
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  90% {
    opacity: 1;
  }

  100% {
    top: 100%;
    opacity: 0;
  }
}

.mil-menu-accent-line {
  position: absolute;
  left: 28px;
  top: 15%;
  width: 1px;
  height: 70%;
  background: linear-gradient(180deg, transparent, rgba(255, 166, 0, .35), transparent);
}

.mil-menu-accent-dot {
  position: absolute;
  left: -3px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ffa600;
  box-shadow: 0 0 10px rgba(255, 166, 0, .8);
  animation: dotTravel 4s ease-in-out infinite;
}

@media (max-width: 768px) {
  .mil-menu-accent-line {
    display: none;
  }
}

/* Bottom info + social strip */
@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.mil-menu-bottom-strip {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 14px 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, .07);
  background: rgba(255, 255, 255, .02);
  pointer-events: all;
}

.mil-menu-frame.mil-active .mil-menu-bottom-strip {
  animation: fadeSlideUp .6s ease .7s both;
}

.mil-menu-bottom-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.mil-menu-bottom-event {
  font-size: 10px;
  font-weight: 700;
  color: #ffa600 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.mil-menu-bottom-date {
  font-size: 10px;
  color: rgba(255, 255, 255, .45) !important;
  letter-spacing: .05em;
}

.mil-menu-bottom-socials {
  display: flex;
  gap: 12px;
}

.mil-menu-bottom-socials a {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .45);
  font-size: 11px;
  transition: all .3s ease;
  text-decoration: none;
  pointer-events: all;
}

.mil-menu-bottom-socials a:hover {
  border-color: #ffa600;
  color: #ffa600;
  box-shadow: 0 0 10px rgba(255, 166, 0, .3);
  transform: translateY(-3px);
}

@media (max-width: 992px) {

  /* Dot grid texture on mobile sidebar */
  .mil-menu-frame::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
    z-index: 0;
  }

  /* Make orbs more visible on mobile */
  .mil-orb-1 {
    opacity: 0.85;
    width: 280px;
    height: 280px;
  }

  .mil-orb-2 {
    opacity: 0.7;
  }

  /* Thin separator between menu items on mobile */
  .mil-main-menu ul li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding-bottom: 18px;
  }

  .mil-main-menu ul li:last-child {
    border-bottom: none;
  }

  /* Bottom strip mobile layout */
  .mil-menu-bottom-strip {
    flex-direction: column;
    gap: 10px;
    text-align: center;
    padding: 14px 20px 20px;
  }

  .mil-menu-bottom-socials {
    justify-content: center;
    gap: 14px;
  }

  .mil-menu-bottom-socials a {
    width: 36px;
    height: 36px;
    font-size: 13px;
  }
}

/* Staggered menu entry animation */
@keyframes menuItemIn {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.mil-menu-frame.mil-active .mil-main-menu ul li:nth-child(1) a {
  animation: menuItemIn .5s cubic-bezier(0, 0, .36, 1) .45s both;
}

.mil-menu-frame.mil-active .mil-main-menu ul li:nth-child(2) a {
  animation: menuItemIn .5s cubic-bezier(0, 0, .36, 1) .55s both;
}

.mil-menu-frame.mil-active .mil-main-menu ul li:nth-child(3) a {
  animation: menuItemIn .5s cubic-bezier(0, 0, .36, 1) .65s both;
}

.mil-menu-frame.mil-active .mil-main-menu ul li:nth-child(4) a {
  animation: menuItemIn .5s cubic-bezier(0, 0, .36, 1) .75s both;
}

.mil-menu-frame.mil-active .mil-main-menu ul li:nth-child(5) a {
  animation: menuItemIn .5s cubic-bezier(0, 0, .36, 1) .85s both;
}



@keyframes shine {
  0% {
    background-position: -100px;
  }

  100% {
    background-position: 300px;
  }
}

.mil-button span {
  display: inline-block;
  color: #000;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

/* -------------------------------------------

Arrow Rotation

------------------------------------------- */
.mil-arrow-down::before,
.mil-arrow-down::after {
  transform: rotate(90deg) !important;
}

.mil-arrow-down i {
  transform: rotate(90deg) !important;
}

/* -------------------------------------------

Mobile Optimization & Banner Styles

------------------------------------------- */

/* Base Banner Image Style */
.mil-banner-img {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 15px 30px rgba(0, 0, 0, 0.2));
  transform: scale(0.95) translateY(-10px);
  transition: transform 0.5s ease;
}

.mil-preload-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Responsive Banner Background */
.mil-banner-bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background-image: url('../../img/backgroundjpef2026.jpg');
  background-size: cover;
  background-position: center;
}

@media screen and (max-width: 768px) {
  .mil-banner-bg-img {
    background-image: url('../../img/backgroundjpef2026.jpg');
    /* Replace with mobile image, e.g., url('../../img/mobile-banner.jpg') */
  }
}

/* Floating Register Button - Ensure visibility on mobile */
@media screen and (max-width: 992px) {
  #floating-register-btn {
    display: flex !important;
    top: 72% !important;
    bottom: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    opacity: 0;
    visibility: hidden;
  }

  .mil-banner-personal {
    padding-bottom: 60px;
    background-color: #000 !important;
    min-height: 92vh !important;
    /* Ensure the section has height for absolute positioned children */
  }

  .mil-banner-img {
    z-index: 10 !important;
  }

  /* Reset for Static Banners (Registration, Abstract) */
  .mil-banner-img.mil-static-banner {
    position: static !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    margin: 0 auto !important;
    scale: 1 !important;
    transform-origin: center !important;
  }

  /* Reduce section padding on mobile */
  .mil-p-120-0 {
    padding-top: 60px !important;
    padding-bottom: 0 !important;
  }

  .mil-p-120-60 {
    padding-top: 60px !important;
    padding-bottom: 30px !important;
  }

  .mil-p-90-90 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }

  /* Welcome Section Card Padding */
  .mil-welcome-card {
    padding: 30px !important;
  }

  /* Footer Adjustments */
  footer .mil-p-120-60 {
    padding-top: 60px !important;
    padding-bottom: 30px !important;
  }
}

@media screen and (max-width: 768px) {
  .mil-banner-img {
    max-width: 100% !important;
    margin: 30px auto !important;
  }

  .mil-banner-personal .container {
    padding-top: 60px;
  }

  /* Logo and Menu Adjustments for Mobile */
  .mil-frame .mil-frame-top .mil-logo {
    width: 40px !important;
    height: auto !important;
  }

  .mil-frame .mil-frame-top .mil-logo img {
    max-height: 40px !important;
    width: auto !important;
  }

  .mil-menu-btn {
    top: auto !important;
    /* Allow flexbox to center it */
  }

  .mil-frame .mil-frame-top {
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Force Center "Secure Your Spot" Section on Mobile */
  #register-cta {
    text-align: center !important;
  }

  #register-cta .mil-text-center {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  #register-cta h2,
  #register-cta .mil-mb-60 {
    text-align: center !important;
    width: 100% !important;
  }

  #register-cta p,
  #register-cta .mil-text-xl {
    text-align: center !important;
    width: 100% !important;
  }

  #register-cta .mil-button,
  #register-cta a {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* -------------------------------------------

Explore Now Button (Banner Only)

------------------------------------------- */
.mil-explore-btn {
  --color: #8540f5;
  position: relative;
  display: flex !important;
  justify-content: center;
  align-items: center;
  transition: all .5s;
  border: none;
  background-color: transparent;
  cursor: pointer;
  padding: 0 !important;
  /* Reset padding on container */
  width: fit-content !important;
  /* Ensure it only takes needed width */
  margin: 0 auto;
  /* Center it */
}

.mil-explore-btn div {
  letter-spacing: 2px;
  font-weight: bold;
  background: var(--color);
  border-radius: 2rem;
  color: white;
  padding: 1rem 2.5rem;
  /* More horizontal padding for pill shape */
  white-space: nowrap;
}

.mil-explore-btn::before {
  content: '';
  z-index: -1;
  background-color: var(--color);
  border: 2px solid white;
  border-radius: 2rem;
  width: 100%;
  /* Match width exactly */
  height: 100%;
  position: absolute;
  transform: rotate(10deg);
  transition: .5s;
  opacity: 0.2;
  box-sizing: border-box;
  /* Include border in size */
}

.mil-explore-btn:hover {
  filter: brightness(1.2);
  transform: scale(1.1);
}

.mil-explore-btn:hover::before {
  transform: rotate(0deg);
  opacity: 1;
  width: 100%;
  /* Ensure full coverage on hover */
}

.mil-explore-btn svg {
  transform: translateX(-150%);
  /* Adjusted translation */
  transition: .5s;
  width: 0;
  opacity: 0;
  position: absolute;
  /* Position relatively */
  right: 15px;
  /* Position from right */
}

.mil-explore-btn:hover svg {
  width: 25px;
  transform: translateX(0%);
  opacity: 1;
}

.mil-explore-btn:active {
  filter: brightness(1.4);
}

/* Explore Button Desktop Adjustment */
@media screen and (min-width: 992px) {
  #floating-register-btn {
    top: 85% !important;
  }
}

/* Custom Checkbox Provided by User */
.custom-checkbox {
  --input-focus: #2d8cf0;
  --input-out-of-focus: #ccc;
  --bg-color: #fff;
  --bg-color-alt: #666;
  --main-color: #323232;
  position: relative;
  cursor: pointer;
}

.custom-checkbox input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.custom-checkmark {
  width: 30px;
  height: 30px;
  position: relative;
  top: 0;
  left: 0;
  border: 2px solid var(--main-color);
  border-radius: 5px;
  box-shadow: 4px 4px var(--main-color);
  background-color: var(--input-out-of-focus);
  transition: all 0.3s;
}

.custom-checkbox input:checked~.custom-checkmark {
  background-color: var(--input-focus);
}

.custom-checkmark:after {
  content: "";
  width: 7px;
  height: 15px;
  position: absolute;
  top: 2px;
  left: 8px;
  display: none;
  border: solid var(--bg-color);
  border-width: 0 2.5px 2.5px 0;
  transform: rotate(45deg);
}

.custom-checkbox input:checked~.custom-checkmark:after {
  display: block;
}

/* Custom BlurText GSAP Animation */
.blur-text {
  display: flex !important;
  flex-wrap: wrap !important;
  opacity: 1 !important;
}

.blur-text .word {
  display: inline-block;
  will-change: transform, filter, opacity;
  opacity: 0;
  filter: blur(10px);
  transform: translateY(20px);
  margin-right: 0.25em;
}

.blur-text .word.no-margin {
  margin-right: 0;
}

/* Safari specific Lenis fixes */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-scrolling iframe { pointer-events: none; }

/* Mobile Pill Navbar */
.mobile-pill-nav {
    display: none; /* Hidden on desktop */
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
}

@media (max-width: 991px) {
    /* Hide the old top hamburger menu */
    .mil-frame-top { display: none !important; }
    .mil-frame .mil-frame-top { display: none !important; }
    .mil-menu-frame .mil-frame-top { display: none !important; }
    .mil-frame { padding-top: 0 !important; }

    .mobile-pill-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: fixed;
        top: 25px;
        top: calc(25px + env(safe-area-inset-top));
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 95%; /* Slightly wider for small screens */
        max-width: 450px;
        height: 48px;
        background-color: #1a1a1a;
        border-radius: 50px;
        padding: 4px 8px;
        z-index: 9999;
        box-shadow: 0 15px 35px rgba(0,0,0,0.3);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(255,255,255,0.05);
    }
    .mobile-pill-nav.mil-nav-visible {
        opacity: 1;
        pointer-events: auto;
    }

    .mobile-pill-nav .nav-icon {
        -webkit-tap-highlight-color: transparent;
        width: 38px;
        height: 38px;
        background-color: #ffffff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        text-decoration: none;
        overflow: hidden; /* Ensure logo doesn't spill out */
    }
    
    .mobile-pill-nav .nav-icon img {
        width: 70%; /* Size the logo nicely inside the circle */
        height: auto;
        object-fit: contain;
    }

    .mobile-pill-nav .nav-links {
        display: flex;
        align-items: center;
        flex-grow: 1;
        overflow-x: auto;
        margin: 0 10px; /* Squeezed margin */
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch;
        justify-content: space-evenly;
    }
    
    .mobile-pill-nav .nav-links::-webkit-scrollbar {
        display: none;
    }

    .mobile-pill-nav .nav-links a {
        -webkit-tap-highlight-color: transparent;
        color: #f1f1f1;
        text-decoration: none;
        font-size: 13px; /* Smaller font to fit more links */
        margin: 0 5px;
        white-space: nowrap;
        font-weight: 500;
        transition: color 0.3s;
    }

    .mobile-pill-nav .nav-links a:hover,
    .mobile-pill-nav .nav-links a.active {
        color: #fff;
        font-weight: 700;
    }

    .mobile-pill-nav .nav-contact {
        -webkit-tap-highlight-color: transparent;
        background-color: #ffffff;
        color: #1a1a1a;
        text-decoration: none;
        padding: 0 12px; /* Contact Us padding */
        border-radius: 30px;
        height: 34px;
        display: flex;
        align-items: center;
        font-size: 13px; /* Matched font size */
        font-weight: 600;
        white-space: nowrap;
        flex-shrink: 0;
        transition: background-color 0.3s;
    }

    .mobile-pill-nav .nav-contact:hover {
        background-color: #f1f1f1;
    }
}
