/*
Theme Name: Dracyon
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
Text Domain: dracyon
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

@import 'https://fonts.googleapis.com/css2?family=Urbanist:ital,wght@0,100..900;1,200..1000&display=swap';
@import 'https://fonts.googleapis.com/css2?family=League+Spartan:wght@100..900&display=swap';
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  font-size: 100%;
  font-family: "Urbanist", Helvetica, Arial, sans-serif;
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
}
a:hover {
  cursor: pointer;
}

input, textarea, button {
  border: none;
  outline: none;
  font-family: "Urbanist", Helvetica, Arial, sans-serif;
}

button {
  border: none;
}
button:hover {
  cursor: pointer;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
}

img {
  max-width: 100%;
}

em {
  font-style: italic;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
}
select:hover {
  cursor: pointer;
}
select::-ms-expand {
  display: none;
}

strong {
  font-weight: 700;
}

/* 640px */
/* 1040px */
/* 1440px */
:root {
  --color-background: #393b51;
  --color-background-dark: #292b3d;
  --color-background-grey: #f3f4fc;
  --color-border: #d7d9ea;
  --color-foreground: #393b51;
  --color-foreground-light: #fff;
  --color-foreground-subtle: #5d5f79;
  --color-primary: #884980;
  --color-secondary: #0959aa;
  --color-tertiary: #178259;
}

.flex {
  display: flex;
}
.flex .btn {
  width: fit-content;
}

.flex-1 {
  flex: 1;
}

.flex-stretch {
  align-items: stretch !important;
}

.flex-container {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media (width >= 40rem) {
  .flex-container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media (width >= 65rem) {
  .flex-container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media (width >= 90rem) {
  .flex-container {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.flex-row-xs,
.flex-row-sm,
.flex-row-md,
.flex-row-lg {
  align-items: center;
  flex-direction: column;
}
.flex-row-xs.flex-align-bottom,
.flex-row-sm.flex-align-bottom,
.flex-row-md.flex-align-bottom,
.flex-row-lg.flex-align-bottom {
  align-items: flex-end !important;
}

.flex-row-xs {
  flex-direction: row;
}

@media (width >= 40rem) {
  .flex-row-sm {
    flex-direction: row;
  }
}

@media (width >= 65rem) {
  .flex-row-md {
    flex-direction: row;
  }
}

@media (width >= 90rem) {
  .flex-row-lg {
    flex-direction: row;
  }
}

.flex-col {
  flex-direction: column;
}
.flex-col.flex-align-bottom {
  justify-content: flex-end !important;
}

.flex-col-center {
  justify-content: center;
  text-align: center;
}
.flex-col-center .btn {
  margin-left: auto;
  margin-right: auto;
}

.flex-gap-xxs {
  gap: 0.25rem;
}
@media (width >= 65rem) {
  .flex-gap-xxs {
    gap: 0.375rem;
  }
}
@media (width >= 90rem) {
  .flex-gap-xxs {
    gap: 0.5rem;
  }
}

.flex-gap-xs {
  gap: 0.5rem;
}
@media (width >= 65rem) {
  .flex-gap-xs {
    gap: 0.625rem;
  }
}
@media (width >= 90rem) {
  .flex-gap-xs {
    gap: 0.75rem;
  }
}

.flex-gap-sm {
  gap: 0.75rem;
}
@media (width >= 65rem) {
  .flex-gap-sm {
    gap: 1rem;
  }
}
@media (width >= 90rem) {
  .flex-gap-sm {
    gap: 1.25rem;
  }
}

.flex-gap-md {
  gap: 1.25rem;
}
@media (width >= 65rem) {
  .flex-gap-md {
    gap: 1.75rem;
  }
}
@media (width >= 90rem) {
  .flex-gap-md {
    gap: 2.25rem;
  }
}
.flex-gap-md.flex-2-col > .flex {
  flex: 0 0 calc(50% - 0.625rem);
}
@media (width >= 65rem) {
  .flex-gap-md.flex-2-col > .flex {
    flex: 0 0 calc(50% - 0.875rem);
  }
}
@media (width >= 90rem) {
  .flex-gap-md.flex-2-col > .flex {
    flex: 0 0 calc(50% - 1.125rem);
  }
}

.flex-gap-lg {
  gap: 2rem;
}
@media (width >= 65rem) {
  .flex-gap-lg {
    gap: 2.75rem;
  }
}
@media (width >= 90rem) {
  .flex-gap-lg {
    gap: 3.5rem;
  }
}

.flex-end {
  justify-content: flex-end !important;
}

.flex-center {
  justify-content: center !important;
}

.flex-sb {
  justify-content: space-between;
}

.flex-align-left {
  align-items: flex-start !important;
}

.flex-align-top {
  align-items: flex-start !important;
}

.flex-hero {
  gap: 1.25rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 70rem;
  padding-bottom: 2.75rem;
  padding-top: 2.75rem;
}
.flex-hero .btn-lg {
  margin-top: 1.5rem;
}

.flex-hero-row > *:last-child {
  flex: 0 0 50%;
}

.flex-2-col {
  flex-wrap: wrap;
}
.flex-2-col .flex {
  box-sizing: border-box;
}

.flex-col-slim {
  max-width: 65rem;
}

.background-light {
  background-color: var(--color-foreground-light);
}

.background-dark {
  background-color: var(--color-background-dark);
}

.background-md {
  background-color: var(--color-border);
}

.background-grey {
  background-color: var(--color-background-grey);
}

.background-primary {
  background-color: var(--color-primary);
}

.background-secondary {
  background-color: var(--color-secondary);
}

.background-tertiary {
  background-color: var(--color-tertiary);
}

.background-transparent {
  background: transparent !important;
}

.block-rounded-section {
  -webkit-border-radius: 2.25rem;
  -moz-border-radius: 2.25rem;
  -ms-border-radius: 2.25rem;
  -o-border-radius: 2.25rem;
  border-radius: 2.25rem;
  flex: 1;
  gap: 0.75rem;
  padding: 2rem;
}
.block-rounded-section i {
  font-size: 2rem;
}
.block-rounded-section h2 {
  width: 100%;
}
.block-rounded-section.flex-align-bottom i {
  margin-bottom: 1rem;
}
.block-rounded-section.block-rounded-section-md {
  height: 20rem;
}
.block-rounded-section.block-rounded-section-lg {
  height: 30rem;
}
.block-rounded-section.block-rounded-section-dark {
  background-color: var(--color-background-dark);
}

.padding-sm {
  padding: 1rem;
}
@media (width >= 40rem) {
  .padding-sm {
    padding: 1.125rem;
  }
}
@media (width >= 65rem) {
  .padding-sm {
    padding: 1.25rem;
  }
}
@media (width >= 90rem) {
  .padding-sm {
    padding: 1.5rem;
  }
}

.padding-md {
  padding: 1.75rem;
}
@media (width >= 40rem) {
  .padding-md {
    padding: 2rem;
  }
}
@media (width >= 65rem) {
  .padding-md {
    padding: 2.25rem;
  }
}
@media (width >= 90rem) {
  .padding-md {
    padding: 3rem;
  }
}

.padding-lg {
  padding: 2rem;
}
@media (width >= 40rem) {
  .padding-lg {
    padding: 2.75rem;
  }
}
@media (width >= 65rem) {
  .padding-lg {
    padding: 3.25rem;
  }
}
@media (width >= 90rem) {
  .padding-lg {
    padding: 4rem;
  }
}

.padding-xl {
  padding: 2.25rem;
}
@media (width >= 40rem) {
  .padding-xl {
    padding: 3rem;
  }
}
@media (width >= 65rem) {
  .padding-xl {
    padding: 5rem;
  }
}
@media (width >= 90rem) {
  .padding-xl {
    padding: 7rem;
  }
}

.padding-y-sm {
  padding-bottom: 1.25rem;
  padding-top: 1.25rem;
}
@media (width >= 40rem) {
  .padding-y-sm {
    padding-bottom: 1.5rem;
    padding-top: 1.5rem;
  }
}
@media (width >= 65rem) {
  .padding-y-sm {
    padding-bottom: 2rem;
    padding-top: 2rem;
  }
}
@media (width >= 90rem) {
  .padding-y-sm {
    padding-bottom: 3rem;
    padding-top: 3rem;
  }
}

.padding-y-md {
  padding-bottom: 1.75rem;
  padding-top: 1.75rem;
}
@media (width >= 40rem) {
  .padding-y-md {
    padding-bottom: 2.5rem;
    padding-top: 2.5rem;
  }
}
@media (width >= 65rem) {
  .padding-y-md {
    padding-bottom: 3rem;
    padding-top: 3rem;
  }
}
@media (width >= 90rem) {
  .padding-y-md {
    padding-bottom: 4.5rem;
    padding-top: 4.5rem;
  }
}

.padding-y-lg {
  padding-bottom: 2rem;
  padding-top: 2rem;
}
@media (width >= 40rem) {
  .padding-y-lg {
    padding-bottom: 2.75rem;
    padding-top: 2.75rem;
  }
}
@media (width >= 65rem) {
  .padding-y-lg {
    padding-bottom: 4rem;
    padding-top: 4rem;
  }
}
@media (width >= 90rem) {
  .padding-y-lg {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }
}

.padding-bt-sm {
  padding-bottom: 1.25rem;
}
@media (width >= 40rem) {
  .padding-bt-sm {
    padding-bottom: 1.5rem;
  }
}
@media (width >= 65rem) {
  .padding-bt-sm {
    padding-bottom: 2rem;
  }
}
@media (width >= 90rem) {
  .padding-bt-sm {
    padding-bottom: 3rem;
  }
}

.padding-bt-md {
  padding-bottom: 1.75rem;
}
@media (width >= 40rem) {
  .padding-bt-md {
    padding-bottom: 2.5rem;
  }
}
@media (width >= 65rem) {
  .padding-bt-md {
    padding-bottom: 3rem;
  }
}
@media (width >= 90rem) {
  .padding-bt-md {
    padding-bottom: 4.5rem;
  }
}

.padding-bt-lg {
  padding-bottom: 2rem;
}
@media (width >= 40rem) {
  .padding-bt-lg {
    padding-bottom: 2.75rem;
  }
}
@media (width >= 65rem) {
  .padding-bt-lg {
    padding-bottom: 4rem;
  }
}
@media (width >= 90rem) {
  .padding-bt-lg {
    padding-bottom: 6rem;
  }
}

.padding-bt-negative {
  padding-bottom: 10rem;
}

.padding-top-0 {
  padding-top: 0 !important;
}

.rounded-sm {
  -webkit-border-radius: 0.25rem;
  -moz-border-radius: 0.25rem;
  -ms-border-radius: 0.25rem;
  -o-border-radius: 0.25rem;
  border-radius: 0.25rem;
}
@media (width >= 40rem) {
  .rounded-sm {
    -webkit-border-radius: 0.375rem;
    -moz-border-radius: 0.375rem;
    -ms-border-radius: 0.375rem;
    -o-border-radius: 0.375rem;
    border-radius: 0.375rem;
  }
}
@media (width >= 65rem) {
  .rounded-sm {
    -webkit-border-radius: 0.5em;
    -moz-border-radius: 0.5em;
    -ms-border-radius: 0.5em;
    -o-border-radius: 0.5em;
    border-radius: 0.5em;
  }
}
@media (width >= 90rem) {
  .rounded-sm {
    -webkit-border-radius: 0.625rem;
    -moz-border-radius: 0.625rem;
    -ms-border-radius: 0.625rem;
    -o-border-radius: 0.625rem;
    border-radius: 0.625rem;
  }
}

.rounded-md {
  -webkit-border-radius: 0.75rem;
  -moz-border-radius: 0.75rem;
  -ms-border-radius: 0.75rem;
  -o-border-radius: 0.75rem;
  border-radius: 0.75rem;
}
@media (width >= 40rem) {
  .rounded-md {
    -webkit-border-radius: 1rem;
    -moz-border-radius: 1rem;
    -ms-border-radius: 1rem;
    -o-border-radius: 1rem;
    border-radius: 1rem;
  }
}
@media (width >= 65rem) {
  .rounded-md {
    -webkit-border-radius: 1.25rem;
    -moz-border-radius: 1.25rem;
    -ms-border-radius: 1.25rem;
    -o-border-radius: 1.25rem;
    border-radius: 1.25rem;
  }
}
@media (width >= 90rem) {
  .rounded-md {
    -webkit-border-radius: 1.5rem;
    -moz-border-radius: 1.5rem;
    -ms-border-radius: 1.5rem;
    -o-border-radius: 1.5rem;
    border-radius: 1.5rem;
  }
}

.rounded-lg {
  -webkit-border-radius: 1.5rem;
  -moz-border-radius: 1.5rem;
  -ms-border-radius: 1.5rem;
  -o-border-radius: 1.5rem;
  border-radius: 1.5rem;
}
@media (width >= 40rem) {
  .rounded-lg {
    -webkit-border-radius: 1.75rem;
    -moz-border-radius: 1.75rem;
    -ms-border-radius: 1.75rem;
    -o-border-radius: 1.75rem;
    border-radius: 1.75rem;
  }
}
@media (width >= 65rem) {
  .rounded-lg {
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    -ms-border-radius: 2rem;
    -o-border-radius: 2rem;
    border-radius: 2rem;
  }
}
@media (width >= 90rem) {
  .rounded-lg {
    -webkit-border-radius: 2.25rem;
    -moz-border-radius: 2.25rem;
    -ms-border-radius: 2.25rem;
    -o-border-radius: 2.25rem;
    border-radius: 2.25rem;
  }
}

.hero-negative-margin {
  margin-top: -7.25rem;
  padding-top: 7.75rem;
}

.body-negative-margin {
  margin-top: -8rem;
  position: relative;
  z-index: 3;
}

.col-third,
.col-half {
  width: 100%;
}

@media (width >= 65rem) {
  .col-third {
    width: 66.66%;
  }
}
@media (width >= 90rem) {
  .col-third {
    width: 33.33%;
  }
}

@media (width >= 65rem) {
  .col-half {
    width: 75%;
  }
}
@media (width >= 90rem) {
  .col-half {
    width: 50%;
  }
}

.margin-x-auto {
  margin-left: auto;
  margin-right: auto;
}

.block-rounded-sm {
  -webkit-border-radius: 0.5rem;
  -moz-border-radius: 0.5rem;
  -ms-border-radius: 0.5rem;
  -o-border-radius: 0.5rem;
  border-radius: 0.5rem;
  padding: 1.25rem 1rem;
}

.block-rounded-md {
  -webkit-border-radius: 0.75rem;
  -moz-border-radius: 0.75rem;
  -ms-border-radius: 0.75rem;
  -o-border-radius: 0.75rem;
  border-radius: 0.75rem;
  padding: 1.75rem 1.25rem;
}

.block-rounded-lg {
  -webkit-border-radius: 1rem;
  -moz-border-radius: 1rem;
  -ms-border-radius: 1rem;
  -o-border-radius: 1rem;
  border-radius: 1rem;
  padding: 2rem;
}

img.hero-img,
.hero-img img {
  left: 50%;
  max-width: unset;
  min-height: 100%;
  min-width: 100%;
  opacity: 40%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
img.hero-img.hero-img-lighter,
.hero-img img.hero-img-lighter {
  opacity: 20%;
}

.hero-img-section {
  overflow: hidden;
  position: relative !important;
}
.hero-img-section *:not(.hero-img) {
  z-index: 2;
}

.page-negative-margin {
  margin-top: -7.5rem;
}

.width-full {
  width: 100%;
}
.width-full > img {
  width: 100%;
}

.position-relative {
  position: relative;
}

.taxonomy-post_tag {
  display: flex;
  gap: 0.375rem;
}

.grid {
  column-count: 2;
  column-gap: 2rem;
}

.grid--item {
  break-inside: avoid;
  margin-bottom: 2rem;
}

.block-post {
  background-color: var(--color-background);
}
.block-post * {
  color: var(--color-foreground-light) !important;
}
.block-post p {
  font-weight: 700;
}

.modal {
  align-items: center;
  justify-content: center;
  height: 100vh;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transform: translateX(-100vw);
  transition: all 350ms ease-in-out;
  width: 100vw;
  z-index: 4;
}
.modal.modal-dark {
  background-color: rgb(0, 0, 0);
}
.modal.modal-dark .modal-container {
  background-color: var(--color-foreground-light);
}
.modal.modal-dark h4,
.modal.modal-dark p {
  color: var(--color-foreground);
}
.modal.modal-dark a {
  color: var(--color-primary);
}
.modal.modal-open {
  opacity: 100%;
  transform: translateX(0);
}

.modal-container {
  border-radius: 1rem;
  max-height: calc(100vh - 2.5rem);
  max-width: calc(100% - 4.5rem);
  overflow: auto;
  padding: 3rem 5rem;
  position: relative;
  width: 50rem;
}

.modal-close {
  background-color: var(--color-foreground-light);
  border-radius: 2rem;
  height: 4rem;
  position: fixed;
  right: 1rem;
  top: 1rem;
  width: 4rem;
}
.modal-close i {
  color: var(--color-foreground);
}

* {
  color: var(--color-foreground-light);
}

.heading-hero,
h1,
h2,
h3,
h4,
h5 {
  font-family: "League Spartan", Helvetica, sans-serif;
}

.heading-hero,
h1,
h2,
h3,
h4,
h6 {
  text-transform: uppercase;
}

.heading-hero {
  font-size: 2rem;
  font-weight: 900;
}
@media (width >= 65rem) {
  .heading-hero {
    font-size: 2.875rem;
  }
}
@media (width >= 90rem) {
  .heading-hero {
    font-size: 3.625rem;
  }
}

.heading-hero-xl {
  font-size: 2.5rem;
  font-weight: 900;
}
@media (width >= 65rem) {
  .heading-hero-xl {
    font-size: 4rem;
  }
}
@media (width >= 90rem) {
  .heading-hero-xl {
    font-size: 5rem;
  }
}

h1.heading-1 {
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 112.5%;
}
@media (width >= 65rem) {
  h1.heading-1 {
    font-size: 3rem;
  }
}
@media (width >= 90rem) {
  h1.heading-1 {
    font-size: 4.5rem;
  }
}

h2 {
  font-size: 1.625rem;
  font-weight: 800;
  line-height: 112.5%;
  text-transform: uppercase;
}
@media (width >= 65rem) {
  h2 {
    font-size: 2.25rem;
  }
}
@media (width >= 90rem) {
  h2 {
    font-size: 2.75rem;
  }
}

h3 {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 125%;
  text-transform: uppercase;
}
@media (width >= 65rem) {
  h3 {
    font-size: 2rem;
  }
}
@media (width >= 90rem) {
  h3 {
    font-size: 2.5rem;
  }
}
h3.section-header {
  font-size: 1.125rem;
  font-style: italic;
}
@media (width >= 65rem) {
  h3.section-header {
    font-size: 1.5rem;
  }
}
@media (width >= 90rem) {
  h3.section-header {
    font-size: 2rem;
  }
}

h4 {
  font-size: 1.25rem;
  font-weight: 700;
}
@media (width >= 65rem) {
  h4 {
    font-size: 1.5rem;
  }
}
@media (width >= 90rem) {
  h4 {
    font-size: 1.75rem;
  }
}

h5 {
  font-size: 1.125rem;
  font-weight: 700;
}
@media (width >= 65rem) {
  h5 {
    font-size: 1.25rem;
  }
}
@media (width >= 90rem) {
  h5 {
    font-size: 1.5rem;
  }
}

h6 {
  font-size: 0.925rem;
  font-weight: 700;
}
@media (width >= 65rem) {
  h6 {
    font-size: 1rem;
  }
}
@media (width >= 90rem) {
  h6 {
    font-size: 1.125rem;
  }
}

.text-hero,
.text-xl,
.text-large,
.text-body,
.text-small,
.post-template-single-posts-dracyon .entry-content p,
.numbered-standard,
.bullet-standard {
  letter-spacing: 0.5px;
  line-height: 150%;
}

.text-hero {
  font-size: 1.125rem;
}
@media (width >= 40rem) {
  .text-hero {
    font-size: 1.25rem;
  }
}
@media (width >= 65rem) {
  .text-hero {
    font-size: 1.5rem;
  }
}
@media (width >= 90rem) {
  .text-hero {
    font-size: 2rem;
  }
}

.text-hero-xl {
  font-size: 1.25rem;
}
@media (width >= 40rem) {
  .text-hero-xl {
    font-size: 1.75rem;
  }
}
@media (width >= 65rem) {
  .text-hero-xl {
    font-size: 2.25rem;
  }
}
@media (width >= 90rem) {
  .text-hero-xl {
    font-size: 3rem;
  }
}

.text-xl {
  font-size: 1.125rem;
}
@media (width >= 65rem) {
  .text-xl {
    font-size: 1.25rem;
  }
}
@media (width >= 90rem) {
  .text-xl {
    font-size: 1.5rem;
  }
}

.text-large,
.post-template-single-posts-dracyon .entry-content p {
  font-size: 1rem;
}
@media (width >= 65rem) {
  .text-large,
  .post-template-single-posts-dracyon .entry-content p {
    font-size: 1.125rem;
  }
}
@media (width >= 90rem) {
  .text-large,
  .post-template-single-posts-dracyon .entry-content p {
    font-size: 1.25rem;
  }
}

.text-body {
  font-size: 0.875rem;
}
@media (width >= 65rem) {
  .text-body {
    font-size: 1rem;
  }
}
@media (width >= 90rem) {
  .text-body {
    font-size: 1.125rem;
  }
}

.text-small {
  font-size: 0.75rem;
}
@media (width >= 65rem) {
  .text-small {
    font-size: 0.875rem;
  }
}
@media (width >= 90rem) {
  .text-small {
    font-size: 1rem;
  }
}

.text-caption {
  font-size: 0.625rem;
  letter-spacing: 1px;
  line-height: 150%;
  text-transform: uppercase;
}
@media (width >= 65rem) {
  .text-caption {
    font-size: 0.75rem;
  }
}

.background-light h1,
.background-light h2,
.background-light h3,
.background-light h4,
.background-light h5,
.background-light h6,
.background-light p,
.background-light strong,
.background-light i,
.background-light em,
.background-light .wp-block-file a:not(.wp-block-file__button),
.background-grey h1,
.background-grey h2,
.background-grey h3,
.background-grey h4,
.background-grey h5,
.background-grey h6,
.background-grey p,
.background-grey strong,
.background-grey i,
.background-grey em,
.background-grey .wp-block-file a:not(.wp-block-file__button) {
  color: var(--color-foreground);
}

.icon-xxl {
  font-size: 2.5rem;
}
@media (width >= 65rem) {
  .icon-xxl {
    font-size: 4.5rem;
  }
}
@media (width >= 90rem) {
  .icon-xxl {
    font-size: 6.25rem;
  }
}

.icon-xl {
  font-size: 1.5rem;
}
@media (width >= 65rem) {
  .icon-xl {
    font-size: 2.25rem;
  }
}
@media (width >= 90rem) {
  .icon-xl {
    font-size: 3rem;
  }
}

.icon-lg {
  font-size: 1.125rem;
}
@media (width >= 65rem) {
  .icon-lg {
    font-size: 1.75rem;
  }
}
@media (width >= 90rem) {
  .icon-lg {
    font-size: 2.25rem;
  }
}

.text-transform-none {
  text-transform: none;
}

.color-primary {
  color: var(--color-primary);
}

.background-light [class*=contained] i {
  color: var(--color-foreground-light) !important;
}

.text-link {
  color: var(--color-primary);
}

.numbered-standard li,
.bullet-standard li {
  color: var(--color-foreground);
  margin-bottom: 1.5rem;
}
.numbered-standard li:last-child,
.bullet-standard li:last-child {
  margin-bottom: 0;
}

.numbered-standard {
  list-style-type: decimal;
}

.bullet-standard {
  list-style-type: disc;
}

.heading-purple-blur {
  text-shadow: 0 0 60px #9b59b6;
}

.btn {
  text-transform: uppercase;
}

.btn-primary.btn-contained {
  background-color: var(--color-primary);
}
.btn-primary.btn-outlined {
  color: var(--color-primary);
}
.btn-primary.btn-outlined span, .btn-primary.btn-outlined i {
  color: var(--color-primary);
}

.btn-secondary.btn-contained {
  background-color: var(--color-secondary);
}
.btn-secondary.btn-outlined, .btn-secondary.btn-outlined span {
  color: var(--color-secondary);
}
.btn-secondary.btn-outlined span, .btn-secondary.btn-outlined i, .btn-secondary.btn-outlined span span, .btn-secondary.btn-outlined span i {
  color: var(--color-secondary);
}

.btn-contrast.btn-contained {
  background-color: var(--color-foreground-light);
  color: var(--color-secondary);
}
.btn-contrast.btn-contained span, .btn-contrast.btn-contained i {
  color: var(--color-secondary);
}
.btn-contrast.btn-outlined {
  color: var(--color-foreground-light);
}
.btn-contrast.btn-outlined span, .btn-contrast.btn-outlined i {
  color: var(--color-foreground-light);
}

.btn-outlined,
.btn-contained {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  border-radius: 8px;
}

.btn-contained {
  color: var(--color-foreground-light);
}

.btn-outlined {
  border-width: 1px;
  border-style: solid;
}

.btn-pill.btn-lg {
  -webkit-border-radius: 2.5rem;
  -moz-border-radius: 2.5rem;
  -ms-border-radius: 2.5rem;
  -o-border-radius: 2.5rem;
  border-radius: 2.5rem;
}
.btn-pill.btn-md {
  -webkit-border-radius: 1.875rem;
  -moz-border-radius: 1.875rem;
  -ms-border-radius: 1.875rem;
  -o-border-radius: 1.875rem;
  border-radius: 1.875rem;
}
.btn-pill.btn-sm {
  -webkit-border-radius: 1.5rem;
  -moz-border-radius: 1.5rem;
  -ms-border-radius: 1.5rem;
  -o-border-radius: 1.5rem;
  border-radius: 1.5rem;
}

.btn-sm,
.btn-md,
.btn-lg {
  font-weight: 700;
}

.btn-sm,
.btn-md {
  white-space: nowrap;
}

.btn-lg {
  font-size: 1.25rem;
  letter-spacing: 0.5px;
  line-height: 150%;
  padding: 0.875rem 1.25rem;
  text-transform: uppercase;
}
@media (width >= 65rem) {
  .btn-lg {
    font-size: 1.5rem;
    padding: 1rem 1.5rem;
  }
}
@media (width >= 90rem) {
  .btn-lg {
    font-size: 2rem;
    padding: 1rem 2rem;
  }
}

.btn-md {
  line-height: 150%;
  padding: 0.875rem 1.25rem;
  text-transform: uppercase;
}
@media (width >= 90rem) {
  .btn-md {
    padding: 1rem 1.5rem;
  }
}
.btn-md.btn-icon-only {
  font-size: 1.5rem;
}

.btn-sm {
  font-size: 0.875rem;
  letter-spacing: 1px;
  padding: 0.75rem 1rem;
}
@media (width >= 65rem) {
  .btn-sm {
    padding: 1rem;
  }
}

.btn-icon {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.btn-icon i {
  left: 0;
  position: relative;
  transition: left 100ms ease-in-out;
}
.btn-icon.btn-lg {
  gap: 0.75rem;
}
.btn-icon.btn-lg:hover i {
  left: 0.5rem;
}
.btn-icon.btn-md {
  gap: 0.5rem;
}
.btn-icon.btn-md:hover i {
  left: 0.25rem;
}
.btn-icon.btn-sm {
  gap: 0.25rem;
}
.btn-icon.btn-sm:hover i {
  left: 0.125rem;
}

.btn-icon-only {
  background-color: transparent;
}

nav {
  padding: 1rem 1.25rem;
  text-transform: uppercase;
}
@media (width >= 65rem) {
  nav {
    padding: 1.25rem 1.75rem;
  }
}
@media (width >= 90rem) {
  nav {
    padding: 1.5rem 2.5rem;
  }
}
nav * {
  color: var(--color-foreground-light);
}
nav.header--nav-main,
nav ul {
  align-items: center;
  display: flex;
  flex-direction: row;
}
nav.header--nav-main {
  font-size: 1rem;
  font-weight: 700;
  gap: 0;
}
@media (width >= 40rem) {
  nav.header--nav-main {
    gap: 1.5rem;
  }
}
@media (width >= 65rem) {
  nav.header--nav-main {
    gap: 2.5rem;
  }
}
@media (width >= 90rem) {
  nav.header--nav-main {
    font-size: 1.125rem;
    gap: 3rem;
  }
}
nav.header--nav-main img {
  max-width: 7.5rem;
}
@media (width >= 40rem) {
  nav.header--nav-main img {
    max-width: 10rem;
  }
}
@media (width >= 65rem) {
  nav.header--nav-main img {
    max-width: 11rem;
  }
}
@media (width >= 90rem) {
  nav.header--nav-main img {
    max-width: unset;
  }
}
nav.header--nav-main ul li {
  display: none;
}
nav.header--nav-main ul li:first-child::after {
  display: inline-block;
  content: "+";
  margin-left: 0.75rem;
  width: 1.5rem;
}
nav.header--nav-main ul li:first-child.open::after {
  content: "-";
}
@media (width >= 40rem) {
  nav.header--nav-main ul li:not(:last-child) {
    display: list-item;
  }
}
@media (width >= 65rem) {
  nav.header--nav-main ul li {
    display: list-item !important;
  }
}
nav.header--nav-secondary {
  font-size: 0.875rem;
}
nav.header--nav-secondary ul li {
  display: none;
}
@media (width >= 65rem) {
  nav.header--nav-secondary ul li {
    display: list-item;
  }
}
nav.header--nav-secondary .btn-md {
  padding: 0.75rem;
}
@media (width >= 90rem) {
  nav.header--nav-secondary .btn-md {
    padding: 1rem 1.5rem;
  }
}
nav.header--nav-secondary .btn-icon-only {
  padding: 0.25rem;
}
@media (width >= 65rem) {
  nav.header--nav-secondary .btn-icon-only {
    display: none;
  }
}
nav ul {
  gap: 1rem;
  letter-spacing: 1px;
}
@media (width >= 90rem) {
  nav ul {
    gap: 2rem;
  }
}

.overflow-menu {
  -webkit-transition: transform 150ms ease-in-out;
  -moz-transition: transform 150ms ease-in-out;
  -o-transition: transform 150ms ease-in-out;
  transition: transform 150ms ease-in-out;
  background-color: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: fixed;
  top: 0;
  transform: translateX(100vw);
  width: 100vw;
  z-index: 1;
}
.overflow-menu > .flex-col {
  background-color: var(--color-background);
  max-width: 30rem;
  padding: 3rem;
  width: calc(100vw - 3rem);
}
.overflow-menu.menu-open {
  transform: translateX(0);
}

.header--overflow-menu {
  padding: 0 !important;
}
.header--overflow-menu a {
  font-size: 1.5rem;
  font-weight: 900;
}

.close-btn {
  background: transparent;
  font-size: 2rem;
  padding: 0;
  position: absolute;
  right: 1rem;
  top: 1rem;
}

.header-light {
  background-color: var(--color-foreground-light);
  position: relative;
}
.header-light::after {
  background-color: var(--color-border);
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}
.header-light nav *:not(.btn) {
  color: var(--color-foreground-subtle);
}

header {
  position: relative;
  z-index: 3;
}

.mega-menu {
  background-color: var(--color-foreground-light);
  border-top: 1px solid var(--color-border);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: scaleY(0);
  transform-origin: top;
  transition: all 300ms ease;
}
.mega-menu.open {
  max-height: 500px;
  opacity: 100%;
  transform: scaleY(1);
}
.mega-menu h5,
.mega-menu a,
.mega-menu i,
.mega-menu a span,
.mega-menu strong {
  color: var(--color-foreground-subtle);
}
.mega-menu p {
  color: var(--color-foreground);
}

.site-footer {
  background-color: var(--color-background-dark);
  padding: 1rem;
}
@media (width >= 40rem) {
  .site-footer {
    padding: 1.5rem;
  }
}
@media (width >= 65rem) {
  .site-footer {
    padding: 3rem 3.5rem;
  }
}
@media (width >= 90rem) {
  .site-footer {
    padding: 5rem 6.25rem;
  }
}
.site-footer.flex {
  gap: 2.25rem;
  width: 100%;
}
.site-footer.flex .flex > * {
  flex: 1;
}
.site-footer * {
  color: var(--color-foreground-light);
  line-height: 1.5;
}
.site-footer .flex-col {
  gap: 1.125rem;
}
@media (width >= 65rem) {
  .site-footer .flex-col {
    gap: 1.75rem;
  }
}
@media (width >= 90rem) {
  .site-footer .flex-col {
    gap: 2.25rem;
  }
}
.site-footer .flex-col * [class=flex-row] {
  gap: 1rem;
}
.site-footer strong {
  display: block;
}
.site-footer .footer--list li {
  font-size: 0.875rem;
  letter-spacing: 0.5px;
  margin-top: 0.25rem;
}
@media (width >= 40rem) {
  .site-footer .footer--list li {
    font-size: 1rem;
  }
}
@media (width >= 65rem) {
  .site-footer .footer--list li {
    font-size: 1.125rem;
    margin-top: 0.5rem;
  }
}
.site-footer i {
  font-size: 32px;
}
.site-footer .flex-row-sm {
  width: 100%;
}
@media (width >= 65rem) {
  .site-footer .flex-row-sm {
    padding-left: 4rem;
  }
}
.site-footer .flex-row-sm .flex-col:not(:first-of-type) {
  margin-top: 2rem;
}
@media (width >= 40rem) {
  .site-footer .flex-row-sm .flex-col:not(:first-of-type) {
    margin-top: 0;
  }
}
.site-footer > .flex-col {
  min-width: 16.25rem;
}

.input-default {
  position: relative;
}
.input-default label {
  color: var(--color-foreground);
  font-size: 1.25rem;
  letter-spacing: 0.5px;
  line-height: 150%;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  transition: all 150ms ease-in-out;
}
.input-default label.focus {
  color: var(--color-primary);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  top: calc(50% - 1.375rem);
}
.input-default label.focus.textarea {
  top: 1.5rem;
}
.input-default input,
.input-default select,
.input-default textarea {
  background-color: transparent;
  border: 0;
  color: var(--color-foreground);
  font-family: "Urbanist", Helvetica, Arial, sans-serif;
  outline: none;
  padding: 0;
}
.input-default input::placeholder,
.input-default select::placeholder,
.input-default textarea::placeholder {
  color: transparent;
}
.input-default textarea {
  height: 10rem;
}

body .wpforms-container {
  margin: 0 !important;
  padding: 0 !important;
}
body .wpforms-container .wpforms-submit {
  background-color: var(--color-primary) !important;
  border-radius: 8px !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  height: auto !important;
  letter-spacing: 0.5px !important;
  line-height: 150% !important;
  padding: 0.875rem 1.25rem !important;
  text-transform: uppercase !important;
  width: 100% !important;
}
@media (width >= 65rem) {
  body .wpforms-container .wpforms-submit {
    font-size: 1.5rem !important;
    padding: 1rem 1.5rem !important;
  }
}
@media (width >= 90rem) {
  body .wpforms-container .wpforms-submit {
    font-size: 2rem !important;
    padding: 1rem 2rem !important;
  }
}
body .wpforms-field label {
  color: var(--color-primary) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  line-height: 150% !important;
  margin-bottom: 0.25rem !important;
  text-transform: uppercase;
}
body .wpforms-field input,
body .wpforms-field select,
body .wpforms-field textarea {
  background-color: var(--color-border) !important;
  border: 0 !important;
  border-radius: 1rem !important;
  color: var(--color-foreground) !important;
  font: 1rem "Urbanist", Helvetica, Arial, sans-serif !important;
  height: auto !important;
  max-width: unset !important;
  outline: none !important;
  padding: 1rem !important;
  width: 100% !important;
}

.background-air-cannon {
  background: linear-gradient(180deg, #120611 0%, #502B4B 100%);
}

.home-big-dog {
  margin: 0 auto 8rem;
  max-width: calc(100% - 6rem);
}
.home-big-dog ~ div h2 {
  width: 100%;
}

.home-case-studies p {
  margin-left: auto;
  margin-right: auto;
  max-width: 40rem;
}

.home-insights {
  background-color: #EEE;
  margin-top: -2rem;
  margin-bottom: -6rem;
}
@media (width >= 65rem) {
  .home-insights {
    margin-top: -2.75rem;
  }
}
@media (width >= 90rem) {
  .home-insights {
    margin-top: -3.5rem;
  }
}

.home-article-hero {
  background-color: black;
  justify-content: center !important;
  min-height: 22.5rem;
  overflow: hidden;
  position: relative;
}
.home-article-hero .wp-block-latest-posts__post-title {
  display: inline-block;
  font-size: 2.75rem;
  margin-bottom: 1.75rem;
}
.home-article-hero .btn {
  background-color: var(--color-primary);
  border: 0;
  font-size: 1.25rem;
  letter-spacing: 0.5px;
  line-height: 150%;
  padding: 0.875rem 1.25rem;
  text-transform: uppercase;
}
@media (width >= 65rem) {
  .home-article-hero .btn {
    font-size: 1.5rem;
    padding: 1rem 1.5rem;
  }
}
@media (width >= 90rem) {
  .home-article-hero .btn {
    font-size: 2rem;
    padding: 1rem 2rem;
  }
}

.home-article-hero li > *:not(.wp-block-latest-posts__featured-image),
.home-article-collection li > *:not(.wp-block-latest-posts__featured-image) {
  position: relative;
  z-index: 2;
}
.home-article-hero img,
.home-article-collection img {
  left: 50%;
  max-height: unset !important;
  max-width: unset !important;
  min-height: 100% !important;
  min-width: 100% !important;
  opacity: 60%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.home-article-hero .wp-block-latest-posts__post-title,
.home-article-collection .wp-block-latest-posts__post-title {
  font-family: "League Spartan", Helvetica, Arial, sans-serif;
  font-weight: 800;
  line-height: 112.5%;
  text-transform: uppercase;
}

.home-article-collection {
  align-items: stretch !important;
}
.home-article-collection li {
  -webkit-border-radius: 1.5rem;
  -moz-border-radius: 1.5rem;
  -ms-border-radius: 1.5rem;
  -o-border-radius: 1.5rem;
  border-radius: 1.5rem;
  background-color: black;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.75rem;
  justify-content: space-between !important;
  min-height: 13.75rem;
  overflow: hidden;
  padding: 1rem;
  position: relative;
}
@media (width >= 40rem) {
  .home-article-collection li {
    -webkit-border-radius: 1.75rem;
    -moz-border-radius: 1.75rem;
    -ms-border-radius: 1.75rem;
    -o-border-radius: 1.75rem;
    border-radius: 1.75rem;
    padding: 1.125rem;
  }
}
@media (width >= 65rem) {
  .home-article-collection li {
    -webkit-border-radius: 2rem;
    -moz-border-radius: 2rem;
    -ms-border-radius: 2rem;
    -o-border-radius: 2rem;
    border-radius: 2rem;
    gap: 1rem;
    padding: 1.25rem;
  }
}
@media (width >= 90rem) {
  .home-article-collection li {
    -webkit-border-radius: 2.25rem;
    -moz-border-radius: 2.25rem;
    -ms-border-radius: 2.25rem;
    -o-border-radius: 2.25rem;
    border-radius: 2.25rem;
    gap: 1.25rem;
    padding: 1.5rem;
  }
}
.home-article-collection li .wp-block-latest-posts__featured-image {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.home-article-collection li .wp-block-latest-posts__post-title {
  font-size: 1.5rem;
}
.home-article-collection li:first-child {
  display: none !important;
}

.about-profile {
  background-color: var(--color-background-dark);
  height: 20rem;
  padding: 1rem;
  overflow: hidden;
  position: relative;
  transition: transform 150ms ease-in-out;
}
.about-profile * {
  color: var(--color-foreground-light) !important;
  position: relative;
  z-index: 2;
}
.about-profile img {
  left: 50%;
  max-width: unset !important;
  width: calc(100% + 2rem);
  opacity: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 150ms ease-in-out;
  z-index: 1;
}
@media (width >= 65rem) {
  .about-profile {
    padding: 1.5rem;
  }
  .about-profile img {
    width: calc(100% + 3rem);
  }
}
@media (width >= 90rem) {
  .about-profile {
    padding: 2rem;
  }
  .about-profile img {
    width: calc(100% + 4rem);
  }
}
.about-profile:hover {
  transform: scale(1.1);
  z-index: 2;
}
.about-profile:hover img {
  opacity: 75%;
}
.about-profile.empty {
  background-color: transparent;
}

.about-img-float {
  margin: 3rem auto 0;
  width: 15rem;
}
@media (width >= 65rem) {
  .about-img-float {
    margin: 0;
    position: absolute;
    right: 7rem;
    top: 6rem;
    width: 25rem;
  }
}
@media (width >= 90rem) {
  .about-img-float {
    width: auto;
  }
}

@media (width >= 65rem) {
  .col-half:not(.margin-x-auto) {
    width: 50%;
  }
}

.industry-block {
  -webkit-box-shadow: 0 0 0.75rem 0 rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0 0 0.75rem 0 rgba(0, 0, 0, 0.75);
  box-shadow: 0 0 0.75rem 0 rgba(0, 0, 0, 0.75);
  height: 30rem !important;
  overflow: hidden;
  position: relative;
}
.industry-block::after {
  background: var(--color-background);
  background: linear-gradient(180deg, rgba(57, 59, 81, 0) 0%, rgb(57, 59, 81) 60%, rgb(57, 59, 81) 100%);
  bottom: 0;
  content: "";
  height: 16rem;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}
.industry-block * {
  color: var(--color-foreground-light) !important;
}
.industry-block .flex {
  position: relative;
  z-index: 2;
}
.industry-block img.hero-img, .industry-block .hero-img img {
  opacity: 100% !important;
}

.air-cannon-big-dog {
  background-color: #000;
}
.air-cannon-big-dog h1 {
  font-size: 6rem;
}

.air-cannon-hero-section .hero-img,
.air-cannon-hero-section .hero-img img {
  opacity: 100%;
}

.air-cannon-gradient {
  background: linear-gradient(180deg, #2b241f 0%, #231e1a 50%, #1a1715 100%);
  border-bottom: 1px solid #976e51;
  border-top: 1px solid #976e51;
  margin-top: 0;
}

.air-cannon-intro {
  margin-top: 0;
  padding-bottom: 2rem;
}

.follow-science-cta {
  padding-bottom: 12rem;
  padding-top: 12rem;
}

.wp-block-post-author-name *,
.wp-block-post-date * {
  color: var(--color-foreground);
}

.wp-block-post .wp-block-post-featured-image {
  position: initial;
}

body {
  background: linear-gradient(180deg, #2b241f 0%, #231e1a 50%, #1a1715 100%);
}
body.locked {
  overflow: hidden;
}

/*# sourceMappingURL=main.css.map */
