/* ==================================================================
   Merged from layout.css (moved here to keep all responsive rules together)
   NOTE: These blocks are placed BEFORE the existing media-queries.css rules
   so existing overrides keep the same behavior as before.
   ================================================================== */

@media only screen and (max-width: 768px){
  #nav-wrap{display:flex;justify-content:center;align-items:center;position:relative;padding:0;}
  #nav-wrap .mobile-btn{position:absolute;left:10px;top:50%;transform:translateY(-50%);}
  #nav-wrap .lang{position:absolute;right:-15px;top:50%;transform:translateY(-50%);}
  #nav-wrap ul#nav{position:absolute;top:100%;left:0;right:0;width:100%;margin:0;padding:0;border-radius:0;}
  #nav-wrap ul#nav li{display:block;width:100%;}
  #nav-wrap ul#nav li a{display:block;width:100%;text-align:center;}
}

@media only screen and (max-width: 768px){
  #nav li.has-dropdown > ul.dropdown{display:none !important;}
  #nav li.has-dropdown.open > ul.dropdown{display:block !important;}
  #nav li.has-dropdown > a{display:flex;align-items:center;justify-content:center;position:relative;padding-right:0;}
  #nav li.has-dropdown > a::after{content:"▾";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:10px;opacity:0.7;transition:transform 0.25s ease, opacity 0.25s ease;}
  #nav li.has-dropdown.open > a::after{transform:translateY(-50%) rotate(180deg);opacity:1;}
}

@media only screen and (max-width: 1200px){
  .page-header__content{max-width:800px;font-size:1.7rem;}
  .page-header__cat{font-size:1.3rem;}
  .page-header__title{font-size:6rem;}
}

@media only screen and (max-width: 900px){
  .page-header__content{max-width:700px;}
}

@media only screen and (max-width: 800px){
  .page-header--single{padding-top:18rem;}
  .page-header__title{font-size:5.4rem;}
}

@media only screen and (max-width: 600px){
  .page-header{padding-top:18rem;}
  .page-header__content p{padding-right:0;}
  .page-header__title{font-size:4.8rem;}
}

@media only screen and (max-width: 500px){
  .page-header__title{font-size:4.2rem;}
}

@media only screen and (max-width: 400px){
  .page-header__content{font-size:1.6rem;line-height:1.875;}
  .page-header__title{font-size:3.8rem;}
}

@media only screen and (max-width: 1200px){
  .blog-content{max-width:900px;}
  .blog-content__main{padding-left:5rem;padding-right:5rem;}
  .blog-content__main img{max-width:900px;margin:3rem 0 3rem -5rem;}
}

@media only screen and (max-width: 1000px){
  .blog-content{max-width:800px;}
  .blog-content__main{padding-left:4rem;padding-right:4rem;}
  .blog-content__main img{max-width:800px;margin:3rem 0 3rem -4rem;}
  .blog-content__prev,
   .blog-content__next{width:100%;float:none;padding:0;text-align:left;margin-bottom:1.8rem;}
}

@media only screen and (max-width: 900px){
  .blog-content__main{padding-left:15px;padding-right:15px;}
  .blog-content__main img{max-width:100%;margin:3rem 0 3rem;}
}

@media only screen and (max-width: 800px){
  .blog-content__nav{padding-right:0;}
  .blog-content__all{position:static;text-align:left;width:auto;margin-top:1.8rem;}
}

@media only screen and (max-width: 600px){
  .blog-content__prev,
   .blog-content__next,
   .blog-content__all{text-align:center;}
  .blog-content__main{padding-left:10px;padding-right:10px;}
}

@media only screen and (max-width: 500px){
  .blog-entries-nav .btn{margin-right:0;min-width:none;width:100%;}
}

@media only screen and (max-width: 400px){
  .blog-content__main{padding-left:0;padding-right:0;}
  .blog-content__all .btn{width:100%;}
}

@media only screen and (max-width: 800px){
  #comments form button{width:100%;}
}

@media only screen and (max-width: 600px){
  #comments h3{text-align:center;}
  .commentlist > .comment{padding-left:0;}
  .commentlist .comment__avatar{display:none;}
}

@media only screen and (max-width: 600px){
  footer{padding-top:4px;padding-bottom:8px;margin-bottom:0;}
  footer .copyright{margin-top:0px;}
  footer #go-top{display:none;}
}


/* ==================================================================

*   Ceevee Media Queries
*   url: styleshout.com
*   03-18-2014

/* ================================================================== */

/* screenwidth less than 1024px
--------------------------------------------------------------------- */
@media only screen and (max-width: 1024px) {
   /* header styles
   ------------------------------------------------------------------ */
   header .banner-text h1 {
      font: 80px/1.1em "-apple-system", sans-serif;
      letter-spacing: -1px;
      margin: 0 auto 12px auto;
   }
}

/* screenwidth less than 900px
--------------------------------------------------------------------- */
@media only screen and (max-width: 900px) {
   /* header styles
   ------------------------------------------------------------------ */
   header .banner {
      padding-bottom: 12px;
   }
   header .banner-text h1 {
      font: 78px/1.1em "-apple-system", sans-serif;
      letter-spacing: -1px;
   }
   header .banner-text h3 {
      font: 17px/1.9em "librebaskerville-regular", serif;
      width: 80%;
   }
   header .banner-text hr {
      width: 65%;
      margin: 12px auto;
   }
   /* nav-wrap */
   #nav-wrap {
      font: 11px "-apple-system", sans-serif;
      letter-spacing: 1.5px;
   }

   /* About Section
   ------------------------------------------------------------------- */
   #about .profile-pic {
      width: 114px;
      height: 114px;
      margin-left: 12px;
   }
   #about .contact-details {
      width: 50%;
   }
   #about .download {
      width: 50%;
   }

   /* Resume Section
   ------------------------------------------------------------------- */
   #resume h1 {
      font: 16px/24px "-apple-system", sans-serif;
   }
   #resume .main-col {
      padding-right: 5%;
   }

   /* Testimonials Section
   ------------------------------------------------------------------- */
   #testimonials .header-col h1:before {
      font-size: 66px;
      line-height: 66px;
   }
   #testimonials blockquote p {
      font-size: 22px;
      line-height: 46px;
   }

   /* Call to Action Section
   ------------------------------------------------------------------- */
   #call-to-action .header-col h1:before {
      font-size: 66px;
      line-height: 66px;
   }

   /* Contact Section
   ------------------------------------------------------------------- */
   #contact .section-head {
      margin-bottom: 30px;
   }
   #contact .header-col h1:before {
      font-size: 66px;
      line-height: 66px;
   }
   #contact .section-head p.lead {
      font: 17px/33px opensans-light, sans-serif;
   }
}

/* mobile wide/smaller tablets
---------------------------------------------------------------------- */

@media only screen and (max-width: 767px) {
   /* mobile navigation
   -------------------------------------------------------------------- */
   #nav-wrap {
      font: 12px "-apple-system", sans-serif;
      background: transparent !important;
      letter-spacing: 1.5px;
      width: auto;
      position: fixed;
      top: 0;
      right: 0;
   }
   #nav-wrap > a {
      width: 48px;
      height: 48px;
      text-align: left;
      background-color: var(--primary400);
      position: relative;
      border: none;
      float: right;

      font: 0/0 a;
      text-shadow: none;
      color: transparent;

      position: relative;
      top: 0px;
      right: 30px;
   }

   #nav-wrap > a:before,
   #nav-wrap > a:after {
      position: absolute;
      border: 2px solid #fff;
      top: 35%;
      left: 25%;
      right: 25%;
      content: "";
   }
   #nav-wrap > a:after {
      top: 60%;
   }

   /* toggle buttons */
   #nav-wrap > a {
      display: none;
   }
   #nav-wrap > a:first-of-type {
      display: block;
   }
   #nav-wrap.nav-open > a:first-of-type {
      display: none;
   }
   #nav-wrap.nav-open > a:last-of-type {
      display: block;
   }

   /* hide menu panel */
   #nav-wrap ul#nav {
      height: auto;
      display: none;
      clear: both;
      width: 100%;
      float: none;

      position: absolute;
      top: 100%;   /* directly under the bar */
      left: 0;
      right: 0;
      margin: 0;
      padding: 0;
   }

   /* display menu panels */
   #nav-wrap.nav-open > ul#nav {
      display: block;
      padding: 16px 0 24px;   /* full-width, no side padding */
      background: #1f2024;
      margin: 0;
      clear: both;
      width: 100%;
   }

   ul#nav li {
      display: block;
      height: auto;
      margin: 0 auto;
      padding: 0 4%;
      text-align: left;
      border-bottom: 1px solid #2d2e34;
      border-bottom-style: dotted;
   }

   ul#nav li a {
      display: block;
      margin: 0;
      padding: 0;
      margin: 12px 0;
      line-height: 16px; /* reset line-height from 48px */
      border: none;
   }

   /* parent list layout */
   #nav ul {
      margin: 0;
      padding: 0;
   }

   /* the submenu container */
   #nav li.has-dropdown > ul.dropdown {
      display: none;          /* closed by default */
      position: static;       /* stack under parent */
      width: 100%;
      min-width: 0; 
      background: #2a2a2a;  
      border-radius: 0;  

      margin-top: 20px;  
      margin-left: 0;
      margin-right: 0;
      margin-bottom: 0;

      padding: 4px 0;
   }

   /* open state (JS toggles .open) */
   #nav li.has-dropdown.open > ul.dropdown {
      display: block !important;
   }

   /* each submenu row */
   #nav li.has-dropdown > ul.dropdown > li {
      margin: 0;
      padding: 0;
      border-bottom: 1px dotted rgba(255, 255, 255, 0.15); /* or none */
   }

   /* submenu link styles */
   #nav li.has-dropdown > ul.dropdown > li > a {
      display: block;
      margin: 0;              /* prevent margin-collapse that can clip the first row */
      padding: 12px 0;        /* vertical breathing room */
      line-height: 16px;
      color: rgba(255, 255, 255, 0.85);
      text-decoration: none;
   }

   #nav li.has-dropdown > ul.dropdown > li > a:hover {
      color: #fff;
   }

   #intro p {
      font-size: 20px;
      line-height: 32px;
      color: #bebebe;
   }

   /* Header Styles
   -------------------------------------------------------------------- */
   header .banner {
      padding-bottom: 12px;
      padding-top: 6px;
   }
   header .banner-text h1 {
      font: 68px/1.1em "-apple-system", sans-serif;
   }
   header .banner-text h3 {
      font: 16px/1.9em "librebaskerville-regular", serif;
      width: 85%;
   }
   header .banner-text hr {
      width: 80%;
      margin: 18px auto;
   }

   /* header social links */
   header .social {
      margin: 18px 0 24px 0;
      font-size: 24px;
      line-height: 36px;
   }
   header .social li {
      margin: 0 10px;
   }

   /* About Section
   -------------------------------------------------------------------- */
   #about .profile-pic {
      display: none;
   }
   #about .download .button {
      width: 100%;
      text-align: center;
      padding: 15px 20px;
   }
   #about .main-col {
      padding-right: 30px;
   }

   /* Resume Section
   --------------------------------------------------------------------- */
   #resume .header-col {
      padding-top: 0;
      margin-bottom: 48px;
      text-align: center;
   }
   #resume h1 {
      letter-spacing: 3px;
   }
   #resume .main-col {
      padding-right: 30px;
   }
   #resume h3,
   #resume .info {
      text-align: center;
   }

   .bars {
      width: 100%;
   }

   /* Call To Action Section
   /* ----------------------------------------------------------------- */
   #call-to-action {
      text-align: center;
   }
   #call-to-action h1 {
      font: 16px/24px "-apple-system", sans-serif;
      text-align: center;
      margin-bottom: 30px;
      text-shadow: 0px 1px 3px rgba(0, 0, 0, 1);
   }
   #call-to-action h1 span {
      display: block;
   }
   #call-to-action .header-col h1:before {
      content: none;
   }
   #call-to-action p {
      font-size: 15px;
   }

   /* Portfolio Section
   /* ----------------------------------------------------------------- */
   #portfolio-wrapper .columns {
      margin-bottom: 40px;
   }
   .popup-modal {
      max-width: 85%;
   }

   /* Testimonials Section
   ----------------------------------------------------------------------- */
   #testimonials .text-container {
      text-align: center;
   }
   #testimonials h1 {
      font: 16px/24px "-apple-system", sans-serif;
      text-align: center;
      margin-bottom: 30px;
      text-shadow: 0px 1px 3px rgba(0, 0, 0, 1);
   }
   #testimonials h1 span {
      display: block;
   }
   #testimonials .header-col h1:before {
      content: none;
   }
   #testimonials blockquote {
      padding-bottom: 24px;
   }
   #testimonials blockquote p {
      font-size: 20px;
      line-height: 42px;
   }

   /* Control Nav */
   .flex-control-nav {
      text-align: center;
      margin-left: -30px;
   }

   /* contact Section
   ----------------------------------------------------------------------- */
   #contact {
      padding-bottom: 66px;
   }
   #contact .section-head {
      margin-bottom: 12px;
   }
   #contact .section-head h1 {
      font: 16px/24px "-apple-system", sans-serif;
      text-align: center;
      margin-bottom: 30px;
      text-shadow: 0px 1px 3px rgba(0, 0, 0, 1);
   }
   #contact h1 span {
      display: block;
   }
   #contact .header-col {
      padding-top: 0;
   }
   #contact .header-col h1:before {
      content: none;
   }
   #contact .section-head p.lead {
      text-align: center;
   }

   /* form */
   #contact label {
      float: none;
      width: 100%;
   }
   #contact input,
   #contact textarea,
   #contact select {
      margin-bottom: 6px;
      width: 100%;
   }
   #contact button.submit {
      margin: 30px 0 24px 0;
   }
   #message-warning,
   #message-success {
      width: 100%;
      margin-left: 0;
   }

   /* footer
   ------------------------------------------------------------------------ */

   /* copyright */
   footer .copyright li:before {
      content: none;
   }
   footer .copyright li {
      margin-right: 12px;
   }

   /* social links */
   footer .social-links {
      font-size: 22px;
   }
   footer .social-links li {
      margin-left: 18px;
   }

   /* Go To Top Button */
   #go-top {
      margin-left: -22px;
   }
   #go-top a {
      width: 54px;
      height: 54px;
      font-size: 18px;
      line-height: 54px;
   }
}

/* mobile narrow
  -------------------------------------------------------------------------- */

@media only screen and (max-width: 480px) {
   /* mobile navigation
   -------------------------------------------------------------------- */
   #nav-wrap ul#nav {
      width: auto;
      float: none;
   }

   /* header styles
   -------------------------------------------------------------------- */
   header .banner {
      padding-top: 24px;
   }
   header .banner-text h1 {
      font: 40px/1.1em "-apple-system", sans-serif;
      margin: 0 auto 24px auto;
   }
   header .banner-text h3 {
      font: 14px/1.9em "librebaskerville-regular", sans-serif;
      width: 90%;
   }

   /* header social links */
   header .social {
      font-size: 20px;
   }
   header .social li {
      margin: 0 6px;
   }

   #blog {
      padding-left: 5%;
      padding-right: 5%;
   }

   /* footer
   ------------------------------------------------------------------------ */

   /* social links */
   footer .social-links {
      font-size: 20px;
   }
   footer .social-links li {
      margin-left: 14px;
   }
}
