html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, linkquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
header, footer, menu, nav, section, article, aside {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	text-decoration:none;
	list-style:none;
	vertical-align: baseline;
	display:block;
}
:focus {outline: 0;}
ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {text-align: left;font-weight: normal;}
linkquote:before, linkquote:after,
q:before, q:after {content: "";}
linkquote, q {quotes: "" "";}

/***************************/

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

html{
	height:100%;
}

body{
	background:url(../img/rue-pave-rail.jpg) no-repeat center center / cover;
	font-family: 'Open Sans', sans-serif;
	width:100%;
	height:100%;
	overflow:hidden;
}

/******* CT LOADER *******/

.ct-loader{
	background:rgba(0, 0, 0, 0.5);
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	display:none;
	z-index:9;
}

.ct-loader.active{
	display:block;
}

.ct-loader-circle{
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translateX(-50%) translateY(-50%);
	-moz-transform:translateX(-50%) translateY(-50%);
	transform:translateX(-50%) translateY(-50%);
}

.loader-circle{
	width:100px;
	height:100px;
	border:2px solid #fff;
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	border-radius:50%;
	position:relative;
}

.active .loader-circle{
	-webkit-animation:moveRotate 2s linear infinite;
	-moz-animation:moveRotate 2s linear infinite;
	animation:moveRotate 1s linear infinite;
}

.loader-circle:before{
	content:'';
	width:80px;
	height:80px;
	border:2px solid #ffeb3b;
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	border-radius:50%;
	position:absolute;
	top:0;
	left:8px;
}

.active .loader-circle:before{
	-webkit-animation:moveRotate 2s linear infinite;
	-moz-animation:moveRotate 2s linear infinite;
	animation:moveRotate 1s linear infinite;
}

.loader-circle:after{
	content:'';
	width:68px;
	height:68px;
	border:2px solid #fff;
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	border-radius:50%;
	position:absolute;
	top:10px;
	left:14px;
}

@-webkit-keyframes moveRotate{
	0%{
		-webkit-transform:rotate(0deg);
	}
	100%{
		-webkit-transform:rotate(360deg);
	}
}

@-moz-keyframes moveRotate{
	0%{
		-moz-transform:rotate(0deg);
	}
	100%{
		-moz-transform:rotate(360deg);
	}
}

@keyframes moveRotate{
	0%{
		transform:rotate(0deg);
	}
	100%{
		transform:rotate(360deg);
	}
}

.filter-bkg{
	background:rgba(0, 0, 0, 0.5);
	width:100%;
	height:100%;
	position:absolute;
}

/******* CT CONTENT *******/

.ct-content{
	opacity:0;
	position:relative;
	-webkit-transition:opacity 1s ease, transform 1s ease;
	-moz-transition:opacity 1s ease, transform 1s ease;
	transition:opacity 1s ease, transform 1s ease;
}

.ct-content.active{
	opacity:1;
}

h1{
	width:0;
	height:0;
	overflow:hidden;
	text-indent:-9999px;
}

/******* retour webart *******/

.link-header{
	background:#fff;
	color:#f44336;
	padding:10px 20px;
	position:fixed;
	top:50%;
	left:50%;
	-webkit-transform:translateX(-50%) translateY(-50%);
	-moz-transform:translateX(-50%) translateY(-50%);
	transform:translateX(-50%) translateY(-50%);
	-webkit-border-radius:25px;
	-moz-border-radius:25px;
	border-radius:25px;
	-webkit-box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.75);
	-moz-box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.75);
	box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.75);
}

/******* Article *******/

.ct-article{
	width:280px;
	height:280px;
	position:absolute;
	-webkit-transition:background 0.5s ease;
	-moz-transition:background 0.5s ease;
	transition:background 0.5s ease;
}

.ct-article.current{
	background:rgba(0, 0, 0, 0.75);
}

.ct-article.not-current{
	background:rgba(0, 0, 0, 0.25);
}

.ct-article.not-current .filter{
	background:rgba(0, 0, 0, 0.5);
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	-webkit-transition:background 0.5s ease;
	-moz-transition:background 0.5s ease;
	transition:background 0.5s ease;
}

.ct-article.not-current:hover {
	cursor:pointer;
}

.ct-article.not-current:hover .filter{
	background:rgba(0, 0, 0, 0.25);
}

/*******/

.ct-article-block{
	width:100%;
	height:100%;
	padding:40px;
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:center;
}

.title-bkg{
	background:no-repeat center center / cover;
	width:100%;
	height:100%;
	text-indent:-9999px;
}

/*******/

.border{
	background:#fff;
	position:absolute;
	-webkit-transition:width 0.5s ease 0.35s, height 0.5s ease 0.35s;
	-moz-transition:width 0.5s ease 0.35s, height 0.5s ease 0.35s;
	transition:width 0.5s ease 0.35s, height 0.5s ease 0.35s;
}

.current .border-top{
	width:100%;
	height:5px;
	top:0;
	left:0;
}

.current .border-right{
	width:5px;
	height:100%;
	top:0;
	right:0;
}

.current .border-bottom{
	width:100%;
	height:5px;
	bottom:0;
	right:0;
}

.current .border-left{
	width:5px;
	height:100%;
	left:0;
	bottom:0;
}

.not-current .border-top{
	width:0;
	height:5px;
	top:0;
	left:0;
}

.not-current .border-right{
	height:0;
	width:5px;
	top:0;
	right:0;
}

.not-current .border-bottom{
	width:0;
	height:5px;
	bottom:0;
	right:0;
}

.not-current .border-left{
	height:0;
	width:5px;
	left:0;
	bottom:0;
}

/*******/

.ct-article-block h2{
	font-size:56px;
	font-weight:800;
	word-wrap:break-word;
}

.ct-article-block p{
	text-align:justify;
	display:none;
}

.more{
	height:40px;
	position:absolute;
	right:40px;
	bottom:40px;
	display:inline-block;
	overflow:hidden;
}

.more a{
	color:inherit;
	padding:8px;
	display:inline-block;
	-webkit-transition:transform 0.5s ease;
	-moz-transition:transform 0.5s ease;
	transition:transform 0.5s ease;
}

.more:hover a{
	-webkit-transform:translateY(-100%);
	-moz-transform:translateY(-100%);
	transform:translateY(-100%);
}

.more a:after{
	width:101%;
	height:100%;
	padding:8px;
	position:absolute;
	bottom:-100%;
	left:-1px;
}

/*******/

.article-1{
	top:33.3333%;
	left:33.3333%;
}

/*******/

.article-2{
	top:33.3333%;
	left:66.6666%;
}

.article-2 .ct-article-block{
	padding:0;
}

.article-2 .ct-block{
	background:#ff5722;
	color:#fff;
	height:100px;
	padding:34px 0;
	position:absolute;
	left:0;
	right:0;
	bottom:0;
}

.article-2 .ct-block .block-elem{
	padding:0 15px;
	border-right:1px solid #fff;
	float:left;
}

.article-2 .ct-block .title{
	width:calc(100% - 75px);
	font-size:16px;
	line-height:32px;
}

.article-2 .ct-block .like{
	width:75px;
	font-size:16px;
	line-height:32px;
	border-right:none;
}

.article-2 .like-elem{
	float:left;
}

.article-2 .like img{
	width:16px;
	margin:8px 10px 0 0;
}

.article-2 .like span{
	float:right;
}

.article-2 .ct-block .date{
	display:none;
}

/*******/

.article-3{
	top:66.6666%;
	left:66.6666%;
}

.article-3 .ct-article-block h2{
	color:#9c27b0;
}

.article-3 .ct-article-block p{
	color:#fff;
}

.article-3 .ct-article-block span{
	color:#9c27b0;
	display:inline;
}

.article-3 .ct-article-block .more{
	color:#9c27b0;
	border:1px solid #9c27b0;
}

.article-3 .ct-article-block .more a:after{
	content:'Voir les détails';
	background:#9c27b0;
	color:#fff;
}

/*******/

.article-4{
	background:#ffeb3b;
	top:66.6666%;
	left:33.3333%;
}

.article-4.current{
	background:#ffeb3b;
}

.article-4 .icon-block{
	color:#757575;
	font-size:144px;
	line-height:114px;
	text-align:center;
}

.article-4.current .icon-block{
	-webkit-animation:icon-block-4 2s ease 1s infinite;
	-moz-animation:icon-block-4 2s ease 1s infinite;
	animation:icon-block-4 2s ease 1s infinite;
	-webkit-transform-origin:50% 100%;
	-moz-transform-origin:50% 100%;
	transform-origin:50% 100%;
}

@-webkit-keyframes icon-block-4{
	6.25%{
		-webkit-transform:rotate(33deg);
	}
	12.5%{
		-webkit-transform:rotate(-33deg);
	}
	18.75%{
		-webkit-transform:rotate(16.5deg);
	}
	25%{
		-webkit-transform:rotate(-16.5deg);
	}
	31.25%{
		-webkit-transform:rotate(8.25deg);
	}
	37.5%{
		-webkit-transform:rotate(-8.25deg);
	}
	43.75%{
		-webkit-transform:rotate(4.125deg);
	}
	50%{
		-webkit-transform:rotate(-4.125deg);
	}
	56.25%{
		-webkit-transform:rotate(0);
	}
}

@-moz-keyframes icon-block-4{
	6.25%{
		-moz-transform:rotate(33deg);
	}
	12.5%{
		-moz-transform:rotate(-33deg);
	}
	18.75%{
		-moz-transform:rotate(16.5deg);
	}
	25%{
		-moz-transform:rotate(-16.5deg);
	}
	31.25%{
		-moz-transform:rotate(8.25deg);
	}
	37.5%{
		-moz-transform:rotate(-8.25deg);
	}
	43.75%{
		-moz-transform:rotate(4.125deg);
	}
	50%{
		-moz-transform:rotate(-4.125deg);
	}
	56.25%{
		-moz-transform:rotate(0);
	}
}

@keyframes icon-block-4{
	6.25%{
		transform:rotate(33deg);
	}
	12.5%{
		transform:rotate(-33deg);
	}
	18.75%{
		transform:rotate(16.5deg);
	}
	25%{
		transform:rotate(-16.5deg);
	}
	31.25%{
		transform:rotate(8.25deg);
	}
	37.5%{
		transform:rotate(-8.25deg);
	}
	43.75%{
		transform:rotate(4.125deg);
	}
	50%{
		transform:rotate(-4.125deg);
	}
	56.25%{
		transform:rotate(0);
	}
}

/*******/

.article-5{
	top:66.6666%;
	left:0;
}

.article-5.current{
	background:#e91e63;
}

.article-5 .ct-article-block h2{
	color:#fff;
}

.article-5 .ct-article-block p{
	color:#fff;
}

.article-5 .ct-article-block span{
	color:#83EC1E;
	display:inline;
}

.article-5 .ct-article-block .more{
	color:#83EC1E;
	border:1px solid #83EC1E;
}

.article-5 .ct-article-block .more a:after{
	content:'Voir les détails';
	background:#83EC1E;
	color:#e91e63;
}

/*******/

.article-6{
	top:33.3333%;
	left:0;
}

.article-6 .ct-article-block h2{
	color:#4caf50;
	word-wrap:normal;
}

.article-6 .ct-article-block p{
	color:#fff;
}

.article-6 .ct-article-block span{
	color:#4caf50;
	display:inline;
}

.article-6 .ct-article-block .more{
	color:#4caf50;
	border:1px solid #4caf50;
}

.article-6 .ct-article-block .more a:after{
	content:'Voir les détails';
	background:#4caf50;
	color:#fff;
}

/*******/

.article-7.current{
	background:#ff9800;
	top:0;
	left:0;
}

.article-7 .ct-article-block .block-elem{
	line-height:64px;
	margin-right:8px;
	float:left;
}

.article-7 .ct-article-block img{
	display:none;
}

.article-7 .ct-article-block .more{
	color:#fff;
	border:1px solid #fff;
}

.article-7 .ct-article-block .more a:after{
	content:'Voir les détails';
	background:#fff;
	color:#ff9800;
}

/*******/

.article-8{
	top:0;
	left:33.3333%;
}

.article-8 .ct-article-block h2{
	color:#673ab7;
}

.article-8 .ct-article-block p{
	color:#fff;
}

.article-8 .ct-article-block span{
	color:#673ab7;
	display:inline;
}

.article-8 .ct-article-block .more{
	color:#673ab7;
	border:1px solid #673ab7;
}

.article-8 .ct-article-block .more a:after{
	content:'Voir les détails';
	background:#673ab7;
	color:#fff;
}

/*******/

.article-9{
	top:0;
	left:66.6666%;
}

.block-anim{
	width:100%;
	height:100%;
	position:relative;
}

.block-anim h2{
	color:#f44336;
	line-height:72px;
	position:absolute;
	top:50%;
	left:50px;
	-webkit-transform:scale(0);
	-moz-transform:scale(0);
	transform:scale(0);
}

.block-anim h2:nth-child(4){
	top:50%;
	left:50%;
	-webkit-transform:translateX(-50%) translateY(-50%) scale(1);
	-moz-transform:translateX(-50%) translateY(-50%) scale(1);
	transform:translateX(-50%) translateY(-50%) scale(1);
}

.block-anim h2 span{
	color:#fff;
	display:inline;
}

.block-anim h2 sup{
	color:#fff;
	font-size:18px;
	font-weight:400;
	display:inline;
	position:absolute;
	top:0;
	right:-10px;
}

@media only screen and (min-width: 768px){

.ct-article{
	width:650px;
	height:650px;
}

.ct-article-block h2{
	font-size:72px;
	word-wrap:normal;
}

.ct-article-block p{
	display:block;
}

/*******/

.article-2 .ct-article-block{
	padding:40px;
}

.article-2 .ct-block{
	left:40px;
	right:40px;
	bottom:40px;
}

.article-2 .ct-block .title{
	width:50%;
	font-size:32px;
	line-height:32px;
}

.article-2 .ct-block .like{
	width:100px;
	border-right:1px solid #fff;
}

.article-2 .ct-block .date{
	width:calc(100% - 100px - 50%);
	font-size:16px;
	line-height:32px;
	border-right:none;
	text-align:right;
	display:block;
}

.article-3 .ct-article-block h2{
	font-size:66px;
}

.article-5 .ct-article-block h2{
	font-size:90px;
}

.article-6 .ct-article-block h2{
	font-size:90px;
}

.article-7 .ct-article-block img{
	display:block;
}

.article-8 .ct-article-block h2{
	font-size:96px;
}

/*******/

.not-current .block-anim h2:nth-child(4){
	top:50%;
	left:50%;
	-webkit-transform:translateX(-50%) translateY(-50%) scale(1);
	-moz-transform:translateX(-50%) translateY(-50%) scale(1);
	transform:translateX(-50%) translateY(-50%) scale(1);
}

.current .block-anim h2:nth-child(4){
	-webkit-transform:translateX(-50%) translateY(-50%) scale(0);
	-moz-transform:translateX(-50%) translateY(-50%) scale(0);
	transform:translateX(-50%) translateY(-50%) scale(0);
}

.current .block-anim h2:nth-child(1){
	-webkit-animation:animWord1 5s ease-out 1s forwards;
	-moz-animation:animWord1 5s ease-out 1s forwards;
	animation:animWord1 5s ease-out 1s forwards;
}

.current .block-anim h2:nth-child(2){
	-webkit-animation:animWord2 3.5s ease-out 2.1s forwards;
	-moz-animation:animWord2 3.5s ease-out 2.1s forwards;
	animation:animWord2 3.5s ease-out 2.1s forwards;
}

.current .block-anim h2:nth-child(3){
	-webkit-animation:animWord3 1.5s ease-out 3.1s forwards;
	-moz-animation:animWord3 1.5s ease-out 3.1s forwards;
	animation:animWord3 1.5s ease-out 3.1s forwards;
}

.current .block-anim h2:nth-child(4){
	-webkit-animation:animWord4 1s ease 6s forwards;
	-moz-animation:animWord4 1s ease 6s forwards;
	animation:animWord4 1s ease 6s forwards;
}

@keyframes animWord1{
	0%{
		transform:translateY(-50%) scale(0);
	}
	20%{
		transform:translateY(-50%) scale(1);
	}
	30%{
		transform:translateY(calc(-50% - (99px * 2))) scale(1);
	}
	80%{
		transform:translateY(calc(-50% - (99px * 2))) scale(1);
	}
	90%{
		transform:translateY(-50%) scale(1);
		opacity:1;
	}
	100%{
		opacity:0;
	}
}

@keyframes animWord2{
	0%{
		transform:translateY(-50%) scale(0);
	}
	30%{
		transform:translateY(-50%) scale(1);
	}
	40%{
		transform:translateY(calc(-50% - (99px))) scale(1);
	}
	70%{
		transform:translateY(calc(-50% - (99px))) scale(1);
	}
	80%{
		transform:translateY(-50%) scale(1);
		opacity:1;
	}
	100%{
		opacity:0;
	}
}

@keyframes animWord3{
	0%{
		transform:translateY(-50%) scale(0);
	}
	40%{
		transform:translateY(-50%) scale(1);
	}
	50%{
		transform:translateY(-50%) scale(1);
	}
	60%{
		transform:translateY(-50%) scale(1);
	}
	70%{
		transform:translateY(-50%) scale(1);
		opacity:1;
	}
	100%{
		opacity:0;
	}
}

@keyframes animWord4{
	0%{
		transform:translateY(-50%) scale(1);
		opacity:0;
	}
	100%{
		left:50%;
		transform:translateY(-50%) translateX(-50%) scale(1);
		opacity:1;
	}
}

}