/* P's Custom CSS */

/* Global Styles */

body {
  font-family: 'Poppins', sans-serif;
  width: 100%;
}

.position-fixed {
  -webkit-backface-visibility: hidden;
}

.section {position: relative; min-height: 100vh;}

.sectiontitle {
  position: absolute;
  font-size: 5rem;
  font-weight: bold;
  opacity: 10%;
  z-index: 2000;
  text-transform: uppercase;
  color: rgba(255,255,255,.9);
  margin: 0;
  padding: 0;
}

.sectiontitle.dark {
  color: rgba(0,0,0,.5);
}

#funmodetoggle {position: fixed; top: 1.5em; right: 5%; opacity: .25; z-index: 999; color: whitesmoke; font-weight: 500; transition: opacity .5s;}
#funmodetoggle:hover {opacity: 1; transition: opacity .5s;}

.fun {display: none; transition: all .5s}
.fun.funmode {display: block !important; transition: all .5s}
.facts {display: block; transition: all .5s}
.facts.funmode {display: none !important; transition: all .5s}

.flipy {transform: scale(-1,1)}

#footer {height: 30px !important; margin-top: 5px; min-height: 0;}

/* Colors */
.bg-dark {background-color:#141a1d !important;}
.bg-pink {background-color:#b50186 !important;}
.bg-blue {background-color:#3a24d1 !important;}
.bg-purple {background-color:#450168 !important;}
.bg-darkblue {background-color:#05003a !important;}
.bg-darkred {background-color:#441323 !important;}

/* Side Navigation */

.nav {
  z-index: 1000;
  position: fixed;
}

.pnav {display: initial;}

.nav-link {
  padding: .75rem 0 !important;
  min-width: 200px;
}

.tab {
  display: inline-block;
  padding: 5px 0;
  width: 50px;
  border: 2px solid black;
  border-left: none;
  border-radius: 0 1rem 1rem 0;
  text-align: center;
  vertical-align: bottom;
  color: white;
}

.tablabel {
  display: inline-block;
  padding: 5px 0;
  width: 150px;
  text-align: center;
  border-top: 2px solid black;
  border-bottom: 2px solid black;
  color: black;
  background: rgb(255,255,255);
  background: -webkit-linear-gradient(bottom left, rgba(255,255,255,1) 0%, rgba(238,238,238,1) 100%);
  background: -o-linear-gradient(bottom left, rgba(255,255,255,1) 0%, rgba(238,238,238,1) 100%);
  background: linear-gradient(to top right, rgba(255,255,255,1) 0%, rgba(238,238,238,1) 100%);
  font-weight: bold;
}

.tab1 {background-color: #000000;}
.tab2 {background-color: #b50186;}
.tab3 {background-color: #3a24d1;}
.tab4 {background-color: #141a1d;}
.tab5 {background-color: ;}
.tab6 {background-color: #450168;}
.tab7 {background-color: gray;}
.tab8 {background-color: #441323;}

.mobilenav {display: none !important}

/* Section Specific Styles */

    /* 1. Profile */

    #profile {padding: 10% 0;}

    #vcard img {margin-right: 5rem; margin-bottom: 3em;}

        /* Title Swap */
        .titlerow {width: 350px;}

        #titleSwap, #titleStatic{
          font-family: Consolas, "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", Monaco, "Courier New", "monospace";
          font-size: 1.75rem;
          text-align: left;
        }

        #titleSwap { width: 152px; padding-right: 0}

        #titleStatic { width: 128px;}

        .vert .carousel-item-next.carousel-item-start,
        .vert .carousel-item-prev.carousel-item-end {
            -webkit-transform: translate3d(0, 0, 0) !important;
                    transform: translate3d(0, 0, 0) !important;
        }

        .vert .carousel-item-next,
        .vert .active.carousel-item-end {
            -webkit-transform: translate3d(0, 100%, 0) !important;
                    transform: translate3d(0, 100% 0) !important;
        }

        .vert .carousel-item-prev,
        .vert .active.carousel-item-start {
        -webkit-transform: translate3d(0,-100%, 0) !important;
                transform: translate3d(0,-100%, 0) !important;
        }

        .contactrow {
          font-weight: bold;
          font-size: 1.25em;
        }

    /* 2. Summary */
    #summary {}
    .summarywrap {width: 50%; margin: 0 auto; padding: 10% 0 5%;}
    #summary p {font-weight: 600; padding-bottom: 2em;}
    #summary span {color: whitesmoke; opacity: .5;}

    /* 3. Experience */

    #experience {height: 850px;}

    .timelinewrap {
      width: 90%;
      height: 100%;
      margin: 0 auto;
      display: grid; 
      grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
      grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
      gap: 0px 0px; 
      grid-template-areas: 
      ". . . . . . . . . . . . . . signalforest signalforest signalforest signalforest ."
      ". . . . . . . . emvia emvia emvia emvia emvia emvia emvia emvia emvia emvia emvia"
      ". . . . cvc cvc cvc cvc . . . . . . . . . . ."
      ". . . starrtincup starrtincup . . . . . . . . . . . . . ."
      "uta uta uta uta . . . . . . . . . . . . . . ." 
      "years years years years years years years years years years years years years years years years years years years";
      background: rgb(255,255,255);
      background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 5.262%, rgba(255,255,255,0.05) 5.263%, rgba(255,255,255,0.05) 10.525%, rgba(255,255,255,0) 10.526%, rgba(255,255,255,0) 15.788%, rgba(255,255,255,0.05) 15.789%, rgba(255,255,255,0.05) 21.051%, rgba(255,255,255,0) 20.052%, rgba(255,255,255,0) 26.314%, rgba(255,255,255,0.05) 26.315%, rgba(255,255,255,0.05) 31.577%, rgba(255,255,255,0) 31.578%, rgba(255,255,255,0) 36.84%, rgba(255,255,255,0.05) 36.841%, rgba(255,255,255,0.05) 42.103%, rgba(255,255,255,0) 42.104%, rgba(255,255,255,0) 47.366%, rgba(255,255,255,0.05) 47.367%, rgba(255,255,255,0.05) 52.629%, rgba(255,255,255,0) 52.630%, rgba(255,255,255,0) 57.892%, rgba(255,255,255,0.05) 57.893%, rgba(255,255,255,0.05) 63.155%, rgba(255,255,255,0) 63.156%, rgba(255,255,255,0) 68.418%, rgba(255,255,255,0.05) 68.419%, rgba(255,255,255,0.05) 73.681%, rgba(255,255,255,0) 73.682%, rgba(255,255,255,0) 78.944%, rgba(255,255,255,0.05) 78.945%, rgba(255,255,255,0.05) 84.207%, rgba(255,255,255,0) 84.208%, rgba(255,255,255,0) 89.47%, rgba(255,255,255,0.05) 89.471%, rgba(255,255,255,0.05) 94.733%, rgba(255,255,255,0) 94.734%, rgba(255,255,255,0) 100%);
      }


    .uta {grid-area: uta; background-image: linear-gradient(135deg,#0064b1,#0b3250);}
    .uta .timelineicon {background-color:#cd4b13;}
    .starrtincup {grid-area: starrtincup; background-image: linear-gradient(135deg,#444444,#111111);}
    .starrtincup .timelineicon {background-color: steelblue;}
    .cvc {grid-area: cvc; background-image: linear-gradient(135deg,#ec8117,#c7232c);}
    .cvc .timelineicon {background-color:#c7232c;}
    .emvia {grid-area: emvia; background-image: linear-gradient(135deg,#106eb6,#034c84);}
    .emvia .timelineicon {background-color:#66b822;}
    .signalforest {grid-area: signalforest; background-image: linear-gradient(135deg,#336633,#2b552b);}
    .signalforest .timelineicon {background-color:#212529;}
      
    .years {
      display: grid; 
      grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; 
      grid-template-rows: 1fr; 
      gap: 0px 0px; 
      grid-template-areas: 
        ". . y2005 . . . . y2010 . . . . y2015 . . . . y2020 ."; 
      grid-area: years;
      padding-top: 3em;
      align-content: center;
    }
    
    .y2005 { grid-area: y2005; }
    .y2010 { grid-area: y2010; }
    .y2015 { grid-area: y2015; }
    .y2020 { grid-area: y2020; }
    
    .yx5 {
      width: 50px;
      height: 50px;
      line-height: 50px;
      border-radius: 50%;
      margin: 0 auto;
      box-shadow: 2px 2px 4px rgba(0, 0, 0, .5);
    }
    .ytween {
      width: 15px;
      height: 15px;
      border-radius: 50%;
      margin: 15px auto;
      box-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
    }

    .hovuta, .hovst, .hovcvc, .hovemv, .hovsf {
      background-image: linear-gradient(135deg,#fff,#aaa);
      color: dimgray;
      text-align: center;
      font-size: .8em;
      font-weight: bold;
    }

    .yuta {background-image: linear-gradient(135deg,#0064b1,#0b3250) !important; color: white;}
    .yst {background-image: linear-gradient(135deg,#444444,#111111) !important; color: white;}
    .ycvc {background-image: linear-gradient(135deg,#ec8117,#c7232c) !important; color: white;}
    .yemv {background-image: linear-gradient(135deg,#106eb6,#034c84) !important; color: white;}
    .ysf {background-image: linear-gradient(135deg,#336633,#2b552b) !important; color: white;}

    .timelinebar {
      width: 90px;
      height: 90px;
      border-radius: 4em;
      border: 3px solid black;
      margin: 1.5em 0;
      box-shadow: 2px 2px 4px rgba(0, 0, 0, .5);
      transition: width .5s;
      z-index: 100;
    }

    .timelinebar:hover {
      width: 100%;
    }

    .timelinebar:hover .duration {
      visibility: visible;
      opacity: 1;
    }

    .timelinebar:hover .exptag {
      visibility: visible;
      opacity: 1;
      transform: translateX(-1.5em);
      transition-delay: .5s, 0s; /* Reverse order */
    }

    .timelineicon.material-icons-round {
      font-size: 40px !important;
    }

    .timelineicon {
      width: 60px;
      height: 60px;
      padding-top: 10px;
      margin: 11px;
      border-radius: 50%;
      text-align: center;
      color: whitesmoke;
      z-index: 100;
    }

    .duration {
      height: 90px;
      font-size: 1.25em;
      font-weight: bold;
      color: whitesmoke;
      text-align: center;
      padding: .25em;
      text-shadow: 1px 1px 2px rgba(0,0,0,.5);
      visibility: hidden;
      opacity: 0;
      transition: opacity .5s;
      transition-delay: .5s;
    }

    .exptag {
      background-image: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.5) 10%, rgba(255,255,255,.75) 20%, rgba(255,255,255,1) 40%);
      font-size: 1em;
      border-radius: 0 2em 2em 0;
      margin: 1em 0;
      padding: .3em 3em .3em 4em;
      position: absolute;
      visibility: hidden;
      opacity: 0;
      transition: all .5s ;
      transform: translateX(-3em);
      box-shadow: 2px 0px 2px 0px rgba(0,0,0,.33);
    }

    .exptag p {margin: 0; padding: 0; text-align: right;}

    .exptag .title {font-size: 1em; color: #333; font-weight: bold;}
    .exptag .org {font-size: .75em; color: #666; font-style: italic;}
    
    /* 3a. Experience (Simplified for Mobile) */

    .exp-mobilewrap {
      width: 320px;
      margin: 0 auto;
    }

    .duration-M {
      margin-left: 10px;
      padding-top: 1.875em;
      font-size: 1.5em;
      font-weight: bold;
      color: whitesmoke;
      text-shadow: 1px 1px 2px rgba(0,0,0,.25);
      white-space: nowrap;
      overflow: hidden;
      opacity: 1;
    }

    .timelinebar:hover + .duration-M {
      opacity: 0;
      transition: opacity .5s;
    }
    /* 4. Portfolio */

    #portfolio .section {margin: 0; padding: 0; width: 100%; height: 900px;}

    .pfwrap {width: 90%; margin: 0 auto; padding: 5% 0;}
    #portfolio p {font-size: 1.5em; font-weight: 600; padding-bottom: 2em; text-align: center;}
    #portfolio a {color: palegoldenrod; text-decoration: none;}
    
    #pfSlider {font-family: 'Poppins', sans-serif;}
    #pfSlider h1, h2 {color: ghostwhite;}
    #pfSlider h3, h5, p {white-space: normal !important;}
    #pfSlider .textblue {color: #57a5c4;}

    .textshadow {text-shadow: 0 0 2px rgba(0,0,0,.5);}
    .textshadow2x {text-shadow: 0 0 4px rgba(0,0,0,.5);}
    .textshadow3x {text-shadow: 0 0 6px rgba(0,0,0,.5);}
    .textshadow4x {text-shadow: 0 0 8px rgba(0,0,0,.5);}

    img.blurhalf {filter: blur(1px)}    
    img.blur {filter: blur(2px)}
    img.blur2x {filter: blur(4px)}
    img.blur3x {filter: blur(6px)}
    img.blur4x {filter: blur(8px)}

    
    .slide img {width: 100%;}
    .slide h3 {text-align: end}
    .slide p {white-space: normal}

    .expand {width: 100%; height: 100%; position: fixed; color: transparent; background-image: linear-gradient(180deg, rgba(0,0,0,0) 92%, rgba(0,0,0,.5) 100%); text-align: center; padding-top: 35%; transition: all .5s;}
    .expand:hover {color: white; background-image: linear-gradient(180deg, rgba(0,0,0,.75) 70%, rgba(0,0,0,1) 100%); transition: all .5s;}

    /*FOR LATER .ribbonleft {width: 50px; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-bottom: 100px solid black;}
    .ribbonright {width: 50px; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-bottom: 100px solid black;}*/

    /* 5. Methodology */

    /* 6. Skills */
    #skills {padding: 5em 0 10em 0}

    .skill {
      width: 200px;
      margin: 15px 10px;
      text-align: center;
      color: white;
    }

    .skill:hover {
      transform: scale(1.1);
      transition: transform .25s;
    }

    .skill img {
      width: 150px;
      height: 150px;
      margin-bottom: 10px;
      border-radius: 1.65em;
      object-fit: contain;
    }

    .skill span.material-icons-round {
      width: 150px;
      height: 150px;
      line-height: 150px;
      font-size: 75px;
      margin-bottom: 10px;
      border-radius: .5em;
      background-color: white;
      background-image: var(--bs-gradient) !important;
    }

    .skillswrap {
      width: 1320px;
      position: relative;
      margin: 3em auto;
    }

    .pr {color: lightyellow;}
    .vpr {color: palegoldenrod;}
    .hpr {color: goldenrod;}

    .skillsnav {
      position: relative;
      width: 300px;
      margin: 0 auto;
    }

    .skillsnav button {
      color: lightgray;
      font-size: 30px;
      line-height: 45px;
    }

    .skillsnav {color: lightgray;}
    .skillsnav span.character {vertical-align: super;}

    .skillsnav button.filter {
      margin: 5px;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      color: dimgrey;
      border: 2px solid dimgray;
      background-color: lightgray;
      background-image: var(--bs-gradient) !important;
      text-align: center;
      text-decoration: none;
      box-shadow: 2px 2px 4px 0px rgba(0,0,0,.5);
    }

    .skillsnav button.filter:hover, .skillsnav button.mixitup-control-active {
      background-color: darkslategrey;
      border-color: lightgray;
      color: lightgray;
    }
    
    /* 7. Testimonials */

    #testimonials {padding-bottom: 3em;}

    .quotewrap {
      width: 30%;
      height: auto;
      margin: 3rem 4rem 1rem;
      filter: grayscale(1);
    }

    .quotewrap:hover {
      filter: grayscale(0);
      transition: all .5s;
    }

    .quotewrap:hover .quotebubble {
      box-shadow: 2px 10px 100px 30px rgba(255,255,255,.25);
      transform: perspective(3000px) rotateX(0) rotateY(0);
      transition: all .5s;
    }

    .quotewrap:hover .quotebubble p:before {
    }

    .quotewrap:hover .quotebubble p:after {
      
    }

    .quotewrap:hover .quote {
      text-shadow: 4px 4px 4px rgba(0,0,0,.25);
      transform: translateY(-4px);
      transition: all .5s;
    }

    .quotewrap:hover .attribution {
      transform: scale(1);
      transform: translateY(30px);
      text-shadow: 2px 2px 4px rgba(0,0,0,.25);
      transition: all .5s;
    }

    .quotewrap:hover .task {
      opacity: 1;
    }

    .quotebubble {
      width: 100%;
      border-radius: 1.25em;
      padding: 5rem;
      box-shadow: 2px 10px 100px 30px rgba(0,0,0,.25);
      transition: all .5s;
    }
    
    .quote:before {
      content: "\E244";
      font-family: Material Icons Round;
      transform: rotateZ(180deg) translate(100%, 50%);
      position: absolute;
      font-size: 2em;
    }

    .quote:after {
      content: "\E244";
      font-family: Material Icons Round;
      position: absolute;
      font-size: 2em;
      text-align: right;
    }

    .qbtailR:before {
      content: "";
      width: 0px;
      height: 0px;
      position: absolute;
      border-right: 12px solid transparent;
      border-bottom: 20px solid transparent;
      right: 10%;
      bottom: -30px;
    }

    .qbtailL:before {
      content: "";
      width: 0px;
      height: 0px;
      position: absolute;
      border-left: 12px solid transparent;
      border-bottom: 20px solid transparent;
      left: 10%;
      bottom: -30px;
    }

    .quote {
      font-size: 1.25em;
      font-style: italic;
      font-weight: 600;
      color: whitesmoke;
      transition: all .5s;
    }

    .speaker {
      font-size: 2.5em;
      font-weight: 600;
    }

    .organization {
      font-style: italic;
      font-size: 1.5em;
    }

    .task {
      font-size: 1.125em;
      color: lightgoldenrodyellow !important;
      opacity: 0;
      transition: all .5s;
    }

    .task:before {
      content:"Task: ";
      font-weight: 600;
      color: palegoldenrod;
    }

    .attribution {
      text-align: center;
      color: whitesmoke;
      transform: scale(.75);
      transition: all .5s;
    }

    .hadley {background-image: linear-gradient(90deg,#336633 25%,#2b552b 75%)}
    .perry {background-image: linear-gradient(270deg,#dacab2 25%,#c69a51 75%)}
    .bradshaw {background-image: linear-gradient(90deg,#2566a4 25%,#143554 75%)}
    .irving {background-image: linear-gradient(270deg,#d12c2c 25%,#9c0000 75%)}

    .quotebubble.hadley {transform: perspective(1500px) rotateX(-15deg)rotateY(-15deg);}
    .quotebubble.perry {transform: perspective(1500px) rotateX(-15deg)rotateY(15deg);}
    .quotebubble.bradshaw {transform: perspective(1500px) rotateX(15deg)rotateY(15deg);}
    .quotebubble.irving {transform: perspective(1500px) rotateX(15deg)rotateY(-15deg);}

    .qbtailR.hadley:before {border-left: 24px solid #2b552b; border-top: 12px solid #2b552b;}
    .qbtailL.hadley:before {border-right: 24px solid #336633; border-top: 12px solid #336633;}
    .qbtailR.perry:before {border-left: 24px solid #dacab2; border-top: 12px solid #dacab2;}
    .qbtailL.perry:before {border-right: 24px solid #c69a51; border-top: 12px solid #c69a51;}
    .qbtailR.bradshaw:before {border-left: 24px solid #143554; border-top: 12px solid #143554;}
    .qbtailL.bradshaw:before {border-right: 24px solid #2566a4; border-top: 12px solid #2566a4;}
    .qbtailR.irving:before {border-left: 24px solid #d12c2c; border-top: 12px solid #d12c2c;}
    .qbtailL.irving:before {border-right: 24px solid #9c0000; border-top: 12px solid #9c0000;}

    /* 8. Resume */
    #resume {padding: 3em 0; text-align: center; background-color: steelblue;}
    #resume button {background-color: black; border-color: black; transition: all .5s;}
    #resume button:hover {background-color: steelblue; border-color: steelblue; transition: all .5s;}
    #resume span {vertical-align: sub;}

/* Responsive Rules */

  /* Desktop to Mobile Switch */
  @media (min-width:1024px){
    #exp-mobile, #expnav-M {display: none;}
  }

  @media (max-width:1023px){
    #experience, #expnav-D {display: none;}
    #exp-mobile, #expnav-M {display: inherit;}
  }

  /* Desktop XXL (2k to 4k)*/
  @media (min-width:2561px){
    #summary p { line-height: 2.5rem; font-size: 2rem;}
  }

  /* Desktop XL (1080p to 2k)*/
  @media (min-width:1921px) and (max-width:2560px){
    #summary p { line-height: 2.5rem; font-size: 2rem;}
  }

  /* Desktop Large (up to 1080p) */
  @media (min-width:1601px) and (max-width:1920px){
    #summary p { line-height: 2.5rem; font-size: 2rem;}
  }

  /* Desktop Medium */
  @media (min-width:1201px) and (max-width:1600px){
    #summary p { line-height: 2.5rem; font-size: 2rem;}
    .duration { line-height: 1.5rem; font-size: 1em;}   
    .skillswrap { width: 880px;}
    .quotewrap {width: 70%;}
  }

  /* Desktop Small, Tablet Landscape) */
  @media (min-width:1025px) and (max-width:1200px){
    #summary p { line-height: 2rem; font-size: 1.5rem;}
    #exp-mobile {padding-top: 3em;}
    .exptag {padding-left: 2rem;}
  }

  /* Mobile Large Landscape */
  @media (min-width:769px) and (max-width:1024px){
    #summary p { line-height: 2rem; font-size: 1.5rem;}
    .skillswrap { width: 440px;}
  }

  /* Mobile Medium Landscape */
  @media (min-width:481px) and (max-width:768px){
    #summary p { line-height: 1.5rem; font-size: 1.25rem;}
    .skillswrap { width: 220px;}
    .quote {font-size: 1em}
    .attribution {transform: scale(50%)}
    .quotewrap:hover .attribution {transform: scale(75%) translateY(10px)}
  }

  /* Mobile Small Landscape */
  @media (min-width:321px) and (max-width:480px){
    .pnav {display: none !important}
    .mobilenav {display: initial !important;}
    #summary p { line-height: 1.25rem; font-size: .9rem;}
    #exp-mobile {padding-top: 3em;}
    .exptag {padding: .3em .5em .3em 2em}
    .skillswrap { width: 220px;}
    .quote {font-size: 1em}
    .attribution {transform: scale(50%)}
    .quotewrap:hover .attribution {transform: scale(75%) translateY(10px)}
  }

  /* Tablet Portrait */
    @media (min-width:1025px) and (max-width:1200px) and (orientation: portrait){
      #summary p { line-height: 2rem; font-size: 1.5rem;}
      #exp-mobile {padding-top: 3em;}
      .exptag {padding-left: 2rem;}
    }

    /* Mobile Portrait */
    @media (max-width:1024px) and (orientation: portrait){
      #vcard {text-align: center !important; flex-direction: column;}
      #vcard img {margin-right: 0px; width: 75%;}
      #titleSwap, #titleStatic {text-align: right !important}
      .titlerow {width: 290px;}
      #summary p { line-height: 2rem; font-size: 1.5rem;}
      .skillswrap { width: 440px;}
      .quote {font-size: 1em}
      .attribution {transform: scale(50%)}
      .quotewrap:hover .attribution {transform: scale(75%) translateY(10px)}
    }

    /* Mobile Medium Portrait */
    @media (min-width:481px) and (max-width:768px) and (orientation: portrait){
      #summary p { line-height: 1.5rem; font-size: 1.25rem;}
      .skillswrap { width: 220px;}
      .quote {font-size: 1em}
      .attribution {transform: scale(50%)}
      .quotewrap:hover .attribution {transform: scale(75%) translateY(10px)}
    }

    /* Mobile Small Portrait */
    @media (min-width:320px) and (max-width:480px) and (orientation: portrait){
      .sectiontitle {display: none;}
      #vcard {text-align: center !important; flex-direction: column; padding-top: 10vh;}
      #vcard img {margin-right: 0px; width: 50%;}
      #titleSwap, #titleStatic {text-align: right !important; font-size: 1.25rem;}
      .titlerow {width: 200px;}
      .contactrow {font-size: 1rem !important;}
      #summary p { line-height: 1.25rem; font-size: .9rem;}
      #exp-mobile {padding-top: 3em;}
      .exptag {padding: .3em .5em .3em 2em}
      .skillswrap { width: 220px;}
      .quote {font-size: 1em}
      .attribution {transform: scale(50%)}
      .quotewrap {width: 80%; height: auto; margin: 2rem 2rem .5rem;}
      .quotewrap:hover .attribution {transform: scale(75%) translateY(10px)}
      .quotebubble {padding: 2.5rem 3rem;}
    }