/*-- -------------------------- -->
<---          Landing           -->
<--- -------------------------- -*/
/* Mobile */
@media only screen and (min-width: 0em) {
  #hero {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    z-index: 1;
    min-height: 50vh;
  }
  #hero:before {
    content: '';
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #000;
    opacity: .5;
    top: 0;
    left: 0;
    z-index: -1;
  }
  #hero picture {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -2;
  }
  #hero picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  #hero h1 {
    color: #fff;
    font-size: 2.13333333em;
    text-align: center;
    margin: 0 auto;
    position: relative;
    width: 96%;
    max-width: 7.8125em;
    margin-top: 1.09375em;
    margin-bottom: 0.46875em;
  }
  #hero p {
    color: #fff;
    text-align: center;
    max-width: 22.22222222em;
    font-size: 0.9em;
    margin: auto;
    margin-bottom: 1.66666667em;
    display: block;
    width: 96%;
  }
}
/* Tablet */
@media only screen and (min-width: 48em) {
  #hero {
    font-size: 20px;
  }
  #hero h1 {
    font-size: 3.2em;
  }
}
/* Small Desktop */
@media only screen and (min-width: 64em) {
  #hero {
    min-height: 15em;
    height: auto;
    padding-top: 9em;
    padding-block-end: 5em;
    background-attachment: fixed;
    font-size: inherit;
  }
}
/*-- -------------------------- -->
<---      Content Template      -->
<--- -------------------------- -*/
/* Mobile */
@media only screen and (min-width: 0em) {
  .content-template .topper {
    font-size: 0.9em;
    font-weight: bold;
    letter-spacing: .5em;
    color: var(--primary);
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 0.83333333em;
    display: block;
  }
  .content-template h2 {
    font-size: min(12vw, 2.4em);
    line-height: 1em;
    margin: auto;
    margin-bottom: 0.83333333em;
    text-align: center;
    width: 100%;
    max-width: 17.0625em;
    font-weight: 500;
    width: 96%;
  }
  .content-template p {
    font-size: 0.9em;
    line-height: 1.5;
    width: 100%;
    max-width: 34.66666667em;
    margin: auto;
    text-align: center;
    width: 96%;
  }
  body.dark-mode .content-template .topper {
    color: var(--primary);
  }
}
/*-- -------------------------- -->
<---          Audio Box         -->
<--- -------------------------- -*/
@media only screen and (min-width: 0em) {
  .audio-box {
    padding: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    max-width: 20em;
    background: #f1f3f4;
    margin: auto;
    margin-top: 2.5em;
    margin-bottom: 4em;
  }
  .audio-box .name {
    display: block;
    font-size: 0.85em;
  }
  .audio-box .music {
    font-size: 0.8em;
    opacity: .9;
    margin-bottom: 1em;
  }
}
/*-- -------------------------- -->
<---          Content           -->
<--- -------------------------- -*/
/* Mobile */
@media only screen and (min-width: 0em) {
  #interior .container,
  #interior2 .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 7.5em;
  }
  #interior .container .content,
  #interior2 .container .content {
    order: 2;
    width: 100%;
    max-width: 37.5em;
  }
  #interior .container .content .insert-image,
  #interior2 .container .content .insert-image {
    display: block;
    margin: 0;
    margin-bottom: 1.5em;
  }
  #interior .container .content .group h2,
  #interior2 .container .content .group h2 {
    margin-top: 2.08333333em;
  }
  #interior .container .content h2,
  #interior2 .container .content h2 {
    font-size: 2.4em;
    margin-bottom: 0.625em;
  }
  #interior .container .content h3,
  #interior2 .container .content h3 {
    font-size: 1.8em;
    margin-top: 1.94444444em;
    margin-bottom: 0.83333333em;
  }
  #interior .container .content h4,
  #interior2 .container .content h4 {
    font-size: 1.2em;
    margin-bottom: 1.25em;
  }
  #interior .container .content p,
  #interior2 .container .content p {
    margin-bottom: 1.11111111em;
  }
  #interior .container .content ul li a,
  #interior2 .container .content ul li a {
    text-decoration: none;
    font-weight: bold;
    color: var(--primary);
  }
  #interior .container .content .button-solid,
  #interior2 .container .content .button-solid {
    margin-top: 1.66666667em;
    margin-bottom: 0;
  }
  #interior .container .content iframe,
  #interior2 .container .content iframe {
    width: 100%;
    max-width: 30em;
  }
  #interior .container .image-group,
  #interior2 .container .image-group {
    order: 1;
    width: 100%;
    max-width: 15em;
    margin-bottom: 3.75em;
    display: none;
  }
  #interior .container .image-group picture,
  #interior2 .container .image-group picture {
    display: block;
    position: relative;
    width: 90%;
    margin: auto;
  }
  #interior .container .image-group picture img,
  #interior2 .container .image-group picture img {
    width: 100%;
    height: auto;
    max-height: 25em;
  }
  #interior .container .image-group .audio-box,
  #interior2 .container .image-group .audio-box {
    width: 90%;
    max-width: 100%;
    margin: auto;
  }
  #interior .container .image-group .audio-box audio,
  #interior2 .container .image-group .audio-box audio {
    width: 100%;
  }
  body.dark-mode #interior h3 {
    color: #fff;
  }
  body.dark-mode #interior ul li {
    color: #fff;
  }
}
/* Tablet */
@media only screen and (min-width: 48em) {
  #interior {
    padding-top: 5em;
  }
  #interior .container {
    display: grid;
    grid-template-columns: 70% 30%;
    grid-template-rows: 1fr;
    align-items: flex-start;
    width: 96%;
    max-width: 60em;
  }
  #interior .container .content {
    order: 1;
    margin-right: 2.5em;
  }
  #interior .container .image-group {
    order: 2;
    max-width: 17.5em;
    margin-left: auto;
    display: block;
  }
  #interior .container .image-group picture {
    width: 100%;
  }
  #interior .container .image-group .audio-box {
    width: 100%;
  }
  #interior2 .container {
    width: 96%;
    max-width: 60em;
    display: flex;
    justify-content: flex-start;
  }
  #interior2 .container .content {
    margin-right: auto;
  }
}
@media only screen and (min-width: 64em) {
  #interior {
    padding-top: 7.5em;
  }
  #interior .container {
    grid-template-columns: 40em 20em;
  }
}
/*-- -------------------------- -->
<---           Reviews          -->
<--- -------------------------- -*/
/* Mobile */
@media only screen and (min-width: 0em) {
  #reviews {
    padding-top: 3.75em;
    padding-bottom: 3.75em;
    margin: auto;
    text-align: center;
  }
  #reviews .container {
    width: 96%;
    max-width: 66em;
  }
  #reviews .title {
    margin-bottom: 3.29166667em;
  }
  #reviews .review {
    padding: 3.2em 1.5em 0.9em 1.5em;
    box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.05);
    width: 100%;
    max-width: 20.5em;
    margin: auto;
    margin-bottom: 5em;
    border-radius: 0.25em;
    position: relative;
    background: #fff;
    display: flex;
    flex-direction: column;
  }
  #reviews .review:last-of-type {
    margin-bottom: 0;
  }
  #reviews .review .profile {
    display: block;
    height: 4.95em;
    width: 4.95em;
    margin-left: 0;
    border-radius: 50%;
    margin-bottom: 0.8em;
    position: absolute;
    left: 1.5em;
    top: -2.55em;
  }
  #reviews .review p {
    line-height: 1.33333333;
    margin-bottom: 1.55555556em;
    text-align: left;
  }
  #reviews .review .star-group {
    border-top: 1px solid #E7E7E7;
    padding-top: 0.8em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    margin-top: auto;
  }
  #reviews .review .star-group .name {
    color: #1A1A1A;
    font-size: 0.9em;
    line-height: 1.33333333em;
    text-align: left;
    font-weight: bold;
    display: block;
  }
  #reviews .review .star-group .desc {
    color: #575757;
    font-weight: 400;
    display: block;
  }
  #reviews .review .star-group img {
    display: block;
    width: 4.55em;
    height: 0.75em;
    margin: 0;
  }
  #reviews .button-solid {
    margin-top: 4.16666667em;
  }
}
/* Tablet */
@media only screen and (min-width: 48em) {
  #reviews {
    padding-top: 2.5em;
    padding-bottom: 4.5em;
  }
  #reviews .container {
    font-size: min(1.4vw, 1em);
    display: flex;
    justify-content: space-between;
    padding: 0;
  }
  #reviews .title {
    margin-bottom: 2.5em;
  }
  #reviews .review {
    margin: 0;
  }
  #reviews .review p {
    text-align: left;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0em) {
  body.dark-mode #reviews .review {
    background: var(--medium);
  }
  body.dark-mode #reviews .review .name {
    color: #fff;
  }
  body.dark-mode #reviews .review .desc {
    color: #fff;
    opacity: .7;
  }
}
/*-- -------------------------- -->
<---         Portfolio          -->
<--- -------------------------- -*/
/* Mobile */
@media only screen and (min-width: 0em) {
  #portfolio {
    background: #F8F8F8;
    padding-top: 3.75em;
    padding-bottom: 7.75em;
    position: relative;
    z-index: 5;
  }
  #portfolio .title {
    margin-bottom: 2.08333333em;
  }
  #portfolio .container {
    width: 96%;
    max-width: 66.1em;
    padding: 0;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1.5em;
    font-size: min(1.3vw, 1em);
  }
  #portfolio .container .row {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1.5em;
  }
  #portfolio .container .row:nth-of-type(1) picture:nth-of-type(1) {
    width: 21em;
    height: 28.35em;
  }
  #portfolio .container .row:nth-of-type(1) picture:nth-of-type(2) {
    width: 21em;
    height: 31.45em;
  }
  #portfolio .container .row:nth-of-type(1) picture:nth-of-type(3) {
    width: 21em;
    height: 25.6em;
  }
  #portfolio .container .row:nth-of-type(2) picture:nth-of-type(1) {
    width: 21em;
    height: 24.6em;
  }
  #portfolio .container .row:nth-of-type(2) picture:nth-of-type(2) {
    width: 21em;
    height: 25.85em;
  }
  #portfolio .container .row:nth-of-type(2) picture:nth-of-type(3) {
    width: 21em;
    height: 31.45em;
  }
  #portfolio .container .row:nth-of-type(3) picture:nth-of-type(1) {
    width: 21em;
    height: 31.25em;
  }
  #portfolio .container .row:nth-of-type(3) picture:nth-of-type(2) {
    width: 21em;
    height: 22.6em;
  }
  #portfolio .container .row:nth-of-type(3) picture:nth-of-type(3) {
    width: 21em;
    height: 31.45em;
  }
  #portfolio .container .row picture {
    position: relative;
    display: block;
  }
  #portfolio .container .row picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
}
/* Small Desktop */
@media only screen and (min-width: 64em) {
  #portfolio {
    padding-top: 5.5em;
    padding-bottom: 11.4em;
  }
}
/* Dark Mode */
@media only screen and (min-width: 0em) {
  body.dark-mode #portfolio {
    background: #1d1d1d;
  }
}
/*-- -------------------------- -->
<---           Simple           -->
<--- -------------------------- -*/
/* Mobile */
@media only screen and (min-width: 0em) {
  #simple {
    padding: 3.75em 0;
  }
}
/* tablet */
@media only screen and (min-width: 48em) {
  #simple {
    padding: 5em 0;
  }
}
