@font-face{
  font-family: 'RecoletaBold';
  font-display: swap;
  src:url(./fonts/recoleta/RecoletaSemiBold.woff2) format('woff2'),url(./fonts/recoleta/RecoletaSemiBold.woff) format('woff');
}
@font-face{
  font-family: 'RecoletaBlack';
  font-display: swap;
  src:url(./fonts/recoleta/RecoletaBlack.woff2) format('woff2'),url(./fonts/recoleta/RecoletaBlack.woff) format('woff');
}

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

  body {
    font-family: "Helvetica", sans-serif;
    justify-content: center;
    background: #fbf4e9;
  }

  h1 {
    font-family: 'RecoletaBlack', Helvetica, sans-serif;
    font-weight: 400;
    font-size: 4.2rem;
    margin-bottom: 1rem;
    line-height: 125%
  }

  h2 {
    font-family: 'RecoletaBold', Helvetica, sans-serif;
    font-weight: 400;
    font-size: 2.5rem;
    margin-bottom: 1rem
  }

  h3 {
    font-family: 'RecoletaBold', Helvetica, sans-serif;
    font-weight: 400;
    font-size: 2.5rem;
    margin-bottom: 1rem
  }

  h4 {
    font-family: 'RecoletaBold', Helvetica, sans-serif;
    font-weight: 400;
    font-size: 1.75rem
  }

  p {
    font-size: 1.312rem;
    line-height: 140%
  }

  ul {
    font-size: 1.312rem
  }

  a{
    color: inherit;
  }

  .full{
    display:block;
    width:100%;
    margin-left:auto;
    margin-right:auto
  }

  .xx-large{
    display:block;
    width:95rem;
    max-width:100%;
    margin-left:auto;
    margin-right:auto
  }

  .x-large{
    width: 75rem;
    max-width: 97%;
    margin-left:auto;
    margin-right:auto
  }

  .large{
    display:block;
    width:65rem;
    max-width:95%;
    margin-left:auto;
    margin-right:auto
  }

  .small{
    display: block;
    width: 50rem;
    max-width: 90%;
    margin-left:auto;
    margin-right:auto
  }

  .container {
    margin-top:0;
  }

  /* navigation begin*/

  .main-navigation{
    display:flex;
    justify-content:space-between;
    flex-wrap: wrap;
    margin:0 auto;
    padding:2rem 0
  }

  .main-navigation.shortened {
    justify-content: flex-end
  }

  .main-navigation.absolute{
    position:absolute;
    left:0;
    right:0;
  }

  .main-navigation ul li{
    font-size: 1.3rem;
    list-style-type:none;
    display:inline-block;
    margin-left:3rem;
  }
  .main-navigation ul li:first-child{
    margin-left:0
  }
  .main-navigation ul li a{
    text-decoration:none
  }

  .main-navigation .contactme {
    padding: .5rem 1rem;
    text-decoration: none;
    display: inline-block;
    background: #e6ccf5;
  }
  /* navigation end*/

  /* intro begin */

  .intro{
    background-color: #fff;
    border-bottom: 2px solid #3b505b;
    padding-top: 10rem;
    padding-bottom: 3rem;
  }

  .intro .about{
    margin: 0 auto;
    text-align: center;
    padding-bottom: 5rem;
  }

  .intro .about h1{
    max-width: 10ch;
    font-size: 5rem;
    line-height: 110%;
    margin-bottom: 2rem;
    position: relative;
    margin-left: auto;
    margin-right: auto;
  }

  .intro .about .shadow-letters{
    text-shadow: 5px 5px 0 #E6CCF5;
  }

  .intro .description{
    max-width: 42rem;
    margin-left: auto;
    margin-right: auto;
  }

  .intro p{
    font-size: 1.7rem;
    line-height: 140%;
    margin-bottom: 1rem;
    text-align: center;
  }

  .link-accent {
    text-decoration: none;
    padding-bottom: .15rem;
    border-bottom: .2rem solid #2D424D;
    position: relative;
    top: 0;
    transition: padding .5s,top .35s,box-shadow .4s;
  }

  .link-accent:is(:hover,:focus) {
    padding-bottom: .5rem;
    top: -.25rem;
    box-shadow: 0 .4rem 0 -.2rem #E6CCF5;
}

  .summary .links{
    display: block;
    padding: 2rem;
    width: 50rem;
    margin-left: auto;
    margin-right: auto;
    background: #efdd6c;
    border: 2px solid #8A7909;
    z-index: 1;
    position: relative;
    top: -6.66rem;
  }

  .summary .links h2 {
    font-size: 1.75rem;
    margin-bottom: 2rem;
  }

  .summary .links p {
    font-size: 1.75rem;
    margin-bottom: 2rem;
    line-height: 140%;
  }

  .summary .links p:last-child {
    margin-bottom: 0;
  }

  .summary .links a {
    color: inherit;
    cursor: pointer;
    text-decoration: underline;
  }

 .summary a:is(:focus,:hover) {
    text-decoration-thickness: .333rem;
    text-decoration-color: #000;
    outline-color: #000;
    background-size: 100% 100%;
    border: none;
}

  .summary .links .availability {
    font-size: 1.32rem;
  }

  /* intro end */

  /* about-me begin */

  .about-me {
    margin: 0 auto;
    padding: 1rem;
  }

  .about-me>* {
    margin-bottom: 1.5rem;
  }

  .about-me>p {
    font-size: 1.75rem;
  }

  .about-me ul {
    margin-left: 1.25rem;
    font-size: 1.75rem;
  }

  .about-me ul li {
    margin-top: .5rem;
  }

  .about-me h3 {
    margin-top: 4rem;
  }

  .good-at {
    margin-left: 0;
  }

  .good-at li {
    list-style-type: none;
    display: inline-block;
    background: #fff;
    padding: .6rem 1rem;
    margin-right: 1rem;
    margin-bottom: 1.5rem;
    border: 2px solid #9694A3 ;
    border-radius: 3px;
  }

  /* about-me end */

  /* work begin */

  .work {
    padding:3rem 3rem;
    margin-left: auto;
    margin-right: auto;
    background-color: #e6ccf5;
    border-top: 2px solid #986bbb;
    border-bottom: 2px solid #986bbb ;
    border-radius: 3px;
    position: relative;
  }

  .work h2 {
    text-align: center;
    padding-left: 1.5rem;
    margin: 3rem auto 4rem auto;
  }

  .work .offerings {
    margin: 2rem auto 0 auto;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(30rem,1fr));
    column-gap: 3rem;
    row-gap: 3rem;
    margin-bottom: 6rem;
  }

  .work .offerings .offering {
    list-style-type: none;
    padding: 2rem 1.5rem;
    border: 2px solid #2d424d;
    border-radius: 1rem;
    box-shadow: 1px 1px 0 0 #2d424d, 2px 2px 0 0 #2d424d, 3px 3px 0 0 #2d424d, 4px 4px 0 0 #2d424d, 5px 5px 0 0 #2d424d, 6px 6px 0 0 #2d424d, 7px 7px 0 0 #2d424d,  8px 8px 0 0 #2d424d,  9px 9px 0 0 #2d424d;
    transform: rotateZ(-1deg);
    transition: transform .3s ease-out,background-color .35s,box-shadow .3s ease-out;
    color: #14252e;
  }

  .work .offerings .offering:nth-child(2n) {
      transform: rotateZ(1deg)
  }

  .work .offerings .offering:nth-child(3n) {
      transform: rotateZ(1deg)
  }

  .work .offerings .offering:nth-child(4n) {
      transform: rotateZ(-1deg)
  }

   .work .offerings .offering:hover {
      transform: rotateZ(0);
      background-color: #ebdcf8;
      box-shadow: 1px 1px 0 0 #2d424d, 2px 2px 0 0 #2d424d, 3px 3px 0 0 #2d424d, 4px 4px 0 0 #2d424d, 5px 5px 0 0 #2d424d;
    }

  .work .offerings .offering:has(a:focus) {
      transform: rotateZ(0);
      background-color: #ebdcf8;
      box-shadow: 1px 1px 0 0 #2d424d, 2px 2px 0 0 #2d424d, 3px 3px 0 0 #2d424d, 4px 4px 0 0 #2d424d, 5px 5px 0 0 #2d424d;
    }

  .work .offerings .offering>div {
      max-width: 75ch;
      margin-top: 1rem
  }

  .work .offerings .offering>div p {
      margin-bottom: 1.5rem;
      font-size: 1.312rem;
  }

  .work .offerings .offering h3 {
      font-weight: 400;
      font-size: 2.5rem;
  }

  .work .offerings .offering a {
      color: inherit;
      text-decoration: none;
      border-bottom: 2px solid #14252e;
      border-top: none;
      border-left: none;
      border-right: none;
      transition: padding .25s
  }

  .work .offerings .offering a:focus, .work .offerings .offering a:hover {
      padding-bottom: .3rem;
      padding-right: 1rem;
      border-top: none;
      border-left: none;
      border-right: none
  }

  .work .offerings .offering a::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: transparent
  }
  /* work end */

  /* callout begin */

  .callout {
    position: relative;
    top: calc(-1 * calc(1rem + 0.25rem));
    margin: 0 auto;
    text-align: center;
  }

  .callout a{
    background: #fbf4e9;
    border-radius: 3rem;
    padding: calc(1rem + 0.25rem + 2px) 0.25rem;
    border: 2px solid #986bbb;
    color: #05110c;
    text-decoration: none;
    z-index: 1;
  }

  .callout a:after {
    content: "";
    display: block;
    width: 100%;
    height: 2.1rem;
    position: absolute;
    background-color: #fbf4e9;
    top: 1.25rem;
  }

  .callout a span {
    padding: 1rem 2rem;
    border-radius: 3rem;
    background-color: #efdd6c;
    border: 2px solid #8a7909;
    box-shadow: 0 1px 0 0 #8a7909,0 2px 0 0 #8a7909,0 3px 0 0 #8a7909;
    z-index: 2;
    position: relative;
    top: 0;
    transition: box-shadow .25s,top .25s
  }

  .callout a:hover span {
    box-shadow: 0 0 0 0 #8a7909,0 0 0 0 #8a7909,0 0 0 0 #8a7909;
    top: 3px
  }

  /* callout end */

  /* postlist begin */

  .posts {
    margin: 6rem auto;
  }

  .posts h3 a {
    color: #14252e;
  }

  .postlist .post h3 {
    font-weight: 400%;
    font-size: 2.5rem;
  }

  .postlist .post h3 a {
    color: #14252e;
    background-image: linear-gradient(transparent 0 50%,#efdd6c 50% 75%,transparent 75%);
    background-repeat: no-repeat;
    background-size: 0 100%;
    text-decoration-color: #14252e;
    transition: background-size 420ms,text-decoration 333ms;
    position: relative;
  }
  
  .postlist .post h3 a:is(:hover,:focus) {
    text-decoration-thickness: .333rem;
    text-decoration-color: #2D424D;
    background-size: 100% 100%;
    border: none
  }

  .postlist .post h3 a:active{
    outline: 0;
  }

  .postlist .post h3 a:after {
    content: "";
    display: block;
    width: 1rem;
    height: 0;
    background-color: #14252e;
    position: absolute;
    top: 50%;
    top: calc(50% + 2rem);
    left: -2rem;
    border-radius: 2rem;
    transition: height .45s,top .3s
  }

  .postlist .post h3 a:focus:after {
    height: 1rem;
    top: 50%
  }

  .postlist .post:not(.highlighted) {
      border-bottom: 1px dashed #2D424D;
      padding-bottom: 3rem;
      padding-top: 3rem
  }

  .postlist .post:not(.highlighted):last-child {
      border: none
  }

  .postlist .post .date {
    margin-bottom: 1rem;
    font-size: 1.3rem;
  }

  /* postlist end */

  /* bookme begin */

  .bookme {
    margin: 0 auto;
    padding: 2rem 1rem ;
    background-color: #e6ccf5;
    border: 2px solid #986bbb;
    border-radius: 4px;
  }

  .bookme h2 {
    font-weight: 400;
    font-size: 2.5rem;
    margin-bottom: 1rem;
  }

  .bookme p {
    line-height: 150%;
    margin-bottom: 1.5rem;
  }

  .bookme a {
    text-decoration: underline;
  }

  .bookme a:is(:hover,:focus) {
    cursor: pointer;
    text-decoration-thickness: .25rem;
  }

  .bookme .mailto {
    padding: .5rem 1rem;
    text-decoration: none;
    display: inline-block;
  }

  /* bookme end */

  /* public button begin*/

  .public-button {
    border-radius: 3px;
    border: 2px solid #2d424d;
    box-shadow: 0.5px 1px 0 0 #2d424d, 1.5px 2px 0 0 #2d424d, 2.5px 3px 0 0 #2d424d, 3.5px 4px 0 0 #2d424d, 4.5px 5px 0 0 #2d424d;
    transition:box-shadow .35s,top .3s,left .3s,transform .4s,outline-color .4s;
    transform:rotateX(0) rotateY(0) rotateZ(0);
    top:0;
    left:0;
    cursor: pointer;
    display: inline-block;
    outline:2px dashed transparent;
    position: relative;
  }

  .public-button:hover {
    box-shadow: 0 0 0 0 #2d424d, 0 0 0 0 #2d424d, 0 0 0 0 #2d424d, 0 0 0 0 #2d424d;
    top: 6px;
    left: 5.5px;
    transform:rotateX(5deg) rotateY(3deg) rotateZ(.25deg);
  }

  .public-button:focus {
    box-shadow: 0 0 0 0 #2d424d, 0 0 0 0 #2d424d, 0 0 0 0 #2d424d, 0 0 0 0 #2d424d, 0 0 0 4px #2d424d;
    outline: 0;
  }

  .public-button:after{
    position:absolute;
    content:"";
    display:block;
    width:.5em;
    height:0;
    border-radius:3em;
    left:0;
    right:0;
    bottom:0;
    margin:0 auto;
    background-color:transparent;
    transition:bottom .4s,height .3s
    }

    .public-button:focus:after{
      height:.5em;
      bottom:-1em;
      background-color:#e6ccf5
      }
  /* public button end */

    /* footer begin */

    .footer{
      background-color: #fff;
      color: #14252E;
      border-top: 2px solid #14252e;
      padding-top: 4rem;
      margin-top: 8rem;
    }

    .footer .about-summary {
      padding: 0 0 4rem 0;
      display: grid;
      grid-template-columns: 2fr 1fr;
      column-gap: 1rem;
      row-gap: 1rem;
    }

    .footer .about-summary>div {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 1rem;
      row-gap: 1rem;
    }

    .footer .about-summary h2 {
      font-family: 'RecoletaBlack', Helvetica, sans-serif;
      line-height: 125%;
      font-size: 3rem;
      text-shadow: 3.25px 3.25px 0 #e6ccf5;
    }

    .footer .about-summary .pronouns {
      text-align: center;
      font-size: 1.75rem;
      margin-top: 1rem;
    }

    .footer .about-summary .pronouns span {
      font-family: 'RecoletaBlack', Helvetica, sans-serif;
      display: block;
      font-size: 2.5rem;
      text-transform: uppercase;
    }

    .footer .about-summary .explanation {
      text-align: right;
      font-size: 1.7rem;
      padding-left: 1rem;
    }

    .footer .madeby {
      background: #E6CCF5;
      border-top: 2px solid #7641a0;
      padding: 1rem;
      text-align: center;
      color: #14252E;

    }
  
    /* footer end */


    /* media screen start */

    @media screen and (max-width:70rem){
      .footer .about-summary h2 {
        font-family: 'RecoletaBlack', Helvetica, sans-serif;
        line-height: 125%;
        font-size: 2.5rem;
        text-shadow: 3.25px 3.25px 0 #e6ccf5;
      }

      .footer .about-summary .explanation {
        text-align: right;
        font-size: 1.312rem;
        padding-left: 1rem;
      }

      .footer .about-summary .pronouns {
        text-align: center;
        font-size: 1.75rem;
        margin-top: 1rem;
      }
  
      .footer .about-summary .pronouns span {
        display: block;
        font-size: 2rem;
        text-transform: uppercase;
      }
      .summary .links {
        top:0;
        left: 0;
        width: 100%;
        border-top: none;
        border-left: none;
        border-right: none;
      }
  }

    /* media screen end */