@charset 'utf-8';

/*Basic Reset for box sizing*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

/*==============================
  Root
================================*/
:root {
  --base-font-size: 1rem;

  /*Font Scaling*/
  --font-scale: 1.1;

  /*h1-h6 font sizes*/
  --h6-size: calc(var(--base-font-size) * var(--font-scale));
  --h5-size: calc(var(--h6-size) * var(--font-scale));
  --h4-size: calc(var(--h5-size) * var(--font-scale));
  --h3-size: calc(var(--h4-size) * var(--font-scale));
  --h2-size: calc(var(--h3-size) * var(--font-scale));
  --h1-size: calc(var(--h2-size) * var(--font-scale));
  --h0-size: calc(var(--h1-size) * var(--font-scale));

  /*Color Palette*/
  --text-color-primary: #000;
  --bg-color-primary: #fff;
  --heading-color-primary: #0067b3;
  --heading-color-secondary: #0095da;
  --card-bg: #d5edf8;
  --card-text: #000;

  --spacer: 0.7rem;
}

@media screen and (min-width: 750px) {
  :root {
    --font-scale: 1.2;
    --spacer: 1rem;
  }
}
/*==============================
  Dark Mode Colors
================================*/
.darkModdeIndicator {
  display: none;
}
@media (prefers-color-scheme: dark) {
  :root {
    --text-color-primary: #efefef;
    --bg-color-primary: #000;
    --heading-color-primary: #6e6e6e;
    --heading-color-secondary: #babbbb;
    --card-bg: #302f2f;
    --card-text: #efefef;
  }
  .darkModdeIndicator {
    display: block;
  }
}

html {
  font-size: var(--base-font-size);
  line-height: 1.6;
  color: var(--text-color-primary);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;

  /*This property is added for a links to add a smooth scroll effect within the document or other documents*/
  scroll-behavior: smooth; /*you can also add scroll padding*/

  /*Correct the line height in all browsers.*/
  /* line-height: 1.15; */

  /*Prevent adjustments of font size after orientation changes in iOS.*/
  -webkit-text-size-adjust: 100%;

  /*Give preference to user's preference*/
  color-scheme: dark light;
}

ul[class],
ol[class] {
  margin: 0;
  padding: 0;
  list-style: none;
}

img,
picture,
svg,
video {
  display: block; /*ensures the 1px issue below image (font descender)*/
  max-width: 100%; /*takes care of responsiveness*/
  border-style: none; /*IE 10 image border link inside an a*/
}

/*to normalise forms*/
input,
textarea,
button,
select {
  font: inherit;
  font-size: 100%;
  margin: 0;
}

/*Render the `main` element consistently in IE.*/
main {
  display: block;
}

/*background on active links in IE 10*/
/* a{
  background-color: transparent;
} */

a,
button {
  cursor: pointer;
  text-decoration: none;
}

body {
  min-height: 100%;
  /*body min height 100% vs 100vh??*/
  /* min-height: 100vh; */

  margin: 0;
  padding: 0;
  background-color: var(--bg-color-primary);

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*====================
Control margins
======================*/
h1,
h2,
h3,
h4,
p {
  margin: 0;
}

/*====================
Utility Classes
======================*/

/*To tackle the vertical margin collapse and give equal and consistent spacing betewen elements*/

section {
  padding: calc(2 * var(--spacer)) 0;
}

.container {
  max-width: 70rem;
  margin: 0 auto;
  padding: 0 var(--spacer);
}

.flow-content > * {
  margin-bottom: var(--spacer);
  /*or*/
  margin-bottom: var(--custom-space, var(--spacer));
}
.flow-content > *:last-child {
  margin-bottom: 0;
}
/*or*/
/* .flow-content > * + * {
  margin-top: 2rem;
} */

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.uppercase {
  text-transform: uppercase;
}

.light {
  opacity: 0.7;
}

/*==============================
  Set sizes for all Headings h1 - h6
  also create classes like .h1 etc just for size purposes to use on other elements
================================*/

.h0,
.display {
  font-size: var(--h0-size);
}

h1,
.h1 {
  font-size: var(--h1-size);
  line-height: 1.1;
  margin: 0;
  margin-bottom: 0.5em;
  margin-top: 0.2em;
}
h2,
.h2 {
  font-size: var(--h2-size);
  line-height: 1.2;
}
h3,
.h3 {
  font-size: var(--h3-size);
}
h4,
.h4 {
  font-size: var(--h4-size);
}
h5,
.h5 {
  font-size: var(--h5-size);
}
h6,
.h6 {
  font-size: var(--h6-size);
}

small,
.text-small {
  font-size: 0.8rem;
  /*or*/
  /* font-size: 85%; */
}

blockquote {
  font-style: italic;
  border-left: 0.2rem solid rgba(var(--color-foreground), 0.2);
  padding-left: 1rem;
}

@media screen and (min-width: var(--mobile-device)) {
  blockquote {
    padding-left: 1.5rem;
  }
}

.caption {
  font-size: 1rem;
  letter-spacing: 0.07rem;
  line-height: 1.7;
}

@media screen and (min-width: var(--mobile-device)) {
  .caption {
    font-size: 1.2rem;
  }
}

hr {
  border: none;
  height: 0.1rem;
  display: block;
  margin: 3rem 0;
  box-sizing: content-box; /*correct box sizing Firefox*/
  overflow: visible; /*Show the overflow in Edge and*/
}

@media screen and (min-width: var(--mobile-device)) {
  hr {
    margin: 4rem 0;
  }
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}
code,
kbd,
samp {
  font-family: monospace;
  font-size: 1em;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

template {
  display: none;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText;
}
