*,
*::before,
*::after {
  box-sizing: border-box;
}

*:focus,
*:focus-visible {
  outline: 0;
}

* {
  @include scrollbar;

  &::selection {
    background-color: $color-black;
    color: $color-white;
  }
}

body,
html {
  width: 100%;
  height: fit-content;
  margin: 0;
  padding: 0;
  min-width: 320px;
  min-height: 560px;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-size-adjust: 100%;
  scrollbar-gutter: stable;
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
  font-feature-settings:
    'kern' on,
    'liga' on;
  font-variant-ligatures: common-ligatures;
  font-size: 100%;
}

body {
  color: $color-black;
  contain: inline-size;
  font-family: $font-default;
}

main {
  position: relative;
  display: grid;
  flex: 1;
  align-content: start;

  /* > *:not(section) {
    order: 3;
  } */
}

section {
  position: relative;
  width: 100%;
  height: auto;
  padding-top: $spacing-xl;
  padding-bottom: $spacing-xl;
  // order: 3;
}

article {
  display: grid;
  order: 3;
}

.pageWrapper {
  display: flex;
  flex-direction: column;
  min-block-size: 100vh; /* Fallback */
  min-block-size: 100svh; /* Dynamic Units for Modern Browsers */
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
pre {
  @include reset-text;
}

button {
  @include reset-button;
}

a {
  @include reset-link;
  @include btn-focus-visible(2px);
}

img {
  @include reset-img;
}

figure {
  @include reset-figure;

  &.ai-img::after {
    @include ai-icon;
  }
}

figcaption {
  margin-top: 8px;
  font-size: 10px;
  opacity: 0.8;
  // @include reset-figcaption;
}

fieldset {
  @include reset-fieldset;
}

svg {
  @include reset-svg;
}

address {
  @include reset-address;
}

ul,
ol {
  @include reset-list;
}

blockquote {
  @include reset-blockquote;
}

input[type='text'],
input[type='email'],
input[type='search'],
input[type='number'],
input[type='password'],
input[type='tel'],
input[type='url'],
textarea {
  @include reset-input;
}

pre {
  @include pre;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
blockquote,
strong,
em,
cite,
figcaption,
dt,
dd,
label,
summary,
legend {
  text-rendering: optimizeLegibility;
}

flynt-component {
  display: contents;
}

[hidden],
.hidden,
%hidden {
  display: none !important;
}

[disabled],
.disabled,
%disabled {
  pointer-events: none;
}

.no-scroll,
%no-scroll {
  overflow: hidden;
}

.otgs-development-site-front-end {
  @include screen-reader;
}

.h-100 {
  height: 100%;
}

.lightbox {
  cursor: zoom-in;
}
