@charset "UTF-8";

/* Above this line of text is the charset. */
/* Avoid page breaks inside the most common attributes, especially for exports (i.e., PDF) */
/* Pretty much all the content. */
td,
h1,
h2,
h3,
h4,
h5,
div,
table,
thead,
tr,
th,
pre,
code,
tbody,
tfoot,
td,
p,
ul,
ol,
li,
details,
summary {
  page-break-inside: avoid;
  max-width: 1000px;
  margin: auto;
  text-align: center;
}

/* The borders for the ui buttons like cookie learn more, theme changer, reset cookie consent. */
:root {
  --ui: rgb(0, 0, 0);
  --ui2: rgb(12, 46, 76);
}

/* The JS informational text. */
#jsinformationaltext {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: auto;
  position: relative;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -moz-box-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  list-style: none;
  padding: 10px;
  margin: auto;
  flex-direction: column;
}

/* The togglable-alert. */
.togglable-alert {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -moz-box-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: auto;
  padding: 10px;
  flex-direction: column;
}

/* The breadcrumb. */
#breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -moz-box-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: auto;
  padding: 8px;
  flex-direction: column;
}

/* The two types of alerts. */
.alert {
  padding: 20px;
  background-color: #2196f3;
  color: #fff;
  margin-bottom: 15px;
  word-break: break-word; /* Break words if they exceed container width */
}

.alertwarning {
  padding: 20px;
  background-color: #ff9800;
  color: #fff;
  margin-bottom: 15px;
  word-break: break-word; /* Break words if they exceed container width */
}

/* The KB img. */
#kbimg {
  border: 0;
  width: 234.376px;
  height: 30.002px;
}

/* The AB img. */
#abimg {
  border: 0;
  width: 100px;
  height: 33px;
}

/* The SVG img. */
#svgimg {
  border: 0;
  width: 88px;
  height: 31px;
}

/* The XML img. */
#xmlimg {
  border: 0;
  width: 88px;
  height: 31px;
}

/* The CSS img. */
#cssimg {
  border: 0;
  width: 88px;
  height: 31px;
}

/* The Manage cookie button image. */
#cookieimg {
  margin-right: 7px;
  margin-top: 2px;
  vertical-align: text-top;
}

/* The Manage cookie button. */
.managecookie {
  display: block;
}

/* The year html files. */
.blogs {
  padding: 9px;
}

/* The default header/navigation bar. */
header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: auto;
  position: relative;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -moz-box-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  list-style: none;
  padding: 8px;
  margin: auto;
  flex-direction: column;
  text-align: center;
}

header > a {
  text-align: center;
  margin: 8px;
  padding: 8px;
}

header > img {
  width: 100%; /* Make the logo responsive on mobile */
  max-width: 250px; /* Add a maximum width for the logo to avoid overflow */
}

.header-container {
  text-align: center; /* Center the links */
}

:root {
  /*  The font size and fonts the root text uses. */
  font-size: 18px;
  /* Serif font stack */
  font-family: Arial, Helvetica, sans-serif;
  font-display: optional;
}

/* This is for blog9.html the pages. */
pre > code {
  border: 1px solid #0b00a8;
  padding: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -moz-box-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  flex-direction: column;
  white-space: pre-line;
}

/* It makes the scrolling smooth. */
html {
  scroll-behavior: smooth;
  /* Combined from later in the css file unknown. Color mode related. */
  max-width: 100vw;
  overflow-y: scroll;
}

/* The footer flexbox. */
footer > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: auto;
  position: relative;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -moz-box-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  list-style: none;
  padding: 8px;
  margin: auto;
  text-align: center;
  flex-direction: column;
  list-style-type: none;
  /* Gets rid of the white circle. */
}

footer > ul > li > h5 {
  margin: 8px;
  /* How large of a space between the other text. */
}

footer > ul > li > h4 {
  margin: 8px;
  /* How large of a space between the other text. */
}

footer > ul > li > h3 {
  margin: 8px;
  /* How large of a space between the other text. */
}

footer > ul > li > a {
  margin: 8px;
  /* How large of a space between the other text. */
}

/* The legacy code below is for blog4.html. */
table.tableizer-table {
  font-size: 12px;
  border: 1px solid #ccc;
  font-family: Verdana, Geneva, sans-serif;
  font-display: optional;
}

.tableizer-table td {
  padding: 4px;
  margin: 3px;
  border: 1px solid #ccc;
}

.tableizer-table th {
  background-color: #000;
  color: #fff;
  font-weight: bold;
}

/* Enables horizontal scrolling for any table elements, intended to be used on mobile. */
table {
  overflow: scroll;
  display: block;
}

/* The invisible element with the id top is used on every page, so the link which takes you to the top works. */
#top {
  visibility: hidden;
}

/* The entire contact form. */
form {
  page-break-inside: avoid;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: auto;
  position: relative;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -moz-box-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  list-style: none;
  padding: 8px;
  margin: auto;
  text-align: center;
  flex-direction: column;
}

/* The contact form spacings. */
form > h5 {
  margin: min(8px) auto;
}

form > textarea {
  margin: min(8px) auto;
}

form > input {
  margin: min(8px) auto;
}

/* All color mode related. */

.bg-glare {
  background: var(--glare);
}

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

div {
  border-color: currentColor;
}

body,
button,
input,
li,
ol,
p,
ul {
  margin: 0;
}

body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  -webkit-tap-highlight-color: transparent;
}

button,
input,
textarea {
  font: inherit;
  border: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

:after,
:before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* Combined from later in file. */
  pointer-events: none;
}

.body,
html,
main {
  width: 100vw;
  max-width: 100vw;
  min-height: 100vh;
  padding: 0;
  margin: 0;
  position: relative;
  overflow-x: hidden;
}

.article,
footer {
  width: 100%;
  max-width: 100vw;
  margin: 0;
  padding: 0.56rem 2px;
}

.article > * + *,
footer > * + * {
  margin-top: 1rem;
}

.theme span {
  display: flex;
  justify-content: center;
  align-items: center;
  /* Combined from later in file. */
  height: 100%;
  overflow: hidden;
  color: var(--text);
  padding: 0 0.75rem 1px;
  border-radius: 9em;
}

.theme:hover {
  transform: scale(0.97);
}

main {
  padding-bottom: 2.36rem;
  min-height: 100vh;
}

footer {
  padding-top: 2.36rem;
}

ol,
ul {
  padding: 0;
}

* #default-btn > span,
:root {
  --text: #000;
  --glare: #fff;
  --base: #f4f0eb;
  --shade: #fff;
  --ui: var(--ui2);
}

* #dark-btn > span,
* #dark:checked ~ * {
  --text: #fff;
  --glare: #242424;
  --base: #0a0a0a;
  --shade: #242424;
  --ui: var(--ui2);
}

#vegas-btn > span,
#vegas:checked ~ * {
  --text: #fff;
  --glare: #439889;
  --base: #00695c;
  --shade: #439889;
  --ui: var(--ui2);
}

#blue-btn > span,
#blue:checked ~ * {
  --text: #fff;
  --glare: #3e76a7;
  --base: #305c82;
  --shade: #3e76a7;
  --ui: var(--ui2);
}

#dd-btn > span,
#dd:checked ~ * {
  --text: #c3b384;
  --glare: #241a13;
  --base: #1d150f;
  --shade: #241a13;
  --ui: var(--ui2);
}

.color-wrap {
  min-height: 100vh;
  width: 100vw;
  max-width: 100vw;
  background: var(--base);
  color: var(--text);
}

a {
  text-decoration: underline solid;
  color: var(--text);
}

a:hover {
  text-decoration: underline dotted;
}

.text-content {
  padding: 3.15rem 0.75rem;
  width: 100%;
  background: var(--base);
  display: flex;
  flex-wrap: wrap;
  page-break-inside: avoid;
  max-width: 1000px;
  margin: auto;
  text-align: center;
}

.text-content > * {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.text-content > ol > li {
  margin-top: 10px;
  margin-bottom: 10px;
  list-style-position: inside;
}

code {
  background: var(--shade);
}

button {
  --set: var(--ui);
  cursor: pointer;
  touch-action: manipulation;
  background: var(--glare);
  border: solid 2px var(--ui);
  box-shadow: 0 2px var(--shade);
  color: var(--text);
  border-radius: 4px;
}

button:disabled {
  pointer-events: none;
  border-color: var(--shade);
  box-shadow: none;
  background: var(--glare);
  opacity: 0;
}

button:active {
  transform: translateY(1px);
}

.input,
input {
  border: solid 2px var(--ui);
  border-radius: 4px;
  box-shadow: inset 0 2px var(--shade);
  padding: 0.56rem;
  margin: 0;
  background: var(--glare);
  color: var(--text);
}

input[type="checkbox"],
input[type="radio"] {
  position: absolute;
  top: 0.56rem;
  right: 0.56rem;
  opacity: 0.001;
}

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

.flow > * + *,
.text-content > * + * {
  margin-top: 1rem;
}

.theme span:first-child > * {
  position: relative;
  z-index: 1;
}

.theme span:first-child:before {
  content: "";
  background-color: var(--set);
  position: absolute;
  display: block;
  z-index: 0;
  max-width: none;
}

.theme {
  position: absolute;
  top: 4px;
  right: 4px;
  z-index: 1;
  height: 2.36rem;
  width: calc(2.36rem * 2);
  border: solid 2px var(--ui);
  cursor: pointer;
  border-radius: 9em;
  user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  opacity: 0;
  pointer-events: none;
  transition: 0.2s ease-in-out;
}

.theme:active {
  transform: translateY(1px);
}

.theme span:first-child {
  position: absolute;
  width: 100%;
  background: var(--glare);
  --set: var(--shade);
}

.theme .light-mode-hide {
  display: none;
}

.theme-box:checked + .theme + .theme-box + .theme,
.theme-box:first-of-type:checked + .theme-box + .theme,
.theme-box:last-of-type:checked + .theme + .theme {
  opacity: 1;
  pointer-events: initial;
  position: fixed;
  transition: 0.2s ease-in-out;
  top: 15px;
  right: 15px;
}

.theme-box:hover {
  transform: scale(0.97);
}

/* Glow cookie CSS is after this line. */
/* CUSTOM CLASSES */

.glowCookies__right {
  right: 15px;
}

/* COMMON STYLES */
/* ========================= */

.glowCookies__banner .accept__btn__styles .reject__btn__styles {
  border: none;
  padding: 13px 15px;
  font-size: 15px;
  font-family: inherit;
  width: 49%;
  cursor: pointer;
  font-weight: bolder;
  transition: filter 0.15s;
  user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
}

.glowCookies__banner button:focus {
  outline: none;
  transform: scale(0.95);
  -webkit-filter: contrast(75%);
  filter: contrast(75%);
}

.glowCookies__banner button:hover {
  -webkit-filter: contrast(85%);
  filter: contrast(85%);
}

/* BANNER STYLE 1 */
/* ========================= */
.glowCookies__banner__1 {
  bottom: 15px;
  border-radius: 20px;
  padding: 20px 25px;
  font-weight: bolder;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-top: 20px;
}

.glowCookies__banner__1 > h3 {
  font-size: 24px;
  margin: 0;
  padding: 8px 0;
}

.glowCookies__banner__1 > p {
  font-size: 15px;
  margin: 0;
  padding: 0;
  line-height: 1.3;
}

.glowCookies__banner__1:hover {
  color: #666;
}

.glowCookies__banner__1 button {
  border-radius: 10px;
}

/* Prebanner styles */
/* =========================== */
.prebanner {
  position: fixed;
  bottom: 15px;
  z-index: 999;
  min-height: 50px;
  min-width: 125px;
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
  font-weight: bolder;
  line-height: normal;
  border: 1px solid var(--ui2);
  padding: 12px 18px;
  text-decoration: none;
  user-select: none;
  -ms-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -webkit-box-shadow: 0 0.625em 1.875em var(--shade);
  -moz-box-shadow: 0 0.625em 1.875em var(--shade);
  box-shadow: 0 0.625em 1.875em var(--shade);
}

.animation {
  transition: 0.2s;
}

.animation:hover {
  transform: scale(0.97);
}

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

/* All media css stylesheets. */
/* The header/navigation bar. For desktops. */
@media only screen and (min-width: 768px) {
  header {
    text-align: initial;
  }

  header img {
    width: auto; /* Allows the logo width to be its original size */
    max-width: none; /* Remove the maximum width for the logo on desktop */
  }

  .header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .header-container a {
    padding: 10px;
  }
}

/* The header/navigation bar links. For mobile. */
@media only screen and (max-width: 767px) {
  .header-container a {
    display: block;
    margin: 10px;
    /* How large of a space between the other text. */
  }
}

/* For screens above a certain size. */
@media only screen and (min-width: 320px) {
  .article,
  footer {
    padding: 1.33rem 0.56rem;
  }
}

/* The header/navigation bar. For desktops. */
@media only screen and (max-width: 1500px) and (min-width: 601px) {
  /* Styles for the homepage */
  body.home header > img {
    /* Adjust the width as needed for the homepage */
    max-width: 250px; /* Add a maximum width for the logo to avoid overflow on desktop */
    width: 100%; /* Ensure the image takes up the full width */
    margin-top: 0%;
    margin-bottom: 0%;
  }

  /* Styles for other pages */
  body:not(.home) header > img {
    max-width: 40%; /* Reduce the logo size by 60% on pages that are not the homepage */
    width: auto; /* Allow the image to resize based on its aspect ratio */
    margin-top: 0%;
    margin-bottom: 0%;
  }

  header > a {
    margin: 8px;
    /* How large of a space between the other text. */
  }
}

/* The header/navigation bar logo. For mobile. */
@media only screen and (max-width: 600px) and (min-width: 399px) {
  /* Styles for the homepage */
  body.home header > img {
    /* Adjust the width as needed for the homepage */
    max-width: 210px; /* Add a maximum width for the logo to avoid overflow on desktop */
    width: 100%; /* Ensure the image takes up the full width */
    margin-top: 0%;
    margin-bottom: 0%;
  }

  /* Styles for other pages */
  body:not(.home) header > img {
    max-width: 40%; /* Reduce the logo size by 60% on pages that are not the homepage */
    width: auto; /* Allow the image to resize based on its aspect ratio */
    margin-top: 0%;
    margin-bottom: 0%;
  }
}

/* The header/navigation bar. For small mobile. */
@media only screen and (max-width: 399px) and (min-width: 319px) {
  /* Styles for the homepage */
  body.home header > img {
    /* Adjust the width as needed for the homepage */
    max-width: 210px; /* Add a maximum width for the logo to avoid overflow on desktop */
    width: 100%; /* Ensure the image takes up the full width */
    margin-top: 0%;
    margin-bottom: 0%;
  }

  /* Styles for other pages */
  body:not(.home) header > img {
    max-width: 40%; /* Reduce the logo size by 60% on pages that are not the homepage */
    width: auto; /* Allow the image to resize based on its aspect ratio */
    margin-top: -15%;
    margin-bottom: -15%;
  }
}

/* This size is rare. */
/* The header/navigation bar. For certain mobile devices. */
@media only screen and (max-width: 319px) and (min-width: 277px) {
  /* Styles for the homepage */
  body.home header > img {
    /* Adjust the width as needed for the homepage */
    max-width: 170px; /* Add a maximum width for the logo to avoid overflow on desktop */
    width: 100%; /* Ensure the image takes up the full width */
    margin-top: -10%;
    margin-bottom: -10%;
  }

  /* Styles for other pages */
  body:not(.home) header > img {
    max-width: 40%; /* Reduce the logo size by 60% on pages that are not the homepage */
    width: auto; /* Allow the image to resize based on its aspect ratio */
    margin-top: -20%;
    margin-bottom: -20%;
  }
}

/* If a setting in the browser tells the webpage to not do a lot of animations/motion. */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0s;
    animation-iteration-count: 1;
    transition-duration: 0s;
  }
}

/* If the users default device/browser set color is dark. */
@media (prefers-color-scheme: dark) {
  * #default-btn > span,
  :root {
    --text: #fff;
    --glare: #242424;
    --base: #0a0a0a;
    --shade: #242424;
    --ui: var(--ui2);
  }

  * #dark-btn > span,
  * #dark:checked ~ * {
    --text: #000;
    --glare: #fff;
    --base: #f4f0eb;
    --shade: #fff;
    --ui: var(--ui2);
  }

  .theme .dark-mode-hide {
    display: none;
  }

  .theme .light-mode-hide {
    display: flex;
  }
}

/* For certain screen sizes. */
@media only screen and (max-width: 455px) {
  .btn__accept {
    width: 100%;
    margin-bottom: 7px;
  }

  .btn__reject {
    width: 100%;
  }

  .glowCookies__banner__1 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-top: 20px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 7px;
  }
}
