@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css?family=Goudy+Bookletter+1911|Lato:400,900');

body {
    background-color: #fff;
}

/* -------- HEADER -------- */

header {
    background-color: #fff;
    width: 100%;
    padding: 12px 0;
}

#header-content {
    width: 100%; /* 960px / 960px */
    max-width: 960px;
    margin: 0 auto;
    position: relative;
}

#header-content img {
    height: 146px;
}

nav {
    width: 76.0416666667%; /* 730px / 960px */
    position: absolute;
    bottom: 18px;
    right: 0;
}

nav ul {
    list-style-type: none;
    text-align: right;
}

nav li {
    display: inline-block;
    font-family: 'Goudy Bookletter 1911', serif;
    font-size: 1.25em;
    color: #16325a;
    padding: 0 3.125%; /* 30px / 960px */
}

nav li:last-child {
    padding-right: 0;
}

nav a {
    text-decoration: none;
    padding: 10px 2.0833333333%; /* 20px / 960px */
}

nav a:link {
    color: #16325a;
}

nav a:hover {
    background-color: #16325a;
    color: #fff;
}

/* -------- BANNER -------- */

#banner {
    width: 100%;
    height: 441px;
    background: url("images/home-banner.jpg") no-repeat center;
    background-size: cover;
}

/* -------- QUOTE BAR -------- */

#color-bar {
    background-color: #a32973;
    padding: 12px 0;
    text-align: center;
}

#color-bar h3 {
    color: #fff;
    font-family: 'Goudy Bookletter 1911', serif;
    font-size: 1.875em;
    margin-bottom: 0;
}

/* -------- MAIN CONTENT -------- */

#wrapper-white {
    width: 100%; /* 960px / 960px */
    max-width: 960px;
    margin: 0 auto;
    padding: 60px 0;
    background-color: #fff;
    overflow: hidden;
}

section {
    width: 60.4166666667%; /* 580px / 960px */
    float: left;
    margin-bottom: 20px;
}

aside {
    width: 31.25%; /* 300px / 960px */
    height: 300px;
    float: right;
    position: relative;
    border: 3px solid #16325a;
    padding: 20px 1.4583333333% 14px; /* 14px / 960px */
    margin-bottom: 20px;
    text-align: center;
}

aside hr {
    width: 90%;
    margin: 20px auto;
    border-top: 1px solid #16325a;
}

section h1,
#shop-content h1 {
    color: #a32973;
    text-transform: uppercase;
    font-family: 'Goudy Bookletter 1911', serif;
}

section h1 {
    font-size: 2.25em;
    margin-bottom: 16px;
}

#shop-content h1 {
    text-align: center;
    font-size: 2.5em;
    margin-bottom: 50px;
	width: 100%;
}

aside h2 {
    color: #a32973;
    font-family: 'Goudy Bookletter 1911', serif;
    font-size: 1.75em;
    margin-bottom: 18px;
}

p {
    font-family: 'Lato', sans-serif;
    font-size: 1em;
    color: #000;
    margin-bottom: 16px;
    line-height: 180%;
}

aside p {
    line-height: 150%;
    margin: 10px 0 0;
}

.uppercase {
    text-transform: uppercase;
}

/* -------- SHOP SECTION -------- */

#wrapper-shop {
    width: 100%;
    padding: 60px 0;
    background-color: #f4f3f0;
    overflow: hidden;
}

#shop-content {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

/* Homepage shop layout */
.shop-box {
    width: 31.25%; /* 300px / 960px */
    text-align: center;
}

/* About page team layout */
#shop-content .team {
    width: 23%;
    text-align: center;
}

.shop-box img {
    width: 100%;
    height: auto;
    opacity: 0.7;
    transition: opacity 1s linear;
}

.shop-box img:hover {
    opacity: 1;
}

.shop-box h3,
.team h3 {
    color: #a32973;
    font-family: 'Goudy Bookletter 1911', serif;
    font-size: 1.75em;
    text-transform: uppercase;
}

.shop-box h3 {
    margin: 18px 0 12px;
}

.team h3 {
    margin: 20px 0 10px;
}

.shop-box p {
    font-size: 0.875em;
    margin-bottom: 24px;
}

.team p {
    font-size: 1em;
}

.shop-box a {
    display: inline-block;
    width: 70%; /* consistent button width */
    padding: 10px 0;
    background-color: #a32973;
    font-family: 'Lato', sans-serif;
    font-size: 0.875em;
    color: #fff;
    text-decoration: none;
    text-align: center;
}

/* -------- FOOTER -------- */

footer {
    width: 100%;
    padding: 40px 0 30px;
    background-color: #16325a;
    font-size: 1em; /* FIXED */
    overflow: hidden;
}

footer h3 {
    font-family: 'Goudy Bookletter 1911', serif;
    color: #fff;
    text-transform: uppercase;
    font-size: 1em;
    font-weight: bold;
}

footer p {
    font-family: 'Lato', sans-serif;
    color: #fff;
    opacity: 0.7;
}

#footer-content {
    width: 100%; /* 960px / 960px */
    max-width: 960px;
    margin: 0 auto;
}

#footer-left {
    width: 35%;
    float: left;
}

#footer-right {
    width: 45%;
    float: right;
    text-align: right;
}

/* -------- TRANSITION EFFECTS -------- */

.mask {
    width: 109.3333333333%; /* 328px / 300px */
    height: 334px;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #a32973;
    text-align: center;
    opacity: 0;
    transition: opacity 2s linear;
}

.mask:hover {
    opacity: 1;
}

.mask h2,
.mask p,
.mask .learn {
    opacity: 0;
}

.mask:hover h2 {
    font-size: 2em;
    color: #fff;
    margin-top: 25%;
    opacity: 1;
}

.mask:hover p {
    font-size: 1.25em;
    color: #fff;
    margin-top: 40px;
    opacity: 1;
}

.mask:hover .learn {
    display: inline-block;
    padding: 16px 3.5416666667%; /* 34px / 960px */
    background-color: #16325a;
    color: #fff;
    font-family: 'Lato', sans-serif;
    font-size: 1.25em;
    text-transform: uppercase;
    text-decoration: none;
    opacity: 1;
}

/* -------- SLIDESHOW -------- */

#slideshow-wrapper,
#slideshow {
    width: 100%;
    height: 441px;
}

#slideshow {
    overflow: hidden;
    white-space: nowrap;
}

#slideshow img {
    width: 100%;
    height: 100%;
    display: inline-block;
}

#circle-nav {
    margin-top: -50px;
    text-align: center;
}

.circle {
    display: inline-block;
    width: 1.25%; /* 12px / 960px */
    height: 12px;
    margin-right: 1.5625%; /* 15px / 960px */
    background-color: lightgrey;
    border-radius: 50%;
}

/* -------- MEDIA QUERY 1: TABLETS -------- */

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

    /* -------- HEADER -------- */

    #header-content {
        text-align: center;
    }

    #header-content img {
        display: block;
        margin: 0 auto 15px;
    }

    nav {
        position: static;
        width: 100%;
    }

    nav ul {
        text-align: center;
    }

    /* -------- BANNER / SLIDESHOW -------- */

    #banner,
    #slideshow-wrapper,
    #slideshow {
        height: 300px;
    }

    /* Smaller slideshow circles */
    .circle {
        height: 9px;
        width: 9px;
    }

    /* -------- QUOTE BAR -------- */

    #color-bar h3 {
        font-size: 1.25em;
        padding: 0 20px;
    }

    /* -------- MAIN CONTENT -------- */

    section,
    aside {
        float: none;
        width: 100%;
    }

    aside {
        height: auto;
        margin-top: 30px;
    }

    section h1 {
        font-size: 1.75em;
    }

    aside h2 {
        font-size: 1.4em;
    }

    /* -------- SHOP / TEAM SECTION -------- */

    #shop-content {
        flex-direction: column;
        align-items: center;
    }

    .shop-box,
    #shop-content .team {
        width: 80%;
        margin-bottom: 40px;
    }

    #shop-content h1 {
        font-size: 2em;
        margin-bottom: 40px;
    }

    /* -------- FOOTER -------- */

    #footer-left,
    #footer-right {
        float: none;
        width: 100%;
        text-align: center;
        margin-bottom: 20px;
    }

}

/* -------- MEDIA QUERY 2: SMARTPHONES -------- */

@media only all and (max-width: 480px) {

    /* -------- HEADER -------- */

    #header-content img {
        height: 110px;   /* smaller logo */
        margin: 0 auto 10px;
    }

    nav {
        width: 100%;
    }

    nav ul {
        padding: 0;
    }

    nav li {
        display: block;              /* stacked navigation */
        padding: 12px 0;
        border-top: 1px solid #fff;
        background-color: #a32973;
        text-align: center;
    }

    nav li:first-child {
        border-top: none;
    }

    nav a {
        color: #fff;
        display: block;
    }

    /* -------- BANNER / SLIDESHOW -------- */

    #banner,
    #slideshow-wrapper,
    #slideshow {
        height: 200px;   /* smaller than tablet */
    }

    #circle-nav {
        margin-top: -30px;
    }

    /* -------- QUOTE BAR -------- */

    #color-bar h3 {
        font-size: 1em;
        padding: 10px;
    }

    /* -------- MAIN CONTENT -------- */

    section {
        width: 100%;
        float: none;
        padding: 0 15px;
    }

    section h1 {
        font-size: 1.5em;
    }

    aside {
        width: 90%;          /* narrower than section */
        float: none;
        margin: 30px auto;   /* centered */
        height: auto;
    }

    aside h2 {
        font-size: 1.25em;
    }

    /* -------- SHOP / TEAM -------- */

    #shop-content {
        flex-direction: column;
        align-items: center;
    }

    .shop-box,
    #shop-content .team {
        width: 90%;
        margin-bottom: 40px;
    }

    #shop-content h1 {
        font-size: 1.6em;
    }

    .shop-box h3,
    .team h3 {
        font-size: 1.4em;
    }

    /* -------- FOOTER -------- */

    #footer-left,
    #footer-right {
        float: none;
        width: 90%;
        text-align: center;
        margin-bottom: 20px;
    }

    footer {
        padding: 30px 15px;
    }

}
