:root {
  --head-height: 130px;
  --foot-height: 72px;
}

* {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
}

body {
  font-family: Georgia;
  background-color: #72A39A;
  color: #333333;
  overflow-y: scroll;
}

header {
  position: fixed;
  left: 0;
  right: 0;
  margin: 0 auto;
  max-width: 75rem;
  z-index: 100;
  box-shadow: 0px 5px 20px 0px #00000070;
  border-bottom: 1px solid #72A39A70;
}

main {
  position: relative;
  max-width: 75rem;
  margin: 0 auto;
  top: var(--head-height);
}

section {
  display: flex;
  padding: 3rem;
  margin: 0 0 10px 0;
  width: 100%;
  scroll-margin-top: var(--head-height);
  text-align: center;
}

article {
  display: flex;
}

div {
  display: flex;
}

article + article {
  margin: 50px 0 0 0;
}

img {
  border: 5px inset #E5507A;
}

#top-contact {
  margin: 0;
  background-color: #72A39A;
  color: #FFFFFF;
  padding: 0 50px;
  line-height: 2;
}

#top-contact span:first-child {
  margin-right: 40px;
}

#top-contact a {
  text-decoration: none;
  color: #FFFFFF;
}

.icon:before {
  font-family: "Material Icons";
  position: relative;
  margin-right: 10px;
  top: 4px;
}

.phone:before {
  content: "\e0cd";
}

.email:before {
  content: "\e0be";
}

.address:before {
  content: "\e0c8";
}

.document:before {
  content: "\e873";
}

#nav-bar {
  margin: 0;
  padding: 0;
  background-color: #FFFFFF;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#title {
  margin: 35px 35px;
}

#title a {
  color: #666666;
  font-style: italic;
  font-size: 1.3rem;
  text-decoration: none;
}

#navigation {
  margin: 35px 10px;
  display: flex;
}

#navigation a {
  color: #666666;
  text-decoration: none;
  margin-right: 15px;
}

h1 {
  font-size: 2.5rem;
  font-style: italic;
  line-height: 2;
}

h2 {
  font-size: 1.6rem;
  line-height: 2;
}

h3 {
  font-size: 1.2rem;
  line-height: 1.5;
}

h4 {
  font-style: italic;
  font-size: 1rem;
  line-height: 1.2;
}

p {
  font-size: 1.1rem;
  line-height: 1.5;
  text-align: left;
  margin: 15px 0;
  color: #000000;
}

#banner {
  display: none;
  justify-content: center;
  position: fixed;
  margin-left: auto;
  margin-right: auto;
  top: var(--head-height);
  padding: 10px;
  width: 100%;
  background-color: #CC0000;
  color: #FFFFFF;
  z-index: 99;
  font-size: 1.5rem;
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
}

#welcome {
  font-size: 1.5rem;
  font-weight: bold;
  background-color: #D0F4EC;
  justify-content: center;
}

#specialties {
  background-color: #ACDAEF;
  flex-direction: column;
}

#specialties article {
  flex-direction: column;
}

#specialties article > div {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  margin-top: 20px;
}

#specialties article:nth-child(odd) > div { flex-direction: row-reverse; }
#specialties article:nth-child(even) > div { flex-direction: row; }

#specialties article > div > div {
  display: flex;
  flex-direction: column;
}

#specialties a {
  text-decoration: underline;
  font-weight: bold;
  font-size: 1.5rem;
  color: #000000;
  margin: 20px 0;
}

#specialties img {
  max-width: 25rem;
}

#about {
  background-color: #B9CDC8;
  flex-direction: column;
  align-items: center;
}

#about article {
  flex-direction: column;
  margin: 0 25px;
}

#about div {
  display: flex;
  flex-direction: row;
}

#about img {
  margin: 0 0 25px 0;
  max-width: 20rem;
}

#about p {
  max-width: 40rem;
}

#pricing {
  background-color: #FFFFFF;
  flex-direction: column;
  align-items: center;
}

#pricing img {
  max-width: 23rem;
}

#pricing article {
  align-items: center;
  justify-content: space-evenly;
  width: 100%;
  margin: 20px 0 0 0;
}

#pricing div {
  flex-direction: column; 
}

#pricing h3 {
  max-width: 40rem;
}

#pricing span:nth-child(even) {
  font-size: 1rem;
  margin: 0 0 10px 0;
}

#pricing span:nth-child(odd) {
  font-size: .8rem;
  max-width: 30rem;
}

table {
  text-align: left;
  border-collapse: collapse;
  margin: 0 10px 0 10px;
  font-size: 1.3rem;
}

tr {
  border-bottom: 1px solid #DDDDDD;
}

tr:nth-child(3) {
  border-bottom: none;
}

td {
  padding: 1rem 3rem 1rem 1rem;
}

td:nth-child(2) {
  padding: .5rem .25rem .5rem 0;
}

td:nth-child(4) {
  padding: .5rem;
}

#contact {
  background-color: #E6D4BB;
  flex-direction: column;
}

#contact article {
  justify-content: space-around;
  align-items: center;
}

#contact img {
  max-width: 30rem;
  margin: 20px 0;
}

#information {
  text-align: left;
  font-size: 1.5rem;
  display: flex;
  flex-direction: column;
}

#information span {
  margin: 10px;
}

#information a {
  text-decoration: none;
  color: #333333;
}

#contact iframe {
  max-width: 30rem;
  margin: 0 20px;
  border: 5px solid #333333;
}

footer {
  position: relative;
  max-width: 75rem;
  margin: 0 auto;
  top: var(--head-height);
  background-color: #171717;
  color: #DDDDDD;
  font-size: 1.2rem;
}

footer section {
  padding: 25px;
  justify-content: space-between;
  text-align: left;
}

footer a {
  color: #FFFFFF;
}

#autism, #children, #adults {
  background-color: #ACDAEF;
  flex-direction: column;
  min-height: calc(100vh - var(--head-height) - var(--foot-height) - 10px);
}

.paperwork {
  font-size: 1.2rem;
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  margin: 0 auto 50px auto;
}

.paperwork span {
  margin: 5px 0;
}

.paperwork a {
  color: #333333;
}

/* Responsive */

@media (max-width: 1000px) {
  html { font-size: 14px; }
  #nav-bar, #specialties article:nth-child(even) > div, #specialties article:nth-child(odd) > div, #about div, #pricing article, #contact article, footer section { flex-direction: column; }
  #title, #navigation { margin: 15px; }
  #about div { align-items: center; }
  #pricing article div { margin: 0 0 50px 0; }
}

@media (max-width: 600px) {
  html { font-size: 12px; }
  #top-contact { padding: 0 10px; }
}

@media (max-width: 450px) {
  html { font-size: 10px; }
  #top-contact { flex-direction: column; align-items: flex-start; }
}

/* Fonts */

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  src: local('Material Icons'), url('/assets/fonts/icons-round.woff2') format('woff2');
  font-display: swap;
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 30pt;  /* Preferred icon size */
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
}