/*
 * HTML5 Boilerplate
 *
 * 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,
button,
input,
select,
textarea {
    color: #222;
}

body {
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #EEE;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

img {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Jarrod Castaing - www.jarrodcastaing.com
   ========================================================================== */

body {
    font-family: 'Oxygen', sans-serif;
    font-size: .8em;
}

h1 {
    font-family: 'Cinzel', 'Open Sans', sans-serif;
    font-weight: 300;
}

h1.modern {
    font-family: 'Cinzel', sans-serif;
}

h1.subtext {
    font-size: 1.7em;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: .1em;
    text-align: center;
}

h2, h3 {
    font-family: 'Open Sans', sans-serif;
    font-size: 1.3em;
    font-weight: normal;
    margin: 5px 0;
}

h4 {
    font-family: 'Cinzel';
    color: #000;
    margin-top: 0;
}

p {
    line-height: 1.5em;
}

a {
    color: #AAA;
}

a:hover {
    color: #000;
}

h3 a {
    color: #000;
}

h3 a:hover {
    color: #AAA;
}

h4 a {
    color: #000;
}

iframe {
    height: 160px;
    width: 100%;
    border: 1px solid #CCC;
}

/* ==========================================================================
   Header styles
   ========================================================================== */

header {
    height: 80px;
    margin: 20px;
}

#logo {
    display: block;
    margin: 0 auto;
    width: 180px;
}

#logo img {
    max-width: 180px;
}

#ribbon {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1000;
    background: url("/img/christmas_ribbon.png") no-repeat;
    height: 155px;
    width: 155px;
    display: none;
}

/* ==========================================================================
   Navigation styles
   ========================================================================== */

nav {
    margin: 20px auto;
    width: 270px;
}

nav ul {
    margin: 0;
    padding: 0;
}

nav ul li {
    display: inline;
    float: left;
    margin: 0 13px 0 0;
}

nav ul li:last-child {
    margin-right: 0;
}

nav ul li a {
    color: #000;
    display: block;
    font-size: .85em;
    text-decoration: none;
    -webkit-transition:color .2s ease-out;
    -moz-transition:color .2s ease-out;
    -o-transition:color .2s ease-out;
    transition:color .2s ease-out;
}

nav ul li a:hover, nav ul li a.active {
    color: #AAA;
}

/* ==========================================================================
   Footer styles
   ========================================================================== */

footer {
    border-top: 1px solid #EEE;
    color: #AAA;
    font-size: .85em;
    height: 80px;
    padding: 20px;
    clear: both;
}

footer p {
    font-size: .95em;
}

.sitemap ul {
    float: left;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 120px;
    height: 250px;
}

.sitemap ul a {
    font-size: .95em;
    text-decoration: none;
}

.social-networks ul {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.social-network-icon {
    display: inline-block;
    margin: 0 10px 15px 0;
}

.social-network-icon img {
    width: 16px;
}

#share {
    display: none;
}

#fb-root {
    display: none;
}

.fb-caption {
    color: #CCC;
    display: none;
    font-size: 1.2em;
    margin: 0 5px 0 0;
}

.fb-caption a {
    color: #000;
    text-decoration: none;
}

.fb-caption a:hover {
    color: #AAA;
}

.copyright {
    font-size: .95em;
    width: 100%;
    padding-bottom: 40px;
}

.copyright h1 {
    color: #AAA;
    font-size: 1em;
}

.copyright a {
    text-decoration: none;
}

.disclaimer {
    font-size: 1em;
    font-weight: normal;
}

.disclaimer a {
    text-decoration: none;
}

.disclaimer {
    margin: 10px 0 0 0;
}

.trucate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

/* ==========================================================================
   Content styles
   ========================================================================== */

#content {
    margin: 20px;
}

.highlight {
    color: #ff0000;
}

.highlight2 {
    color: #33b5e5;
}

.highlight3 {
    color: #ff6600;
}

.upcoming {
    color: #ff9900;
}

.feature {
    color: #498BF5;
}

.divider {
    color: #EEE;
}

.rating {
    color: #e7711b;
}

.std-button {
    font-family: 'Oxygen', sans-serif;
    font-size: 1em;
    text-decoration: none;
    font-weight: bold;
    color: white;
    padding: 6px 30px;
    height: auto;
    display: inline-block;
    text-align: center;
    background-color: #498BF5;
    border: 1px solid #3079ED;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
}

.std-button:hover {
    text-decoration: none;
    color: #498BF5;
    background-color: #EEE;
    border: 1px solid #CCC;
}



/* ==========================================================================
   Homepage styles
   ========================================================================== */

.home h1 {
    margin: 0;
    padding: 10px 0;
    text-align: center;
    font-family: Cinzel;
    font-size: 1.7em;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: .2em;
}

.feature-slide {
    width: 100%;
    max-width:100%;
}

.article-list {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.article-item h2 {
    font-family: Cinzel;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: .1em;
    margin: 0;
    text-wrap: none;
}

.article-item div a {
    text-decoration: none;
}

.article-thumbnail {
    position: relative;
    display: inline-block;
}

.article-caption {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate( -50%, -50% );
    text-align: center;
}

.article-caption a {
    color: #fff;
}

.article-image {
    width: 100%;
    margin: 20px 0 10px 0;
}

/* ==========================================================================
   Slideshow styles
   ========================================================================== */

#slideshow {
    width: 100%;
}

.slide {
    width: 100% !important;
}

.slide img {
    width: 100%;
    max-width:100%;
}

.slideshow-fluid-fix {
    position: relative !important;
    display: block !important;
    height: auto !important;
}

.scale-to-fill {
    background: url("") no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    height: 400px;
    width: 100%;
}

/* ==========================================================================
   Gallery styles
   ========================================================================== */

.gallery-menu {
    display: none;
    float: right;
    width: 10%;
}

.gallery-menu h2 {
    font-family: 'Oxygen', sans-serif;
    font-size: 1em;
    font-weight: normal;
    margin: 0;
}

.gallery-menu ul {
    list-style: none;
    margin: 0 0 20px 0;
    padding: 0;
}

.gallery-menu ul li {
    margin: 5px 0 0 0;
}

.gallery-menu ul li a {
    color: #AAA;
    font-size: .9em;
    text-decoration: none;
    -webkit-transition:color .2s ease-out;
    -moz-transition:color .2s ease-out;
    -o-transition:color .2s ease-out;
    transition:color .2s ease-out;
}

.gallery-menu a:hover {
    color: #000;
}

.thumbnails {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.thumbnail {
    float: left;
    margin: 0 1% 3% 0;
    width: 32.2%;
}

.thumbnail a {
    color: #AAA;
    text-decoration: none;
}

.thumbnail-preview {
    height: 90px;
    overflow: hidden;
}

.thumbnail-preview img {
    height: 100%;
    width: auto;
}

.thumbnail-label {
    margin: 7px 0 0 0;
}

.thumbnail-label h3 {
    display: inline;
    font-size: .85em;
    font-weight: normal;
    margin: 0;
}

.thumbnail-label em {
    font-size: .8em;
    font-weight: normal;
    display: none;
}

.collection h3 {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space:nowrap;
    width: 100%;
}

/* ==========================================================================
   Photo styles
   ========================================================================== */

.photo {
    margin-bottom: 20px;
}

.frame {
    border-width: 20px;
    border-style: solid;
}

.frame-timber {
    border-image: url('/img/frames/frame_timber.jpg') 47 46 48 51 stretch;
}

.frame-black {
    border-image: url('/img/frames/frame_black.jpg') 60 64 62 63 stretch;
}

.frame-white {
    border-image: url('/img/frames/frame_white.jpg') 47 49 46 46 stretch;
}

.frame-silver {
    border-image: url('/img/frames/frame_silver.jpg') 42 42 43 45 stretch;
}

.frame-steel {
    border-image: url('/img/frames/frame_italian_steel.jpg') 56 55 54 54 stretch;
}

.frame-ash {
    border-image: url('/img/frames/frame_italian_ash.jpg') 61 64 60 64 stretch;
}

.frame-scoop {
    border-image: url('/img/frames/frame_italian_scoop.jpg') 62 62 62 61 stretch;
}

.frame-none {
    border-image: none;
    background-image: none;
    background-color: #fff;
    border-style: none;
}

.frame-moulding-sml {
    border-width: 25px;
}

.mat-black {
    background-color: #2a2b2d;
}

.mat-white {
    background-color: #efefef;
}

.print {
    padding: 15px;
}

#print-photo {
    width: 100%;
}

.bevel-black {
    border: none;
}

.bevel-white {
    border: none;
}

.photo-details {
    margin: 0 0 50px 0;
}

.photo-details h1 {
    margin: 0;
    font-size: 2em;
    font-weight: 300;
}

.photo-details h2 {
    font-size: 1.1em;
    font-weight: normal;
    margin: 0;
}

.photo-description {
    padding: 0;
    border-bottom: 1px solid #EEE;
}

.photo-description p {
    color: #AAA;
}

.photo-description span {
    color: #CCC;
    font-size: .8em;
}

.photo-size {
    padding: 15px 0 5px 0;
    border-bottom: 1px solid #EEE;
}

#photo-sizes .ui-button {
    font-size: 2.8em;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    background: none;
    border: none;
    margin: 0 12px 0 0;
}

#photo-sizes .ui-state-default {
    color: #CCC;
}

#photo-sizes .ui-state-default:hover {
    color: #498BF5;
}

#photo-sizes .ui-state-active {
    color: #498BF5;
}

#photo-sizes label span {
    padding: 0;
}

.photo-style {
    padding: 15px 0;
    border-bottom: 1px solid #EEE;
}

.photo-style h2 span {
    color: #AAA;
}

#photo-styles .ui-button {
    border-radius: 0;
    border: 2px solid #FFF;
    outline: 2px solid #FFF;
    width: 40px;
    height: 40px;
    margin: 10px 0 0 5px;
    padding: 0;
}

#photo-styles img {
    height: 40px;
    width: 40px;
}

#photo-styles .ui-button-text {
    padding: 0;
}

#photo-styles .ui-button:hover {
    border: 2px solid #FFF;
    outline: 2px solid #498BF5;
}

#photo-styles .ui-state-active {
    border: 2px solid #FFF;
    outline: 2px solid #498BF5;
}

.photo-mat {
    padding: 15px 0;
    border-bottom: 1px solid #EEE;
}

#photo-mats .ui-button {
    border-radius: 0;
    width: 40px;
    height: 40px;
    margin: 10px 0 0 5px;
}

#photo-mats .ui-button:hover {
    border: 2px solid #FFF;
    outline: 2px solid #498BF5;
}

#photo-mats .photo-mat-black {
    background: #000;
}

#photo-mats .photo-mat-white {
    background: #FFF;
}

#photo-mats .ui-state-active {
    border: 2px solid #FFF;
    outline: 2px solid #498BF5;
}

.photo-mounting {
    padding: 15px 0;
    border-bottom: 1px solid #EEE;
}

.photo-mounting h2 {
    width: 50%;
    float: left;
}

.photo-mounting h2 span {
    color: #AAA;
}

.photo-price {
    padding: 10px 0;
}

.photo-back {
    color: #AAA;
    font-size: .85em;
    margin: 30px 0 0 0;
    display: none;
}

.photo-back a {
    text-decoration: none;
}

h2.price {
    font-family: 'Cinzel', 'Open Sans', sans-serif;
    font-size: 2.5em;
    font-weight: bold;
}

h2.price em {
    font-family: 'Cinzel', 'Open Sans', sans-serif;
    font-size: .5em;
    font-style: normal;
}

.button {
    background: #498BF5;
    border: 1px solid #3079ED;
    color: #FFF;
    width: 120px;
    margin: 10px 0;
}

.button:hover {
    background: #EEE;
    border: 1px solid #CCC;
    color: #498BF5;
}

.button2 {
    background: #EEE;
    border: 1px solid #CCC;
    color: #666;
    width: 120px;
    margin: 10px 0;
}

.button2:hover {
    background: #EEE;
    border: 1px solid #CCC;
    color: #498BF5;
}

.row-button {
    float: left;
    margin-right: 10px;
}

.terms {
    color: #AAA;
    font-size: .85em;
    margin: 30px 0 0 0;
}

.photo-share div {
    float: left;
    margin: 0 5px 0 0;
}

/* ==========================================================================
   Order styles
   ========================================================================== */

.order-details label {
    float: left;
    width: 50%;
    margin: 5px 0;
    color: #AAA;
}

input.textfield {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    -moz-box-shadow: inset 1px 1px 3px #ccc;
    box-shadow: inset 1px 1px 3px #ccc;
    border: 1px solid #B6B6B6;
    background: #FCFCFC;
    color: #000;
    font-family: 'Oxygen', sans-serif;
    font-size: 1.1em;
    padding: 5px 10px;
    width: 48.5%;
}

select.dropdown {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    -moz-box-shadow: inset 1px 1px 3px #ccc;
    box-shadow: inset 1px 1px 3px #ccc;
    border: 1px solid #B6B6B6;
    background: #FCFCFC;
    color: #000;
    font-family: 'Oxygen', sans-serif;
    font-size: 1.1em;
    padding: 5px 10px;
    width: 48.5%;
}

.order-details input.wide {
    clear: both;
    width: 98%;
}

.order-details h2 em {
    color: #AAA;
}

input.error {
    border-color: red;
}

.summary {
    color: #000;
}

/* ==========================================================================
   About styles
   ========================================================================== */

#left-column {
    height: 300px;
    margin: 0 0 20px 0;
    width: auto;
}

.about-img {
    background: url("/img/about-crop.jpg") no-repeat center bottom;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

#right-column {
    margin-bottom: 50px;
}

#right-column h1 {
    margin: 0;
    font-size: 2em;
    font-weight: 300;
}

#right-column h2 {
    font-size: 1.1em;
    margin: 20px 0 10px 0;
}

#right-column h2.special {
    font-family: 'Cinzel', 'Open Sans', sans-serif;
    font-size: 2em;
}

#right-column h2.special a {
    text-decoration: none;
}


#right-column ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#right-column ul li {
    color: #AAA;
    font-size: .85em;
    margin: 10px 0;
}

.inline-image {
    width: 100%;
    margin: 20px 0;
}

.inline-image-top {
    width: 100%;
    margin-bottom: 20px;
}

.social-network {
    margin: 20px 0;
}
.social-network a {
    color: #000;
    text-decoration: none;
}

.social-network a:hover {
    color: #AAA;
}

/* ==========================================================================
   Workshop styles
   ========================================================================== */

#workshops {
    width: 100%;
    margin: 0 0 100px 0;
}

#workshops h1 {
    margin: 0;
    font-size: 2em;
    font-weight: 300;
}

#workshops h2 {
    font-size: 1.1em;
    margin: 0;
}

#workshops h2.special {
    font-family: 'Cinzel', 'Open Sans', sans-serif;
    font-size: 2em;

}
#workshop-locations {
    margin: 20px 0 0 0;
}

#workshop-locations .ui-button {
    background: none;
    border-radius: 0;
    border: 0;
    color: #AAA;
    width: 120px;
    margin: 0 10px 10px 0;
    text-align: left;
    vertical-align: top;
}

#workshop-locations img {
    -webkit-transition:opacity .2s ease-out;
    -moz-transition:opacity .2s ease-out;
    -o-transition:opacity .2s ease-out;
    transition:opacity .2s ease-out;
    border: 2px solid #FFF;
    outline: 2px solid #FFF;
    width: 100%;
    height: 120px;
    opacity: .5;
}

#workshop-locations span {
    display: block;
    font-family: 'Oxygen', sans-serif;
    font-weight: normal;
    margin: 10px 0;
}

#workshop-locations .ui-button-text {
    padding: 0;
    margin: 0;
}

#workshop-locations .ui-button:hover, #workshop-locations .ui-state-active {
    color: #498BF5;
}

#workshop-locations .ui-button:hover img, #workshop-locations .ui-state-active img {
    opacity: 1;
    border: 2px solid #FFF;
    outline: 2px solid #498BF5;
}

.workshop-registration {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background: #EEE;
    padding: 10px 20px;
    width: 100%;
}

.workshop-registration label {
    display: block;
    margin: 5px 0;
}

.workshop-registration .workshop-textfield {
    width: 100%;
}

.workshop-registration .placeholder {
    margin-bottom: 5px;
}

#workshop-booking {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background: #EEE;
    padding: 10px 20px;
    width: 100%;
}

#workshop-booking label {
    display: block;
    margin: 5px 0;
}

#workshop-booking .workshop-textfield {
    width: 100%;
}

.workshop-banner {
    width: 100%;
    margin: 20px 0 10px 0;
}

.workshop-video {
    overflow: hidden;
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    margin-top: 15px;
    height: 0;
}
.workshop-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.workshop-thumbnails {
    display: none;
    float: right;
    margin-left: 20px;
}

.workshop-banner-preview {
    width: 100%;
    margin: 20px 0 10px 0;
}

.workshop-slide {
    margin-bottom: 5px;
    width: 65px;
}

.workshop-list {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.workshop-list-item h3 {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space:nowrap;
    width: 100%;
}

.workshop-list-item h3 a {
    text-decoration: none;
}

.workshop-list-item h3 a:hover {
    color: #000;
    text-decoration: underline;
}

.content-alt {
    margin-bottom: 50px;
}

.content-alt p {
    color: #AAA;
}

.content-alt p.highlight2 {
    color: #33b5e5;
}

.content-alt h1 {
    margin: 0;
    font-size: 2em;
    font-weight: 300;
}

.content-alt h2 {
    font-size: 1.3em;
    margin: 20px 0 10px 0;
}

.content-alt h1 a {
    text-decoration: none;
}

blockquote {
    text-align: center;
}

.quotation {
    width: 20px;
    height: 20px;
}

/* ==========================================================================
Contact styles
========================================================================== */

.contact-img {
    background: url("/img/contact-gallery.jpg") no-repeat center top;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

#right-column h1 a {
    text-decoration: none;
}

.content p {
    color: #AAA;
}

/* ==========================================================================
   Information styles
   ========================================================================== */

.info-img {
    display: none;
    background: url("/img/information.jpg") no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}


/* ==========================================================================
   NiSi styles
   ========================================================================== */

.nisi-img {
    background: url("/img/nisi-filters-kit.jpg") no-repeat center top;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

/* ==========================================================================
   Preset styles
   ========================================================================== */

.presets-slide {
    margin: 4px 2px;
}

.product-preview {
    width: 100%;
}

.product-list {
    list-style: none;
    padding: 0;
    width: 100%;
}

.product-list-item {
    float: left;
    width: 150px;
    margin: 0 5px 20px 0;
}

.product-list-item h3 {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space:nowrap;
    width: 100%;
}

.product-list-item h3 a {
    text-decoration: none;
}

.product-list-item h3 a:hover {
    color: #000;
    text-decoration: underline;
}

/* ==========================================================================
   Popup window styles
   ========================================================================== */

.popup-window {
    display: none;
    background: #E0E0E0;
    padding: 10px;
    width: 80%;
    border: 1px solid transparent;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2);
}

.popup-close {
    margin: 10px;
    cursor: pointer;
    text-align: center;
    font-size: .8em;
}

.popup-error {
    color: #fa755a;
    text-align: center;
    margin: 10px;
    font-weight: bold;
}

/* ==========================================================================
   Stripe Elements UI
   ========================================================================== */

.StripeElement {
    box-sizing: border-box;
    height: 40px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 4px;
    background-color: white;
    box-shadow: 0 1px 3px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 150ms ease;
}

.StripeElement--focus {
    box-shadow: 0 1px 3px 0 #cfd7df;
}

.StripeElement--invalid {
    border-color: #fa755a;
}

.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}

/* ==========================================================================
   Animations
   ========================================================================== */

.animate-arrow-right {
    animation: slide1 1s ease-in-out infinite;
    margin: 0 10px;
}

@keyframes slide1 {
  0%,
  100% {
    transform: translate(0, 0);
  }

  50% {
    transform: translate(10px, 0);
  }
}


/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 520px) {

    header {
        height: 100px;
    }

    #logo {
        float:left;
        margin-top: 20px;
    }

    nav {
        float:right;
        margin-top: 40px;
        width: auto;
    }

    nav ul li {
        margin-right:12px;
    }

    #share {
        float: right;
        display: inline;
    }

    #fb-root {
        display: inline;
    }

    .fb-caption {
        display: inline;
    }

    .disclaimer {
        max-width: 50%;
    }

    .thumbnail-preview {
        height: 150px;
    }

    .thumbnail-label h3 {
        font-size: .95em;
    }

    .frame {
        border-width: 35px;
    }

    .print {
        padding: 25px;
    }

    .bevel-black {
        border: 1px solid #000;
    }

    .bevel-white {
        border: 1px solid #e0e0e0;
    }

    .workshop-slide {
        width: 120px;
    }

    .workshop-list-item {
        float: left;
        margin: 0 1% 3% 0;
        width: 48%;
        height: 330px;
    }

    .article-item {
        float: left;
        margin: 0 3% 3% 0;
        width: 30%;
        height: auto;
    }

    .sitemap {
        float: left;
    }

    .copyright {
        width: 100%;
    }

    .social-networks {
        float: right;
    }

    .testimonials {
        height: 280px;
        overflow: hidden;
    }

    .product-list-item {
        width: 200px;
        margin: 0 15px 20px 15px;
    }

    .popup-window {
        width: 450px;
    }

}

@media only screen and (min-width: 870px) {

    header, #content {
        margin-left: 40px;
        margin-right: 40px;
    }

    footer {
        padding-left: 40px;
        padding-right: 40px;
    }

    nav ul li {
        margin-right:20px;
    }

    nav ul li a {
        color: #AAA;
        font-size: 1em;
    }

    nav ul li a:hover, nav ul li a.active {
        color: #000;
    }

    .disclaimer {
        max-width: 400px;
    }

    .gallery-menu {
        display: block;
    }

    .thumbnails {
        width: 85%;
    }

    .thumbnail-preview {
        height: 200px;
    }

    .thumbnail-label h3 {
        color: #000;
        font-size: .95em;
    }

    .thumbnail-label em {
        display: inline;
    }

    .frame {
        border-width: 35px;
    }

    .print {
        padding: 25px;
    }

    .bevel-black {
        border: 3px solid #000;
    }

    .bevel-white {
        border: 3px solid #e0e0e0;
    }

    .photo {
        float: left;
        width: 70%;
        margin-bottom: 100px;
    }

    .photo-details {
        float: left;
        width: 27.5%;
        margin-left: 2.5%;
    }

    .photo-back {
        display: block;
    }

    #left-column {
        float: left;
        margin-right: 50px;
        width: 350px;
        height: 550px;
    }

    #right-column {
        float: left;
        width: 40%;
    }

    #left-column-alt {
        float: left;
        margin-right: 50px;
        width: 60%;
    }

    #right-column-alt {
        float: left;
        width: 30%;
    }

    #workshops {
        width: 100%;
    }

    #workshop-locations {
        width: 65%;
        float: right;
    }

    .workshop-registration-column {
        margin-top: 20px;
        width: 30%;
    }

    .workshop-registration .placeholder {
        width: 28%;
    }

    .workshop-list-item {
        width: 32.2%;
        height: auto;
    }

    .info-img {
        display: block;
    }

    #ribbon {
        display: block;
    }

    .subscribe {
        width: 200px;
        height: 250px;
        float: left;
        margin-right: 25px;
    }

    .copyright {
        padding-top: 40px;
    }

    h1.subtext {
        text-align: left;
    }
}

@media only screen and (min-width: 1140px) {

    header, footer, #content {
        width: 1140px;
        margin-left: auto;
        margin-right: auto;
    }

    footer {
        padding-left: 0;
        padding-right: 0;
    }

    .frame {
        border-width: 45px;
    }

    .print {
        padding: 40px;
    }

    .thumbnail-preview {
        height: 220px;
    }

    .workshop-thumbnails {
        display: block;
    }

    .workshop-slide {
        width: 160px;
    }

}

@media only screen and (min-width: 1280px) {

    header, footer, #content, #slideshow {
        width: 1260px;
    }

    #slideshow {
        margin: 0 auto;
        height: 700px;
        overflow: hidden;
    }

    .workshop-slide {
        width: 180px;
    }


}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.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: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, 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;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        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 for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
