/* =========================
   SEAN AIDAN NEW NAVIGATION
   ========================= */

.site-nav-wrap{
  width:100%;
  max-width:990px;
  margin:18px auto 0 auto;
  position:relative;
  z-index:9999;
}

.site-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid #dddddd;
  border-bottom:1px solid #dddddd;
  padding:14px 0;
  background:#ffffff;
  position:relative;
  z-index:9999;
}

.site-nav-list{
  list-style:none;
  display:flex;
  align-items:center;
  gap:4px;
  margin:0;
  padding:0;
}

.site-nav-list li{
  list-style:none;
  margin:0;
  padding:0;
}

.site-nav-list > li{
  position:relative;
}

.site-nav-list > li > a{
  display:block;
  padding:12px 16px;
  font-family:"Raleway", Arial, Helvetica, sans-serif;
  font-size:15px;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:#111111;
  text-decoration:none;
  border-radius:4px;
  transition:background 0.2s ease, color 0.2s ease;
}

.site-nav-list > li > a:hover,
.site-nav-list > li > a:focus{
  background:#f3f3f3;
  color:#000000;
  text-decoration:none;
}

/* Portfolio dropdown parent */
.has-sub{
  position:relative;
}

.submenu-parent{
  display:inline-block;
  padding-right:14px;
}

/* desktop arrow drawn in CSS */
.has-sub > .submenu-parent:after{
  content:"";
  display:inline-block;
  margin-left:8px;
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:6px solid #111111;
  vertical-align:middle;
}

/* hide submenu button on desktop */
.submenu-toggle{
  display:none;
}

/* dropdown */
.sub-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:220px;
  background:#ffffff;
  border:1px solid #dddddd;
  box-shadow:0 10px 24px rgba(0,0,0,0.12);
  padding:8px 0;
  z-index:9999;
}

.sub-menu li{
  margin:0;
}

.sub-menu a{
  display:block;
  padding:11px 16px;
  text-align:left;
  font-size:14px;
  font-family:"Rubik", Arial, Helvetica, sans-serif;
  color:#111111;
  text-decoration:none;
  white-space:nowrap;
  background:#ffffff;
}

.sub-menu a:hover,
.sub-menu a:focus{
  background:#f5f5f5;
  color:#000000;
  text-decoration:none;
}

/* show on hover for desktop */
.has-sub:hover .sub-menu,
.has-sub:focus-within .sub-menu{
  display:block;
}

/* social icons */
.site-nav-social{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}

.site-nav-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border:1px solid #dddddd;
  border-radius:50%;
  background:#ffffff;
  transition:background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.site-nav-social a:hover,
.site-nav-social a:focus{
  background:#f5f5f5;
  border-color:#bbbbbb;
  transform:translateY(-1px);
  text-decoration:none;
}

.site-nav-social img{
  width:18px;
  height:18px;
  display:block;
}

/* mobile main menu button */
.nav-toggle{
  display:none;
  width:100%;
  background:#111111;
  color:#ffffff;
  border:0;
  padding:14px 16px;
  text-align:left;
  cursor:pointer;
  font-family:"Raleway", Arial, Helvetica, sans-serif;
  font-size:15px;
  letter-spacing:0.04em;
  text-transform:uppercase;
  border-radius:4px;
}

.nav-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:#ffffff;
  margin:0 0 4px 0;
}

.nav-toggle strong{
  display:inline-block;
  margin-top:4px;
  font-weight:400;
}

/* =========================
   MOBILE
   ========================= */

@media only screen and (max-width: 799px){

  .site-nav-wrap{
    max-width:100%;
    margin-top:14px;
  }

  .nav-toggle{
    display:block;
  }

  .site-nav{
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px 0 0 0;
    border-top:0;
    border-bottom:1px solid #dddddd;
    background:#ffffff;
    box-shadow:0 8px 20px rgba(0,0,0,0.08);
  }

  .site-nav.open{
    display:flex;
  }

  .site-nav-list{
    display:block;
    width:100%;
  }

  .site-nav-list > li{
    display:block;
    border-top:1px solid #eeeeee;
    background:#ffffff;
  }

  .site-nav-list > li > a{
    display:block;
    padding:14px 10px;
    text-align:left;
    border-radius:0;
    background:#ffffff;
  }

  /* remove desktop hover arrow on mobile */
  .has-sub > .submenu-parent:after{
    display:none;
  }

  /* mobile + / - toggle button */
  .submenu-toggle{
    display:block;
    position:absolute;
    top:0;
    right:0;
    width:52px;
    height:50px;
    border:0;
    background:transparent;
    cursor:pointer;
  }

  .submenu-toggle:before{
    content:"+";
    display:block;
    font-size:24px;
    line-height:50px;
    color:#111111;
    font-family:Arial, Helvetica, sans-serif;
    text-align:center;
  }

  .has-sub.open .submenu-toggle:before{
    content:"-";
  }

  /* mobile dropdown closed by default */
.sub-menu{
  display:none;
  position:static;
  width:100%;          /* important */
  max-width:100%;      /* prevents overflow */
  box-shadow:none;
  border:0;
  padding:0 0 8px 0;
  background:#ffffff;
  z-index:9999;
  overflow:hidden;     /* stops anything spilling out */
}

  .has-sub.open .sub-menu{
    display:block;
  }

.sub-menu a{
  padding:10px 16px;   /* reduce from 22px */
  font-size:14px;
  white-space:normal;
  display:block;
  width:100%;
}

  .has-sub:hover .sub-menu,
  .has-sub:focus-within .sub-menu{
    display:none;
  }

  .has-sub.open:hover .sub-menu,
  .has-sub.open:focus-within .sub-menu{
    display:block;
  }

  .site-nav-social{
    padding:14px 0 16px 0;
    justify-content:flex-start;
    gap:12px;
    background:#ffffff;
  }

.site-nav,
.site-nav *,
.sub-menu,
.sub-menu *{
  box-sizing:border-box;
}

.site-nav-list,
.site-nav-list > li{
  width:100%;
}
.site-nav{
  overflow-x:hidden;
}
}