:root {
  --font-size-h: clamp(0.75rem, 0.75rem + 2vw, 3rem);
  --font-size-p: clamp(0.875rem, 0.875rem + 0.5vw, 1.25rem);
  --dot-bg: whitesmoke;
  --dot-color: gainsboro;
  --dot-size: 2px;
  --dot-space: 10px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Cal Sans';
  margin: 0;
  font-size: var(--font-size-h);
  font-weight: normal;
}

html { height:98%; }

body {
  font-family: "DotGothic16";
  font-weight: 300;
  font-size: var(--font-size-p);
  background-color: silver;
  height: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}


.parent {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 1fr 4fr 4fr 1fr; 
  place-items: center;
  border: 2px solid black;
  grid-gap: 2px;
  background-color: black;
  box-shadow: 5px 5px 10px 2px rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  height: 100%;
  width: 100%;
}

.parent > div {
  display: flex;
  background-color: whitesmoke;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 1em;
  flex-direction: column;
  justify-content: flex-end;
  transition: 0.3s;
  border-radius: 10px;
}

#banner { grid-area:  1 / 1 / 2 / 3; background-color: black; }

#banner > h1 
{
  color: whitesmoke;
  text-shadow: 0px 0px 0.15em whitesmoke;
  transition: 0.2s;
  width: fit-content;
}

#banner > h1:hover
{
  text-shadow: 0px 0px 0.5em whitesmoke;
  cursor: pointer;
}

#hero { 
  grid-area: 2 / 1 / 4 / 5;
  overflow: hidden;
  cursor: crosshair;
  background-size: 100% auto;
  align-items: center;
  justify-content: center;
  background: 
    radial-gradient(
      60vmax 60vmax at 0% 0%, 
      orangered 0%,
      rgba(255,255,255,0.5) 95%),
    radial-gradient(
      80vmax 50vmax at 110% -10%, 
      mediumturquoise 0%,
      mediumturquoise 50%, 
      rgba(255,255,255,0.5) 95%), 
    radial-gradient(
      90vmax 50vmax at 50vmax 50vmax, 
      mediumturquoise 0%, 
      mediumturquoise 50%, 
      rgba(255,255,255,0.5) 95%);
}

#heroTextBox {
  align-items: center;
  justify-content: center;
  width: 62%;
  height: 38%;
  flex-direction: column;
}

#workButton {
  grid-area: 1 / 3 / 2 /4;
  background: 
    radial-gradient(50% 50% at 20% 90%, mediumturquoise 0%, rgba(255,255,255,0.5) 95%),
    whitesmoke;
  background-size: 200% 200%;
  background-position: 0% 0%;
  border: none;
  border-radius: 10px;
  transition: background 0.6s ease, box-shadow 0.4s ease, transform 0.3s ease;
  cursor: pointer;
}

#workButton:hover {
  background-position: 20% 100%;
  box-shadow: inset 5px 5px 10px 2px rgba(0, 0, 0, 0.5);
}

#servicesButton {
  grid-area: 1 / 4 / 2 / 5;
  background: 
    radial-gradient(50% 50% at 20% 90%, orangered 0%, rgba(255,255,255,0.5) 95%),
    whitesmoke;
  background-size: 200% 200%;
  background-position: 0% 0%;
  border: none;
  border-radius: 10px;
  transition: background 0.6s ease, box-shadow 0.4s ease, transform 0.3s ease;
  cursor: pointer;
}

#servicesButton:hover {
  background-position: 20% 100%;
  box-shadow: inset 5px 5px 10px 2px rgba(0, 0, 0, 0.5);
}

#workSelect { 
  display: none; 
  background: 
    radial-gradient(
      50vmax 50vmax at 20% 90%, 
      mediumturquoise 0%,
      rgba(255,255,255,0.5) 95%),
    radial-gradient(
      30vmax 30vmax at 80% -20%, 
      orangered 0%,
      rgba(255,255,255,0.5) 95%),
    whitesmoke
}
#servicesSelect { 
  display: none;    
  background: 
    radial-gradient(
      50vmax 50vmax at 20% 90%, 
      orangered 0%,
      rgba(255,255,255,0.5) 95%),
    radial-gradient(
      30vmax 30vmax at 80% -20%, 
      mediumturquoise 0%,
      rgba(255,255,255,0.5) 95%),
    whitesmoke
}

#contentContainer { 
  grid-area: 2 / 1 / 4 / 3; 
  display: none;
  justify-content: flex-start;
  overflow: scroll;
  cursor: crosshair;
	background:
		linear-gradient(90deg, var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space),
		linear-gradient(var(--dot-bg) calc(var(--dot-space) - var(--dot-size)), transparent 1%) center / var(--dot-space) var(--dot-space),
		var(--dot-color);
}

.glassTextBox {
  display: flex;
  color: black;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5.6px);
  -webkit-backdrop-filter: blur(5.6px);
  padding: 1em;
}

.solidTextBox {
  display: flex;
  color: black;
  background-color: whitesmoke;  
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 5px 5px 10px 2px rgba(0, 0, 0, 0.5);
  padding: 1em;
}

.subMenu {
  overflow: scroll;
  grid-area: 2 / 3 / 4 / 5;
}

.center {
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
  flex-wrap: wrap;
}

button {
  background: none; /* Remove background color */
  border: none; /* Remove border */
  cursor: pointer; /* Change cursor to pointer on hover */
  padding: 0; /* Remove padding */
  text-align: left;
  color: black;
  font-family: 'Cal Sans';
  margin: 0;
  font-size: var(--font-size-h);
  width: fit-content;
}

button:hover {
  text-decoration: underline black; /* Add underline like a link */
}

img {
  width: 100%;
  height: auto;
}

p {
  margin: 0;
}

.spinner {
  width: auto;
  height: 100%;
  animation: spin 5s linear infinite;
  align-self: flex-end;
}

@keyframes spin {
  0% {
    transform: rotate(0deg); /* Start at no rotation */
  }
  100% {
    transform: rotate(360deg); /* End at a full 360-degree rotation */
  }
}

table {
  border-collapse: separate;
  width: 100%;
  border-radius: 10px;
  border-spacing: 0;
  background-color: whitesmoke;
  box-shadow: 5px 5px 10px 2px rgba(0, 0, 0, 0.5);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

td, th {
  text-align: left;
  vertical-align: bottom;
  padding: 1em;
  background-color: whitesmoke;
}

tr:last-child td:first-child { border-bottom-left-radius: 10px; }

tr:last-child td:last-child { border-bottom-right-radius: 10px; }

tr:nth-child(even) td {
  background-color: palegoldenrod;
}


#copyright {
  text-transform: uppercase;
  color: whitesmoke;
  background-color: black;
  text-shadow: 0px 0px 0.15em whitesmoke;
  grid-area: 4 / 1 / 5 / 5;
}

@media (max-width: 768px) {
    :root { --font-size-p: clamp(0.65rem, 0.65rem + 0.5vw, 1.25rem); }  
    #contentContainer { grid-area: 2 / 1 / 3 / 5; justify-content: flex-start;}
    .subMenu { grid-area: 3 / 1 / 4 / 5; }
    .parent {  grid-template-rows: 1fr 5fr 3fr 1fr; }
    #summary > p { width: 100%; }
    .center > img {margin-top: 1em 0px;}
}