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

/* Body Elemants - Overall font settings */
body {
  /* Basic Font unless otherwise */
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 1.1rem;
  font-style: normal;
  font-weight: normal;
  text-align: justify;
  line-height: 1.5;
  /* Margin around body for all web pages */
  margin: 4%;
  /* Background color WHITE for all webpages  */
  background-color: white;
}

/******************* HEADER *******************/

header {
  display: flex;
}

.header {
  height: 110px;
  flex: 1 1 50%;
}

.csLogo {
  text-align: left;
}

.csLogo img {
  width: 300px;
  height: auto;
}

.navigation {
  text-align: right;
}

.nav-top {
  height: 64px;
}

.nav-bottom {
  word-spacing: 8px;
}

.nav-bottom a {
  font-size: 1.1rem;
  font-weight: bold;
  letter-spacing: 2px;
  text-decoration: none;
  color: hsl(233, 81%, 45%);
  /* text-shadow: h-offset, v-offset, blur-radius, color; */
  text-shadow: 1px 1px 2px hsla(0, 0%, 35%, 0.6);
}

.nav-bottom a:hover {
  color: hsl(0, 81%, 45%);
}

.nav-bottom a:active,
a:focus {
  color: navy;
}

.nav-bottom a:visited {
  color: cornflowerblue;
}

/******************* MAIN *******************/

main {
  /* font-family: Arial, Helvetica, sans-serif; */
  /* font-size: 1.3rem; */
  color: #555;
}

.mainBox {
  margin-top: 20px;
  border-top: 5px double rgb(58, 121, 247);
  border-bottom: 5px double rgb(58, 121, 247);
}

h1,
h2,
h3,
h4,
h5 {
  padding-top: 2%;
  padding-bottom: 2%;
  text-align: center;
}

/* In paragraphs using hyphened words, replace 
the hyphen with &#8209; */
.paragraphsContainer {
  padding-bottom: 1rem;
  /* To use this feature, a div must enclose all paragraphs 
  with a class name titled paragraphsContainer */
  column-count: 2;
  column-gap: 3rem;
  column-width: 320px;
  column-rule: 1px solid #ccc;
}

p {
  margin: 0;
  padding: 0;
}

p.span {
  white-space: nowrap;
}

/******************* FOOTER *******************/

footer {
  display: block;
}

.rights {
  padding-top: 2%;
}

.rights img {
  width: 300px;
  height: auto;
}

.social {
  padding: 2% 0;
  text-align: center;
  word-spacing: 30px;
}

.social a {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 2px;
  text-decoration: none;
  color: hsl(233, 81%, 45%);
  /* text-shadow: h-offset, v-offset, blur-radius, color; */
  text-shadow: 1px 1px 2px hsla(0, 0%, 35%, 0.6);
}

.social a:hover {
  color: hsl(0, 81%, 45%);
}

.social a:active,
a:focus {
  color: navy;
}

.social a:visited {
  color: cornflowerblue;
}

.legals {
  padding-bottom: 2%;
  text-align: center;
  word-spacing: 30px;
}

.legals a {
  font-size: 1.1rem;
  font-weight: bold;
  letter-spacing: 2px;
  text-decoration: none;
  color: rgb(22, 43, 208);
  /* text-shadow: h-offset, v-offset, blur-radius, color; */
  text-shadow: 1px 1px 2px hsla(0, 0%, 35%, 0.6);
}

.legals a:hover {
  color: hsl(0, 81%, 45%);
}

.legals a:active,
a:focus {
  color: navy;
}

.legals a:visited {
  color: cornflowerblue;
}

/******************* Media Queries Breakpoints *******************/
/* Media queries can be placed in both global CSS files and within  */
/* component-specific or "endpoint" CSS files, depending on the project's  */
/* organization and desired modularity. */

/* Styles for screens less than 576px (e.g., smartphones) */
@media screen and (width < 576px) {
  header {
    display: block;
  }
  .header {
    height: 0;
  }

  .csLogo {
    height: 100px;
  }

  .navigation {
    height: 20px;
    text-align: center;
  }

  .nav-top {
    height: 0;
  }

  .nav-bottom {
    word-spacing: 6px;
  }

  .nav-bottom a {
    font-size: 0.96rem;
  }

  .rights img {
    width: 200px;
    height: auto;
  }
}

/* Styles for screens wider than 576px -  768px (e.g., tablets) */
@media screen and (width >= 576px) and (width < 768px) {
  header {
    display: block;
  }

  .header {
    height: 0;
  }

  .csLogo {
    height: 100px;
    text-align: left;
  }

  .navigation {
    height: 20px;
    text-align: center;
  }

  .nav-top {
    height: 0;
  }

  .nav-bottom {
    word-spacing: 6px;
  }

  .rights img {
    width: 250px;
    height: auto;
  }
}
