@import url("https://fonts.googleapis.com/css?family=Montserrat:400,600,700&display=swap");

body {
	margin: 0;
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	line-height: 1.5;
	color: white;
	text-align: left;
	background-color: #092a38;
}

h2 .big_title {
	font-size: calc(20px + 2vw);
	text-shadow: 6px 6px #00000030;
}

h4 {
	font-size: calc(10px + 1vw);
}

h3 {
	font-size: 1.5em;
}

h3 .title_card {
	font-size: 1.4em;
}

h2 {
	font-size: 2em;
}

p .sub_head {
	font-size: 1.5em;
}

p .text_card {
	font-size: 1em;
}

p .big_title {
	font-size: calc(10px +6vw);
}

/*==================================
   Counter
==================================*/

/*==================================
    TIMELINE
==================================*/
/*-- GENERAL STYLES
------------------------------*/
.timeline {
	line-height: 1.4em;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

/*----- TIMELINE ITEM -----*/
.timeline-item {
	padding-left: 40px;
	position: relative;
}
.timeline-item:last-child {
	padding-bottom: 0;
}

/*----- TIMELINE INFO -----*/
.timeline-info {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 3px;
	margin: 0 0 0.5em 0;
	text-transform: uppercase;
	white-space: nowrap;
}

/*----- TIMELINE MARKER -----*/
.timeline-marker {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 15px;
}
.timeline-marker:before {
	background: #ff6b6b;
	border: 3px solid transparent;
	border-radius: 100%;
	content: "";
	display: block;
	height: 15px;
	position: absolute;
	top: 4px;
	left: 0;
	width: 15px;
	transition: background 0.3s ease-in-out, border 0.3s ease-in-out;
}
.timeline-marker:after {
	content: "";
	width: 3px;
	background: #ccd5db;
	display: block;
	position: absolute;
	top: 24px;
	bottom: 0;
	left: 6px;
}
.timeline-item:last-child .timeline-marker:after {
	content: none;
}

.timeline-item:not(.period):hover .timeline-marker:before {
	background: transparent;
	border: 3px solid #ff6b6b;
}

/*----------------------------------------------
    MOD: TIMELINE CENTERED
----------------------------------------------*/
@media (min-width: 992px) {
	.timeline-centered .timeline-item {
		padding-bottom: 40px;
		overflow: hidden;
	}
	.timeline-centered .timeline-marker {
		position: absolute;
		left: 50%;
		margin-left: -7.5px;
	}
	.timeline-centered .timeline-info,
	.timeline-centered .timeline-content {
		width: 50%;
	}
	.timeline-centered > .timeline-item:nth-child(odd) .timeline-info {
		float: left;
		text-align: right;
		padding-right: 30px;
	}
	.timeline-centered > .timeline-item:nth-child(odd) .timeline-content {
		float: right;
		text-align: left;
		padding-left: 30px;
	}
	.timeline-centered > .timeline-item:nth-child(even) .timeline-info {
		float: right;
		text-align: left;
		padding-left: 30px;
	}
	.timeline-centered > .timeline-item:nth-child(even) .timeline-content {
		float: left;
		text-align: right;
		padding-right: 30px;
	}
	.timeline-centered > .timeline-item.period .timeline-content {
		float: none;
		padding: 0;
		width: 100%;
		text-align: center;
	}
	.timeline-centered .timeline-item.period {
		padding: 50px 0 90px;
	}
	.timeline-centered .period .timeline-marker:after {
		height: 30px;
		bottom: 0;
		top: auto;
	}
	.timeline-centered .period .timeline-title {
		left: auto;
	}
}

/*----------------------------------------------
    MOD: MARKER OUTLINE
----------------------------------------------*/
.marker-outline .timeline-marker:before {
	background: transparent;
	border-color: #ff6b6b;
}
.marker-outline .timeline-item:hover .timeline-marker:before {
	background: #ff6b6b;
}

/*==================== 
	navbar
====================== */

/* Dropdown Button */
.dropbtn {
	background-color: #4caf4f00;
	color: white;
	padding: 16px;
	font-size: 16px;
	border: none;
}

/* The container <div> - needed to position the dropdown content */
.dropdown {
	position: relative;
	display: inline-block;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
	display: none;
	position: absolute;
	background-color: #f1f1f1;
	min-width: 160px;
	box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
	line-height: 15px;

	z-index: 1;
}

/* Links inside the dropdown */
.dropdown-content a {
	color: black;
	padding: 12px 16px;
	text-decoration: none;
	display: block;
	border-bottom: 0.5px solid rgba(128, 128, 128, 0.205);
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {
	background-color: #ddd;
	color: rgba(124, 207, 0, 0.979);
}

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
	display: block;
}

/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
	background-color: #3e8e4100;
}

.logo {
	display: flex;
	align-items: center;
	position: fixed;
	float: left;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 20px;
	max-width: 100px;
}

.logo img {
	max-height: 60px;
}

nav {
	position: fixed;
	width: 100%;
	line-height: 40px;
	z-index: 1000;
	flex-direction: row;
	vertical-align: middle;
	align-items: center;
}

nav ul {
	line-height: 60px;
	list-style: none;
	background: rgba(31, 31, 31, 0);
	color: #fff;
	padding: 0;
	text-align: right;
	margin: 0;
	padding-right: 40px;
	transition: 1s;
}

nav.black ul {
	background: rgba(17, 17, 17, 0.95);
}

nav ul li {
	display: inline-block;
	padding: 10px;
}

nav ul li a {
	text-decoration: none;
	color: #fff;
	font-size: 16px;
}

nav ul li a:hover {
	text-decoration: none;
	color: #90f82e;
	font-size: 16px;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.menu-icon {
	line-height: 40px;
	width: 100%;
	background: #000;
	text-align: right;
	box-sizing: border-box;
	padding: 20px 20px;
	cursor: pointer;
	color: #fff;
	display: none;
}

@media (max-width: 1100px) {
	nav {
		position: fixed;
		width: 100%;
		line-height: 20px;
		z-index: 1000;
		flex-direction: row;
		vertical-align: middle;
		align-items: center;
	}

	.logo {
		position: fixed;
		top: 0;
		margin-top: 10px;
	}

	nav ul {
		max-height: 10px;
		background: #000;
		line-height: 20px;
		overflow: hidden;
		height: 300px;
	}

	nav.black ul {
		background: #000;
	}

	.showing {
		max-height: 34em;
	}

	nav ul li {
		box-sizing: border-box;
		width: 100%;
		padding: 10px;
		text-align: center;
	}

	.menu-icon {
		display: block;
	}
}

@media (max-width: 640px) {
	nav {
		position: fixed;
		width: 100%;
		line-height: 20px;
		z-index: 1000;
		flex-direction: row;
		vertical-align: middle;
		align-items: center;
	}

	.logo {
		position: fixed;
		top: 0;
		margin-top: 10px;
	}

	.logo img {
		margin-top: 6px;
	}

	nav ul {
		max-height: 10px;
		background: #000;
		line-height: 20px;
		overflow: hidden;
		height: 300px;
	}

	nav.black ul {
		background: #000;
	}

	.showing {
		max-height: 34em;
	}

	nav ul li {
		box-sizing: border-box;
		width: 100%;
		padding: 10px;
		text-align: center;
	}

	.menu-icon {
		display: block;
	}
}

/*==================== 
	font career
====================== */

/*==================== 
	Footer 
====================== */

/* Main Footer */
footer .main-footer {
	padding: 20px 0;
	background: #1a1a1a;
}
footer ul {
	padding-left: 0;
	list-style: none;
}

/* Copy Right Footer */
.footer-copyright {
	background: #222;
	padding: 5px 0;
}
.footer-copyright .logo {
	display: inherit;
}
.footer-copyright nav {
	float: right;
	margin-top: 5px;
}
.footer-copyright nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-copyright nav ul li {
	border-left: 1px solid #505050;
	display: inline-block;
	line-height: 12px;
	margin: 0;
	padding: 0 8px;
}
.footer-copyright nav ul li a {
	color: #969696;
}
.footer-copyright nav ul li:first-child {
	border: medium none;
	padding-left: 0;
}
.footer-copyright p {
	color: #969696;
	margin: 2px 0 0;
}

/* Footer Top */
.footer-top {
	background: #252525;
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 3px solid #222;
}

/* Footer transparent */
footer.transparent .footer-top,
footer.transparent .main-footer {
	background: transparent;
}
footer.transparent .footer-copyright {
	background: none repeat scroll 0 0 rgba(0, 0, 0, 0.3);
}

/* Footer light */
footer.light .footer-top {
	background: #f9f9f9;
}
footer.light .main-footer {
	background: #f9f9f9;
}
footer.light .footer-copyright {
	background: none repeat scroll 0 0 rgba(255, 255, 255, 0.3);
}

/* Footer 4 */
.footer- .logo {
	display: inline-block;
}

.fab {
	color: lightgray;
}

/*==================== 
	Widgets 
====================== */
.widget {
	padding: 20px;
	margin-bottom: 40px;
}
.widget.widget-last {
	margin-bottom: 0px;
}
.widget.no-box {
	padding: 0;
	background-color: transparent;
	margin-bottom: 40px;
	box-shadow: none;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-ms-box-shadow: none;
	-o-box-shadow: none;
}
.widget.subscribe p {
	margin-bottom: 18px;
}
.widget li a {
	color: #e9e9e9;
}
.widget li a:hover {
	color: #4b92dc;
}
.widget-title {
	margin-bottom: 20px;
}
.widget-title span {
	background: #839fad none repeat scroll 0 0;
	display: block;
	height: 1px;
	margin-top: 25px;
	position: relative;
	width: 20%;
}
.widget-title span::after {
	background: inherit;
	content: "";
	height: inherit;
	position: absolute;
	top: -4px;
	width: 50%;
}
.widget-title.text-center span,
.widget-title.text-center span::after {
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
}
.widget .badge {
	float: right;
	background: #7f7f7f;
}

.typo-light h1,
.typo-light h2,
.typo-light h3,
.typo-light h4,
.typo-light h5,
.typo-light h6,
.typo-light p,
.typo-light div,
.typo-light span,
.typo-light small {
	color: #fff;
}

ul.social-footer2 {
	margin: 0;
	padding: 0;
	width: auto;
}
ul.social-footer2 li {
	display: inline-block;
	padding: 0;
}
ul.social-footer2 li a:hover {
	background-color: #3dc71a;
}
ul.social-footer2 li a {
	display: block;
	height: 30px;
	width: 30px;
	text-align: center;
}
.btn {
	background-color: #1eff4f;
	color: #fff;
}
.btn:hover,
.btn:focus,
.btn.active {
	background: #4b92dc;
	color: #fff;
	-webkit-box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
	-ms-box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
	-o-box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
	-webkit-transition: all 250ms ease-in-out 0s;
	-moz-transition: all 250ms ease-in-out 0s;
	-ms-transition: all 250ms ease-in-out 0s;
	-o-transition: all 250ms ease-in-out 0s;
	transition: all 250ms ease-in-out 0s;
}

/*==================== 
	Jumbotron-Landing
====================== */

.jumbotron-image {
	background: linear-gradient(rgba(1, 1, 39, 0.753), rgba(0, 0, 10, 0.25)), url(/images/tech_background.webp);

	background-attachment: fixed;
	color: white !important;
	background-repeat: no-repeat;
	background-size: cover;
	height: 100vh;
}

.jumbotron {
	margin: 0px;
	padding: Opx;
}

/*==================== 
	Jumbotron-page-
====================== */

.jumbotron-image-page {
	background: linear-gradient(rgba(1, 1, 39, 0.753), rgba(0, 0, 10, 0.25)), url(../images/tech_head.webp);

	background-attachment: fixed;
	color: white !important;
	height: auto;
	margin-bottom: 0;
	background-size: cover;
	background-repeat: no-repeat;
}

/*==================== 
	Jumbotron-carousel
====================== */

/*==================== 
	Jumbotron-carousel
====================== */

.overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(14, 29, 51, 0.8)), to(rgba(14, 29, 51, 0.2)));
	background: linear-gradient(to bottom, rgba(14, 29, 51, 0.8), rgba(14, 29, 51, 0.2));
}

.hero-slider {
	width: 100%;
	height: 100vh;
	max-height: 850px;
	overflow: hidden;
}
.hero-slider .carousel-cell {
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.hero-slider .carousel-cell .inner {
	position: relative;
	top: 40%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	color: white;
	text-align: center;
}
.hero-slider .carousel-cell .inner .subtitle {
	font-family: "Montserrat", sans-serif;
	font-size: 3em;
	line-height: 1.2em;
	font-weight: 200;
	font-style: italic;
	letter-spacing: 3px;
	color: white;
}
.hero-slider .carousel-cell .inner .title {
	font-family: "Montserrat", sans-serif;
	font-size: 6rem;
	line-height: 1.2em;
	text-transform: uppercase;
	letter-spacing: 3px;
	margin-bottom: 40px;
	text-shadow: 6px 6px #00000030;
}
.hero-slider .carousel-cell .inner .btn {
	border: 1px solid #fff;
	padding: 14px 18px;
	text-transform: uppercase;
	font-family: "Montserrat", sans-serif;
	font-size: 0.8rem;
	letter-spacing: 3px;
	color: #fff;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.hero-slider .carousel-cell .inner .btn:hover {
	background: #fff;
	color: #000;
}
.hero-slider .flickity-prev-next-button {
	width: 80px;
	height: 80px;
	background: transparent;
}
.hero-slider .flickity-prev-next-button:hover {
	background: transparent;
}
.hero-slider .flickity-prev-next-button .arrow {
	fill: white;
}
.hero-slider .flickity-page-dots {
	bottom: 30px;
}
.hero-slider .flickity-page-dots .dot {
	width: 30px;
	height: 4px;
	opacity: 1;
	background: rgba(255, 255, 255, 0.5);
	border: 0 solid white;
	border-radius: 0;
}
.hero-slider .flickity-page-dots .dot.is-selected {
	background: #ff0000;
	border: 0 solid #ff0000;
}

/*==================== 
	logo-carousel
====================== */

.customer-logos {
	background-color: transparent;
}

/* Slider */
.slick-slide {
	margin: 0px 20px;
}

.slick-slide img {
	width: 100%;
	margin: auto;
}

.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	display: block;
	overflow: hidden;

	margin: 0;
	padding: 0;
}
.slick-list:focus {
	outline: none;
}
.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: absolute;
	top: 0;
	left: 0;

	display: block;
}
.slick-track:before,
.slick-track:after {
	display: table;

	content: "";
}
.slick-track:after {
	clear: both;
}
.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;

	height: 300px;
	min-height: 1px;
}
[dir="rtl"] .slick-slide {
	float: right;
}
.slick-slide img {
	display: block;
}
.slick-slide.slick-loading img {
	display: none;
}
.slick-slide.dragging img {
	pointer-events: none;
}
.slick-initialized .slick-slide {
	display: block;
}
.slick-loading .slick-slide {
	visibility: hidden;
}
.slick-vertical .slick-slide {
	display: block;

	height: auto;

	border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
	display: none;
}

/*==================== 
	Separation
====================== */

.separation {
	background-color: #97f044;
	height: 10px;
}

/*==================== 
	Boutton
====================== */

.btn-primary {
	font-size: 14px;
	color: white;
	letter-spacing: 1px;
	line-height: 10px;
	border: 1px solid whitesmoke;
	border-radius: 40px;
	background: rgba(3, 3, 3, 0.295);
	transition: all 0.3s ease 0s;
}

.btn-primary:hover {
	color: #fff;
	background: #99c43c !important;
	border: 1px solid whitesmoke;
}

.btn-nav  {
	font-size: 16px!important;
	padding-top:10px;
	padding-bottom:10px;
	padding-left:15px;
	padding-right:15px;
	color: white!important;
	letter-spacing: 1px!important;
	line-height: 10px!important;
	border: 1px solid whitesmoke!important;
	border-radius: 40px!important;
	background: #88d24300!important;
	transition: all 0.3s ease 0s!important;
}

.btn-nav:hover {
	color: #fff!important;
	background: #3c94c4 !important;
	border: 1px solid whitesmoke !important;
	transition: all 0.3s ease 0s!important;
}


.btn-secondary {
	font-size: 20px;
	color: white;
	letter-spacing: 1px;
	line-height: 30px;
	border: 0px solid whitesmoke;
	border-radius: 10px;
	background: rgba(37, 168, 255, 0.856);
	transition: all 0.3s ease 0s;
	box-shadow: 5px 5px 8px #00000033;
}

.btn-secondary:hover {
	color: #fff;
	background: #97f044 !important;
	border: 0px solid whitesmoke;
}

.separation {
	background-color: #97f044;
	height: 10px;
}

/*==================== 
	Job cards
====================== */
.job-card-square.fa {
	color: #0e76a8;
}

.job-card-square.fa:hover {
	color: #99c43c;
	transition: all 0.3s 0s ease-in-out;
}

/*==================== 
	Arrow Landing
====================== */

.arrow {
	cursor: pointer;
	height: 20px;
	left: 10%;
	position: relative;
	top: 10%;
	transform: translateX(-50%) translateY(-50%) rotate(90deg);
	transition: transform 0.1s;
	width: 80px;
}
.arrow-top,
.arrow-bottom {
	background-color: rgb(236, 236, 236);
	height: 4px;
	left: 0px;
	position: absolute;
	top: 50%;
	width: 50%;
}
.arrow-top:after,
.arrow-bottom:after {
	background-color: #99c43c;
	content: "";
	height: 100%;
	position: absolute;
	top: 0;
	transition: all 0.5s;
}
.arrow-top {
	transform: rotate(45deg);
	transform-origin: bottom right;
}
.arrow-top:after {
	left: 100%;
	right: 0;
	transition-delay: 0s;
}
.arrow-bottom {
	transform: rotate(-45deg);
	transform-origin: top right;
}
.arrow-bottom:after {
	left: 0;
	right: 100%;
	transition-delay: 0.5s;
}
.arrow:hover .arrow-top:after {
	left: 0;
	transition-delay: 0.5s;
}
.arrow:hover .arrow-bottom:after {
	right: 0;
	transition-delay: 0s;
}
.arrow:active {
	transform: translateX(-50%) translateY(-50%) rotate(90deg) scale(1.1);
}

/*==================== 
  Paricles Header
====================== */

canvas {
	display: block;
}

/* ---- particles.js container ---- */
#particles-js {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #092a3800;
	background-image: url("");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
} /* ---- stats.js ---- */
.count-particles {
	background: #000022;
	position: absolute;
	top: 48px;
	left: 0;
	width: 80px;
	color: #13e8e9;
	font-size: 0.8em;
	text-align: left;
	text-indent: 4px;
	line-height: 14px;
	padding-bottom: 2px;
	font-family: Helvetica, Arial, sans-serif;
	font-weight: bold;
}
.js-count-particles {
	font-size: 1.1em;
}
#stats,
.count-particles {
	margin-top: 5px;
	margin-left: 5px;
}
#stats {
	border-radius: 3px 3px 0 0;
	overflow: hidden;
}
.count-particles {
	border-radius: 0 0 3px 3px;
}

/*==================== 
  Cards Services
====================== */

.card-service {
	background-color: rgba(236, 236, 236, 0);
	border-style: dotted;
	border-color: grey;
	border-radius: 5px;
}

.card-service:hover {
	background-color: rgba(236, 236, 236, 0);
	border-style: dotted;
	border-color: #00ff6a;
	border-radius: 30px;
	box-shadow: 5px 10px #00000030;
	transition: all 0.5s ease;
}

/*==================== 
  Flip Card
====================== */
.infrastructure-card-flip.card-flip {
	height: 300px;
	width: 200px;
}
.card-flip > div {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden; /* Safari */
	transition: transform 300ms;
	transition-timing-function: linear;
	width: 100%;
	height: auto;

	display: flex;
}

.card-front {
	transform: rotateY(0deg);
}

.card-back {
	transform: rotateY(180deg);
	position: absolute;
	top: 0;
	visibility: hidden;
}

.card-flip:hover .card-front {
	transform: rotateY(-180deg);
}

.card-flip:hover .card-back {
	transform: rotateY(0deg);
	visibility: visible;
}

/*==================== 
  More Button
====================== */

.btn-more {
	display: block;
	height: 60px;
	width: 60px;
	position: relative;
	margin: 10px auto;
	background: #1ecd97;
	border-radius: 8px;
	transition: all 0.3s ease;
}
.btn-more i {
	height: 40px;
	width: 6px;
	display: block;
	position: absolute;
	border-radius: 3px;
	left: 48%;
	top: 0;
	margin-left: 0px;
	transition: all 0.3s 0.3s ease;
}
.btn-more i:before {
	content: "";
	position: absolute;
	display: block;
	top: 25%;
	left: 0;
	height: 40px;
	width: 6px;
	background: #fff;
	border-radius: 3px;
	-webkit-transform-origin: top;
	transform-origin: top;
	transition: all 0.3s 0s ease;
}
.btn-more:after {
	content: "";
	height: 6px;
	width: 40px;
	background: #fff;
	display: block;
	position: absolute;
	border-radius: 3px;
	left: 20%;
	top: 50%;
	margin-top: -3px;
	-webkit-transform-origin: bottom;
	transform-origin: bottom;
	transition: all 0.3s 0s ease;
}
.btn-more:hover {
	background: #00ff6a;
	border-color: #00ff40;
}
.btn-more:hover i {
	-webkit-transform: rotateZ(30deg);
	transform: rotateZ(45deg);
	transition: all 0.3s 0s ease;
	left: 78%;
	margin-top: 2px;
}
.btn-more:hover i:before {
	-webkit-transform: rotateZ(30deg);
	transform: rotateZ(0deg);
	transition: all 0.3s 0.3s ease;
}
.btn-more:hover:after {
	-webkit-transform: rotateZ(-30deg);
	transform: rotateZ(45deg);
	transition: all 0.3s 0.3s ease;
	margin-top: -4px;
	left: -7%;
}

/*==================== 
  Border left side green
====================== */

.border-green {
	border-left: 10px solid #00ff40;
}

/*==================== 
  text shadow
====================== */

.shadowtitle {
	text-shadow: 6px 6px #00000030;
}

/*==================== 
  thumbnail
====================== */

.thumbnail {
	object-fit: cover;
	border-radius: 50%;
	width: 100px;
	height: 100px;

	display: block;
	margin: auto;
	border: 3px solid #11518a;
}

/*==================== 
      Social Icone
====================== */

.fa {
	color: #0e76a8;
}

.fa:hover {
	color: #97f044;
	box-shadow: rgba(0, 0, 0, 0.1);
	transition: all 0.3s 0s ease-in-out;
}

/*==================== 
	Timeline
====================== */

/* -------------------------------- 

Main Components 

-------------------------------- */
.cd-horizontal-timeline {
	opacity: 0;
	margin: 2em auto;
	-webkit-transition: opacity 0.2s;
	-moz-transition: opacity 0.2s;
	transition: opacity 0.2s;
}
.cd-horizontal-timeline::before {
	/* never visible - this is used in jQuery to check the current MQ */
	content: "mobile";
	display: none;
}
.cd-horizontal-timeline.loaded {
	/* show the timeline after events position has been set (using JavaScript) */
	opacity: 1;
}
.cd-horizontal-timeline .timeline {
	position: relative;
	height: 100px;
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
.cd-horizontal-timeline .events-wrapper {
	position: relative;
	height: 100%;
	margin: 0 40px;
	overflow: hidden;
}
.cd-horizontal-timeline .events-wrapper::after,
.cd-horizontal-timeline .events-wrapper::before {
	/* these are used to create a shadow effect at the sides of the timeline */
	content: "";
	position: absolute;
	z-index: 2;
	top: 0;
	height: 100%;
	width: 20px;
}
.cd-horizontal-timeline .events-wrapper::before {
	left: 0;
}
.cd-horizontal-timeline .events-wrapper::after {
	right: 0;
}
.cd-horizontal-timeline .events {
	/* this is the grey line/timeline */
	position: absolute;
	z-index: 1;
	left: 0;
	top: 49px;
	height: 2px;
	/* width will be set using JavaScript */
	background: #fff;
	-webkit-transition: -webkit-transform 0.4s;
	-moz-transition: -moz-transform 0.4s;
	transition: transform 0.4s;
}
.cd-horizontal-timeline .filling-line {
	/* this is used to create the green line filling the timeline */
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background-color: #ff3d7f;
	-webkit-transform: scaleX(0);
	-moz-transform: scaleX(0);
	-ms-transform: scaleX(0);
	-o-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: left center;
	-moz-transform-origin: left center;
	-ms-transform-origin: left center;
	-o-transform-origin: left center;
	transform-origin: left center;
	-webkit-transition: -webkit-transform 0.3s;
	-moz-transition: -moz-transform 0.3s;
	transition: transform 0.3s;
}
.cd-horizontal-timeline .events a {
	position: absolute;
	width: 100px;
	bottom: 0;
	z-index: 2;
	text-align: center;
	font-size: 1.3rem;
	padding-bottom: 15px;
	color: #383838;
	/* fix bug on Safari - text flickering while timeline translates */
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-o-transform: translateZ(0);
	transform: translateZ(0);
	color: white;
	padding: 5px;
	margin-bottom: 20px;
}
/* custom*/
.cd-horizontal-timeline .events a::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 20px;
	background: #fff;
	bottom: -20px;
	left: 50%;
}

.cd-horizontal-timeline .events a::after {
	/* this is used to create the event spot */
	content: "";
	position: absolute;
	left: 50%;
	right: auto;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	bottom: -25px;
	height: 12px;
	width: 12px;
	border-radius: 50%;
	border: 2px solid #fff;
	background-color: #fff;
	-webkit-transition: background-color 0.3s, border-color 0.3s;
	-moz-transition: background-color 0.3s, border-color 0.3s;
	transition: background-color 0.3s, border-color 0.3s;
}
.no-touch .cd-horizontal-timeline .events a:hover::after {
	background-color: #ff3d7f;
	border-color: #fff;
}
.cd-horizontal-timeline .events a.selected {
	pointer-events: none;
}
.cd-horizontal-timeline .events a.selected::after {
	background-color: #ff3d7f;
	border-color: #ff3d7f;
}
.cd-horizontal-timeline .events a.older-event::after {
	border-color: #ff3d7f;
}
@media only screen and (min-width: 1100px) {
	.cd-horizontal-timeline {
		margin: 6em auto;
	}
	.cd-horizontal-timeline::before {
		/* never visible - this is used in jQuery to check the current MQ */
		content: "desktop";
	}

	/*==================== 
	Cloud
====================== */
	.cloud-firstsection {
		color: white;
		background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("/images/tech_background.jpg");
		border-bottom: 8px solid #99c43c;
		height: 450px;
	}
	.cloud-firstsection h1 {
		font-size: 350%;
	}
	.cloud-firstsection h1,
	.cloud-firstsection h3 {
		padding-bottom: 1%;
	}
	.cloud-firstsection h1 {
		padding-top: 8%;
	}

	.cloud-firstsection button {
		margin-bottom: 4%;
		border-radius: 25px;
		width: 18%;

		border: 1px solid white;
	}

	.cloud-secondsection {
		background-color: #4ba6c4;
	}

	.cloud-secondsection h1 {
		color: white;
		padding-top: 2%;
		font-size: 100%;
		padding-bottom: 1%;
	}
	.cloud-secondsection p {
		color: white;
		padding-bottom: 2%;
	}
	.cloud-secondsection.wrapper,
	.cloud-thirdsection.wrapper {
		padding-left: 3%;
	}
	.cloud-thirdsection.wrapper {
		padding-top: 2%;
	}

	.cloud-thirdsection p {
		margin-top: 2%;
	}
	.cloud-thirdsection {
		background-color: #4b94bc;
		color: white;
	}
	.cloud-thirdsection h2 {
		float: right;
		margin-right: 5%;
		font-size: 300%;
	}

	.cloud-fourthsection {
		color: white;
		background-color: #092a38;
	}
	.cloud-fourthsection.wrapper {
		padding: 2% 0% 0% 4%;
	}
	.flip-card {
		margin: 5% 0% 5% 0%;
	}
	.cloud-fourthsection h1 {
		padding-top: 2%;
	}
	.container-h5 {
		border-left: 10px solid #99c43c;
	}
	.cloud-fourthsection.image {
		margin-bottom: 10%;
	}

	.flip-card {
		background-color: transparent;
		width: 300px;
		height: 300px;

		perspective: 1000px; /* Remove this if you don't want the 3D effect */
	}

	/* This container is needed to position the front and back side */
	.flip-card-inner {
		position: relative;
		width: 100%;
		height: 100%;
		text-align: center;
		transition: transform 0.8s;
		transform-style: preserve-3d;
	}

	/* Do an horizontal flip when you move the mouse over the flip box container */
	.flip-card:hover .flip-card-inner {
		transform: rotateY(180deg);
	}

	/* Position the front and back side */
	.flip-card-front,
	.flip-card-back {
		position: absolute;
		width: 100%;
		height: 100%;
		-webkit-backface-visibility: hidden; /* Safari */
		backface-visibility: hidden;
		border-radius: 25px;
		background-color: #ebf9fc;
	}

	/* Style the front side (fallback if image is missing) */
	.flip-card-front {
		color: black;
	}

	/* Style the back side */
	.flip-card-back {
		transform: rotateY(180deg);
		backface-visibility: hidden;
	}

	.card1-h2 {
		font-size: 100%;
		padding: 2%;
		color: white;
	}
	.card1-icon {
		margin-top: 0%;
		font-size: 200%;
	}
	.card1-flip-icon {
		font-size: 250%;
		margin-top: 2%;
	}
	.fa-plus-square,
	.fa-minus-square {
		color: #11518a;
	}

	.cloud-fifthsection {
		background-color: #00499c;
		color: white;
		padding: 2% 5% 0% 5%;
	}
	.content {
		padding-top: 2%;
	}

	.cloud-sixthsection {
		padding: 2% 5% 0% 5%;
		background-color: #9ed2ff;
		color: white;
	}
	.cloud-sixthsection h2 {
		font-size: 300%;
	}
	.cloud-seventhsection {
		background-color: #092a38;
		color: white;
	}
	.cloud-seventhsection.wrapper {
		padding: 10% 5% 10% 5%;
	}
	.cloud-seventhsection.icon {
		padding-bottom: 2%;
	}
	.cloud-seventhsection h2 {
		padding: 3% 0% 3% 0%;
	}
	.cloud-seventhsection button {
		border: 1px solid white;
		border-radius: 30px;
		width: 30%;
		font-size: 200%;
		margin-top: 2%;
	}

	@media only screen and (max-width: 665px) {
		.cloud-firstsection button {
			width: 50%;
		}
	}
	@media only screen and (max-width: 500px) {
		.content {
			padding: 2% 0% 3% 0%;
		}
	}
}

.cd-timeline-navigation a {
	/* these are the left/right arrows to navigate the timeline */
	position: absolute;
	z-index: 1;
	top: 50%;
	bottom: auto;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	height: 30px;
	width: 30px;
	border-radius: 50%;
	border: 2px solid #fff;
	/* replace text with an icon */
	overflow: hidden;
	color: transparent;
	text-indent: 100%;
	white-space: nowrap;
	-webkit-transition: border-color 0.3s;
	-moz-transition: border-color 0.3s;
	transition: border-color 0.3s;
}
.cd-timeline-navigation a::after {
	/* arrow icon */
	content: "";
	position: absolute;
	height: 16px;
	width: 16px;
	left: 50%;
	top: 50%;
	bottom: auto;
	right: auto;
	-webkit-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	-ms-transform: translateX(-50%) translateY(-50%);
	-o-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw%0D%0AOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhl%0D%0AaWdodD0iMzJweCIgdmlld0JveD0iMCAwIDE2IDMyIj48ZyAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUo%0D%0AMCwgMCkiPjxwb2x5Z29uIGZpbGw9IiM3YjlkNmYiIHBvaW50cz0iNiwxMy40IDQuNiwxMiA4LjYs%0D%0AOCA0LjYsNCA2LDIuNiAxMS40LDggIi8+PC9nPjxnICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAx%0D%0ANikiPjxwb2x5Z29uIGZpbGw9IiNkZmRmZGYiIHBvaW50cz0iNiwxMy40IDQuNiwxMiA4LjYsOCA0%0D%0ALjYsNCA2LDIuNiAxMS40LDggIi8+PC9nPjwvc3ZnPg==) no-repeat 0 0;
}
.cd-timeline-navigation a.prev {
	left: 0;
	-webkit-transform: translateY(-50%) rotate(180deg);
	-moz-transform: translateY(-50%) rotate(180deg);
	-ms-transform: translateY(-50%) rotate(180deg);
	-o-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}
.cd-timeline-navigation a.next {
	right: 0;
	color: #fff;
}
.no-touch .cd-timeline-navigation a:hover {
	border-color: #ff3d7f;
}
.cd-timeline-navigation a.inactive {
	cursor: not-allowed;
}
.cd-timeline-navigation a.inactive::after {
	background-position: 0 -16px;
}
.no-touch .cd-timeline-navigation a.inactive:hover {
	border-color: #ff3d7f;
}

.cd-horizontal-timeline .events-content {
	position: relative;
	width: 100%;
	margin: 2em 0;
	overflow: hidden;
	-webkit-transition: height 0.4s;
	-moz-transition: height 0.4s;
	transition: height 0.4s;
}
.cd-horizontal-timeline .events-content li {
	position: absolute;
	z-index: 1;
	width: 100%;
	left: 0;
	top: 0;
	-webkit-transform: translateX(-100%);
	-moz-transform: translateX(-100%);
	-ms-transform: translateX(-100%);
	-o-transform: translateX(-100%);
	transform: translateX(-100%);
	padding: 0 5%;
	opacity: 0;
	-webkit-animation-duration: 0.4s;
	-moz-animation-duration: 0.4s;
	animation-duration: 0.4s;
	-webkit-animation-timing-function: ease-in-out;
	-moz-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
}
.cd-horizontal-timeline .events-content li.selected {
	/* visible event content */
	position: relative;
	z-index: 2;
	opacity: 1;
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}
.cd-horizontal-timeline .events-content li.enter-right,
.cd-horizontal-timeline .events-content li.leave-right {
	-webkit-animation-name: cd-enter-right;
	-moz-animation-name: cd-enter-right;
	animation-name: cd-enter-right;
}
.cd-horizontal-timeline .events-content li.enter-left,
.cd-horizontal-timeline .events-content li.leave-left {
	-webkit-animation-name: cd-enter-left;
	-moz-animation-name: cd-enter-left;
	animation-name: cd-enter-left;
}
.cd-horizontal-timeline .events-content li.leave-right,
.cd-horizontal-timeline .events-content li.leave-left {
	-webkit-animation-direction: reverse;
	-moz-animation-direction: reverse;
	animation-direction: reverse;
}
.cd-horizontal-timeline .events-content li > * {
	max-width: 800px;
	margin: 0 auto;
}
.cd-horizontal-timeline .events-content h2 {
	font-weight: bold;
	font-size: 3em !important;
	font-weight: 700;
	line-height: 1.2;
}
.cd-horizontal-timeline .events-content em {
	display: block;
	font-style: italic;
	margin: 10px auto;
}
.cd-horizontal-timeline .events-content em::before {
	content: "- ";
}
.cd-horizontal-timeline .events-content p {
	font-size: 1.5em !important;
	color: #fff;
}
.cd-horizontal-timeline .events-content em,
.cd-horizontal-timeline .events-content p {
	line-height: 1.6;
}
@media only screen and (min-width: 768px) {
	.cd-horizontal-timeline .events-content h2 {
		font-size: 7rem;
	}
	.cd-horizontal-timeline .events-content em {
		font-size: 1.5em !important;
	}
	.cd-horizontal-timeline .events-content p {
		font-size: 1.8rem;
	}
}

@-webkit-keyframes cd-enter-right {
	0% {
		opacity: 0;
		-webkit-transform: translateX(100%);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0%);
	}
}
@-moz-keyframes cd-enter-right {
	0% {
		opacity: 0;
		-moz-transform: translateX(100%);
	}
	100% {
		opacity: 1;
		-moz-transform: translateX(0%);
	}
}
@keyframes cd-enter-right {
	0% {
		opacity: 0;
		-webkit-transform: translateX(100%);
		-moz-transform: translateX(100%);
		-ms-transform: translateX(100%);
		-o-transform: translateX(100%);
		transform: translateX(100%);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0%);
		-moz-transform: translateX(0%);
		-ms-transform: translateX(0%);
		-o-transform: translateX(0%);
		transform: translateX(0%);
	}
}
@-webkit-keyframes cd-enter-left {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-100%);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0%);
	}
}
@-moz-keyframes cd-enter-left {
	0% {
		opacity: 0;
		-moz-transform: translateX(-100%);
	}
	100% {
		opacity: 1;
		-moz-transform: translateX(0%);
	}
}
@keyframes cd-enter-left {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-100%);
		-moz-transform: translateX(-100%);
		-ms-transform: translateX(-100%);
		-o-transform: translateX(-100%);
		transform: translateX(-100%);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0%);
		-moz-transform: translateX(0%);
		-ms-transform: translateX(0%);
		-o-transform: translateX(0%);
		transform: translateX(0%);
	}
}

/*Contact form*/
#contact input[type="text"],
#contact input[type="email"],
#contact input[type="sub"],
#contact input[type="url"],
#contact textarea,
#contact button[type="submit"] {
	font: 400 12px/16px "Roboto", Helvetica, Arial, sans-serif;
}

.contact-container {
	margin-top: -300px;
}

#contact {
	background: white;
	border-radius: 25px;
	margin-bottom: 100%;
	border: 0.5px solid #888888;
	padding: 25px;
	margin: 150px 0;

	box-shadow: 3px 5px 5px #888888;
}

fieldset {
	border: medium none !important;
	margin: 0 0 10px;
	min-width: 100%;
	padding: 0;
	width: 100%;
}

#contact input[type="text"],
#contact input[type="email"],
#contact input[type="sub"],
#contact input[type="url"] {
	width: 50%;
	border: 1px solid #ccc;
	background: #fff;
	margin: 0 0 20px;
	padding: 10px;
	border-radius: 10px;
	box-shadow: 1px 2px 2px #888888;
}

#contact textarea {
	width: 100%;
	border: 1px solid #ccc;
	background: #fff;
	margin: 0 0 20px;
	padding: 10px;
	border-radius: 15px;
	box-shadow: 1px 2px 2px #888888;
}

#contact input[type="text"]:hover,
#contact input[type="email"]:hover,
#contact input[type="sub"]:hover,
#contact input[type="url"]:hover,
#contact textarea:hover {
	-webkit-transition: border-color 0.3s ease-in-out;
	-moz-transition: border-color 0.3s ease-in-out;
	transition: border-color 0.3s ease-in-out;
	border: 1px solid #aaa;
}

#contact textarea {
	height: 100px;
	max-width: 100%;
	resize: none;
}

#contact button[type="submit"] {
	cursor: pointer;
	width: 30%;
	border: none;
	background: #99c43c;
	color: #fff;
	margin: 0 0 5px;
	padding: 10px;
	font-size: 20px;
	float: right;
	border-radius: 25px;
}

#contact button[type="submit"]:hover {
	background: #b9ee47;
	-webkit-transition: background 0.3s ease-in-out;
	-moz-transition: background 0.3s ease-in-out;
	transition: background-color 0.3s ease-in-out;
}

#contact button[type="submit"]:active {
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
}
.contact-container {
	width: 60%;
}
.contact-banner {
	height: 300px;
}
.con {
	margin-top: -20px;
}
@media only screen and (max-width: 1500px) {
	.contact-container {
		margin-top: -20px;
	}
}
@media only screen and (max-width: 1000px) {
	.contact-container {
		margin-top: -20px;
	}
}
@media only screen and (max-width: 500px) {
	.contact-banner {
		height: 150px;
	}
	#contact button[type="submit"] {
		cursor: pointer;
		width: 100%;
		border: none;
		background: #99c43c;
		color: #fff;
		margin: 0 0 5px;
		padding: 10px;
		font-size: 20px;
		float: right;
		border-radius: 20px;
	}
	.contact-container {
		margin-top: -20px !important;
	}
	#contact input[type="text"],
	#contact input[type="email"],
	#contact input[type="sub"],
	#contact input[type="url"] {
		width: 100%;
		border: 1px solid #ccc;
		background: #fff;
		margin: 0 0 20px;
		padding: 10px;
		border-radius: 10px;
		box-shadow: 1px 2px 2px #888888;
	}
}
@media only screen and (max-width: 780px) {
	.contact-container {
		width: 100%;
		margin-top: -20px;
	}
	.con {
		padding-top: -20px;
	}
}
#contact h3 {
	margin: 0 0 20px;
}
.copyright {
	text-align: center;
}

#contact input:focus,
#contact textarea:focus {
	outline: 0;
	border: 1px solid #aaa;
}

::-webkit-input-placeholder {
	color: #888;
}

:-moz-placeholder {
	color: #888;
}

::-moz-placeholder {
	color: #888;
}

:-ms-input-placeholder {
	color: #888;
}
.map-responsive {
	overflow: hidden;
	padding-bottom: 30%;
	position: relative;
	height: 0;
}
.map-responsive iframe {
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	position: absolute;
}

@media (max-width: 640px) {
	* {
		box-sizing: border-box;
	}

	/* passer body (et tous les éléments de largeur fixe) en largeur automatique */

	body {
		width: auto;
		margin: 0;
		padding: 0;
	}

	/* fixer une largeur maximale de 100% aux éléments potentiellement problématiques */

	img,
	table,
	td,
	blockquote,
	code,
	pre,
	textarea,
	input,
	iframe,
	object,
	embed,
	video {
		max-width: 100%;
	}

	/* conserver le ratio des images */

	img {
		height: auto;
	}

	/* gestion des mots longs */

	textarea,
	table,
	td,
	th,
	code,
	pre,
	samp {
		-webkit-hyphens: auto; /* césure propre */
		-moz-hyphens: auto;
		hyphens: auto;
		word-wrap: break-word; /* passage à la ligne forcé */
	}

	code,
	pre,
	samp {
		white-space: pre-wrap; /* passage à la ligne spécifique pour les éléments à châsse fixe */
	}

	/* Passer à une seule colonne (à appliquer aux éléments multi-colonnes) */

	.element1,
	.element2 {
		float: none;
		width: auto;
	}

	/* masquer les éléments superflus */

	.hide_mobile {
		display: none !important;
	}

	/* Un message personnalisé */
}

/*==================== 
  News Page
====================== */
.news-container {
	color: black;
}
.news-container.card {
	border-radius: 25px;
}
.news-container.btn {
	background-color: #4b92dc !important;
}
.news-btn {
	background-color: #99c43c;
	font-size: 90%;
	width: 50%;
	letter-spacing: none;
	border-radius: 30px;
}
.news-btn:hover {
	background-color: #b4e648;
	-webkit-box-shadow: 0px 0px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 0px 0px rgba(0, 0, 0, 0.1);
	-ms-box-shadow: 0 0px 0px rgba(0, 0, 0, 0.1);
	-o-box-shadow: 0 0px 0px rgba(0, 0, 0, 0.1);
	box-shadow: 0 0px 0px rgba(0, 0, 0, 0.1);
	-webkit-transition: all 0ms ease-in-out 0s;
	-moz-transition: all 0ms ease-in-out 0s;
	-ms-transition: all 0ms ease-in-out 0s;
	-o-transition: all 0ms ease-in-out 0s;
	transition: all 0ms ease-in-out 0s;
}
@media only screen and (max-width: 400px) {
	.news-btn {
		width: 70% !important;
	}
	.news-btn {
		font-size: 80% !important;
	}
}

/* Timeline in posts */

.timeline-container {
	width: 100%;
	padding: 0px 0;
	margin: 0px auto;
	position: relative;
	overflow: hidden;
}

.timeline-container:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -1px;
	width: 2px;
	height: 100%;
	background: #1576d6;
	z-index: 1;
}

.timeline-block {
	width: -webkit-calc(50% + 8px);
	width: -moz-calc(50% + 8px);
	width: calc(50% + 8px);
	display: -webkit-box;
	display: -webkit-flex;
	display: -moz-box;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-moz-box-pack: justify;
	justify-content: space-between;
	clear: both;
}

.timeline-block-right {
	float: right;
}

.timeline-block-left {
	float: left;
	direction: rtl;
}

.marker {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 2px solid #1576d6;
	background: white;
	margin-top: 10px;
	z-index: 1;
}

.timeline-content {
	width: 95%;
	padding: 0 15px;
	color: #666;
}

.timeline-content h3 {
	margin-top: 5px;
	margin-bottom: 5px;
	font-size: 25px;
	font-weight: 500;
}

.timeline-content span {
	font-size: 15px;
	color: #a4a4a4;
}

.timeline-content p {
	font-size: 14px;
	line-height: 1.5em;
	word-spacing: 1px;
	color: #888;
}

@media screen and (max-width: 768px) {
	.timeline-container:before {
		left: 8px;
		width: 2px;
	}
	.timeline-block {
		width: 100%;
		margin-bottom: 30px;
	}
	.timeline-block-right {
		float: none;
	}

	.timeline-block-left {
		float: none;
		direction: ltr;
	}
}

.title_head {
	font-size: calc(10px + 2vw);
}

.flex-this {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}

/* carousel iot */

section {
	padding: 50px 0;
}

.container {
	max-width: 1044px;
	margin: 0 auto;
	padding: 0 20px;
}

.carousel {
	display: block;
	text-align: left;
	position: relative;
	margin-bottom: 22px;
}
.carousel > input {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
}
.carousel > input:nth-of-type(6):checked ~ .carousel__slides .carousel__slide:first-of-type {
	margin-left: -500%;
}
.carousel > input:nth-of-type(5):checked ~ .carousel__slides .carousel__slide:first-of-type {
	margin-left: -400%;
}
.carousel > input:nth-of-type(4):checked ~ .carousel__slides .carousel__slide:first-of-type {
	margin-left: -300%;
}
.carousel > input:nth-of-type(3):checked ~ .carousel__slides .carousel__slide:first-of-type {
	margin-left: -200%;
}
.carousel > input:nth-of-type(2):checked ~ .carousel__slides .carousel__slide:first-of-type {
	margin-left: -100%;
}
.carousel > input:nth-of-type(1):checked ~ .carousel__slides .carousel__slide:first-of-type {
	margin-left: 0%;
}
.carousel > input:nth-of-type(1):checked ~ .carousel__thumbnails li:nth-of-type(1) {
	box-shadow: 0px 0px 0px 5px rgba(0, 0, 255, 0.5);
}
.carousel > input:nth-of-type(2):checked ~ .carousel__thumbnails li:nth-of-type(2) {
	box-shadow: 0px 0px 0px 5px rgba(0, 0, 255, 0.5);
}
.carousel > input:nth-of-type(3):checked ~ .carousel__thumbnails li:nth-of-type(3) {
	box-shadow: 0px 0px 0px 5px rgba(0, 0, 255, 0.5);
}
.carousel > input:nth-of-type(4):checked ~ .carousel__thumbnails li:nth-of-type(4) {
	box-shadow: 0px 0px 0px 5px rgba(0, 0, 255, 0.5);
}
.carousel > input:nth-of-type(5):checked ~ .carousel__thumbnails li:nth-of-type(5) {
	box-shadow: 0px 0px 0px 5px rgba(0, 0, 255, 0.5);
}
.carousel > input:nth-of-type(6):checked ~ .carousel__thumbnails li:nth-of-type(6) {
	box-shadow: 0px 0px 0px 5px rgba(0, 0, 255, 0.5);
}

.carousel__slides {
	position: relative;
	z-index: 1;
	padding: 0;
	margin: 0;
	overflow: hidden;
	white-space: nowrap;
	box-sizing: border-box;
	display: flex;
}

.carousel__slide {
	position: relative;
	display: block;
	flex: 1 0 100%;
	width: 100%;
	height: 100%;
	overflow: hidden;
	transition: all 300ms ease-out;
	box-sizing: border-box;
	white-space: normal;
}
.carousel__slide figure {
	display: flex;
	margin: 0;
}
.carousel__slide div {
	position: relative;
	width: 100%;
}
.carousel__slide div:before {
	display: block;
	content: "";
	width: 100%;
	padding-top: 66%;
}
.carousel__slide div > img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}
.carousel__slide img {
	display: block;
	flex: 1 1 auto;
	object-fit: cover;
}
.carousel__slide figcaption {
	align-self: flex-end;
	padding: 20px 20px 0 20px;
	flex: 0 0 auto;
	width: 25%;
	min-width: 150px;
}
.carousel__slide .credit {
	margin-top: 1rem;
	color: rgba(0, 0, 0, 0.5);
	display: block;
}
.carousel__slide.scrollable {
	overflow-y: scroll;
}

.carousel__thumbnails {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	margin: 0 -10px;
}
.carousel__slides + .carousel__thumbnails {
	margin-top: 20px;
}
.carousel__thumbnails li {
	flex: 1 1 auto;
	max-width: calc((100% / 6) - 20px);
	margin: 0 10px;
	transition: all 300ms ease-in-out;
}
.carousel__thumbnails label {
	display: block;
	position: relative;
}
.carousel__thumbnails label:before {
	display: block;
	content: "";
	width: 100%;
	padding-top: 100%;
}
.carousel__thumbnails label > img {
	position: absolute;
	top: 50;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}
.carousel__thumbnails label:hover,
.carousel__thumbnails label:focus {
	cursor: pointer;
}
.carousel__thumbnails label:hover img,
.carousel__thumbnails label:focus img {
	box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.25);
	transition: all 300ms ease-in-out;
}
.carousel__thumbnails img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fill {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.fill img {
	flex-shrink: 0;
	min-width: 100%;
	min-height: 100%;
}
