/*--------------------------------------------------------------
Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/*--------------------------------------------------------------
Layouts
--------------------------------------------------------------*/
body {
  background: #ecf0f1;
  line-height: 1.4;
  font-family: sans-serif;
}

.card-content h2 {
  font-size: 2em;
  color: #e74c3c;  
}

.centered {
  margin: 0 auto;
  padding: 0 1em;
}

@media screen and (min-width: 52em) {
  .centered {
    max-width: 52em;
  }
}

/*--------------------------------------------------------------
Header styles minus menu
--------------------------------------------------------------*/
.masthead {
  background: #e74c3c;
}

.site-title {
  margin: 0 0 1em;
  padding: 1em 0;
  font-size: 2em;
  font-weight: 300;
  text-align: center;
  color: #FFF;
}

@media screen and (min-width: 44.44em) {
  .site-title {
    font-size: 2em;
  }
}

@media screen and (min-width: 50em) {
  .site-title {
    font-size: 2.5em;
  }
}

.site-title a {
  color: hsl(5, 45%, 95%);
  text-decoration: none;
}

.site-title a:hover {
  text-decoration: underline;
}

/*--------------------------------------------------------------
Base styles
--------------------------------------------------------------*/
.site-title {
  margin-bottom: 0;
}

.main-menu {
  padding: .4em 1em;
  color: white;
  background: hsl(0, 0%, 15%);
}

.post-content {
  padding: 0 1.4em 1.4em;
}

.sidebar {
  padding: .5em 1.4em 1em;
  background: hsl(0, 0%, 90%);
  overflow: hidden;
}

.example-menu ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.example-menu a {
  display: block;
  padding: .4em 0;
  color: inherit;
  text-decoration: none;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.example-menu a:hover,
.example-menu a:focus {
  padding: .4em 1em;
  background: hsl(0, 0%, 20%);
  color: white;
}

.footer-area {
  padding: .4em 1em;
  text-align: center;
  background: hsl(0, 0%, 75%);
}

/* Sidebar switcher buttons */
@media screen and (max-width: 40em) {
  /* Hide switcher on small screens */
  
  .sidebar-switcher {
    display: none;
  }
}

@media screen and (min-width: 40em) {
  .sidebar-switcher {
    position: absolute;
    right: 0;
    padding: .4em 1em;
    color: #FFF;
  }
  .sidebar-switcher a {
    color: #FFF;
    padding-left: .4em;
  }
  .sidebar-switcher a:hover,
  .sidebar-switcher a:focus {
    color: #FFF;
  }
}

/*--------------------------------------------------------------
Flexbox styles
--------------------------------------------------------------*/
@media screen and (min-width: 40em) {
  .outer-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .post-content {
    max-width: 40em;
    margin: 0 auto;
  }
  .main-area {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .sidebar {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12em;
            flex: 0 0 12em;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .sidebar-left {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .no-sidebar {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .hide {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 0;
            flex: 0 0 0;
    padding: 0;
    color: hsla(0, 0%, 0%, 0);
    -webkit-transition: color .2s ease, padding .5s ease .3s, -webkit-box-flex .5s ease .3s;
    transition: color .2s ease, padding .5s ease .3s, -webkit-box-flex .5s ease .3s;
    transition: color .2s ease, flex .5s ease .3s, padding .5s ease .3s;
    transition: color .2s ease, flex .5s ease .3s, padding .5s ease .3s, -webkit-box-flex .5s ease .3s, -ms-flex .5s ease .3s;
  }
  .hide a {
    color: hsla(0, 0%, 0%, 0);
  }
} /* mq 40em */


/*--------------------------------------------------------------
Base styles that apply to all menu items
--------------------------------------------------------------*/
.menu-section {
  padding-bottom: 2em;
  margin-bottom: 2em;
  border-bottom: 1px solid hsl(0, 0%, );
}

.menu ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  background: hsl(0, 0%, 15%);
}

.menu li a {
  display: block;
  text-decoration: none;
  color: white;
  padding: .6em 1em;
}

.menu li a:hover {
  background: hsl(0, 0%, 25%);
}


/* Styles for Single Level Menu */
@media screen and (max-width: 30em){
  .multi-level-nav ul ul li a {
    padding-left: 2em;
  }

  .dropdown-toggle {
    display: none;
  }
}

@media screen and (min-width: 30em){
  .multi-level-nav ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
  } 

  .multi-level-nav li {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 auto;
                flex: 1 0 auto;
    position: relative;
  }

  li.has-children > a {
    padding-right: 0;
  }

  .multi-level-nav ul ul {
    display: none;
    position: absolute;
    z-index:100;
  }

  .multi-level-nav ul ul li {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
  }

  .multi-level-nav ul .toggled-on {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .dropdown-toggle {
    margin: 0;
    padding: 0 .5em;
    border: 0;
    font-family: 'FontAwesome';
    content: "";
    text-transform: lowercase; /* Stop screen readers to read the text as capital letters */
    background-color: transparent;
  }

  .dropdown-toggle:after {
    position: relative;
    top: 0;
    left: 0;
    width: 42px;
    color: white;
    content: "\f107";
    line-height: 1em; 
  }

  .dropdown-toggle:hover,
  .dropdown-toggle:focus {
    background: hsl(0, 0%, 25%);
  }

  .dropdown-toggle.toggle-on:after {
    content: "\f106";
  }
}

/*--------------------------------------------------------------
Styles for social media menu
--------------------------------------------------------------*/
/* Find src URL and add in correct social media icon. */
.social-menu li a:before {
    font-family: 'Fontawesome';
    -webkit-font-smoothing: antialiased;
    content: '\f08e';
}

.social-menu li a[href*="dribbble.com"]::before { content: '\f17d'; }

.social-menu li a[href*="facebook.com"]::before { content: '\f09a'; }

.social-menu li a[href*="flickr.com"]::before { content: '\f16e'; }

.social-menu li a[href*="foursquare.com"]::before { content: '\f180'; }

.social-menu li a[href*="github.com"]::before { content: '\f09b'; }

.social-menu li a[href*="plus.google.com"]::before { content: '\f0d5'; }

.social-menu li a[href*="instagram.com"]::before { content: '\f16d'; }

.social-menu li a[href*="jsfiddle.com"]::before { content: '\f1cc'; }

.social-menu li a[href*="linkedin.com"]::before { content: '\f0e1'; }

.social-menu li a[href*="pinterest.com"]::before { content: '\f0d2'; }

.social-menu li a[href*="reddit.com"]::before { content: '\f1a1'; }

.social-menu li a[href*="soundcloud.com"]::before { content: '\f1be'; }

.social-menu li a[href*="stackoverflow.com"]::before { content: '\f16c'; }

.social-menu li a[href*="tumblr.com"]::before { content: '\f173'; }

.social-menu li a[href*="twitter.com"]::before { content: '\f099'; }

.social-menu li a[href*="vimeo.com"]::before { content: '\f194'; }

.social-menu li a[href*="vine.co"]::before { content: '\f1ca'; }

.social-menu li a[href*="yelp.com"]::before { content: '\f1e9'; }

.social-menu li a[href*="youtube.com"]::before { content: '\f167'; }

.social-menu li a[href*="wordpress.com"]::before { content: '\f19a'; }

/* Flexbox stuff */

.social-menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

/*--------------------------------------------------------------
Styles for mixed menu (drop-down + social)
--------------------------------------------------------------*/
.nav-mixed {
  background: hsl(0, 0%, 15%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

/*--------------------------------------------------------------
Card Based Layout - Base styles
--------------------------------------------------------------*/
.main-area {
  padding: 2em;
}

.card {
  background: white;
  margin-bottom: 2em; 
}

.card a {
  color: black;
  text-decoration: none;
}

.card a:hover {
  box-shadow: 3px 3px 8px hsl(0, 0%, 70%);
}

.card-content {
  padding: 1.4em;
}

.card-content h2 {
  margin-top: 0;
  margin-bottom: .5em;
  font-weight: normal;
}

.card-content p {
  font-size: 95%;
}

img {
  width: 100%;
  height: auto;
}

/*--------------------------------------------------------------
Flexbox card styles
--------------------------------------------------------------*/
@media screen and (min-width: 40em) {  
  .cards {
    margin-top: -1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .card {
    margin-bottom: 1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc(50% - 0.5em);
            flex: 0 1 calc(50% - 0.5em);
    /* width: calc(50% - 1em); */
  }
} /* mq 40em*/

@media screen and (min-width: 60em) {
  .cards {
    margin-top: inherit;
  }
  
  .card {
    margin-bottom: 2em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc(33% - 0.5em);
            flex: 0 1 calc(33% - 0.5em);
    /* width: calc(33% - 1em); */
  }
} /* mq 60em*/