/* Extra small devices (phones, less than 768px) */
/* No media query since this is the default in Bootstrap */
html {
	overflow-y: scroll;
}

html, body {
	min-height: 100% !important;
}

body {
	background: #ffffff;
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	color: #4b4f54;
}

a,
a:link,
a:hover,
a:visited,
a:active {
	color: #4b4f54;
	text-decoration: underline;
	font-weight: bold;
}

h1,
.jumbotron h1 {
	font-size: 40px;
	font-weight: bold;
}

h2 {
	font-size: 22px;
	font-weight: bold;
}

h2 > sup {
	font-size: 14px;
	line-height: 16px;
}

header {
	height: 77px;
	margin: 0 auto;
}

textarea,
input[type="text"],
input[type="email"],
input[type="button"],
input[type="submit"] {
     -webkit-appearance: none;
     border-radius: 0;
}

.loader {
	text-align: center;
	padding: 60px 10px;
}

.loader > img {
	margin-right: 10px;
}

.logo {
	margin-top: 22px;
	margin-bottom: 30px;
	margin-left: 20px;
	width: 166px;
}

.logo-type {
	float: right;
	margin-top: -8px;
	width: 88px;
	margin-right: 20px;
}

.content-wrapper {
	background-image: url(../img/common/bg_main_top.jpg);
	background-position: 87px top;
	background-repeat: repeat-x;
	min-height: 340px;
	padding-top: 150px;
}

.tier-wrapper {
	margin-top: -129px;
	margin-bottom: 60px;
}

.login-panel {
	padding-bottom: 60px;
	margin-bottom: 60px;
	margin-left: auto;
	margin-right: auto;
}

.login-panel .jumbotron {
	border-radius: 0;
	padding: 0 30px 0 0;
	background: none;
}

.login-panel .jumbotron p {
	font-size: 30px;
	font-weight: 300;
}

.login-panel .warning-text {
    font-size: 20px;
}

.form-wrapper .input-row {
	padding-bottom: 12px;
	width: 100%;
}

.form-wrapper .chosen {
	background-color: #f3f8fa;
	padding: 2px 12px;
	color: #4b4f54;
	margin-bottom: 16px;
}

.form-wrapper .input-row label {
	display: block;
	background-color: #f3f8fa;
	font-size: 12px;
	font-weight: normal;
	margin: 0;
	padding: 2px 12px;
	color: #4b4f54;
}

.form-wrapper .input-row input[type=text], 
.form-wrapper textarea, 
.form-wrapper .input-row input[type=email], 
.form-wrapper .input-row .select-wrapper {
	background-color: #ececec;
	color: #4b4f54;
	border: 0;
	padding: 6px 12px;
	width: 100%;
}
.col-full-width {
	position: relative;
    padding-right: 15px;
    padding-left: 15px;
	margin-top: 15px;
}
.col-full-width p {
	font-size: 12px;
}
.form-wrapper textarea {
	height: 100px;
	margin-bottom:20px;
}

.form-wrapper .input-row .select-wrapper {
	padding: 12px;
}

.form-wrapper .input-row .select-wrapper select {
	width: 100%;
	padding: 3px 6px;
}


.form-wrapper .button-wrapper {
	text-align: right;
}

.button, 
.button:link, 
.button:hover, 
.button:visited, 
.button:active {
	background-color: #4b4f54;
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	color: #ffffff;
	border: none;
	text-transform: uppercase;
	width: 140px;
	height: 32px;
	line-height: 32px;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
}

.message {
	font-size: 12px;
	color: #d22731;
	padding: 10px;
	border-top: 1px solid #d22731;
	border-bottom: 1px dotted #d22731;
	margin-bottom: 12px;
}

.gift-carousel {
	margin-top: 30px;
}

.description-wrapper {
	padding: 0 12px;
}

.slick-slide {
	text-align: center;
}

.slick-slide > img {
	max-width: 100%;
	height: auto;
	visibility: visible;
	display: inline-block;
	
	-webkit-transition: opacity 1s ease-in-out;
	-moz-transition: opacity 1s ease-in-out;
	-o-transition: opacity 1s ease-in-out;
	transition: opacity 1s ease-in-out;
}

.lens {
	pointer-events: none;
	position: absolute;
	background: transparent;
	border: 1px solid #EDEBE9;
	bottom: 20px;
	top: 0px;
	left: 15px;
	right: 15px;
	z-index: 1000;
}

.slick-prev, .slick-next {
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 29px;
	height: 49px;
	padding: 0;
	margin-top: -36px;
	cursor: pointer;
	border: none;
	outline: none;
	z-index: 2000;
	
	/* Fix for Android/Galaxy Tab not respecting z-index on absolute-ly positionned div */
	-webkit-transform: translate3d(0,0,0);
}

.slick-next {
	background: transparent url(../img/common/arrow_right.png) 0 0 no-repeat;
	left: 94%;
}

.slick-prev {
	background: transparent url(../img/common/arrow_left.png) 0 0 no-repeat;
	right: 94%;
}

.slick-dots {
	display: block;
	list-style: none;
	z-index: 3000;
	height: 12px;
	margin: 10px 0 0 0;
	padding: 0;
	text-align: center;
}

.slick-dots > li {
	display: inline-block;
}

.slick-dots > li > button {
	text-indent: -200px;
	display: inline-block;
	background-color: #ececec;
	width: 48px;
	height: 12px;
	font-size: 0;
	line-height: 12px;
	border: none;
	outline: none;
	margin: 0 3px;
	padding: 0;
}

.slick-dots > li.slick-active > button {
	background-color: #4b4f54;
}

.description-wrapper {
	width: auto;
	margin: 30px auto 160px auto;
}

.order-form {
	margin-bottom: 100px;
}

.order-form .jumbotron {
	background: none;
	margin-bottom: 0;
	padding: 0 0 15px 0;
}

.order-form .jumbotron h1 {
	font-size: 40px;
}
.order-form .jumbotron h3 {
	font-size: 18px;
	font-weight: 100;
	line-height: 24px;
}

.order-form .jumbotron p {
	font-size: 12px;
}

.order-form .input-row.error .error-message {
	border-top: 1px dotted #D22731;
	border-bottom: 1px dotted #D22731;
	color: #D22731;
	font-size: 12px;
	padding: 1px 12px;
}

.confirm-panel {
	margin-bottom: 100px;
}

.confirm-panel h1 {
    margin-bottom: 30px;
}

.confirm-panel h4,
.confirm-panel p {
	font-size: 16px;
	font-weight: 100;
}

.confirm-panel .legal {
	font-size: 12px;
	line-height: 16px;
}

.confirm-panel .button {
	margin: 30px 0 30px 0;
}

.fra .confirm-panel .button {
	width: 190px;
}
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) { 
	header {
		height: 93px;
		width: 750px;
	}
	
	.logo {	
		margin-top: 30px;
		width: auto;
		margin-left: 0;
	}

	.logo-type {
		width: auto;
		margin-right: 15px;
	}
	
	.tier-logo {
		width: auto;
		height: auto;
		margin-right: 0;
	}
	
	.login-panel {
		padding-top: 100px;
	}
	
	.form-wrapper {
		padding-top: 50px;
	}
	
	/* http://zerosixthree.se/vertical-align-anything-with-just-3-lines-of-css/ */
	.slick-slide {
		position: relative;
		text-align: center;
		width: 360px;
		height: 310px;
	}
	
	.slick-slide > img {
		opacity: 0.3;
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
		filter: alpha(opacity=30);
		-moz-opacity: 0.3;
		-khtml-opacity: 0.3;
		
		width: 120px;
		height: 103px;
		overflow: auto;
		margin: auto;
		position: absolute;
		top: 0; left: 0; bottom: 0; right: 0;		
		
		/** resize transition */
		-moz-transition: all 0.3s ease-in-out, left 0.3s ease-in-out;
		-webkit-transition: all 0.3s ease-in-out, left 0.3s ease-in-out;
		-moz-transition: all 0.3s ease-in-out, left 0.3s ease-in-out;
		-o-transition: all 0.3s ease-in-out, left 0.3s ease-in-out;
		transition: all 0.3s ease-in-out, left 0.3s ease-in-out;		
	}
	
	.slick-center > img {
		opacity: 1;
		-ms-filter: none;
		filter: none;
		-moz-opacity: 1;
		-khtml-opacity: 1;
		
		width: 360px;
		height: 310px;
		overflow: auto;
		margin: auto;
		position: absolute;
		top: 0; left: 0; bottom: 0; right: 0;		
		
		/** resize transition */
		-moz-transition: all 0.3s ease-in-out, left 0.3s ease-in-out;
		-webkit-transition: all 0.3s ease-in-out, left 0.3s ease-in-out;
		-moz-transition: all 0.3s ease-in-out, left 0.3s ease-in-out;
		-o-transition: all 0.3s ease-in-out, left 0.3s ease-in-out;
		transition: all 0.3s ease-in-out, left 0.3s ease-in-out;		
	}
	
	.lens {
		position: absolute;
		background: transparent;
		border: 1px solid #edebe9;
		z-index: 1000;
		top: 30px;
		bottom: 0;
		width: 480px;
		margin: 0 auto;
	}
	
	.slick-prev, .slick-next {
		font-size: 0;
		line-height: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		display: block;
		width: 29px;
		height: 49px;
		margin-top: -25px;
		padding: 0;
		cursor: pointer;
		border: none;
		outline: none;
		z-index: 2000;
	}
	
	.slick-next {
		margin-left: 230px;
	}
	
	.slick-prev {
		margin-left: -260px;
	}
	
	.description-wrapper {
		width: 480px;
		margin: 30px auto 160px auto;
	}
	
	.description-wrapper h2 {
		text-transform: uppercase;
	}
	
	.description-wrapper .button {
		margin: 16px 0;
	}
	
	.order-form .form-wrapper {
		margin-top: 10px;
	}
	
	.order-form .jumbotron {
		background: none;
		margin-bottom: 0;
		padding: 30px 60px;
	}
	
	.confirm-panel {
		margin-top: 50px;
	}

}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {  
	header {
		width: 970px;
	}
}

/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {  
	header {
		width: 1170px;
	}
}

@media (min-width: 1500px) {  
	.content-wrapper {
		
		background-position: 300px top;
		background-repeat: repeat-x;
		
	}
}

header .pull-left {
    position: relative;
    width: 100%;
    display: flex;    
    align-items: center;
    justify-content: space-between;
}

.pull-left .logout {
    margin-right: 20px;
    margin-top: -8px;
    text-decoration: none;
}
