/************************************************************************************/
/* Vars */
/************************************************************************************/
:root {
    --accent: #ffffff;
    --bgMain: #000000;
    --bgSecondary: #171717;
    --bgNavi: #ffffff;
    --textNavi: #000000;
    --bgLight: #F7F6F6;
    --naviWidth: 715px;
    --font-archon: 'archonfirearms', 'sans';
}

.transition {
  -webkit-transition: all 200ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
  -moz-transition: all 200ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
  -o-transition: all 200ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
  transition: all 200ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
}

/************************************************************************************/
/* General */
/************************************************************************************/

html {
 font-size: 16px;
 background: none;
 font-family: 'ABCMonumentGrotesk', sans-serif;
 -webkit-font-smoothing: antialiased;
 color: var(--accent);
}

html,
body {
  width: 100%;
  height: 100%;
  background-color: var(--bgMain);
}

.opacity-35 {
  opacity: 0.35;
}

.items-center {
  align-items: center;
}

.items-end {
  align-items: flex-end;
}

.flex-wrap {
  flex-wrap: wrap;
}

.gap-4 {
  gap: 1rem;
}

.mc4wp-response {
  margin-top: 0.5rem;
}

/************************************************************************************/
/* Typography */
/************************************************************************************/

h1, h2, h3, h4, h5, h6 {

}

.content-page h1,
.content-page h2,
.content-page h3,
.heading {
  font-size: 90px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.1ex;
}

@media only screen and (max-width: 1199px) {
  .content-page h1,
  .heading {
    font-size: 72px;
  }
}

@media only screen and (max-width: 599px) {
  .content-page h1,
  .heading {
    font-size: 60px;
  }
}

@media only screen and (max-width: 399px) {
  .content-page h1,
  .heading {
    font-size: 40px;
    line-height: 0.95;
  }
}

@media only screen and (max-width: 299px) {
  .content-page h1,
  .heading {
    font-size: 32px;
    line-height: 0.95;
  }
}

.content-page h2 {
  font-size: 36px;
  letter-spacing: -0.07ex;
  line-height: 1.15;
}

@media only screen and (max-width: 599px) { 
  .content-page h2 {
    font-size: 30px;
  }
}

.content-page h3 {
  font-size: 30px;
  letter-spacing: -0.05ex;
  line-height: 1.3333334;
}

@media only screen and (max-width: 599px) { 
  .content-page h3 {
    font-size: 23px;
  }
}

.heading-smaller {
  font-size: 30px;
  line-height: 1.3333334;
  letter-spacing: 0.17ex;
}

@media only screen and (max-width: 1199px) {
  .heading-smaller {
    font-size: 27px;
    line-height: 1.2;
    letter-spacing: 0.15ex;
  }
}

@media only screen and (max-width: 599px) {
  .heading-smaller {
    font-size: 22px;
    letter-spacing: 0.12ex;
  }
}

@media only screen and (max-width: 399px) {
  .heading-smaller {
    font-size: 18px;
    letter-spacing: 0.06ex;
  }
}

.heading-small {
  font-size: 22px;
  line-height: 1.3333334;
  letter-spacing: 0.17ex;
  font-weight: 300;
}

@media only screen and (max-width: 399px) {
  .content-page h3,
  .heading-small {
    font-size: 18px;
    letter-spacing: 0.12ex;
  }
}

.heading-medium {
  font-size: 32px;
  line-height: 1.3333334;
}

@media only screen and (max-width: 899px) {
  .heading-medium {
    font-size: 30px;
  }
}

@media only screen and (max-width: 399px) {
  .heading-medium {
    font-size: 25px;
  }
}

.heading-archon {
  font-size: 100px;
  font-weight: 400;
  line-height: 0.6;
  font-family: 'archonfirearms', sans-serif;
  letter-spacing: -0.115ex;
}

@media only screen and (max-width: 1199px) {
  .heading-archon {
    font-size: 80px;
  }
}

@media only screen and (max-width: 599px) {
  .heading-archon {
    font-size: 60px;
  }
}

.heading-section-grid {
  max-width: 370px;
}

.heading-perex {
  letter-spacing: 0.1ex;
}

.paragraph,
table {
  font-size: 20px;
  letter-spacing: 0.025ex;
  line-height: 1.35;
}

@media only screen and (max-width: 1199px) {
  .paragraph,
  table {
    font-size: 18px;
    line-height: 1.3;
  }
}

@media only screen and (max-width: 399px) {
  .paragraph,
  table {
    font-size: 15px;
    line-height: 1.4;
  }
}

@media only screen and (max-width: 899px) {
  table {
    font-size: 16px;
    letter-spacing: normal;
  }
}

@media only screen and (max-width: 399px) {
  table {
    font-size: 14px;
  }
}

.paragraph-perex {
  letter-spacing: -0.02ex;
}

@media only screen and (max-width: 899px) {
  .paragraph-perex {
    letter-spacing: -0.01ex;
  }
}

.paragraph-section-grid {
  max-width: 715px;
  padding-top: 2px;
}

@media only screen and (max-width: 899px) {
  .paragraph-section-grid {
    max-width: none;
  }
}

.paragraph strong {
  letter-spacing: 0.17ex;
}

.paragraph-bigger {
  font-size: 22px;
  line-height: 1.56227273;
}

.paragraph-smaller {
  font-size: 16px;
  line-height: 1.5;
}


.paragraph-small {
  font-size: 14px;
}

a {
  -webkit-transition: all 200ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
  -moz-transition: all 200ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
  -o-transition: all 200ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
  transition: all 200ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
}

p + p,
p + h3,
p + h4,
p + h5,
p + h6 {
  margin-top: 1.25em;
}

.bold {
  font-weight: bold;
}

.semibold {
  font-weight: 600;
}

.light {
  font-weight: 300;
}

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

.link {
  text-decoration: underline;
}

.link:hover {
  text-decoration: none;
}

/************************************************************************************/
/* Mouse scroll */
/************************************************************************************/

#scroll-down-arrow {
  display: block;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 60px;
  margin: 0 auto;
  z-index: 110;
  cursor: pointer;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  transition: all 0.6s ease;
  -webkit-animation: jump-animation 1.3s infinite alternate ease-in;
  animation: jump-animation 1.3s infinite alternate ease-in;
}

@-webkit-keyframes jump-animation {
  0% {
    -webkit-transform: translateX(0%) translateY(-4px);
    -moz-transform: translateX(0%) translateY(-4px);
    transform: translateX(0%) translateY(-4px);
  }

  100% {
    -webkit-transform: translateX(0) translateY(0);
    -moz-transform: translateX(0) translateY(0);
    transform: translateX(0) translateY(0);
  }
}

@keyframes jump-animation {
  0% {
    -webkit-transform: translateX(0%) translateY(-4px);
    -moz-transform: translateX(0%) translateY(-4px);
    transform: translateX(0%) translateY(-4px);
  }

  100% {
    -webkit-transform: translateX(0) translateY(0);
    -moz-transform: translateX(0) translateY(0);
    transform: translateX(0) translateY(0);
  }
}

#scroll-down-arrow.on {
  opacity: 0.75;
  visibility: visible;
}

#scroll-down-arrow:hover {
  animation-play-state: paused;
  opacity: 1;
}

#scroll-down-arrow.off {
  opacity: 0;
  visibility: hidden;
}

.mouse-scroll {
  position: absolute;
  bottom: 60px;
  left: 0;
  right: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 25px;
}

@media (max-width: 899px) {
  .mouse-scroll {
    display: none !important;
  }
}

.mouse-scroll-inline {
  position: absolute !important;
}

.mouse {
  width: 25px;
  height: 45px;
  border: 1px solid #fff;
  border-radius: 60px;
  position: relative;
}

.mouse-scroll-dark .mouse {
  border-color: #000;
}

.mouse::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -16px;
  width: 12px;
  height: 10px;
  display: block;
  opacity: 0;
  background-size: 100%;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='iso-8859-1'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 330 330' style='enable-background:new 0 0 330 330;' xml:space='preserve'%3E%3Cpath fill='%23FFFFFF' d='M325.607,79.393c-5.857-5.857-15.355-5.858-21.213,0.001l-139.39,139.393L25.607,79.393 c-5.857-5.857-15.355-5.858-21.213,0.001c-5.858,5.858-5.858,15.355,0,21.213l150.004,150c2.813,2.813,6.628,4.393,10.606,4.393 s7.794-1.581,10.606-4.394l149.996-150C331.465,94.749,331.465,85.251,325.607,79.393z'/%3E%3C/svg%3E%0A");
  animation: mouse-arrow 2s infinite;
  -webkit-animation: mouse-arrow 2s infinite;
}

.mouse-scroll-dark .mouse::after {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='iso-8859-1'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 330 330' style='enable-background:new 0 0 330 330;' xml:space='preserve'%3E%3Cpath fill='%23000000' d='M325.607,79.393c-5.857-5.857-15.355-5.858-21.213,0.001l-139.39,139.393L25.607,79.393 c-5.857-5.857-15.355-5.858-21.213,0.001c-5.858,5.858-5.858,15.355,0,21.213l150.004,150c2.813,2.813,6.628,4.393,10.606,4.393 s7.794-1.581,10.606-4.394l149.996-150C331.465,94.749,331.465,85.251,325.607,79.393z'/%3E%3C/svg%3E%0A");
}

@keyframes mouse-arrow {
  0% {
    opacity: 0;
    bottom: -16px;
  }
  25% {
    opacity: 0.5;
  }
  90% {
    opacity: 0;
    bottom: -24px;
  }
  100% {
    opacity: 0;
    bottom: -16px;
  }
}

@-webkit-keyframes mouse-arrow {
  0% {
    opacity: 0;
    bottom: -16px;
  }
  25% {
    opacity: 0.5;
  }
  90% {
    opacity: 0;
    bottom: -24px;
  }
  100% {
    opacity: 0;
    bottom: -16px;
  }
}

.mouse::before {
  content: "";
  width: 2px;
  height: 5px;
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  border-radius: 2px;
  opacity: 0;
  animation: mouse-wheel 2s infinite;
  -webkit-animation: mouse-wheel 2s infinite;
}

.mouse-scroll-dark ::before {
  background-color: #000;
}

@keyframes mouse-wheel {
  0% {
    opacity: 0;
    top: 8px;
  }
  25% {
    opacity: 1;
  }
  90% {
    opacity: 0;
    top: 16px;
  }
  100% {
    opacity: 0;
    top: 8px;
  }
}

@-webkit-keyframes mouse-wheel {
  0% {
    opacity: 0;
    top: 8px;
  }
  25% {
    opacity: 1;
  }
  90% {
    opacity: 0;
    top: 16px;
  }
  100% {
    opacity: 0;
    top: 8px;
  }
}

#scroll-down-arrow:hover .mouse::before {
  animation-play-state: paused;
  animation: none;
  opacity: 1;
  top: 12px;
}

/************************************************************************************/
/* Structure */
/************************************************************************************/

.inner {
	max-width: 1905px;
	padding-left: 30px;
	padding-right: 30px;
	margin-left: auto;
	margin-right: auto;
  box-sizing: border-box;
}

@media only screen and (max-width: 399px) {
  .inner {
  	padding-left: 20px;
  	padding-right: 20px;
  }
}

.inner-full {
  width: 100%;
  max-width: 100%;
}