
body {
	margin: 0px;
	-webkit-text-size-adjust: 100%;
	color: #4b4b4b;
	font-family: 'Fraunces', serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 30px;
	background-color: #1e1e1e;
}

b, strong {
    font-weight: 600;    
}

img {
    border: 0;
    padding: 0px;
    margin: 0px;
    outline: none;
    display: block;
}

img, a, span {
    vertical-align: baseline;
}

div {
    padding: 0px;
    margin: 0px;
}

ul, ol {
    list-style: none;
    padding: 0px;
    margin: 0px;
}

ul span, ul a {

}

iframe {
	display: inline-block;
	margin: 0px;
	padding: 0px;
}

.clear {
	clear: both;
	height: 0px;
	overflow: hidden;
}

a {
	color: #e82b2d;
	text-decoration: none;
	-webkit-transition: color 0.2s linear;
    -moz-transition: color 0.2s linear;
    -o-transition: color 0.2s linear;
    transition: color 0.2s linear;
}

a:active, a:focus, audio:active, audio:focus, button:active, button:focus {
	outline: none;
    -moz-outline-style: none;
}

a:hover {
	color: #fafbf2;
	text-decoration: none;
}

a .imgroller {
	opacity: 1.0;
	-webkit-transition: opacity 0.2s linear;
    -moz-transition: opacity 0.2s linear;
    -o-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
}

a:hover .imgroller {
	opacity: 0.5;
}

a[href^=tel] {
	color: inherit;
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0px;
	padding: 0px;
}

#header {
    padding: 0px 100px;
    background-color: #313639;	
    background-image: url("/img/heavybox/header.jpg");
	background-repeat: no-repeat;
	background-position: left top;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 13/10), only screen and (min-resolution: 120dpi) { 
	#header {
		background-image: url("/img/heavybox/header@2x.jpg");
	}
}

#social {
    height: 57px;
    border-bottom: 3px solid #fafbf2;
    text-align: center;
    overflow: hidden;
}

#social a {
    color: #fafbf2;
	font-size: 20px;
	line-height: 57px;
    text-decoration: none;
    margin: 0px 12px;
	opacity: 1;
	-webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

#social a:hover {
    color: #ffffff;
    text-decoration: none;
	opacity: 0.6;
}

#header-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: calc(100vh - 60px);
}

#header-wrapper {
    display: inline-block; 
    padding-top: 100px;
    padding-bottom: 80px;  
}

#header-logo {
    max-width: 810px;
	margin: 0 auto;
	line-height: 0;
    padding-bottom: 35px;
}

#header-logo img {
    width: 100%;
    height: auto;
}

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

#header-buttons a {
    display: inline-block;
    height: 50px;
    background-color: #fafbf2;
    border: none;
    border-radius: 25px;
    color: #52637a;
    font-family: 'Fraunces', serif;
    font-size: 16px;
	font-weight: 600;
	line-height: 50px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 0px 20px;
	-webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

#header-buttons a.margin {
    margin-right: 12px;
}

#header-buttons a:hover {
    background-color: #565f6a;
    color: #fafbf2;
    text-decoration: none;
}

.common-pad {
    padding-left: 100px;
    padding-right: 100px;
}

.wrapper {
    max-width: 1150px;
    margin: 0 auto;    
}

.narrow-wrapper {
    max-width: 950px;
    margin: 0 auto;    
}

#merch {
    position: relative;
    background-color: #729fd4; 	
    background-image: url("/img/heavybox/merch-bg.jpg");
	background-repeat: no-repeat;
	background-position: center center;
    background-size: cover;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 13/10), only screen and (min-resolution: 120dpi) { 
	#merch {
		background-image: url("/img/heavybox/merch-bg@2x.jpg");
	}
}

#merch-flex {
    position: relative;
    z-index: 11;
    max-width: 750px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 150px 0px;
}

#merch-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#merch-img {
    float: left;
    width: 430px;
}

#merch-img img {
    width: 280px;
    height: auto;
    border: 10px solid #fafbf2;
}

#merch-info {
    float: right;
    text-align: left;
}

#merch-title {
    color: #fafbf2;
    font-family: 'Jost', sans-serif;
    font-size: 70px;
	font-weight: 900;
	line-height: 60px;
    text-transform: uppercase;
}

#merch-buttons {
    padding-top: 22px; 
}

#merch-buttons a {
    display: inline-block;
    height: 40px;
    background-color: #fafbf2;
    border: none;
    border-radius: 20px;
    color: #565f6a;
    font-family: 'Fraunces', serif;
    font-size: 18px;
	font-weight: 600;
	line-height: 40px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 0px 20px;
	-webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear;
}

#merch-buttons a.margin {
    margin-bottom: 20px;
}

#merch-buttons a:hover {
    background-color: #565f6a;
    color: #fafbf2;
    text-decoration: none;
}

#tour {
    background-color: #fafbf2;    
}

#tour-wrapper {
    padding-top: 100px;
    padding-bottom: 94px;
}

#tour-title {
    color: #82a8e0 !important;
    padding-bottom: 50px;    
}

.section-title { 
    color: #fafbf2;
    font-family: 'Jost', sans-serif;
    font-size: 70px;
	font-weight: 900;
	line-height: 60px;
    text-transform: uppercase;
	text-align: center;
}

#tour-content {
    
}

#video {
    background-color: #82a8e0;
}

#video-wrapper {
    padding-top: 100px;
    padding-bottom: 120px;
}

#video-title {
    padding-bottom: 70px;    
}

#video-content {
    
}

.video-item {
    margin-top: 50px;
}

.video-item:first-of-type {
    margin-top: 0px;    
}

#footer {
    padding: 0px 50px 43px 50px;  
    color: #ffffff;
	font-family: 'Arvo', serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 30px;
    text-transform: uppercase;
}

#footer-credits {
    float: left;
    color: #ffe8cd;
	font-family: 'League Spartan', sans-serif;
	font-size: 10px;
	font-weight: 500;
	line-height: 20px;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding-top: 45px;
}

#footer-credits a {
    color: #e82b2d;
    text-decoration: none;
}

#footer-credits a:hover {
    color: #ffffff;
    text-decoration: none;
}

#footer-rise {
    float: right;
    text-align: right;
    width: 32px;
    padding-top: 37px;
}

#footer-rise img {
    width: 100%;
    height: auto;
}

#footer-rise a img {
    -webkit-filter: grayscale(0%) contrast(100%); /* Safari 6.0 - 9.0 */
	filter: grayscale(0%) contrast(100%);
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

#footer-rise a:hover img {
	-webkit-filter: grayscale(100%) contrast(150%); /* Safari 6.0 - 9.0 */
	filter: grayscale(100%) contrast(150%);
}


/* -------------------- */
/* -------------------- */

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

	/* ipad horizontal layout */

    #header {
        padding: 0px 62px;
    }

    #header-content {
        padding: 0px 38px;
    	min-height: calc(100vh - 60px);
    }

    #header-wrapper {
        padding-top: 80px;
        padding-bottom: 60px;  
    }

    #header-logo {
        max-width: 600px;
        padding-bottom: 35px;
    }

    .common-pad {
        padding-left: 62px;
        padding-right: 62px;
    }

    #merch-flex {
        padding: 100px 0px;
    }
    
    #merch-img {
        width: 400px;
    }
    
    #tour-wrapper {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    #tour-title {
        padding-bottom: 40px;    
    }

    #video-wrapper {
        padding-top: 80px;
        padding-bottom: 100px;
    }

    #video-title {
        padding-bottom: 60px;    
    }

    .video-item {
        margin-top: 40px;
    }

    .video-item:first-of-type {
        margin-top: 0px;    
    }

}


/* -------------------- */
/* -------------------- */

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

	/* ipad vertical layout */
    
    #header {
        padding: 0px 50px;
    }

    #header-content {
        padding: 0px 30px;
    	min-height: 800px;
    }

    #header-logo {
        max-width: 500px;
        padding-bottom: 35px;
    }

    .common-pad {
        padding-left: 50px;
        padding-right: 50px;
    }
    
    #merch-img {
        width: 340px;
    }
    

}


/* -------------------- */
/* -------------------- */

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

	/* mobile layout */
    
    #header {
        padding: 0px 30px;
    }

    #social {
        height: 48px;
        border-bottom: 2px solid #ffe8cd;
    }

    #social a {
        font-size: 18px;
        line-height: 48px;
        margin: 0px 10px;
    }

    #header-content {
        padding: 0px;
    	min-height: 600px;
    }

    #header-wrapper {
        padding-top: 20px;
        padding-bottom: 20px; 
    }

    #header-logo {
        max-width: 400px;
        padding-bottom: 30px;
    }

    #header-buttons a {
        height: 40px;
        border-radius: 20px;
        font-size: 14px;
        line-height: 40px;
        padding: 0px 14px;
    }

    #header-buttons a.margin {
        margin-right: 10px;
    }

    .common-pad {
        padding-left: 30px;
        padding-right: 30px;
    }
    
    #merch-bird {
        width: 80%;
    }

    #merch-flex {
        display: block;
        padding: 30px 0px;
    }

    #merch-wrapper {
        display: block;
        text-align: center;
    }

    #merch-img {
        float: none;
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
    }

    #merch-img img {
        width: calc(100% - 12px);
        height: auto;
        border: 6px solid #ffe8cd;
    }

    #merch-info {
        float: none;
        width: 100%;
        text-align: center;
    }

    #merch-title {
        display: none;
    }

    #merch-buttons {
        padding-top: 20px; 
    }

    #merch-buttons a {
        height: 40px;
        border-radius: 20px;
        font-size: 14px;
        line-height: 40px;
        padding: 0px 14px;
    }

    #merch-buttons a.margin {
        margin-bottom: 10px;
    }

    #tour-wrapper {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    #tour-title {
        padding-bottom: 20px;    
    }

    .section-title { 
        font-size: 30px;
        line-height: 40px;
    }

    #video-wrapper {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    #video-title {
        padding-bottom: 30px;    
    }

    .video-item {
        margin-top: 30px;
    }

    .video-item:first-of-type {
        margin-top: 0px;    
    }

    #footer {
        padding: 0px 30px 33px 30px;
    }

    #footer-credits {
        padding-top: 35px;
    }

    #footer-rise {
        padding-top: 27px;
    }
   
}


/* -------------------- */
/* -------------------- */

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

	/* mobile vertical layout */
    
    .video-item {
        margin-top: 20px;
    }

    .video-item:first-of-type {
        margin-top: 0px;    
    }
    
}
