/* General styles */

html {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	line-height: 1;
	font-family: 'Maven Pro', Tahoma, sans-serif;
	font-size: 10px;
}

*, *::before, *::after {
	-webkit-box-sizing: inherit;
	box-sizing: inherit;
}

html, body {
	margin: 0;
	padding: 0;
	height: 100%;
}

body {
	position: relative;
	font-size: 1.6rem;
	font-weight: 400;
	color: #333;
}

img {
	max-width: 100%;
	height: auto;
}

img, a img {
	border: 0;
	outline: none;
}

/* / General styles */


/* Grid */

.container {
	margin-right: auto;
	margin-left: auto;
	padding-left: 15px;
	padding-right: 15px;
	width: 1170px;
}

.container-fluid {
	margin-right: auto;
	margin-left: auto;
	padding-left: 15px;
	padding-right: 15px;
	width: 100%;
}

.row {
	margin-left: -15px;
	margin-right: -15px;
}
.row:after {
	content: "";
	display: table;
	clear: both;
}

.col {
	float: left;
	position: relative;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px;
}

.col-w-12 {
	width: 100%;
}

.col-w-11 {
	width: 91.66666667%;
}

.col-w-10 {
	width: 83.33333333%;
}

.col-w-9 {
	width: 75%;
}

.col-w-8 {
	width: 66.66666667%;
}

.col-w-7 {
	width: 58.33333333%;
}

.col-w-6 {
	width: 50%;
}

.col-w-5 {
	width: 41.66666667%;
}

.col-w-4 {
	width: 33.33333333%;
}

.col-w-3 {
	width: 25%;
}

.col-w-2 {
	width: 16.66666667%;
}

.col-w-1 {
	width: 8.33333333%;
}

.col-w-offset-12 {
	margin-left: 100%;
}

.col-w-offset-11 {
	margin-left: 91.66666667%;
}

.col-w-offset-10 {
	margin-left: 83.33333333%;
}

.col-w-offset-9 {
	margin-left: 75%;
}

.col-w-offset-8 {
	margin-left: 66.66666667%;
}

.col-w-offset-7 {
	margin-left: 58.33333333%;
}

.col-w-offset-6 {
	margin-left: 50%;
}

.col-w-offset-5 {
	margin-left: 41.66666667%;
}

.col-w-offset-4 {
	margin-left: 33.33333333%;
}

.col-w-offset-3 {
	margin-left: 25%;
}

.col-w-offset-2 {
	margin-left: 16.66666667%;
}

.col-w-offset-1 {
	margin-left: 8.33333333%;
}

.col-w-offset-0 {
	margin-left: 0%;
}

/* / Grid */


/* General text styles */

ul, ol {
	margin: 0;
	padding: 0;
}

ul {
	list-style: none;
}

ol {
	list-style-position: inside;
}

ul li, ol li {
	position: relative;
	margin-bottom: 1.2rem;
}

.text-left {
	text-align: left;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.text-justify {
	text-align: justify;
}

.uppercase {
	text-transform: uppercase;
}

.lowercase {
	text-transform: lowercase;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 1.5rem 0;
}

h1 {
	padding-bottom: 3rem;
	font-size: 4rem;
}

h2 {
	padding-bottom: 2.6rem;
	font-size: 3.6rem;
}

h3 {
	padding-bottom: 2.2rem;
	font-size: 3.2rem;
}

h4 {
	padding-bottom: 1.8rem;
	font-size: 2.8rem;
}

h5 {
	font-size: 2.4rem;
}

h6 {
	font-size: 2rem;
}

p {
	margin: 0;
	margin-bottom: 1.3rem;
	line-height: 1.3;
	font-size: inherit;
}

kbd {
    display: inline-block;
    padding: 0.5rem;
    background: #e6e6e6;
    border-radius: 0.5rem;
}

/* / General text styles */


/* General links styles */

a, a:hover, a:focus {
	text-decoration: none;
	outline: none;
}

.link-on-blue {
    color: #fff;
}

.link-on-blue:hover {
    opacity: 0.7;
}

/* / General links styles */


/* General table styles */

table {
	margin: 0;
	padding: 0;
	border-collapse: collapse;
}

table th, table td {
	vertical-align: middle;
}

.div-as-table {
	display: table;
	width: 100%;
	height: 100%;
}

.div-as-table-cell {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	height: 100%;
}

/* / General table styles */


/* General form's styles */

label, input {
	display: block;
}

textarea {
	resize: none;
}

/* / General form's styles */


/* General buttons styles */

.btn {
	position: relative;
	display: inline-block;
	margin-bottom: 1.4rem;
	padding: 1rem 1.4rem;
	border: 0;
	text-align: center;
	letter-spacing: 1px;
	transition: all .3s linear;
}
.btn:hover {
	cursor: pointer;
}
.btn:hover, .btn:focus {
	border: 0;
	outline: none;
}

.btn-small {
	font-size: 1.6rem;
}

.btn-medium {
	font-size: 2.2rem;
}

.btn-large {
	font-size: 2.8rem;
}

.btn-largest {
	font-size: 3.4rem;
}

.btn i.fa {
	margin: 0 0.4rem;
}

.btn-rounded-3 {
	border-radius: 3px;
}

.btn-rounded-9 {
	border-radius: 9px;
}

.btn-rounded-15 {
	border-radius: 15px;
}

.btn-blue {
	background: #09f;
	color: #fff !important;
}

.hover-after-opacity:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background: rgba(255, 255, 255, .15);
	transition: all .3s linear;
}
.hover-after-opacity:hover:after {
	width: 100%;
}

/* / General buttons styles */


/* Content styles */

.content-wrapper {
	padding: 100px 80px;
}

.default-block {
	position: relative;
	margin-bottom: 10px;
	padding: 20px;
	width: 100%;
	min-height: 50px;
	background: #fff;
}

.box-shadow-block {
	box-shadow: 0 0 5px rgba(0, 0, 0, .15);
}

.v-space-small {
	height: 3rem;
}

.hidden {
	display: none;
}

.default-modal {
	padding: 30px;
	width: 600px;
	text-align: center;
}

.default-list li:before {
	content: "\f105";
	margin-right: 6px;
	font-family: FontAwesome;
	color: #c0c0c0;
}

.note-left-bordered {
	display: inline-block;
	padding-left: 13px;
	border-left: 3px solid #ccc;
	color: #888;
}

.note-in-text {
	color: #888;
}

.gallery-wrapper {
	padding: 30px 0;
}

.gallery-item {
	position: relative;
	overflow: hidden;
	display: inline-block;
	margin: 0 10px 10px 0;
	width: 80px;
	height: 80px;
	text-align: center;
}
.gallery-item:last-child {
	margin: 0;
}

.gallery-item img {
	height: 100%;
}

.opacity-50 {
	opacity: .5;
}

.fa-in-circle {
	border-radius: 50%;
	text-align: center;
}

.logo-link {
	position: absolute;
	top: 2rem;
	left: 5rem;
	z-index: 1;
    display: inline-block;
	width: 20rem;
	height: 8rem;
}

.logo-link img {
	max-width: 100%;
	height: auto;
}

.main-wrapper {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
}

.top-menu {
	position: absolute;
	top: 2rem;
	left: 50%;
	z-index: 10;
	margin-left: -25%;
	padding: 0;
	width: 50%;
	list-style: none;
	text-align: center;
}

.top-menu li {
	display: inline-block;
	margin-right: 3rem;
}
.top-menu li:last-child {
	margin: 0;
}
.top-menu li a {
	color: #fff;
}
.top-menu li a:hover {
	text-decoration: none;
	opacity: .8;
}

.top-link.active {
	border-bottom: 2px solid #fff;
}

.page {
	position: relative;
	float: left;
	padding: 2rem;
	width: 100vw;
	height: 100%;
	background: #fff;
}

.page-heading {
	position: absolute;
	top: 3rem;
	right: 5rem;
	padding-bottom: 1.5rem;
	border-bottom: 5px solid #333;
}

.owl-carousel, .owl-wrapper-outer, .owl-wrapper, .owl-item {
	height: 100%;
}

.fa-chevrons {
	position: absolute;
	z-index: 1;
	margin-top: -25px;
	width: 50px;
	height: 50px;
	background: rgba(0, 0, 0, .5);
	text-align: center;
	line-height: 50px !important;
	color: #fff;
}
.fa-chevrons:hover {
	cursor: pointer;
	background: rgba(0, 0, 0, .8);
}

.fa-chevron-left {
	top: 50%;
	left: 0;
}

.fa-chevron-right {
	top: 50%;
	right: 0;
}

#start {
	background: rgb(0, 153, 255);
}

#start .page-heading {
	border-color: #fff;
	color: #fff;
}

.heading-group {
	position: relative;
}
.heading-group h1 {
	position: relative;
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
	text-transform: lowercase;
}
.heading-group h1:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 30px;
	height: 5px;
	background: #fff;
}

.heading-group p {
	opacity: .8;
}

#start .heading-group {
	color: #fff;
}

#start .heading-group h1:after {
	left: 50%;
	margin-left: -15px;
}


.philosophy-points {
	position: relative;
	padding: 80px 0;
}

.philosophy-points ul li {
	display: inline-block;
	margin-right: 8rem;
}
.philosophy-points ul li:last-child {
	margin: 0;
}
.philosophy-points ul li.ui-tabs-active a {
	color: #fff;
}

.philosophy-points a {
	display: inline-block;
	font-size: 6rem;
	color: rgba(255, 255, 255, .6);
	transition: all .3s linear;
}
.philosophy-points a:hover {
	cursor: pointer;
	text-shadow: 0 0 10px rgba(0, 0, 0, .3);
	color: #fff;
}

.philosophy-points h1 {
	margin-top: 3rem;
	font-size: 6rem;
	color: #fff;
}


.tags-wrapper {
	margin-bottom: 20px;
}

.tag-item {
	position: relative;
	overflow: hidden;
	display: inline-block;
	margin: 0 4px 6px 0;
	padding: 8px 14px;
	border-radius: 15px;
	background: #6c6;
	font-size: 1.4rem;
	color: #fff;
}
.tag-item:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background: rgba(0, 0, 0, .08);
}

.tag-item.gray-bg {
	background: #ddd;
	color: #333;
}

.tag-item span {
	position: relative;
	z-index: 1;
}

.tag-item.fullness-75:after {
	width: 75%;
}

.tag-item.fullness-65:after {
	width: 65%;
}

.tag-item.fullness-60:after {
	width: 60%;
}

.tag-item.fullness-55:after {
	width: 55%;
}

.tag-item.fullness-50:after {
	width: 50%;
}

.tag-item.fullness-45:after {
	width: 45%;
}

.tag-item.fullness-40:after {
	width: 40%;
}

.tag-item.fullness-35:after {
	width: 35%;
}

.tag-item.fullness-25:after {
	width: 25%;
}

.tag-item.fullness-15:after {
	width: 15%;
}


.activity-wrapper {
	position: relative;
	margin-bottom: 30px;
	padding: 20px;
	border: 10px solid #09f;
}

.tooltip {
	position: absolute;
	z-index: 3;
	font-size: 1.3rem;
	color: #888;
}

.activity-wrapper h1 {
	position: relative;
	z-index: 1;
}

.activity-wrapper:hover .hover-indicator {
	display: block;
}

.hover-indicator {
	position: absolute;
	top: 10px;
	right: 10px;
	display: none;
	width: 15px;
	height: 15px;
	background: #09f;
	border-radius: 50%;
	animation: indicator 1s infinite linear;
}


.default-block.web-dev {
	padding-top: 50px;
	height: 130px;
	border-radius: 9px;
	text-align: center;
}

.default-block.web-dev .fa-in-circle {
	position: absolute;
	top: -25px;
	margin-right: 0;
	width: 50px;
	height: 50px;
	background: #6c6;
	line-height: 50px;
	font-size: 2.2rem;
	color: #fff;
}


body.internal a {
	color: #333;
}
body.internal a:hover {
	color: #09f;
}

body.internal .fa-in-circle {
	position: relative;
	margin-right: 6px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	font-size: 1.8rem;
	background: #efefef;
	color: #666;
}

body.internal .logo-link {
	width: 13rem;
}

body.internal .top-link.active {
	border-color: #09f;
	color: #09f;
}

body.internal .top-menu li a {
	color: #333;
}


/* tmp */

.philosophy-points .back-btn {
	display: inline-block;
	margin-top: 15px;
	padding: 6px;
	border: 2px solid rgba(255, 255, 255, .6);
	border-radius: 3px;
	color: rgba(255, 255, 255, .6);
	transition: all .3s linear;
}
.philosophy-points .back-btn:hover {
	cursor: pointer;
	border-color: #fff;
	color: #fff;
}
.philosophy-points .back-btn:hover i.fa {
	color: #fff;
}

.philosophy-points i.fa-reply {
	margin-right: 0;
	font-size: 2.3rem !important;
}

/* / tmp */


/* Forms */

.form-field {
	display: block;
	margin-bottom: 15px;
	padding: 10px;
	min-width: 300px;
	border-radius: 15px;
	border: 2px solid #ccc;
	font-family: 'Maven Pro', Tahoma, sans-serif;
	color: #444;
	transition: all .3s linear;
}
.form-field:focus {
	border-color: #09f;
	outline: none;
}

.form-textarea {
	height: 100px;
	font-family: 'Maven Pro', Tahoma, sans-serif;
}

.hidden-label {
	display: none;
	font-size: 1.3rem;
}

.form-msg p {
	font-size: 2rem;
}

.form-msg i.fa {
	margin-bottom: 20px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border-width: 2px;
	border-style: solid;
	line-height: 50px;
}

.form-msg.success {
	color: #6c6;
}

.form-msg.error {
	color: #f60;
}

/* / Forms */


/* Privacy Policy */

.doc-page {
    padding-top: 15rem;
    padding-bottom: 10rem;
    color: #fff;
}

.doc-page ol li {
    line-height: 1.3;
}

.bg-blue {
    background: rgb(0, 153, 255);
}

/* / Privacy Policy */


/* / Content styles */


/* Animation */

@keyframes indicator {
	0% {
		box-shadow: inset 0 0 5px #6c6;
		-moz-transform: scale(1.1);
		-webkit-transform: scale(1.1);
		-o-transform: scale(1.1);
		-ms-transform: scale(1.1);
		transform: scale(1.1);
	}
	50% {
		box-shadow: inset 0 0 10px #6c6;
		-moz-transform: scale(1.3);
		-webkit-transform: scale(1.3);
		-o-transform: scale(1.3);
		-ms-transform: scale(1.3);
		transform: scale(1.3);
	}
	100% {
		box-shadow: inset 0 0 5px #6c6;
		-moz-transform: scale(1.1);
		-webkit-transform: scale(1.1);
		-o-transform: scale(1.1);
		-ms-transform: scale(1.1);
		transform: scale(1.1);
	}
}

/* / Animation */


/* @media */

/* overpass this hack */

@media only screen and (max-width: 1400px) {
    html {
        font-size: 8px;
    }

    .top-menu li a {
        font-size: 1.8rem;
    }
}

/* / @media */


/* Fancybox */

.fancybox-wrap {
	width: auto !important;
}

.fancybox-skin {
	padding: 0 !important;
}

.fancybox-nav {
	width: 20% !important;
}

.fancybox-close {
	top: 0 !important;
	right: -38px !important;
}

/* / Fancybox */