:root {
    --color1: #0d0e11;
    --color2: #1f2027;
    --color3: #2f313e;
    --color4: #404456;
    --color5: #9196b0;
    --color6: #c2c4d4;
    --color7: #f4f5f7;
    --accent1: #1f2027;
    --accent2: #2f313e;
    --accent3: #9196b0;
    --accent4: #c2c4d4;
    --red: #f7616b;
}

:root.light {
    --color1: #f2f1ee;
    --color2: #e0dfd8;
    --color3: #d0cec1;
    --color4: #bfbba9;
    --color5: #6e694f;
    --color6: #a7a494;
    --color7: #736f55;
    --accent1: #e0dfd8;
    --accent2: #d0cec1;
    --accent3: #6e694f;
    --accent4: #3d3b2b;
    --red: #a90830;
}

:root.dark {
    --color1: #0d0e11;
    --color2: #1f2027;
    --color3: #2f313e;
    --color4: #404456;
    --color5: #9196b0;
    --color6: #c2c4d4;
    --color7: #f4f5f7;
    --accent1: #1f2027;
    --accent2: #2f313e;
    --accent3: #9196b0;
    --accent4: #c2c4d4;
    --red: #f7616b;
}

body, html {
    margin: 0;
    padding: 0.25em;
    font-family: 'Nunito', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

h1, h2, h3 {
    margin-top: 0px;
    margin-bottom: 0.25em;
}

.banner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  padding: 0.75em 1.5em;
  z-index: 1000;
  box-sizing: border-box;
  animation: fadeOut 30s forwards;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
    visibility: visible;
  }
  95% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

.small {
  font-size: 0.875em;
  margin-top: 0.125em;
}

.navigation {
  position: fixed;
  bottom: 0;
  left: 0px;
  text-align: center;
  padding: 1.0em 1.5em;
  z-index: 1001;
  box-sizing: border-box;
}

.social {
    font-size: 87%;
    margin-bottom: 1em;
}

.social-link {
    text-decoration: none;
    margin-left: 0.1em;
}

.container {
    display: flex;
    align-items: flex-start;
    width: 60em;
}

.logo-column {
    flex: 0 1 115px;
}

.content-column {
    flex: 3;
}

.logo img {
    max-width: 100px;
}

.products {
    display: flex;
    justify-content: space-around;
}

.product {
    flex: 1;
    margin-right: 0.25em;
}

form {
    max-width: 25em;
    display: grid;
    grid-template-columns: 100%;
    grid-gap: 1.5em;
    margin-bottom: 2em;
}

.form-field {
    display: flex;
    align-items: center;
    gap: 1em;
}

.form-field label {
    flex: 0 0 9em;
    text-align: right;
}

.form-field input {
    flex: 1;
    width: auto;
}

.form-field .captcha-image {
    flex: 0 0 200px;
}

label {
    font-size: 0.875em;
}

/* https://stackoverflow.com/questions/61083813/how-to-avoid-internal-autofill-selected-style-to-be-applied */
input:-webkit-autofill,
input:-webkit-autofill:focus {
  transition: background-color 0s 600000s, color 0s 600000s !important;
}

input {
    padding: 0.25em;
    border: 0px;
    outline: none;
    font-family: 'Nunito', sans-serif;
    font-size: 1.125em !important;
    width: 100%;
    box-sizing: border-box;
}

input[type=submit], input[type=button] {
    padding: 0.625em;
    margin-top: 0.5em;
    border: 0px;
    width: 50%;
}

input[type=checkbox] {
    width: 1.0em;
}

select, select:active {
    width: 100%;
    padding: 0.25em;
    font-family: 'Nunito', sans-serif;
    font-size: 1.125em;
    line-height: 1.5;
    border-radius: 0px;
    appearance: none; /* Remove default styling */
    -webkit-appearance: none; /* Remove default styling in Safari */
    -moz-appearance: none; /* Remove default styling in Firefox */
    outline: none;
}

option {
    padding: 10px;
}


/*  */
body, html {
    color: var(--color6);
    background: var(--color1);
}

h1 {
    color: var(--accent4);
}

a {
    color: var(--accent3);
}

.banner {
    background-color: #bb2b7c;
    color: #cccccc;
}

.banner a {
    color: white;
}

.social-link {
    color: var(--accent3);
}

.container {
    background: var(--color1);
}

.content-column {
    color: var(--color7);
}

form {
    background: var(--color1);
}

label {
    color: var(--color6);
}

input {
    border-bottom: 2px var(--accent1) solid;
    background-color: var(--color1);
    color: var(--color6);
}

input[type=submit], input[type=button] {
    background-color: var(--accent3);
    color: var(--color1);
}

input[type=submit]:disabled, input[type=button]:disabled {
    background-color: var(--accent1);
    color: var(--accent2);
}

select {
    border: 1px solid var(--accent2);
    background-color: var(--color1);
    color: var(--color7);
}



@font-face {
    font-family: 'Nunito';
    src: url('/font/Nunito-Italic-VariableFont_wght.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Nunito';
    src: url('/font/Nunito-VariableFont_wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
}

@media (max-width: 60em) {
    form {
        width: 100%;
        max-width: 100%;
        min-width: 100%;
    }

    .container {
        width: 100%;
        max-width: 100%;
        min-width: 100%;
    }
}
