/*////////////////////////////
// Box sizing
////////////////////////////*/

*
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

*:before,
*:after
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


/*////////////////////////////
// Clear
////////////////////////////*/

.site .clearfix:before,
.site .clearfix:after
{
	content: " ";
	display: table;
}

.site .clearfix:after
{
	clear: both;
}

.site .clearfix
{
	*zoom: 1;
}

.site .clear
{
	clear: both;
}


/*////////////////////////////
// Flash message
////////////////////////////*/

.site .flashMessage
{
	padding: 10px;

	font-size: 14px;
	text-align: center;
	color: #fff;
}

.site .flashMessageConfirmation
{
	background: #00cd00;
}

.site .flashMessageError
{
	background: #ff0000;
}


/*////////////////////////////
// Columns
////////////////////////////*/

.site .columns
{
	display: table;
	table-layout: fixed;
	width: 100%;
}

.site .columns .column
{
	display: table-cell;
	vertical-align: top;
}

.site .columns .columnTitle
{
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}


/*////////////////////////////
// Sections
////////////////////////////*/

.site .section
{
	margin-bottom: 20px;
}

.site .section .sectionTitle
{
	margin-bottom: 10px;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
}


/*////////////////////////////
// Generic form
////////////////////////////*/

.site .genericForm .fieldset
{
	margin: 0 0 20px 0;
	padding: 10px;
}

.site .genericForm .legend
{
	padding: 0 5px;
	font-size: 14px;
}

.site .genericForm .formRow
{
	margin: 8px 0;
}

.site .genericForm .fieldLabel
{
	display: block;
	margin-bottom: 4px;
}

.site .genericForm .field
{
	vertical-align: top;
}

.site .genericForm .textField,
.site .genericForm .textarea,
.site .genericForm .emailField,
.site .genericForm .selectionField
{
	width: 300px;
}

.site .genericForm .textField,
.site .genericForm .textarea,
.site .genericForm .emailField,
.site .genericForm .passwordField
{
	padding: 5px;
}

.site .genericForm .passwordField
{
	width: 142px;
}

.site .genericForm .textarea
{
	height: 100px;
}

.site .genericForm .radioButton
{
	margin-bottom: 1px;
}

.site .genericForm .errors
{
	margin: 0;
	padding: 0;
}

.site .genericForm .error
{
	display: block;
	font-style: italic;
	color: #ff0000;
}

.site .genericForm .confirmation
{
	color: #00cd00;
}

.site .genericForm .optionalFieldsInformation
{
	font-style: italic;
	text-align: center;
}

.site .genericForm .buttons
{
	margin-top: 20px;
	text-align: center;
}


/*////////////////////////////
// Buttons
////////////////////////////*/

.site .buttons
{
	text-align: center;
}

.site .button
{
	display: inline-block;
	margin: 1px;
	padding: 8px 15px;
	background: #000;
	border: none;
	font-size: 13px;
	text-decoration: none;
	color: #fff;
	cursor: pointer;

	-webkit-transition-duration: 0.7s;
	-moz-transition-duration: 0.7s;
	-o-transition-duration: 0.7s;
	transition-duration: 0.7s;
}


/*////////////////////////////
// Information
////////////////////////////*/

.site .information
{
	padding: 10px;
	text-align: center;
}


/*////////////////////////////
// Tables
////////////////////////////*/

.site .genericTable
{
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 1px;
}

.site .genericTable .cell
{
	padding: 5px;
	border: solid 1px #f4f4f2;
}

.site .genericTable .headerCell
{
	padding: 8px 10px;
	text-transform: uppercase;
}

.site .genericTable .headerCell .button
{
}

.site .genericTable .headerCell .button:hover
{
}

.site .genericTable .emptyCell
{
	border: none;
}


/*////////////////////////////
// Popin
////////////////////////////*/

.site .popin
{
	display: none;
}

.site .popin .popinBackground
{
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	background: rgba(0, 0, 0, 0.65);
}

.site .popin .popinContainer
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 20px;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 1010;
	background: #fff;
}

.site .popin .popinCloseButton
{
	width: 25px;
	height: 25px;
	position: absolute;
	top: 5px;
	right: 5px;
	background: red;
	cursor: pointer;
}

.site .popin .popinTitle
{
	margin-bottom: 10px;
	font-size: 25px;
	text-align: center;
}


/*////////////////////////////
// Loading mask
////////////////////////////*/

.site .loadingMask
{
	width: 100%;
	height: 100%;

	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;

	background: #fff;
	background: rgba(255, 255, 255, 0.9);
}

.site .loadingMask .content
{
	width: 300px;
	height: 70px;
	margin-top: -35px;
	margin-left: -150px;

	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
}

.site .loadingMask .icon
{
	display: block;
	margin: 0 auto 10px auto;
}

.site .loadingMask .message
{
	font-size: 18px;
	text-align: center;
}