/*! HTML5 Boilerplate v5.3.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #BBE8F4;
    text-shadow: none;
}

::selection {
    background: #BBE8F4;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* TEXT */
/*======*/
a {
    text-decoration: none;
    color: inherit;
}
p a, h4 a {
    border-bottom: 1px dotted #50C4E3;
    color: #50C4E3;
}
.no-touch-device p a:hover, .no-touch-device h4 a:hover {
    color: #000;
    border-bottom: 1px dotted #000;
}
li {
    list-style-type: none;
}
/* Typekit invisible while loading */
.wf-loading {
    visibility: hidden;
}
.wf-active {
    visibility: visible;
}

/* TOPBAR */
/*========*/
.topbar {
    background-color: #333;
    height: 60px;
    color: #fff;
    padding: 13px;
    width: 100%;
    position: fixed;
    z-index: 2;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.topbar p {
    display: inline;
}
.no-touch-device .topbar p a:hover {
    color: #fff;
    border-bottom: 1px dotted #fff;
}
.doubleslash {
    margin: 0px 10px;
}
.socialmedia {
    width: 0px;
    height: 0px;
    padding: 17px;
    position: fixed;
}
.tumblr {
    background: url(../img/tumblr-sprite.svg) 0px top no-repeat;
    background-size: 68px 34px;
    right: 205px;
}
.instagram {
    background: url(../img/instagram-sprite.svg) 0px top no-repeat;
    background-size: 68px 34px;
    right: 250px;
}
.no-touch-device .tumblr:hover {
    background: url(../img/tumblr-sprite.svg) -34px top no-repeat;
    background-size: 68px 34px;
}
.no-touch-device .instagram:hover {
    background: url(../img/instagram-sprite.svg) -34px top no-repeat;
    background-size: 68px 34px;
}

/* MENU STYLES */
/*=============*/
/*invisible on load*/
#menu:not(.mm-menu) {
    display: none; 
}
#hamburger {
    display: none;
}
#logo {
    position: fixed;
    width: 184px;
    height: 184px;
    background-color: #000;
    text-align: center;
    float: left;
    z-index: 3;
    border-radius: 50%;
    right: 15px;
    top: -30px;
}
.no-touch-device #logo:hover {
    animation: logoColor 2s step-start infinite;
}
@keyframes logoColor {
    0% {background-color: #2582BD}
    12.5% {background-color: #E35489}
    25% {background-color: #D16115}
    37.5% {background-color: #689341}
    50% {background-color: #884785}
    62.5% {background-color: #C19B2E}
    75% {background-color: #209181}
    87.5% {background-color: #9B301B}
    100% {background-color: #2582BD}
}
#logo img {
    width: 100%;
    max-width: 184px;
    padding: 15px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#menu {
    top: 60px;
    width: 165px;
}
.main-nav {
    text-align: left;
    font-weight: 400;
    font-size: 26px;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
    line-height: 44px;
    background-color: #444;
}
.no-touch-device .main-nav:hover {
    background-color: #50C4E3;
}
/* SUBMENU STYLES */
.sub-nav  {
    background-color: #DCDCDC !important;
    padding: 10px 0px !important;
    display: none;
    color: #000;
    text-transform: none;
    line-height: 26px;
}
.sub-nav p {
    font-size: 16px;
    padding: 10px 5px;
    margin: 0px;
}
.sub-nav p a {
    border-bottom: 1px dotted #23A3C1;
    color: #23A3C1;
}
.topbar-moved {
    display: none;
}
.paypal {
    text-align: center;
    margin-top: 5px;
}
.sub-nav img {
    width: 155px;
    margin: 5px;
}
.no-touch-device .sub-nav img:hover {
    opacity: .8;
}
.mm-listview .name-menu a {
    padding: 5px 10px;
}
.mm-listview .connection-menu a {
    padding: 0px;
}
/* SORT MENU STYLES */
button.sort-option {
    display: block;
    margin: 5px auto;
    padding: 5px;
    background-color: #DCDCDC;
    border: solid 2px white;
    border-radius: 20px;
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    width: 80%;
}
.no-touch-device button.sort-option:hover:enabled {
    background-color: #50C4E3;
}
button.sort-option.is-checked {
    color: #fff;
    background-color: #000;
}
/* FILTER MENU STYLES */
.filter-option, .name-menu {
    font-size: 18px;
}
.filter1 {
    font-weight: 700;
    text-transform: uppercase;
}
.filter2 {
    font-weight: 400;
    text-indent: 20px;
}

input[type="checkbox"] {
    position: fixed;
    left: -1000px;
}
label {
    display: block;
    padding-left: 5px;
    cursor: pointer;
}
.no-touch-device label:hover, .no-touch-device label.focus, .no-touch-device .name-menu:hover {
    background-color: #50C4E3;
}
input[type="checkbox"]:checked + label {
    color: #fff;
    background-color: #000;
}
label span {
    margin-top: 2px;
}
input[type="checkbox"] + label span {
    display:inline-block;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    background: url(../img/checkbox-sprite.png) 0px top no-repeat;
    background-size: 32px 16px;
    cursor: pointer;
}
input[type="checkbox"]:checked + label span {
    background:url(../img/checkbox-sprite.png) -16px top no-repeat;
    background-size: 32px 16px;
}
.clear-filter:disabled {
    color: #999;
    background-color: #ccc;
}
/* PORTRAITS */
/*===========*/
.wrapper {
    position: fixed;
    height: 100%;
    width: 100%;
}
#portraits {
    float: none;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translate3d(0px, 0px, 0px);
    padding-left: 165px;
    padding-top: 100px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.grid-item {
    display: inline;
    position: relative;
    width: 250px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.grid-item:after {
    content: "";
    display: block;
    padding-top: 100%;
}
.grid-item img {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
    margin: 10px;
}
.name-overlay {
    text-align: center;
    color: #fff;
    background: rgba(0,0,0, 0.6);
    position: absolute;
    top: 10px;
    right: 10000px;
    bottom: 10px;
    left: -10000px;
    padding: 12px;
    border-radius: 250px;
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.no-touch-device .grid-item a:hover .name-overlay{
    left: 10px;
    right: 10px;
}
.name-overlay h1 {
    font-family: "cantiga-condensed";
    text-transform: uppercase;
    font-weight: 700;
    font-size: 36px;
    line-height: 44px;
    margin: 0px 0px 10px 0px;
}
.name-overlay h2 {
    font-weight: 400;
    font-size: 34px;
    font-style: italic;
    margin: 0px;
}
.color, .year, .surname {
    display: none;
}
/* BIO PAGE */
.portrait-wrap, .bio-text {
    float: left;
    width: 50%;
    font-size: 16px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.bio-text {
    padding: 35px 60px 40px 20px;
}
.portrait-wrap {
    padding: 0px 40px;
    text-align: center;
}
.portrait-wrap img {
    width: 100%;
}
.bio-text h1 {
    text-transform: uppercase;
    font-size: 36px;
}
.bio-text h4 {
    font-style: italic;
    font-size: 14px;
    font-weight: normal;
}
.lifespan {
    font-weight: 400;
    font-style: italic;
}
/* MMENU OVERRIDES*/
.main-nav-txt {
    padding-left: 13px !important;
    padding-right: 28px !important;
}
#about a, #showall a {
    padding-left: 0px !important;
}
.mm-vertical .mm-next {
    height: 64px !important;
}
.mm-next:after, .mm-btn:before {
    border-color: #fff !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 13px !important;
}
.mm-listview .mm-vertical .mm-panel {
    padding: 0px !important;
}
.mm-navbar+.mm-listview {
    margin: 0px -20px !important;
}
.mm-panel:after, .mm-panel:before {
    height: 0px !important;
}
/* MISCELLANEOUS */
.scrollToTop{
    width:60px; 
    height:60px;
    text-decoration: none;
    position:fixed;
    bottom:30px;
    right:30px;
    z-index: 4;
    display: none;
    background: url('../img/scrolltotop.svg') no-repeat 0px;
}
.no-js .sub-nav {
    display: block;
}
.no-js #menu {
    position: fixed;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translate3d(0px, 0px, 0px);
}
.clear-float {
    clear: both;
}
.a2a_kit {
    height: 32px;
}
.a2a_mini {
    position: fixed !important;
}
.lazyload, .lazyloading {
  background-color: #DCDCDC;
  border-radius: 250px;
}

/*404*/
#plain {
    width: 90%;
    max-width: 500px;
    float: none;
    margin: 0 auto;
    padding-top: 10px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#plain img {
    position: relative;
    margin: 10px auto;
    display: block;
}
#plain p {
    font-size: 30px;
    text-align: center;
}
.plainlogo {
    position: relative;
    max-width: 180px;
    background-color: #000;
    text-align: center;
    padding: 20px;
    border-radius: 50%;
}
.nomatch {
    position: relative;
    color: #fff;
    font-size: 38px;
    background-color: #000;
    text-align: center;
    border-radius: 250px;
    width: 230px;
    height: 230px;
    top: 10px;
    left: -30px;
    display: none;
    justify-content: center;
    flex-direction: column;
}





/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
/* Top bar shortened */
@media only screen and (max-width: 872px) {
    .topbar span.topbar-line2 {
        display: none;
    }
    .doubleslash {
        display: none;
    }
    .portrait-wrap {
        float: none;
        width: 100%;
    }
    .topbar-moved {
        display: block;
        font-weight: 700;
    }
    .bio-text {
        width: 100%;
        padding: 35px 40px 40px 40px;
    }
    .portrait-wrap {
        padding: 0px 40px;
    }
}
/* Hide Menu */
@media only screen and (max-width: 719px) {
    .topbar-wrap {
        display: none;
    }
    #hamburger {
       display: block;
       width: 40px;
       overflow: hidden;
    }
    #hamburger span {
       background: #fff;
       position: relative;
       display: block;
       height: 2px;
       margin: 7px 0;
       transorm: rotate( 0 );
       top: 0;
       left: 0;
       opacity: 1;
        transition: none 0.5s ease;
        transition-property: transform, top, left, opacity;
    }
    html.mm-opened #hamburger span.top-bar {
       transform: rotate( 45deg );
       top: 9px;
    }
    html.mm-opened #hamburger span.middle-bar {
       opacity: 0;
       left: -40px;
    }
    html.mm-opened #hamburger span.bottom-bar {
       transform: rotate( -45deg );
       top: -9px;
    }
    #menu {
        padding-top: 0px;
        opacity: 0.95;
    }
    .main-nav {
        padding-left: 0px;
        padding-right: 0px;
    }
    #portraits {
        position: fixed;
        width: 100%;
        padding-left: 0px;
    }
    .no-js #portraits {
        padding-left: 165px;
    }
    .name-overlay {
        background: rgba(0,0,0,0);
        opacity: 0.3;
    }
    .name-overlay h2 {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }
    .portrait-padding {
        margin: auto;
        max-width: 540px;
    }
    #grid {
        text-align: center;
    }
    .bio-nav li{
        line-height: 92px;
    }
    .bio-text {
        padding: 0px 20px 40px 20px;
    }
    .portrait-wrap {
        padding: 0px 20px;
    }
    .mm-listview>li {
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }
}
/* Stack Vertically */
@media only screen and (max-width: 539px) {
    #logo {
        right: -20px;
        top: -20px;
        width: 144px;
        height: 144px;
    }
    .tumblr {
        right: 130px;
    }
    .instagram {
        right: 175px;
    }
    .portrait-padding {
        max-width: 400px;
    }
    #grid ul {
        margin: 0;
    }
    .grid-item {
        width: 100%;
        max-width: 400px;
    }
    .name-overlay {
        left: 10px;
        right: 10px;
    }
    .nomatch {
        margin: auto;
    }
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after,
    *:first-letter,
    *:first-line {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
