/* @override 
	http://willb.fr/extranet/fdp/webapp-gpi/css/style.css */

/* ==========================================================================
	#Reset
========================================================================== */
* { padding: 0; margin: 0; outline: 0; }

/* ==========================================================================
	#Base
========================================================================== */
html,
body { height: 100%; }

html { overflow-y: scroll; }
body { background: #f9b821; font-family: 'Brandon Grotesque', sans-serif; font-size: 17px; line-height: 1; color: #000; }

a { color: #fff; cursor: pointer; text-decoration: none; }

img { border: 0; vertical-align: middle; }

h2,
h3,
h4 { font-weight: normal; }

h2 { padding-bottom: 6px; font-family: 'Brandon Grotesque Light'; font-size: 65px; color: #fff; text-align: center; }

h4 { font-family: 'Brandon Grotesque Bold'; font-size: 25px; }

em { font-family: 'Brandon Grotesque Italic'; font-style: normal; }

/* ==========================================================================
	#Helpers 
========================================================================== */
.clearfix:before,
.clearfix:after { display: table; content: " "; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }

.hidden { opacity: 0; visibility: hidden; }

/* ==========================================================================
	#Containers 
========================================================================== */
.wrapper { min-height: 100%; height: 100%; position: relative; overflow-y: hidden; display: table; }

/* ==========================================================================
	#Sidebar
========================================================================== */
.sidebar { position: fixed; top: 0; left: 0; z-index: 2; width: 159px; height: 100%; overflow: hidden; border-right: 1px solid #090b0e; background: #f9b821; text-align: center; box-shadow: 60px 0 50px rgba(0,0,0, .25); }

.logo { width: 97px; padding: 26px 0 22px; display: inline-block; margin-right: 6px; }
.logo a { overflow: hidden; display: block; height: 127px; background: url(images/sprite.png) no-repeat 0 0;  white-space: nowrap; text-indent: 100%; }

.sidebar h3 { background: #000; color: #fff; font-family: 'Brandon Grotesque Black'; font-size: 25px; text-transform: uppercase; padding: 11px 2px 10px 0; margin: 15px 14px 10px; }
.sidebar p em { font-size: 25px; line-height: 0.9; }

.sidebar-image { padding: 10px 0 5px; }

/* ==========================================================================
	#Content
========================================================================== */
.content { position: relative; z-index: 1; display: table-cell; vertical-align: middle; }

.products { width: 100%; }
.products ul { list-style: none outside none; white-space: nowrap; }
.products li { display: inline-block; vertical-align: middle; margin-right: 20px; }
.products li:first-child { margin-left: 180px; }

.product-item-body { width: 200px; height: 480px; padding: 12px 10px; background: #fff; white-space: normal; text-align: center; font-size: 22px; }
.product-item-body h4 { padding: 30px 0 22px; }
.product-item-body .separator { margin-bottom: 15px; }
.product-item-foot { position: relative; height: 55px; }
.product-item-foot .btn { position: absolute; bottom: 0; left: 30px; }


.separator { display: inline-block; background: url(images/sprite.png) no-repeat 0 0; width: 24px; height: 5px; background-position: -107px -84px; }

.right-shadow { position: fixed; top: 0; right: -80px; height: 100%; width: 80px; box-shadow: -30px 0 30px rgba(0,0,0, .25); }

/* ==========================================================================
	#Popup
========================================================================== */
.popup-wrapper { padding: 79px 24px 40px 30px; background: #fff; }

/* ==========================================================================
	#Form Vote
========================================================================== */
.form-vote { text-align: center; padding-top: 9px; }
.form-vote .form-head { padding-bottom: 29px; }
.form-vote .form-head h2 { font-size: 40px; line-height: 0.9; color: #000; font-family: 'Brandon Grotesque Bold'; padding-bottom: 9px; }
.form-vote .help { color: #b00c3a; font-size: 25px; line-height: 1.2; }
.form-vote .form-body input { width: 470px; padding: 9px 0; border: 1px solid #cececf; color: #7f7f7f; font-family: 'Brandon Grotesque Bold Italic'; font-size: 30px; text-align: center; box-shadow: inset 10px 10px 5px rgba(0,0,0, .1); }
.form-vote .form-body input:focus { color: #000; font-family: 'Brandon Grotesque'; }

.form-vote .form-foot { padding-top: 40px; font-size: 30px; color: #7f7f7f; }
.form-vote .form-foot .btn { display: block; }
.form-vote .separator { margin: 34px 0 30px; }

/* ==========================================================================
	#footer
========================================================================== */
.footer { position: fixed; bottom: 20px; left: 0; width: 100%; text-align: center; text-transform: uppercase; margin-left: 90px; }

/* ==========================================================================
	#Icons
========================================================================== */
[class^="icon-"] { display: inline-block; vertical-align: middle; background: url(images/sprite.png) no-repeat 0 0; }
.icon-check-black,
.icon-check { width: 31px; height: 32px; }
.icon-check-black { background-position: -107px 0px; margin-top: -10px; margin-right: 7px; }
.icon-check { background-position: -107px -42px; }

/* ==========================================================================
	#Buttons
========================================================================== */
.btn { display: inline-block;  vertical-align: middle; }
.btn-red { width: 126px; height: 126px; padding: 30px 15px 0; border-radius: 100%; background: #db3038; font-family: 'Brandon Grotesque Black'; font-size: 19px; text-transform: uppercase; text-align: center; white-space: normal; box-shadow: 4px 4px 0 rgba(156, 34, 40, 1); }
.btn-red .btn-text { display: block; padding-top: 14px; }

.btn-yellow { width: 400px; padding: 9px 0 8px; margin: 0 auto; background: #f9b821; font-size: 30px; border: 0; font-family: 'Brandon Grotesque Bold'; text-transform: uppercase; box-shadow: 3px 3px 0 #b38418; }

.btn-submit { cursor: pointer; -webkit-appearance: none; }

/* ==========================================================================
	#Colorbox
========================================================================== */
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

#cboxOverlay{background:#000;}
#colorbox{outline:0;}
#cboxContent{margin-top:20px;background:#000;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
#cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
#cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}

#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }

#cboxNext:hover{background-position:bottom right;}
#cboxClose{position:absolute; top:26px; right:27px; display:block; background:url(images/controls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
#cboxClose:hover{background-position:bottom center;}

#cboxClose { background: url(images/btn-close.png) no-repeat 0 0; width: 28px; height: 28px; }

.error-field { border-color: red !important; }

.form-body { position:relative; }
.form-body .loader { position:absolute; bottom: 0; left: 0; width: 100%; text-align:center; }
fieldset { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;}


/* ==========================================================================
	#Checkbox
========================================================================== */
.icheckbox { width: 31px; height: 33px; margin: 2px 0 0 0; padding: 0; border: 0; cursor: pointer; background: url(images/checkboxes.png) no-repeat 0 0; }
.icheckbox.checked { background-position: 0 bottom; }

.checkbox { overflow: hidden; padding: 2px 0 0 38px; margin-bottom: 44px; }
.checkbox .icheckbox,
.checkbox label { float: left; }
.checkbox label { width: 415px; text-align: left; cursor: pointer; color: #333; font-size: 26px; padding-left: 28px; letter-spacing: -0.5px; }