@import url("font-awesome.min.css");

/**
 * Directive by HTML5 UP
 * html5up.net | @n33co
 * Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
 *
 * Modified for Reseau Libre by bgm.
 */

/* Basic */
html,
body {
  height: 100%;
}

body {
  background: white;
}

body.is-loading * {
  -moz-transition: none !important;
  -webkit-transition: none !important;
  -o-transition: none !important;
  -ms-transition: none !important;
  transition: none !important;
  -moz-animation: none !important;
  -webkit-animation: none !important;
  -o-animation: none !important;
  -ms-animation: none !important;
  animation: none !important;
}

body, input, select, textarea {
  color: #6e6e6e;
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 16pt;
  font-weight: 400;
  line-height: 1.75em;
}

a {
  -moz-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  -o-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  border-bottom: dotted 1px;
  color: #4eb980;
  text-decoration: none;
}

a:hover {
  border-bottom-color: transparent;
}

strong, b {
  font-weight: 600;
  color: #5b5b5b;
}

em, i {
  font-style: italic;
}

p, ul, ol, dl, table, blockquote, form {
  margin: 0 0 2em 0;
}

h1, h2, h3, h4, h5, h6 {
  color: #5b5b5b;
  font-weight: 700;
  letter-spacing: 0.125em;
  line-height: 1.75em;
  margin-bottom: 1em;
  border: 0;
  text-transform: uppercase;
  text-align: center;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: inherit;
  text-decoration: none;
}

h2 {
  font-size: 1.75em;
}

h3 {
  font-size: 1.5em;
}

sub {
  font-size: 0.8em;
  position: relative;
  top: 0.5em;
}

sup {
  font-size: 0.8em;
  position: relative;
  top: -0.5em;
}

hr {
  border: 0;
  border-top: solid 1px rgba(224, 224, 224, 0.75);
  margin-bottom: 1.5em;
}

blockquote {
  border-left: solid 0.5em rgba(224, 224, 224, 0.75);
  font-style: italic;
  padding: 1em 0 1em 2em;
}

/* Section/Article */
section.special, article.special {
  text-align: center;
}

header {
  text-align: center;
}

header p {
  position: relative;
  top: -1em;
  color: #888888;
  text-transform: uppercase;
  letter-spacing: 0.075em;
}

header.major {
  margin-bottom: 3em;
  padding: 2em 0;
  position: relative;
}

header.major:before, header.major:after {
  content: '';
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

header.major:before {
  top: 10px;
}

header.major:after {
  bottom: 10px;
}

header.major h2 {
  margin: 0;
}

header.major p {
  top: 0;
  margin: 1.5em 0 0 0;
  padding: 1.5em 1.5em 0 1.5em;
  font-size: 1.5em;
  line-height: 1.75em;
  border-top: solid 1px rgba(224, 224, 224, 0.75);
  display: inline-block;
}

header.major.last {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

header.major.last:after {
  display: none;
}

header.major.last h2 {
  margin-bottom: 1em;
}

footer {
  text-align: center;
}

footer.major {
  position: relative;
}

/* Form */
	label {
		display: block;
		color: #5b5b5b;
		font-size: 0.8em;
		font-weight: 700;
		letter-spacing: 0.125em;
		line-height: 1.75em;
		text-transform: uppercase;
		margin: 0 0 0.5em 0;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select,
	textarea {
		-moz-appearance: none;
		-webkit-appearance: none;
		-o-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out;
		-o-transition: background-color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out;
		background: none;
		border-radius: 4px;
		border: 0;
		border: solid 1px rgba(224, 224, 224, 0.75);
		color: inherit;
		display: block;
		outline: 0;
		padding: 0.75em;
		text-decoration: none;
		width: 100%;
		opacity: 1;
	}

		input[type="text"]:focus,
		input[type="password"]:focus,
		input[type="email"]:focus,
		select:focus,
		textarea:focus {
			background: rgba(224, 224, 224, 0.15);
			border-color: #4eb980;
		}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select {
		line-height: 1em;
	}

	textarea {
		padding: 0.5em 0.75em;
	}

	::-webkit-input-placeholder {
		color: inherit;
		opacity: 0.5;
		position: relative;
		top: 3px;
	}

	:-moz-placeholder {
		color: inherit;
		opacity: 0.5;
	}

	::-moz-placeholder {
		color: inherit;
		opacity: 0.5;
	}

	:-ms-input-placeholder {
		color: inherit;
		opacity: 0.5;
	}

	.formerize-placeholder {
		color: rgba(110, 110, 110, 0.5) !important;
	}

/* Image */
.image {
  border: 0;
  display: inline-block;
  position: relative;
}

.image:after {
  -moz-transition: opacity 0.25s ease-in-out;
  -webkit-transition: opacity 0.25s ease-in-out;
  -o-transition: opacity 0.25s ease-in-out;
  -ms-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out;
  background-image: url("images/overlay.jpg");
  background-position: bottom center, top right, center center; /* [ML] align on downtown */
  content: '';
  display: block;
  height: 100%;
  left: 0;
  opacity: 0.2;
  position: absolute;
  top: 0;
  width: 100%;
}

/* a bit of variety in the background image.. */
section.feature:first-child .image:after {
  background-position: top center, top center, top center;
}

section.feature:last-child .image:after {
  background-position: bottom center, bottom center, bottom center;
}

.image img {
  display: block;
}

.image.fit {
  display: block;
}

.image.fit img {
  display: block;
  width: 100%;
}

.image.feature {
  display: block;
  margin: 0 0 2em 0;
}

.image.feature img {
  display: block;
  width: 100%;
}

.image.icon {
  -moz-perspective: 500px;
  -webkit-perspective: 500px;
  -o-perspective: 500px;
  -ms-perspective: 500px;
  perspective: 500px;
}

.image.icon:before {
  -moz-transition: transform 0.1s ease-in-out, font-size 0.1s ease-in-out;
  -webkit-transition: transform 0.1s ease-in-out, font-size 0.1s ease-in-out;
  -o-transition: transform 0.1s ease-in-out, font-size 0.1s ease-in-out;
  -ms-transition: transform 0.1s ease-in-out, font-size 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, font-size 0.1s ease-in-out;
  color: #fff;
  font-size: 6em;
  height: 1em;
  left: 50%;
  line-height: 1em;
  margin: -0.5em 0 0 -0.5em;
  position: absolute;
  text-align: center;
  top: 50%;
  width: 1em;
  z-index: 1;
}

.image.icon:hover:before {
  -moz-transform: translateZ(1em);
  -webkit-transform: translateZ(1em);
  -o-transform: translateZ(1em);
  -ms-transform: translateZ(1em);
  transform: translateZ(1em);
}

.image.icon:hover:after {
  opacity: 1;
}

span.image.icon {
  cursor: default;
}

/* Icon */
.icon {
  text-decoration: none;
  border-bottom: none;
  position: relative;
}

.icon:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  text-transform: none !important;
}

.icon > .label {
  display: none;
}

/* List */

	ol.default {
		list-style: decimal;
		padding-left: 1.25em;
	}

		ol.default li {
			padding-left: 0.25em;
		}

	ul.default {
		list-style: disc;
		padding-left: 1em;
	}

		ul.default li {
			padding-left: 0.5em;
		}

	ul.icons {
		cursor: default;
	}

		ul.icons li {
			display: inline-block;
			font-size: 1.25em;
			line-height: 1em;
			padding-left: 0.5em;
		}

			ul.icons li:first-child {
				padding-left: 0;
			}

			ul.icons li a, ul.icons li span {
				-moz-transition: background-color 0.2s ease-in-out;
				-webkit-transition: background-color 0.2s ease-in-out;
				-o-transition: background-color 0.2s ease-in-out;
				-ms-transition: background-color 0.2s ease-in-out;
				transition: background-color 0.2s ease-in-out;
				border-radius: 100%;
				border: solid 1px rgba(224, 224, 224, 0.75);
				display: inline-block;
				height: 2em;
				line-height: 2em;
				text-align: center;
				width: 2em;
			}

				ul.icons li a:hover, ul.icons li span:hover {
					background: rgba(224, 224, 224, 0.15);
				}

	ul.actions {
		cursor: default;
		text-align: center;
	}

		ul.actions:last-child {
			margin-bottom: 0;
		}

		ul.actions li {
			display: inline-block;
			padding: 0 0 0 1.5em;
		}

			ul.actions li:first-child {
				padding: 0;
			}

		ul.actions.vertical li {
			display: block;
			padding: 1.5em 0 0 0;
		}

			ul.actions.vertical li:first-child {
				padding: 0;
			}

/* Table */

	.table-wrapper {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	table {
		width: 100%;
	}

		table.default {
			width: 100%;
		}

			table.default tbody tr {
				border-bottom: solid 1px rgba(224, 224, 224, 0.75);
			}

				table.default tbody tr:nth-child(2n - 1) {
					background: rgba(224, 224, 224, 0.15);
				}

			table.default td {
				padding: 0.5em 1em 0.5em 1em;
			}

			table.default th {
				color: #5b5b5b;
				font-size: 0.8em;
				font-weight: 700;
				letter-spacing: 0.125em;
				line-height: 1.75em;
				padding: 0.5em 1em 0.5em 1em;
				text-align: left;
				text-transform: uppercase;
			}

			table.default thead {
				border-bottom: solid 1px rgba(224, 224, 224, 0.75);
			}

/* Button */

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-o-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		-o-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
		background: #544d55;
		border-radius: 4px;
		border: 0;
		color: white;
		cursor: pointer;
		display: inline-block;
		font-size: 0.9em;
		font-weight: 700;
		letter-spacing: 0.125em;
		line-height: 3.25em;
		min-width: 18em;
		padding: 0 1.5em;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
	}

		input[type="submit"]:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover,
		.button:hover {
			background: #6e6570;
		}

		input[type="submit"]:active,
		input[type="reset"]:active,
		input[type="button"]:active,
		.button:active {
			background: #474148;
		}

		input[type="submit"].alt,
		input[type="reset"].alt,
		input[type="button"].alt,
		.button.alt {
			background: none;
			box-shadow: inset 0 0 0 1px rgba(224, 224, 224, 0.75);
			color: #544d55;
		}

			input[type="submit"].alt:hover,
			input[type="reset"].alt:hover,
			input[type="button"].alt:hover,
			.button.alt:hover {
				background: rgba(224, 224, 224, 0.15);
			}

			input[type="submit"].alt:active,
			input[type="reset"].alt:active,
			input[type="button"].alt:active,
			.button.alt:active {
				background: rgba(224, 224, 224, 0.35);
			}

		input[type="submit"].fit,
		input[type="reset"].fit,
		input[type="button"].fit,
		.button.fit {
			width: 100%;
		}

		input[type="submit"].small,
		input[type="reset"].small,
		input[type="button"].small,
		.button.small {
			font-size: 0.8em;
		}

/* Box */

	.box {
		background: white;
		border: solid 1px rgba(224, 224, 224, 0.75);
		margin-bottom: 6em;
		padding: 3.5em;
	}

		.box.alt {
			background: none;
			border: none;
			padding: 0;
		}

/* Feature */

	.feature {
		position: relative;
		height: 20em;
	}

		.feature:after {
			clear: both;
			content: '';
			display: block;
		}

		.feature h3, .feature h4, .feature h5, .feature h6 {
			text-align: inherit;
		}

		.feature .image {
			display: inline-block;
			height: 100%;
			overflow: hidden;
			position: relative;
			width: 50%;
		}

			.feature .image img {
				display: block;
				min-height: 100%;
				min-width: 100%;
				position: absolute;
			}

		.feature:before {
			background: blue;
			content: '';
			display: inline-block;
			height: 100%;
			vertical-align: middle;
		}

		.feature .content {
			display: inline-block;
			padding: 3.5em;
			vertical-align: middle;
			width: 48%;
		}

			.feature .content h3 {
				margin-bottom: 0.5em;
			}

			.feature .content :last-child {
				margin: 0;
			}

		.feature.left {
			text-align: left;
		}

			.feature.left .image {
				float: left;
			}

				.feature.left .image img {
					right: 0;
					top: 0;
				}

			.feature.left .content {
				padding-right: 0;
			}

		.feature.right {
			text-align: right;
		}

			.feature.right .image {
				float: right;
			}

				.feature.right .image img {
					left: 0;
					top: 0;
				}

			.feature.right .content {
				padding-left: 0;
			}

		.feature.long .content {
			padding-top: 0;
		}

/* Header */
	#header {
		background-attachment: scroll, scroll, fixed;
		background-image: url("images/top-3200.svg"), url("images/overlay.jpg") /* , url("../images/header.jpg") */;
		background-position: bottom center, bottom right, center center;
		background-repeat: repeat-x, repeat, no-repeat;
		background-size: 3200px 460px, auto, cover;
		color: rgba(255, 255, 255, 0.8);
		padding: 10em 0 20em 0;
		position: relative;
		text-align: center;
	}

		#header a {
			border-bottom-color: rgba(255, 255, 255, 0.35);
			color: rgba(255, 255, 255, 0.8);
		}

			#header a:hover {
				border-bottom-color: transparent;
				color: #4eb980;
			}

		#header strong, #header b {
			color: white;
		}

		#header h1, #header h2, #header h3, #header h4, #header h5, #header h6 {
			color: white;
		}

		#header input[type="submit"],
		#header input[type="reset"],
		#header input[type="button"],
		#header .button {
			background: white;
			color: #544d55;
		}

		#header .logo {
			background: #4eb980;
			border-radius: 100%;
			color: white;
			cursor: default;
			display: inline-block;
			font-size: 2.25em;
			height: 2.35em;
			line-height: 2.35em;
			margin: 0 0 0.75em 0;
			text-align: center;
			width: 2.35em;
		}

			#header .logo.fa-paper-plane-o:before {
				left: -0.075em;
				position: relative;
			}

		#header h1 {
			font-size: 2.5em;
			margin: 0;
			color: #fff;
			text-shadow: 1px 1px 1px #000;
		}

		#header .header-rl-description {
			padding: 2em 0;
		}

		#header p {
			font-size: 1.5em;
			line-height: 1.5em;
			margin: 0.25em 0 0 0;
			font-weight: bold;
			color: #fff;
			/* text-shadow: 1px 1px 1px #fff; */
		}

/* Footer */
	#footer {
		background-attachment: scroll;
		background-color: #4eb980;
		background-image: url("images/bottom-3200.svg");
		background-position: top center;
		background-repeat: repeat-x;
		background-size: 3200px 460px;
		color: rgba(255, 255, 255, 0.8);
		/*
		Since the SVG background occupies a lot of vertical space, we'll
		add additional top padding (to move our content out of its way)
		and a negative margin (to move everything up a bit).
		*/
		margin-top: -260px;
		padding: calc(460px + 6em) 0 10em 0;
		position: relative;
		text-align: center;
	}

		#footer a {
			color: white;
		}

		#footer strong, #footer b {
			color: white;
		}

		#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6 {
			color: white;
		}

		#footer header p {
			color: rgba(255, 255, 255, 0.5);
		}

		#footer input[type="submit"],
		#footer input[type="reset"],
		#footer input[type="button"],
		#footer .button {
			background: white;
			box-shadow: inset 0 0 0 1px white;
			color: #4eb980;
		}

			#footer input[type="submit"]:hover,
			#footer input[type="reset"]:hover,
			#footer input[type="button"]:hover,
			#footer .button:hover {
				background: rgba(224, 224, 224, 0.15);
				color: white;
			}

		#footer input[type="text"]:focus,
		#footer input[type="password"]:focus,
		#footer input[type="email"]:focus,
		#footer select:focus,
		#footer textarea:focus {
			border-color: white;
		}

		#footer .formerize-placeholder {
			color: rgba(255, 255, 255, 0.3) !important;
		}

		#footer form {
			margin: 3em 0;
		}

		#footer .copyright {
			color: rgba(255, 255, 255, 0.5);
			font-size: 0.8em;
			line-height: 1em;
			margin: 3em 0 0 0;
		}

			#footer .copyright li {
				border-left: dotted 1px;
				display: inline-block;
				margin-left: 1em;
				padding-left: 1em;
			}

				#footer .copyright li:first-child {
					padding: 0;
					margin: 0;
					border: 0;
				}

				#footer .copyright li a, #footer .copyright li span {
					color: inherit;
				}

					#footer .copyright li a:hover, #footer .copyright li span:hover {
						color: white;
					}

/* Main */

	#main {
		padding: 3em 0 5em 0;
		position: relative;
		z-index: 1;
	}

		#main:before {
			/* background: rgba(224, 224, 224, 0.75); */
			content: '';
			height: 100%;
			left: 50%;
			position: absolute;
			top: 0;
			width: 1px;
			z-index: -1;
		}

		#main header.major,
		#main footer.major {
			background: white;
		}
