/*-- -------------------------- -->
<---          Landing           -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0em) {
  #hero {
    font-size: inherit;
    padding: 10em 0;
    position: relative;
    z-index: 1;
    -webkit-clip-path: polygon(100% 0%, 0% 0% , 0.00% 87.50%, 2.00% 87.11%, 4.00% 86.72%, 6.00% 86.35%, 8.00% 85.99%, 10.00% 85.66%, 12.00% 85.36%, 14.00% 85.09%, 16.00% 84.86%, 18.00% 84.67%, 20.00% 84.53%, 22.00% 84.43%, 24.00% 84.38%, 26.00% 84.38%, 28.00% 84.43%, 30.00% 84.53%, 32.00% 84.67%, 34.00% 84.86%, 36.00% 85.09%, 38.00% 85.36%, 40.00% 85.66%, 42.00% 85.99%, 44.00% 86.35%, 46.00% 86.72%, 48.00% 87.11%, 50.00% 87.50%, 52.00% 87.89%, 54.00% 88.28%, 56.00% 88.65%, 58.00% 89.01%, 60.00% 89.34%, 62.00% 89.64%, 64.00% 89.91%, 66.00% 90.14%, 68.00% 90.33%, 70.00% 90.47%, 72.00% 90.57%, 74.00% 90.62%, 76.00% 90.62%, 78.00% 90.57%, 80.00% 90.47%, 82.00% 90.33%, 84.00% 90.14%, 86.00% 89.91%, 88.00% 89.64%, 90.00% 89.34%, 92.00% 89.01%, 94.00% 88.65%, 96.00% 88.28%, 98.00% 87.89%, 100.00% 87.50%);
            clip-path: polygon(100% 0%, 0% 0% , 0.00% 87.50%, 2.00% 87.11%, 4.00% 86.72%, 6.00% 86.35%, 8.00% 85.99%, 10.00% 85.66%, 12.00% 85.36%, 14.00% 85.09%, 16.00% 84.86%, 18.00% 84.67%, 20.00% 84.53%, 22.00% 84.43%, 24.00% 84.38%, 26.00% 84.38%, 28.00% 84.43%, 30.00% 84.53%, 32.00% 84.67%, 34.00% 84.86%, 36.00% 85.09%, 38.00% 85.36%, 40.00% 85.66%, 42.00% 85.99%, 44.00% 86.35%, 46.00% 86.72%, 48.00% 87.11%, 50.00% 87.50%, 52.00% 87.89%, 54.00% 88.28%, 56.00% 88.65%, 58.00% 89.01%, 60.00% 89.34%, 62.00% 89.64%, 64.00% 89.91%, 66.00% 90.14%, 68.00% 90.33%, 70.00% 90.47%, 72.00% 90.57%, 74.00% 90.62%, 76.00% 90.62%, 78.00% 90.57%, 80.00% 90.47%, 82.00% 90.33%, 84.00% 90.14%, 86.00% 89.91%, 88.00% 89.64%, 90.00% 89.34%, 92.00% 89.01%, 94.00% 88.65%, 96.00% 88.28%, 98.00% 87.89%, 100.00% 87.50%);
    min-width: -moz-fit-content;
    min-width: -webkit-fit-content;
    min-width: -webkit-fill-available;
    min-width: fit-content;
  }
  #hero:before {
    content: '';
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    background: #1d7fd5;
    opacity: .85;
    top: 0;
    left: 0;
    z-index: -10;
  }
  #hero picture {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -11;
  }
  #hero picture img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover; 
    -o-object-position: right;
       object-position: right;
  }
  #hero .hero-text {
    width: 96%;
    margin: auto;
    position: relative;
    z-index: 10;
    text-align: center;
    padding: 0;
  }
  #hero h1 {
    font-weight: bold;
    font-size: min(12vw, 4em);
    color: #fff;
    text-align: center;
    line-height: 1.203125;
    margin: auto;
    margin-bottom: 1.5em;
    width: 100%;
    max-width: 10em;
    position: relative;
  }
  #hero h1:before {
    content: '';
    position: absolute;
    display: block;
    height: 0.0625em;
    width: 1.515625em;
    background: var(--primary);
    opacity: 1;
    bottom: -0.25em;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #hero p {
    font-size: 1.5em;
    line-height: 1.55em;
    margin: auto;
    margin-bottom: 1.72222222em;
    color: #fff;
    width: 100%;
    text-align: center;
    max-width: 34.27777778em;
    opacity: 1;
  }
  #hero .button-solid {
    margin: auto;
    display: inline-block;
    width: auto;
    background-color: white;
    color: var(--blue-btn);
    outline: 0.2em solid var(--blue-btn);
    outline-offset: -0.4em;
  }
  #hero .button-solid:hover,
  #hero .button-solid:focus {
    background-color: white;
    color: var(--blue-btn);
    opacity: .7;
  }
}

/* Tablet */
@media only screen and (min-width: 48em) {
  #hero {
    padding-top: 10em;
    z-index: 1;
    overflow: hidden;
  }
  #hero h1 {
    margin-bottom: 1.5em;
    line-height: 1.5;
  }
  #hero h1 span {
    white-space: nowrap;
  }
}

/* Small Desktop */
@media only screen and (min-width: 64em) {
  #hero {
    padding-top: 15em;
  }
  #hero:before {
    background: -webkit-linear-gradient(to bottom, #1d7fd5, #1d7fd5 10%, rgba(255,255,255, 0) 30%, rgba(255,255,255, 0) 80%, #1d7fd5 90%),
                -webkit-linear-gradient(to right, #1d7fd5, #1d7fd5 60%, rgba(255,255,255, 0) 85%);
       background: -moz-linear-gradient(to bottom, #1d7fd5, #1d7fd5 10%, rgba(255,255,255, 0) 30%, rgba(255,255,255, 0) 80%, #1d7fd5 90%),
                   -moz-linear-gradient(to right, #1d7fd5, #1d7fd5 60%, rgba(255,255,255, 0) 85%);
            background: linear-gradient(to bottom, #1d7fd5, #1d7fd5 10%, rgba(255,255,255, 0) 30%, rgba(255,255,255, 0) 80%, #1d7fd5 90%),
                        linear-gradient(to right, #1d7fd5, #1d7fd5 60%, rgba(255,255,255, 0) 85%);
  }
  #hero .hero-content {
    width: 80%;
    margin: auto;
    margin-left: 0;
  }
  #hero .hero-text {
    width: max-content;
    background: linear-gradient(to bottom, rgba(2, 0, 134, 0.45), rgba(255,255,255, 0));
    padding: 2em;
    border-radius: 5px;
  }
}


/*-- -------------------------- -->
<---          Mission           -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0em) {
  #mission {
    padding-top: 3.125em;
    /* margin-bottom: 4em; */
  }
  #mission .content {
    max-width: 60em;
    margin: auto;
    text-align: center;
  }
  #mission h2 {
    margin-bottom: 1em;
    font-size: min(8vw, 2.5em);
    font-weight: 700;
  }
  #mission h2 span {
    white-space: nowrap;
  }
  #mission p {
    font-size: min(6vw, 1.5em);
    line-height: 1.7em;
    margin-bottom: 2em;
  }
  #mission p:last-of-type {
    margin-bottom: 0;
  }
}



/*-- -------------------------- -->
<---          Services          -->
<--- -------------------------- -*/

/* Mobile */
@media only screen and (min-width: 0em) {
  #services {
    position: relative;
  }
  #services .card {
    width: 90%;
    max-width: 25em;
    margin: 0 auto 3em;
    text-align: center;
    padding: 1em;
    border-radius: 1em;
  }
  #services .card:not(.view-more-services, .view-all-services) {
    -webkit-box-shadow: 0px 0px 25px -7px rgba(0,0,0,0.75);
       -moz-box-shadow: 0px 0px 25px -7px rgba(0,0,0,0.75);
            box-shadow: 0px 0px 25px -7px rgba(0,0,0,0.75);
  }
  #services card.view-more-services, 
  #services card.view-all-services {
    padding: 0;
    width: max-content;
    white-space: nowrap;
  }
  #services .button-solid {
    color: var(--blue-btn);
    background-color: #fff;
    border: 0.2em solid var(--blue-btn);
  }
  #services .card picture {
    background: var(--primary);
    width: 5.5em;
    height: 5.5em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: auto;
    margin-bottom: 1.4375em;
    border-radius: 50%;
  }
  #services .card picture img {
    width: 4em;
    height: 4em;
  }
  #services .card h2 {
    text-align: center;
    font-size: 2em;
    line-height: 1.35em;
    font-weight: 700;
    color: #000;
    margin-bottom: 0.65em;
  }
  #services .card p {
    text-align: center;
    line-height: 1.33333333em;
    width: 90%;
    margin: auto;
    color: #000;
  }
  #services .button-solid:hover, 
  #services .button-solid:focus {
    opacity: 0.7;
  } 
  #services .expanded-service {
    display: none;
  }
  #services .expanded-service[clicked] {
    display: block;
  }
  #services .view-more-services[clicked]  {
    display: none;
  }
}

/* In-between */
@media only screen and (min-width: 51em) {
  #services .container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  #services .card {
    margin: 2em auto;
  }
  #services .view-more-services {
    display: none;
  }
  #services .expanded-service {
    display: block;
  }
  #services .card:last-of-type {
    grid-column-end: span 2;
    max-width: none;
    margin-top: 2em;
  }
}

/* Small Desktop */
@media only screen and (min-width: 64em) {
  #services .container {
    grid-template-columns: repeat(3, 1fr);
  }
  #services .card {
    max-width: none;
  }
  #services .card:last-of-type {
    grid-column-end: span 3;
    margin-top: 0;
  }
  #services .bg-blue-solid {
    padding-bottom: 2em;
  }
}
