@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Open+Sans&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap');

* {
  box-sizing: border-box;
}

body {
  font-family: 'Open Sans', 'Gill Sans', 'Gill Sans MT', 'Calibri', 'Trebuchet MS', sans-serif;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
header,
.header,
footer,
.footer {
  font-family: 'Nunito', 'Calibri', 'Trebuchet MS', sans-serif;
}

pre, .monospaced {
  font-family: 'Roboto Mono', 'Consolas', 'Courier New', 'Courier', monospace;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

h1 {
  font-size: 32pt;
  font-weight: 200;
  margin: 0.5em 0;
  color: blueviolet;
}

h2 {
  font-size: 28pt;
  font-weight: 300;
  margin: 0.5em 0;
  color: cadetblue;
}

h3 {
  font-size: 24pt;
  font-weight: 300;
  color: cadetblue;
}

header,
.header {
  padding: 0 24px;
  /* color: white;
    background-color: #324ec9; */
  display: inline;
}

nav a {
  font-size: 18pt;
  font-weight: 400;
}

nav ul {
  padding-inline-start: 24px;
}

nav ul>li {
  display: inline;
  margin: 0.5em;
}

main {
  padding: 24px;
  overflow: auto;
}

.jumbo {
  height: 200px;
  /* background-image: url("img/crystal-mosaic-a1.png");
  background-size: cover; */
  overflow-x: hidden;
  overflow-y: auto;
  perspective: 2px;
  color: white !important;
  position: relative;
}

.jumbo h1,
.jumbo a {
  color: white !important;
}

.jumbo nav {
  background-color: #00000033;
}

.head {
  position: relative;
  padding: 0 24px;
  height: 200px;
  display: flex;
  text-shadow: 0 0 5px black;
}

.parallax::after {
  content: " ";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  transform: translateZ(-1px) scale(1.5);
  background-size: 100%;
  z-index: -1;
}

.head-bg::after {
  background-image: url("img/crystal-mosaic-a1.png");
}

table {
  margin: 16px;
}

.box {
  width: 256px;
  height: 256px;
  padding: 10px;
  border: solid 1px black;
  background-color: teal;
  box-shadow: 4px 4px 4px #11111188;
}

.box p {
  background-color: tomato;
}

.box.cbox {
  box-sizing: content-box;
}

.box.bbox {
  box-sizing: border-box;
}

.rounded {
  border-radius: 4px;
}

.featured-img {
  width: 100%;
  max-height: 300px;
  object-fit: cover;
  object-position: center;
}

.card {
  background-color: whitesmoke;
  border-radius: 8px;
  box-shadow: 0 4px 8px 0 #00000033;
  padding: 16px;
  margin: 16px;
}

#content {
  float: left;
  flex-grow: 1;
}

#aside {
  float: right;
  width: 320px;
}

.fumen {
  margin: 0 auto;
}



footer,
.footer {
  padding: 24px;
  color: white;
  background-color: #111111;
  text-align: center;
  font-weight: 700;
}

.calculator {
  margin: 16px auto;
  padding: 16px;
  /* min-width: 360px; */
  max-width: 800px;
  font-family: 'Roboto Mono', 'Consolas', 'Courier New', 'Courier', monospace;
}

.flex {
  display: flex;
}

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

.flex.flex-col {
  flex-direction: column;
}

.calc-display {
  padding: 8px 1em;
  color: white;
  background-color: #111;

  text-align: right;
  font-size: 2em;
}

h1#display-num {
  color: white !important;
  font-family: 'Roboto Mono', 'Consolas', 'Courier New', 'Courier', monospace;
}

.button {
  flex-basis: 25%;

  font-size: 1.5em;
  font-weight: 400;
  text-align: center;
  padding: 24px;
  border: 1px solid black;
  background: linear-gradient(#ccc, #ddd), -webkit-linear-gradient(top, #ccc, #ddd);
  cursor: pointer;
}



.button.double {
  flex-basis: 50%;
}

.button:hover {
  background: white;
}

.calc-negate {
  background: linear-gradient(#33e, #55f), -webkit-linear-gradient(top, #33e, #55f);
}

.calc-operator {
  background: linear-gradient(#33e, #55f), -webkit-linear-gradient(top, #33e, #55f);
}

.calc-equals {
  background: linear-gradient(#33e, #55f), -webkit-linear-gradient(top, #33e, #55f);
}

.history {
  width: 80%;
  margin: 16px auto 0 auto;
  overflow: scroll;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 1px solid #333;
}

th {
  background-color: #22d;
  color: white;
}

tr:nth-child(even) {
  background-color: #ccf;
}

th, td {
  padding: 16px;
}

@media screen and (max-width: 600px){
  .calculator {
    padding: 0;
  }

  .button {
    padding: 12px;
  }

  .history {
    width: 100%;
  }
}

@media screen and (min-width: 801px) {
  main {
    display: flex;
  }

  .calculator {
    min-width: 360px;
  }
}

@media screen and (max-width: 800px) {

  #content,
  #aside {
    width: 100%;
    padding: 0;
    clear: both;
  }
}