@import url(https://fonts.googleapis.com/css?family=Raleway:400,500,600,700,800,900);

:root {
  --profile-image: url("../images/profile.jpg");
  --profileimage-maskcolor: 0 25px 45px -5px black, inset 0 0 120px #d5e9cd;
  --profile-bgcolor: whitesmoke;
  --profile-textcolor: #fff;
  --image-titlecolor: #000;
  --profile-titlecolor: #000033;
  --statistic-color: #dbbf21;
  --statistic-numbercolor: #dbbf21;

  --partner-button-bgcolor: #d5e9cd;
  --partner-button-color: #336633;
  --partner-button-border: whitesmoke;
  --partner-button-hover-bgcolor: #e1e1e1;
  --partner-button-hover-color: #777;
  --partner-box-bgcolor: #ededed;
  --partner-box-color: #777;
}

.profile {
  animation: loadProfile 0.6s ease-in-out;
  animation-fill-mode: both;
  font-size: 1em;
  color: var(--profile-textcolor);
  position: relative;
  max-height: 750px;
  max-width: 900px;
}

.profile-container {
  position: relative;
  display: flex;
  width: 100%;

  &::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 45%;
    aspect-ratio: 3/4 !important;
    border-radius: 10px;
    box-shadow: var(--profileimage-maskcolor);
    background-image: var(--profile-image);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
    animation: loadProfileImage 1s ease-in-out 0.5s;
    animation-fill-mode: both;
  }

  .profile-name {
    position: absolute;
    z-index: 2;
    top: calc(10vw - 6em);
    left: 40%;
    h2 {
      margin: 0;
      padding: 0;
      font-weight: 900;
    }
    .surname {
      margin-left: 30px;
    }
  }

  .profile-body {
    width: 100%;
    min-height: 30vw;
    margin-top: 10vw;
    margin-left: 10%;
    background: var(--profile-bgcolor);
    border-radius: 10px;
    box-shadow: 0 30px 50px -20px rgba(14, 0, 47, 0.21);
    z-index: 0;

    .profile-info {
      position: relative;
      margin-left: 10%;
      margin-top: 10px;
      padding-block: 20px;
      padding-left: 40%;
      padding-right: 5%;
      width: 90%;

      .title {
        color: var(--profile-titlecolor);
        font-weight: 800;
        font-size: 1.2em;
        margin-block: 20px;
      }
      .information {
        font-size: 1.1em;
      }
    }

    .statistics {
      display: flex;
      align-items: end;
      justify-content: space-around;

      p {
        margin: 3%;
        color: var(--statistic-color);
        strong {
          font-size: 1.4rem;
          color: var(--statistic-numbercolor);
          font-weight: 600;
          margin-right: 0.3rem;
        }
      }
    }
  }
}

.partners {
  .accordion-wrapper {
    border: 1px solid var(--partner-button-border);
    box-shadow: 0px 0px 5px -4px #000;
    margin-bottom: 0.75em;
  }

  button.accordion {
    background-color: var(--partner-button-bgcolor);
    color: var(--partner-button-color);
    border: none;
    font-size: 1.25em;
    cursor: pointer;
    outline: none;
    padding: 0.5em 1.25em;
    text-align: left;
    transition: 0.8s;
    width: 100%;
  }

  button.active,
  button.accordion:hover {
    color: var(--partner-button-hover-color);
    background-color: var(--partner-button-hover-bgcolor);
  }

  button.accordion:after {
    content: "\002B";
    float: right;
  }

  button.active.accordion:after {
    content: "\2212";
  }

  .details {
    background-color: var(--partner-box-bgcolor);
    color: var(--partner-box-color);
    max-height: 0;
    overflow: hidden;
    padding: 0 1.5em;
    transition: max-height 0.2s ease-out;
  }
}

.information {
  color: #111;
}

@media only screen and (max-width: 991px) {
  .profile-container {
    margin-top: 300px;

    &::after {
      width: 300px;
      height: 400px;
      top: -300px;
    }

    .profile-name {
      top: calc(10vw - 6em);
      left: 200px;
    }

    .profile-body {
      .profile-info {
        margin-top: 40px;
        padding-left: 0;
      }
    }
  }

  .profile {
    max-height: unset;
    margin-bottom: 50px;
  }
}
