/**
** Theme Name: EPOC
** Theme URI: https://creatiwity.net
** Description: Theme for Programme EPOC website
** Author: Creatiwity
** Author URI: https://creatiwity.net
** Version: 1.0.0
*/

@font-face {
	font-family: 'Comfortaa';
	src: url('../font/Comfortaa-Light-webfont.woff2') format('woff2'),
		 url('../font/Comfortaa-Light-webfont.woff') format('woff');
	font-weight: lighter;
	font-style: normal;
}

@font-face {
	font-family: 'Comfortaa';
	src: url('../font/Comfortaa-Regular-webfont.woff2') format('woff2'),
		 url('../font/Comfortaa-Regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Comfortaa';
	src: url('../font/Comfortaa-Bold-webfont.woff2') format('woff2'),
		 url('../font/Comfortaa-Bold-webfont.woff') format('woff');
	font-weight: bold;
	font-style: normal;
}

html {
	height: 100%;
	width: 100%;
}

body {
	height: 100%;
	width: 100%;
	font-family: Roboto, sans-serif;
	font-size: 1.6em;
	color: #2468ba;
	background: white;
	padding: 120px 0 0 0;
	margin: 0;
}

@media(max-width: 767px) {
	body {
		padding-top: 60px;
	}
}

/**
** Links
*/
a, a:focus {
	color: #2683D1;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

.scroll-reveal {
	visibility: hidden;
}

/**
** Buttons
*/
.btn {
	border-radius: 5px;
}

.btn.btn-default {
	background: none;
	border: none;
	text-transform: uppercase;
	color: #2a98ea;
	padding: 0 50px 0 0;
	background-image: url('../img/btn-arrow-bg.png');
	background-size: 40px auto;
	background-repeat: no-repeat;
	background-position: right center;
	font-size: 1.2em;
}

.btn.btn-default.btn-default-reversed {
	background-image: url('../img/btn-arrow-left-bg.png');
	background-position: left center;
	padding: 0 0 0 50px;
}

.separator:after {
	content: "";
	border-bottom: 2px solid #2a98ea;
	width: 30px;
	display: inline-block;
	margin-bottom: 10px;
}

.separator.white:after {
	border-bottom: 2px solid white;
}

.separator.blue:after {
	border-bottom: 2px solid #2d5bbf;
}

.vertical-center {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translate(0, -50%);
}

.container {
	width: 100%;
	max-width: 1400px;
}

@media(min-width: 992px) {
	.container {
		padding-left: 40px;
		padding-right: 40px;
	}
}

/**
** Titles
*/
h1, h2, h3, h4, h5, h6 {
	font-family: Comfortaa, sans-serif;
	margin: 30px 0 15px 0;
}

h1 {
	font-size: 2.8em;
}

h2 {
	font-size: 1.7em;
}

h3 {
	font-size: 1.4em;
}

h4 {
	font-size: 1.3em;
}

h5 {
	font-size: 1.2em;
}

h6 {
	font-size: 1.1em;
}

.title-arrow {
	min-height: 190px;
	background: url('../img/title-bg.png') no-repeat center;
	background-size: auto 100%;
	color: #2468ba;
	text-align: center;
	text-transform: uppercase;
	font-size: 2em;
	font-weight: bold;
	margin: 0 0 -30px 0;
	padding-top: 40px;
	position: relative;
	z-index: 1;
}

.title-arrow .smaller {
	font-size: .8em;
	font-weight: normal;
}

@media(max-width: 992px) {
	.title-arrow {
		font-size: 1.8em;
	}
}

.title-quote {
	display: inline-block;
	font-weight: bold;
	background: url('../img/icons/quotation-marks-left.png') left top no-repeat;
	background-size: 20px auto;
	margin-top: 0;
	padding: 10px 30px 0 30px;
}

.title-quote span {
	position: relative;
	display: inline-block;
}

.title-quote span:after {
	background: url('../img/icons/quotation-marks-right.png') right top no-repeat;
	background-size: 20px auto;
	display: block;
	content: ' ';
	width: 20px;
	height: 20px;
	position: absolute;
	top: -5px;
	right: -30px;
}

.title-quote.blue {
	background-image: url('../../../apps/programme-epoc/front/img/genese/title-quote-left-blue.png');
}

.title-quote.blue span:after {
	background-image: url('../../../apps/programme-epoc/front/img/genese/title-quote-right-blue.png');
}

quote {
	padding: 6px 25px;
	display: block;
	margin-top: 20px;
	margin-bottom: 20px;
}

quote.white {
	background: url('../img/icons/quotation-marks-left.png') left top no-repeat,
		url('../img/icons/quotation-marks-right.png') right top no-repeat;
	background-size: 20px auto;
}

quote.blue {
	background: url('../../../apps/programme-epoc/front/img/genese/title-quote-left-blue.png') left top no-repeat,
		url('../../../apps/programme-epoc/front/img/genese/title-quote-right-blue.png') right top no-repeat;
	background-size: 20px auto;
}

/**
** Menu
*/
.menu-container {
	position: fixed;
	top: 30px;
	left: 0;
	z-index: 300;
}

.menu-container .dash-line {
	width: 30px;
	height: 2px;
	display: inline-block;
	background-image: url('../img/icons/dash-point.png');
	background-repeat: repeat-x;
}

.menu-container .icon {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-position: right center;
	background-image: url('../img/icons/menu.png');
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-color: #2468ba;
	display: inline-block;
	vertical-align: middle;
}

.menu-container.opened .icon {
	background-image: url('../img/icons/menu-close.png');
}

.home .menu-container .icon {
	background-color: transparent;
}

.menu-container .icon span {
	display: none;
}

.menu-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 199;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	transition: opacity 300ms;
	display: none;
}

.menu-backdrop.active {
	opacity: 1;
}

@media(max-width: 767px) {
	.menu-container {
		top: 10px;
	}

	.menu-container .dash-line {
		width: 10px;
	}

	.menu-container .icon {
		width: 40px;
		height: 40px;
	}
}

.navside .sidenav-wrapper {
	width: 0;
	height: 100%;
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 200;
	transition: width 0.4s;
}

.navside .sidenav-wrapper.opened {
	width: 400px;
}

.navside .sidenav-wrapper .sidenav-content {
	width: 400px;
	height: 100%;
	color: #2a98ea;
	background-color: #194370;
	padding: 100px 40px 60px 40px;
	overflow: auto;
	position: relative;
}

@media(max-width: 767px) {
	.navside .sidenav-wrapper .sidenav-content {
		padding: 60px 40px 60px 30px;
	}
}

.navside .sidenav-wrapper .sidenav-content-inner {
	min-height: 100%;
	position: relative;
}

.navside .sidenav-wrapper .sidenav-content .btn-close {
	position: absolute;
	top: 0;
	right: 25px;
	font-size: 50px;
	margin-left: 50px;
	background: none;
	border: none;
}

.navside .sidenav-wrapper .sidenav-content a {
	text-decoration: none;
	color: #2a98ea;
	transition: 0.6s;
}

.navside .sidenav-wrapper .sidenav-content a:hover,
.navside .sidenav-wrapper .sidenav-content .active a {
	color: white;
}

.navside .sidenav-wrapper .sidenav-content ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.navside .sidenav-wrapper .sidenav-content ul a {
	font-size: 1.4em;
	text-transform: uppercase;
	display: block;
	padding: 20px 0;
}

.navside .sidenav-wrapper .sidenav-content ul li .separator:after {
	width: 50px;
	margin-top: 20px;
}

.navside .sidenav-wrapper .sidenav-content ul .home a .home-icon {
	display: block;
	width: 34px;
	height: 30px;
	background-image: url('../img/home/ic-home.png');
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: left top;
}

.navside .sidenav-wrapper .sidenav-content ul .home a:hover .home-icon,
.navside .sidenav-wrapper .sidenav-content ul .home.active a .home-icon {
	background-position: left bottom;
}

.navside .sidenav-wrapper .sidenav-content .menu-footer {
	font-size: 0.8em;
	position: absolute;
	bottom: -30px;
}

/*
** Header
*/
.page-header {
	width: 100%;
	color: white;
	border: none;
	margin: 0 0 20px 0;
	padding: 0;
	position: fixed;
	z-index: 100;
	background-color: #2468ba;
	top: 0;
}

.page-header-background {
	width: 100%;
	height: 300px;
	background-color: #2468ba;
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
}

.page-header .dash-line {
	height: 2px;
	position: absolute;
	left: 100px;
	top: 60px;
	right: 0;
	background-image: url('../img/icons/dash-point.png');
	background-repeat: repeat-x;
	display: block;
}

.page-header .navbar {
	margin: 0;
	padding: 0 0 0 130px;
	line-height: 120px;
	border: none;
}

.page-header .navbar h1 {
	color: white;
	margin: 0;
	line-height: 60px;
	background-color: #2468ba;
	font-size: 1.4em;
	margin-right: 10px;
	padding-left: 10px;
	padding-right: 10px;
	display: inline-block;
	vertical-align: middle;
	line-height: normal;
	text-transform: uppercase;
}

ul.navbar-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: inline-block;
	vertical-align: middle;
}

ul.navbar-list.mobile {
	text-align: center;
	margin-bottom: 20px;
}

ul.navbar-list.mobile li {
	margin: 0;
}

ul.navbar-list.mobile li a {
	width: 100px;
	font-size: 0.8em;
}

ul.navbar-list li {
	display: inline-block;
	background-color: #2468ba;
	margin: 0 5px;
	padding: 0 5px;
}

ul.navbar-list li a {
	width: 145px;
	line-height: 110px;
	color: #31b1ff;
	font-family: Comfortaa, sans-serif;
	font-size: 1.05em;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	text-transform: uppercase;
	vertical-align: middle;
}

ul.navbar-list li a span {
	display: inline-block;
	vertical-align: middle;
	line-height: normal;
}

ul.navbar-list li a:hover, ul.navbar-list li.active a {
	color: white;
	background: url('../img/icons/navbar-link-bg.png') center no-repeat;
	background-size: auto 100%;
}

@media(max-width: 767px) {
	.page-header .navbar {
		padding: 0 0 0 70px;
		line-height: 60px;
	}

	.page-header .dash-line {
		left: 60px;
		top: 30px;
	}
}

@media(min-width: 992px) {
	.page-header .navbar h1 {
		font-size: 2.8em;
	}
}

/**
** Structure
*/
.page-content {
	min-height: 100%;
	position: relative;
	margin-bottom: -250px;
}

.page-content .footer-push {
	height: 250px;
}

/*
** Footer
*/
#page-footer {
	min-height: 250px;
	background-color: #194370;
	text-align: center;
	color: white;
	padding: 20px 0;
	position: relative;
}

#page-footer .organizations {
	margin-bottom: 20px;
}

#page-footer .organizations .logo {
	margin: 10px;
	display: inline-block;
}

@media(min-width: 992px) {
	#page-footer .organizations .logo {
		margin: 20px 40px;
	}
}

#page-footer .organizations .logo img {
	display: inline-block;
}

#page-footer .associations {
	margin-bottom: 20px;
}

#page-footer .associations .logo {
	width: 100px;
	height: 76px;
}

#page-footer .associations .logo.andar {
	padding-top: 25px;
}

.logo-epoc-container {
	background-image: url('../img/logos/logo-bg.png');
	background-repeat: no-repeat;
	background-size: 100% 100%;
	display: inline-block;
	padding: 15px;
	margin: 0 20px;
}

.logo-epoc-container img {
	max-height: 100%;
	margin: auto;
}

#page-footer .law .color {
	color: #2a98ea;
}

#page-footer .law a {
	color: white;
}

/**
** General styles
*/

.box {
	width: 100%;
	box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
	position: relative;
	margin-bottom: 50px;
	padding: 15px;
}

.box-blue {
	color: white;
	background-color: #2468ba;
}

.bg-dark-blue {
	background-color: #00579e;
}

.box-blue a {
	color: #31b1ff;
}

.box-blue a:hover {
	color: #31b1ff;
}

.box-white {
	color: #2468ba;
	background-color: white;
}

.links-container .download-image {
	display: inline-block;
	position: absolute;
}

.links-container .download-image img {
	width: 130px;
}

.links {
	list-style: none;
	margin: 50px 0 0 0;
	padding: 0 0 0 150px;
	word-break: break-all;
}

@media(max-width: 992px) {
	.links-container .download-image img {
		width: 80px;
	}

	.links {
		padding: 0 0 0 90px;
	}
}

.links li {
	margin-bottom: 10px;
}

.link-icon {
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 20px auto;
	padding-left: 25px;
}

.link-icon-blue {
	background-image: url('../img/icons/link-icon-blue.png');
}

.link-icon-red {
	background-image: url('../img/icons/link-icon-red.png');
}

.twitter-icon {
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 20px auto;
	background-image: url('../img/icons/twitter-icon-blue.png');
	padding-left: 25px;
}

.scroller-label {
	width: 25px;
	height: 90px;
	text-align: center;
	position: fixed;
	right: 8px;
	bottom: 0;
	z-index: 5;
	transition: opacity 500ms;
}

.scroller-label.scroll-hidden {
	opacity: 0;
}

.scroller-label .legend {
	height: 20px;
	-ms-transform: rotate(-90deg); /* IE 9 */
	-webkit-transform: rotate(-90deg); /* Chrome, Safari, Opera */
	transform: rotate(-90deg);
	transform-origin: 0 0;
	text-transform: uppercase;
	position: absolute;
	top: -10px;
	left: 4px;
}

.go-to-top {
	width: 25px;
	height: 90px;
	text-align: center;
	position: absolute;
	right: 8px;
	bottom: 300px;
	z-index: 5;
	overflow: hidden;
}

.go-to-top .legend {
	height: 20px;
	-ms-transform: rotate(-90deg); /* IE 9 */
	-webkit-transform: rotate(-90deg); /* Chrome, Safari, Opera */
	transform: rotate(-90deg);
	transform-origin: 0 0;
	text-transform: uppercase;
	position: absolute;
	bottom: -20px;
	left: 0;
}

@media(max-width: 992px) {
	.scroller-label, .go-to-top {
		display: none;
	}
}

.document-icon {
	min-height: 42px;
	background-repeat: no-repeat;
	background-size: 30px auto;
	padding-left: 40px;
	display: block;
	font-size: 0.8em;
	font-weight: 200;
	margin-bottom: 50px;
}

.document-icon.pdf {
	background-image: url('../img/pdf-icon-red.png');
}

.document-icon.pdf.pdf-blue {
	background-image: url('../img/pdf-icon-blue.png');
}

.document-icon.pdf.pdf-blue:hover {
	color: #2683D1;
}

.document-icon.pdf.pdf-white {
	color: white;
	background-image: url('../img/pdf-icon-white.png');
}

.video-container {
	position: relative;
	max-width: 550px;
	margin: 0 auto 20px auto;
	padding-bottom: 75%;
}

.video-container .video-wrapper {
	width: 100%;
	height: 100%;
	position: absolute;
}

.video-container iframe, .video-container .video {
	width: 100%;
	height: 100%;
}

.video-container .poster {
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	background-color: #2468ba;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	cursor: pointer;
}

.video-container .btn-play {
	width: 122px;
	height: 122px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -61px;
	margin-left: -61px;
	background-image: url('../img/icon-video-play.png');
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center top;
	background-color: transparent;
	text-indent: -9999px;
	border: none;
	z-index: 11;
}

.video-container:hover .btn-play {
	background-position: center bottom;
}

.video-container.play .white-layer,
.video-container.play .poster,
.video-container.play .btn-play {
	display: none;
}

.animation-scale {
	animation-duration: 2s;
	animation-name: scale-item;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
}

@keyframes scale-item {
	from {
		transform: scale(1);
	}

	5% {
		transform: scale(1.05);
	}

	40% {
		transform: scale(0.8);
	}

	60% {
		transform: scale(1);
	}

	to {
		transform: scale(1);
	}
}

.tooltip {
	font-size: 1.2em;
}
