/* scaling */
html {
  font-size: 14px;
}
@media screen and (min-width:600px) {
  html {
    font-size: 15px;
  }
}
@media screen and (min-width:900px) {
  html {
    font-size: 16px;
  }
}

/* util */
.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}


/* baseline */
* {
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  height: -webkit-fill-available; /* mobile viewport bug fix */
}

body {
  margin: 0;
  padding: 0;
  color: #4a4a4a;
  line-height: 1.5;
  font-family: 'Gill Sans', sans-serif;
  font-weight: 400;
  background: url('../img/bg.webp') no-repeat center center #000000;
  background-size: cover;
  background-attachment: fixed;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
  margin-top: 0;
}

h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child {
  margin-bottom: 0;
}

h1 {
  font-size: 1.5rem;
  font-weight: 600;
}

h2 {
  font-size: 1.2rem;
  font-weight: 600;
}

img {
  max-width: 100%;
  display: inline-block;
  vertical-align: bottom;
}

#content-box {
  background: rgba(255, 255, 255, 0.75);
}

#subtitle-deco {
  display: none;
}

@media screen and (min-width:320px) and (max-width:1199px) {
  #content-box h1,
  #content-box h2 {
    display: inline-block;
  }
  
  #subtitle-deco {
    display: initial;
  }
}

@media screen and (max-width:1199px) {
  #content-box {
    padding: 0.5rem;
    text-align: center;
  }

  #content-box h1,
  #content-box h2 {
    margin: 0;
  }
}

@media screen and (min-width:1200px) {
  #content-box {
    padding: 1rem;
    margin: 40vh 10% 10%;
    max-width: 400px;
  }
}