/******************
    - General -
******************/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	background:transparent;
	border:0;
	margin:0;
	padding:0;
	vertical-align:baseline;
}

* {
	margin:0;
	padding:0;
}

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

body {
	color:#fff;
	font-family:'Open Sans', Helvetica, Arial, sans-serif;
	font-weight:400;
	position:relative;
	background:#000;
	width:100%;
	height:100%;
	background-color:#000;
	text-align:center;
}

a {
	color:#24bca4;
}

a, a > * {
	outline:none;
	cursor:pointer;
	text-decoration:none;
}

a:focus, a:hover {
	outline:none;
	color:#fff;
	text-decoration:none;
}

::selection {
	color:#1a1a1a;
	text-shadow:none;
	background-color:#fff;
}

::-webkit-selection {
 	color:#1a1a1a;
 	text-shadow:none;
 	background-color:#fff;
}

::-moz-selection {
 	color:#1a1a1a;
 	text-shadow:none;
 	background-color:#fff;
}

/**********************
    - Page loader -
**********************/
.preloader {
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	z-index:99999;
	width:100%;
	height:100%;
	background-color:#fff;
}

.loader-middle {
	position:absolute;
	width:100%;
	top:50%;
	margin-top:-30px;
}

.loading-spinner {
	position:absolute;
	top:0;
    bottom:0;
    left:0;
    right:0;
    opacity:1;
    width:60px;
    height:60px;    
    border:2px solid #eee;
    border-top:3px solid #24bca4;
    border-radius:100%;   
    margin:0 auto;    
	-webkit-animation:loader-spin 1s infinite linear;
    		animation:loader-spin 1s infinite linear;
}

@keyframes loader-spin {
    from 	{transform:rotate(0deg);}
	to 		{transform:rotate(360deg);}
}

/*****************
    - Header -
*****************/
header {
	position:relative;
  	padding:120px 0;
  	background:#fff;
 	background:url(../../images/bg.jpg);
  	-webkit-background-size:cover;
	   -moz-background-size:cover;
			background-size:cover;
	background-attachment:fixed;
}

header:after {
	content:'';
	display:block;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:#fff;
	opacity:0.7;
}

header .row {
	position:relative;
	z-index:1;
}

header img {
	clear:both;
	display:inline-block;	
	margin-bottom:10px;
}

header h1 {
    font-weight:300;
    font-size:20px;
	line-height:25px;
    color:#777;
	letter-spacing:2px;
	text-transform:uppercase;
}

header p {
	font-weight:300;
    font-size:24px;
	color:#333;
    letter-spacing:2px;
    line-height:36px;
    margin:50px 0;
}

/* Button */
a.btn {
	clear:both;
	display:inline-block;
	color:#333;
	font-size:13px;
	line-height:40px;
	letter-spacing:2px;
	text-transform:uppercase;
	padding:0 30px;
	margin:5px 10px;
	background:#fff;
	text-decoration:none;
	border-radius:36px;
	transition:all .3s;
}

a.btn:hover {
	color:#fff;
	background:#333;
	text-decoration:none;
}

a.btn-colored {
	color:#fff;
	background:#24bca4;
}

/***************
    - Demo -
***************/
.demo {
  	padding:100px 0;
  	background:#fff; 
}
  
.demo h2 {
    color:#111;
    margin-bottom:0;
	font-size:32px;
	line-height:1.2em;
    font-weight:700;
	text-transform:uppercase; 
}
	
.demo h3 {
    color:#999;
    font-size:16px;
	letter-spacing:1px;
    margin:10px auto 80px;
}

.bg-grey {
	background-color:#fafbfe;
}

.separator {
	height:30px;
}

.separator.h-60 {
	height:60px;
}

.mb-5 {
	margin-bottom:50px;
}

/* Small Devices, Tablets */
@media (max-width:767px) {
	/* Margin */
	.res-margin,
	.mb-5 {
		margin-bottom:30px;
	}
}

.demo .item a {
	position:relative;
	display:block;
	border:12px solid #f3f3f3;
	transition:all .3s;
}

.demo .item a:hover {
	border-color:#d3d3d3;
}

.demo-title {
  position:relative;
  display:block;
  padding:30px 0 15px;
}

.demo-title span {
    position:absolute;
	z-index:0;
    left:0;
    right:0;
    bottom:0;
    top:0;
    margin:auto;
    text-align:center;
	font-weight:600;
    font-size:60px;
	line-height:72px;
	letter-spacing:2px;
    color:#eee; 
}
	  
.demo .item h3 {
	position:relative;
	z-index:1;
  	color:#333;
	margin:0;
	font-weight:400;
	font-size:16px;
	letter-spacing:2px;
	text-transform:uppercase;
}

.img-fluid {
	display:flex;
  	max-width:100%;
  	height:auto;
}

/*******************
    - Features -
*******************/
.feature-single {
	position:relative;
	background-color:#fff;
	box-shadow:0 0 40px 0 rgba(0, 0, 0, 0.06);
	padding:20px;
	text-align:center;
    border-radius:6px;
    transition:all 0.3s;
    transform:translateY(0);
}

.feature-single:hover {
	box-shadow:0 0 40px 0 rgba(0, 0, 0, 0.1);
    transform:translateY(-5px);
}

/* Image */
.feature-single img {
	clear:both;
	display:inline-block;
	text-align:center;
	margin:20px 0 30px;
}

/* Title */
.feature-single h5 {
	font-size:17px;
	font-weight:600;
	color:#111;
	margin-bottom:15px;
    transition:all 0.3s;
}

.feature-single:hover h5 {
	color:#24bca4;
}

/* Text */
.feature-single p {
	font-size:13px;
	line-height:1.6;
	color:#999;
    transition:all 0.3s;
}

.feature-single p:last-child {
	margin-bottom:0;
}

.feature-single:hover p {
	color:#444;
}

/*****************
    - Footer -
*****************/
footer {
  	background:#1a1a1a;
  	padding:50px 0; 
}
  
footer span.copyright {
    color:#777;
    margin-top:0;
    margin-bottom:0;
    font-size:14px;
    text-transform:uppercase;
    letter-spacing:2px;
    line-height:25px;
    font-weight:400;
}

footer span.copyright a {
	font-weight:bold;
	-webkit-transition:all .3s;
	   -moz-transition:all .3s;
			transition:all .3s;
}
	
footer span.copyright a:active, 
footer span.copyright a:focus {
	color:#fff; 
}

footer .social {
	display:block;
	clear:both;
	cursor:default;
	line-height:1;
	margin-top:15px;
	text-align:center;
}

footer .social a {
	padding:0 8px;
}

footer .social a i {
	font-size:18px;
	color:#999;
	transition:all .3s;
}

footer .social a:hover i {
	color:#fff;
}

