﻿/*-----------------------------------------------------------------------------------*/
/*	GENERAL STYLING
/*-----------------------------------------------------------------------------------*/
::selection {
	background: #000;
	color: #fff;
}

::-moz-selection {
	background: #000;
	color: #fff;
}

footer ::selection {
	background: #fff;
	color: #000;
}

footer ::-moz-selection {
	background: #fff;
	color: #000;
}

.breadcrumbs_block ::selection {
	background: #fff;
	color: #000;
}

.breadcrumbs_block ::-moz-selection {
	background: #fff;
	color: #000;
}

.cleancode_block ::selection {
	background: #fff;
	color: #000;
}

.cleancode_block ::-moz-selection {
	background: #fff;
	color: #000;
}



body {
	overflow-x: hidden;
	position: relative;
	margin: 0;
	padding: 0;
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	font-size: 13px;
	line-height: 20px;
	color: #666;
	background-color: #fff;
}

#page {
	overflow-x: hidden;
	position: relative;
	z-index: 5;
}

.preloader_hide {
	opacity: 0;
}

#preloader {
	position: fixed;
	left: 50%;
	top: 50%;
	width: 32px;
	height: 32px;
	margin: -16px 0 0 -16px;
	display: block;
}

section {
	background-color: #fff;
}

.container {
	padding-left: 0;
	padding-right: 0;
}

.parallax {
	background-position: 0 0;
	width: 100%;
	background-attachment: fixed !important;
}

a,
input,
select,
textarea {
	vertical-align: top;
	outline: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-border-radius: 0;
	border-radius: 0;
}

select:-moz-focusring {
	color: transparent;
	outline: none !important;
	text-shadow: 0 0 0 #000 !important;
	border: 0 !important;
}

textarea {
	resize: none;
}

img {
	outline: 0;
	vertical-align: top;
	border: 0;
	max-width: 100.1%;
	height: auto;
}

a {
	color: #999;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

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




.margbot0 {
	margin-bottom: 0;
}

.margbot5 {
	margin-bottom: 5px !important;
}

.margbot10 {
	margin-bottom: 10px;
}

.margbot20 {
	margin-bottom: 20px;
}

.margbot25 {
	margin-bottom: 25px;
}

.margbot30 {
	margin-bottom: 30px !important;
}

.margbot40 {
	margin-bottom: 40px;
}

.margbot50 {
	margin-bottom: 50px;
}

.margbot60 {
	margin-bottom: 60px;
}

.margbot70 {
	margin-bottom: 70px;
}

.margbot80 {
	margin-bottom: 80px;
}

.pad0 {
	padding: 0 !important;
}

.padbot0 {
	padding-bottom: 0 !important;
}

.padbot10 {
	padding-bottom: 10px !important;
}

.padbot20 {
	padding-bottom: 20px !important;
}

.padbot30 {
	padding-bottom: 30px !important;
}

.padbot40 {
	padding-bottom: 40px !important;
}

.padbot50 {
	padding-bottom: 50px !important;
}

.padbot60 {
	padding-bottom: 60px !important;
}

.padbot70 {
	padding-bottom: 70px !important;
}

.padbot80 {
	padding-bottom: 80px !important;
}

.padtop0 {
	padding-top: 0 !important;
}

.overlay {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(48, 166, 124, 0.5);
}

.relative_block {
	position: relative;
	z-index: 5;
}








/*-----------------------------------------------------------------------------------*/
/*	TYPOGRAPHY
/*-----------------------------------------------------------------------------------*/
hr {
	border-color: #ededed;
}

ul,
ol {
	padding: 0;
	margin: 0;
}

li {
	padding: 0;
	margin: 0;
	list-style: none;
}

p {
	margin: 0 0 20px;
}


h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	font-family: 'Roboto', sans-serif;
	text-transform: none;
	font-weight: 300;
	color: #333;
}

h1 {
	margin: 0 0 26px;
	line-height: 46px;
	font-size: 46px;
}

h2 {
	margin: 0 0 26px;
	line-height: 40px;
	font-size: 40px;
}

h2 b {
	font-weight: 500;
}

h3 {
	margin: 0 0 21px;
	line-height: 25px;
	font-size: 22px;
}

h3 b {
	font-weight: 900;
}

h4 {
	margin: 0 0 34px;
	line-height: 25px;
	font-size: 20px;
}

h4 b {
	font-weight: 500;
}

h5 {
	margin: 0 0 15px;
	line-height: 20px;
	font-size: 15px;
}

h6 {
	margin: 0 0 15px;
	line-height: 20px;
	font-size: 12px;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.color_text {
	color: #30a67c;
}

.color_dark {
	color: #505050;
}

.color_light {
	color: #979797;
}

.color_white {
	color: #fff;
}

.color_red {
	color: #c10707;
}

.color_yellow {
	color: #fec400;
}

.color_bg {
	background: #30a67c;
}

/* __________ blockquote __________ */
blockquote {
	position: relative;
	margin: 0 0 13px;
	padding: 0 0 0 47px;
	border: 0;
	font-style: italic;
	font-size: 16px;
	color: #979797;
}

blockquote:before {
	content: 'â€œ';
	position: absolute;
	left: 15px;
	top: 13px;
	font-style: italic;
	font-size: 70px;
	color: #979797;
}






/*-----------------------------------------------------------------------------------*/
/*	SHORTCODES
/*-----------------------------------------------------------------------------------*/
/* __________ Buttons __________ */
.btn {
	margin: 0;
	padding: 24px 27px 22px;
	border: 2px solid #ccc;
	border-radius: 0;
	box-shadow: none;
	font-weight: 900;
	line-height: 20px;
	font-size: 13px;
	color: #999;
	text-shadow: none;
	background-image: none !important;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.btn:focus,
.btn:hover {
	color: #333;
	border-color: #333;
}

.btn-active {
	background-color: #1c1c1c;
	color: #fff;
	border-color: #1c1c1c;
}

.btn-active:hover {
	color: #fff;
}


.btn-lg {
	padding: 19px 30px;
	font-size: 18px;
}

.btn-sm {
	padding: 6px 20px 5px;
	font-size: 13px;
}

.btn-xs {
	padding: 2px 15px 3px;
	font-size: 11px;
}


.btn_shortcodes .btn {
	margin: 0 7px 10px 0;
}

.btn_shortcodes .btn:last-child {
	margin-right: 0;
}


.ie .btn,
.ie .btn-default {
	filter: none !important;
}






/* __________ breadcrumb __________ */
.breadcrumbs_block {
	padding: 81px 0;
	background-image: url(../images/clean_code_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}

.breadcrumbs_block h2 {
	margin-bottom: 15px;
	line-height: 80px;
	font-size: 80px;
	color: #fff;
}

.breadcrumbs_block p {
	margin: 0;
	line-height: 34px;
	font-size: 26px;
	color: #999;
}










/*-----------------------------------------------------------------------------------*/
/*	HEADER
/*-----------------------------------------------------------------------------------*/
header {
	position: relative;
	height: 60px;
	background-color: #fff;
}


/* __________ Logo __________ */
.logo {
	float: left;
}

.logo a {
	line-height: 60px;
	font-size: 26px;
	color: #333;
}

.logo a span {
	display: inline-block;
	padding-right: 18px;
}

.logo a span.b1 {
	font-weight: 900;
}

.logo a span.b2 {
	font-weight: 700;
}

.logo a span.b3 {
	font-weight: 400;
}

.logo a span.b4 {
	font-weight: 300;
}

.logo a span.b5 {
	font-weight: 100;
}




/* __________ Menu __________ */
a.menu_toggler {
	display: none;
}

.menu_block {
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	right: 0;
	height: 60px;
	width: 100%;
	background-color: #fff;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}

.navmenu ul li {
	position: relative;
	display: inline-block;
}

.navmenu ul li a {
	display: block;
	margin: 0 0 0 -3px;
	padding: 20px 20px;
	font-family: 'Roboto', sans-serif;
	font-weight: 900;
	line-height: 20px;
	font-size: 14px;
	color: #7d7d7d;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.navmenu li:hover a,
.navmenu li.active a {
	color: #333;
}

/* Sub menu */
.sub-menu ul {
	display: none;
	position: absolute;
	z-index: 9990;
	width: 180px;
	left: 50%;
	top: 100%;
	padding: 0;
	margin: 0 0 0 -90px;
}

.sub-menu.last ul {
	right: 0;
	left: auto;
}

.sub-menu ul:before {
	content: '';
	position: absolute;
	left: 50%;
	top: -6px;
	margin-left: -5px;
	width: 0;
	height: 0;
	border-left: 6px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 6px solid #232323;
}

.sub-menu ul li {
	margin: 0;
	padding: 0;
	width: 100%;
	border-top: 0;
}

.sub-menu ul li a {
	position: relative;
	margin: 0;
	padding: 15px 5px 14px 21px;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	text-align: justify;
	font-size: 13px;
	color: #c6c6c6 !important;
	background: #303030;
	border-bottom: 1px solid #383838;
}

.sub-menu ul li:last-child a {
	border-bottom: 0;
}

.sub-menu ul li.active a,
.sub-menu ul li a:hover {
	color: #fff !important;
	background: #161616;
}



/*-----------------------------------------------------------------------------------*/
/*	HOME
/*-----------------------------------------------------------------------------------*/
#home {
	position: relative;
	margin: 0;
	padding: 0;
	overflow: hidden;
}






/*-----------------------------------------------------------------------------------*/
/*	ABOUT
/*-----------------------------------------------------------------------------------*/
#about {
	padding-top: 70px;
}

/* __________ Section Title Alignment __________ */
/* Keep h2 left-aligned, matching the slider left edge */
#projects .container,
#team .container,
#news .container {
	padding-top: 40px;
	padding-left: 15px;
}

#projects .container h2,
#team .container h2,
#news .container h2 {
	text-align: left;
	padding-left: 20px;
}


/*-----------------------------------------------------------------------------------*/
/*	FEATURED WORKS
/*-----------------------------------------------------------------------------------*/
#projects {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 0;
	box-sizing: border-box;
}

.work_item {
	position: relative;
	height: 300px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	/* Safari Flicker Prevention */
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	transform: translateZ(0);
}

.work_item img {
	width: auto;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}


.work_item .work_description {
	position: absolute;
	z-index: 20;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	opacity: 0;
	background-color: transparent;
	/* Removed rgba(0, 0, 0, 0.70) to prevent darkening */
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

@media (hover: hover) {
	.work_item:hover .work_description {
		opacity: 1;
	}

	.work_item:hover .work_description .work_descr_cont {
		opacity: 1;
		transform: translateY(-50%);
		-o-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
	}

	.work_item:hover a.zoom {
		bottom: 56px;
		opacity: 1;
	}

	.work_item a.zoom:hover {
		background-image: url(../images/zoom_h.png);
	}
}

.work_item .work_description .work_descr_cont {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	opacity: 0;
	transform: translateY(-100%);
	-o-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	-webkit-transform: translateY(-100%);
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.work_item .work_description a {
	display: block;
	margin: 0 0 6px;
	font-weight: 300;
	line-height: 24px;
	font-size: 24px;
	color: #fff;
}

.work_item .work_description span {
	color: #b5b5b5;
}

.work_item a.zoom {
	position: absolute;
	z-index: 30;
	left: 50%;
	bottom: 0;
	width: 60px;
	height: 36px;
	margin-left: -30px;
	opacity: 0;
	background-image: url(../images/zoom.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100% auto;
	-webkit-background-size: 100% auto;
	transition: bottom 0.3s ease-in-out, opacity 0.3s ease-in-out;
	-webkit-transition: bottom 0.3s ease-in-out, opacity 0.3s ease-in-out;
}



/* __________ WORKS DETAILS __________ */
#project_prev,
#project_close,
#project_next {
	position: relative;
	z-index: 1;
	display: inline-block;
	width: 50px;
	height: 50px;
	margin: 0 -2px 0 -3px;
	border: 2px solid #ccc;
	font-family: FontAwesome;
	transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
}

#project_prev:hover,
#project_close:hover,
#project_next:hover {
	z-index: 2;
	border-color: #333;
}

#project_prev i,
#project_close i,
#project_next i {
	line-height: 46px;
	font-size: 26px;
	color: #ccc;
	transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
}

#project_close i {
	margin: 0 -2px;
}

#project_prev:hover i,
#project_close:hover i,
#project_next:hover i {
	color: #333;
}

#project_prev.first,
#project_next.last {
	cursor: default;
}

#project_prev.first:hover,
#project_next.last:hover {
	border-color: #ccc;
}

#project_prev.first:hover i,
#project_next.last:hover i {
	color: #ccc;
}


ul.project_info li {
	margin-bottom: 3px;
	font-style: italic;
	color: #505050;
}

ul.project_info li span {
	color: #979797;
}

ul.project_info li span {
	color: #979797;
}

.project_shared {
	padding: 15px 0;
}

.project_shared a {
	display: inline-block;
	width: 36px;
	height: 36px;
	margin-right: 5px;
	border: 1px solid #ccc;
	text-align: center;
	line-height: 34px;
	font-size: 20px;
	color: #ccc;
}

.project_shared a:hover {
	border-color: #333;
	color: #333;
}



/* __________ Our Clients __________ */
.our_clients {
	padding: 71px 0 78px;
}

.our_clients .client_img {
	opacity: 0.5;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.our_clients .client_img:hover {
	opacity: 1;
}









/*-----------------------------------------------------------------------------------*/
/*	3D
/*-----------------------------------------------------------------------------------*/
#team {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 0;
	box-sizing: border-box;
}

.team_item {
	position: relative;
	height: 300px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.team_item img {
	width: auto;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.owl-item:hover .team_item {
	transform: scale(1.03);
	-o-transform: scale(1.03);
	-ms-transform: scale(1.03);
	-webkit-transform: scale(1.03);
}

.team_item .team_description {
	position: absolute;
	z-index: 20;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	opacity: 0;
	background-color: rgba(0, 0, 0, 0.70);
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.team_item:hover .team_description {
	opacity: 1;
}

.team_item .team_description .team_descr_cont {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	opacity: 0;
	transform: translateY(-100%);
	-o-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	-webkit-transform: translateY(-100%);
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.team_item:hover .team_description .team_descr_cont {
	opacity: 1;
	transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.team_item .team_description a {
	display: block;
	margin: 0 0 6px;
	font-weight: 300;
	line-height: 24px;
	font-size: 24px;
	color: #fff;
}

.team_item .team_description span {
	color: #b5b5b5;
}

.team_item a.zoom {
	position: absolute;
	z-index: 30;
	left: 50%;
	bottom: 0;
	width: 60px;
	height: 36px;
	margin-left: -30px;
	opacity: 0;
	background-image: url(../images/zoom.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100% auto;
	-webkit-background-size: 100% auto;
	transition: bottom 0.3s ease-in-out, opacity 0.3s ease-in-out;
	-webkit-transition: bottom 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.team_item:hover a.zoom {
	bottom: 56px;
	opacity: 1;
}

.team_item a.zoom:hover {
	background-image: url(../images/zoom_h.png);
}


/* __________ TEAM DETAILS __________ */
#team_prev,
#team_close,
#team_next {
	position: relative;
	z-index: 1;
	display: inline-block;
	width: 50px;
	height: 50px;
	margin: 0 -2px 0 -3px;
	border: 2px solid #ccc;
	font-family: FontAwesome;
	transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
}

#team_prev:hover,
#team_close:hover,
#team_next:hover {
	z-index: 2;
	border-color: #333;
}

#team_prev i,
#team_close i,
#team_next i {
	line-height: 46px;
	font-size: 26px;
	color: #ccc;
	transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
}

#team_close i {
	margin: 0 -2px;
}

#team_prev:hover i,
#team_close:hover i,
#team_next:hover i {
	color: #333;
}

#team_prev.first,
#team_next.last {
	cursor: default;
}

#team_prev.first:hover,
#team_next.last:hover {
	border-color: #ccc;
}

#team_prev.first:hover i,
#team_next.last:hover i {
	color: #ccc;
}


ul.team_info li {
	margin-bottom: 3px;
	font-style: italic;
	color: #505050;
}

ul.team_info li span {
	color: #979797;
}

ul.team_info li span {
	color: #979797;
}

.team_shared {
	padding: 15px 0;
}

.team_shared a {
	display: inline-block;
	width: 36px;
	height: 36px;
	margin-right: 5px;
	border: 1px solid #ccc;
	text-align: center;
	line-height: 34px;
	font-size: 20px;
	color: #ccc;
}

.team_shared a:hover {
	border-color: #333;
	color: #333;
}



/*-----------------------------------------------------------------------------------*/
/*	Artwork (aka news)
/*-----------------------------------------------------------------------------------*/
#news {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 0;
	box-sizing: border-box;
}

.news_item {
	position: relative;
	height: 300px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.news_item img {
	width: auto;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.owl-item:hover .news_item {
	transform: scale(1.03);
	-o-transform: scale(1.03);
	-ms-transform: scale(1.03);
	-webkit-transform: scale(1.03);
}

.news_item .news_description {
	position: absolute;
	z-index: 20;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	opacity: 0;
	background-color: rgba(0, 0, 0, 0.70);
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.news_item:hover .news_description {
	opacity: 1;
}

.news_item .news_description .news_descr_cont {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	opacity: 0;
	transform: translateY(-100%);
	-o-transform: translateY(-100%);
	-ms-transform: translateY(-100%);
	-webkit-transform: translateY(-100%);
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.news_item:hover .news_description .news_descr_cont {
	opacity: 1;
	transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.news_item .news_description a {
	display: block;
	margin: 0 0 6px;
	font-weight: 300;
	line-height: 24px;
	font-size: 24px;
	color: #fff;
}

.news_item .news_description span {
	color: #b5b5b5;
}

.news_item a.zoom {
	position: absolute;
	z-index: 30;
	left: 50%;
	bottom: 0;
	width: 60px;
	height: 36px;
	margin-left: -30px;
	opacity: 0;
	background-image: url(../images/zoom.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100% auto;
	-webkit-background-size: 100% auto;
	transition: bottom 0.3s ease-in-out, opacity 0.3s ease-in-out;
	-webkit-transition: bottom 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.news_item:hover a.zoom {
	bottom: 56px;
	opacity: 1;
}

.news_item a.zoom:hover {
	background-image: url(../images/zoom_h.png);
}


/* __________ news DETAILS __________ */
#news_prev,
#news_close,
#news_next {
	position: relative;
	z-index: 1;
	display: inline-block;
	width: 50px;
	height: 50px;
	margin: 0 -2px 0 -3px;
	border: 2px solid #ccc;
	font-family: FontAwesome;
	transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
}

#news_prev:hover,
#news_close:hover,
#news_next:hover {
	z-index: 2;
	border-color: #333;
}

#news_prev i,
#news_close i,
#news_next i {
	line-height: 46px;
	font-size: 26px;
	color: #ccc;
	transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
}

#news_close i {
	margin: 0 -2px;
}

#news_prev:hover i,
#news_close:hover i,
#news_next:hover i {
	color: #333;
}

#news_prev.first,
#news_next.last {
	cursor: default;
}

#news_prev.first:hover,
#news_next.last:hover {
	border-color: #ccc;
}

#news_prev.first:hover i,
#news_next.last:hover i {
	color: #ccc;
}


ul.news_info li {
	margin-bottom: 3px;
	font-style: italic;
	color: #505050;
}

ul.news_info li span {
	color: #979797;
}

ul.news_info li span {
	color: #979797;
}

.news_shared {
	padding: 15px 0;
}

.news_shared a {
	display: inline-block;
	width: 36px;
	height: 36px;
	margin-right: 5px;
	border: 1px solid #ccc;
	text-align: center;
	line-height: 34px;
	font-size: 20px;
	color: #ccc;
}

.news_shared a:hover {
	border-color: #333;
	color: #333;
}





/*-----------------------------------------------------------------------------------*/
/*	RECENT POSTS
/*-----------------------------------------------------------------------------------*/
.post_item_img {
	position: relative;
}

.post_item_img:before {
	content: '';
	position: absolute;
	z-index: 25;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.post_item:hover .post_item_img:before {
	background-color: rgba(0, 0, 0, 0.8);
}

.post_item_content {
	padding: 23px 0 0;
}

.post_item_content a.title {
	font-weight: 300;
	line-height: 34px;
	font-size: 24px;
	color: #333;
}

.post_item_inf {
	padding-top: 2px;
}

.post_item_inf li {
	display: inline-block;
	padding-right: 12px;
	color: #ccc;
}

.post_item_inf a {
	padding-right: 12px;
	font-weight: 300;
	font-size: 14px;
}

.post_item_img a.link {
	position: absolute;
	z-index: 30;
	left: 50%;
	bottom: 30%;
	width: 60px;
	height: 36px;
	margin: 0 0 -18px -30px;
	opacity: 0;
	background-image: url(../images/zoom.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100% auto;
	-webkit-background-size: 100% auto;
	transition: bottom 0.3s ease-in-out, opacity 0.3s ease-in-out;
	-webkit-transition: bottom 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.post_item:hover .post_item_img a.link {
	bottom: 50%;
	opacity: 1;
}

.post_item_img a.link:hover {
	background-image: url(../images/zoom_h.png);
}


/* __________ Recent Posts Small __________ */
.recent_posts_small {
	margin-bottom: 15px;
}

.post_item_img_small {
	overflow: hidden;
	float: left;
	width: 70px;
	height: 50px;
	margin: 2px 15px 13px 0;
}

.post_item_img_small img {
	width: auto;
	max-width: none;
	height: 100%;
	transition: opacity 0.3s ease-in-out;
	-webkit-transition: opacity 0.3s ease-in-out;
}

.recent_posts_small:hover .post_item_img_small img {
	opacity: 0.5;
}

.post_item_content_small a.title {
	display: block;
	line-height: 17px;
	font-size: 14px;
	color: #ccc;
}

.post_item_content_small a.title:hover {
	color: #666;
}

.post_item_inf_small li {
	display: inline-block;
	padding-top: 4px;
	padding-right: 10px;
	line-height: 17px;
	font-size: 11px;
	color: #666;
}



/* __________ Recent Posts Sidebar __________ */
.recent_posts_widget {
	margin-bottom: 25px;
}

.post_item_img_widget {
	overflow: hidden;
	width: 270px;
	height: 180px;
	margin-bottom: 16px;
	background-color: #000;
}

.post_item_img_widget img {
	width: auto;
	max-width: none;
	height: 100%;
	transition: opacity 0.3s ease-in-out;
	-webkit-transition: opacity 0.3s ease-in-out;
}

.recent_posts_widget:hover .post_item_img_widget img {
	opacity: 0.5;
}

.post_item_content_widget a.title {
	display: block;
	line-height: 21px;
	font-size: 18px;
	color: #333;
}

.post_item_content_widgeta.title:hover {
	color: #666;
}

.post_item_inf_widget li {
	display: inline-block;
	padding-top: 12px;
	padding-right: 10px;
	line-height: 17px;
	font-size: 11px;
	color: #999;
}









/*-----------------------------------------------------------------------------------*/
/*	FOOTER
/*-----------------------------------------------------------------------------------*/
#contacts {
	position: relative;
	z-index: 0;
	padding: 0;
	background: transparent;
}

footer {
	overflow: hidden;
	position: fixed;
	z-index: 1;
	bottom: 0;
	left: 50%;
	opacity: 0;
	width: 100%;
	padding: 60px 0 10px;
	color: #999;
	background-image: url(../images/clean_code_bg.jpg);
	transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

footer h4 {
	color: #fff;
}



/* __________ Footer About Block __________ */
.foot_about_block p {
	margin-bottom: 24px;
	padding-right: 71px;
	line-height: 24px;
	font-size: 12px;
}






/*-----------------------------------------------------------------------------------*/
/*	MAP
/*-----------------------------------------------------------------------------------*/
#map {
	position: fixed;
	z-index: 3;
	bottom: -100%;
	left: 0;
	right: 0;
	height: 401px;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

#map iframe {
	width: 100%;
	height: 399px;
}

#map.showed {
	bottom: 0;
}



.map_hide {
	position: absolute;
	left: 50%;
	z-index: 20;
	display: block;
	width: 50px;
	height: 50px;
	margin-left: 525px;
	background-color: #333;
	font-family: FontAwesome;
	text-align: center;
}

.map_hide:hover {
	background-color: #fff;
}

.map_hide i {
	line-height: 46px;
	font-size: 26px;
	color: #fff;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.map_hide i {
	margin: 0 -2px;
}

.map_hide:hover i {
	color: #333;
}






/*-----------------------------------------------------------------------------------*/
/*	SOCIAL BUTTONS
/*-----------------------------------------------------------------------------------*/
.social li {
	display: inline-block;
	margin: 0 7px 10px 0;
}

.social li a {
	display: block;
	width: 50px;
	height: 50px;
	border: 1px solid #3d3d3d;
	text-align: center;
	line-height: 46px;
	font-size: 23px;
	color: #6e6e6e;
}

.social li a:hover {
	color: #ccc;
	border-color: #ccc;
}








/*-----------------------------------------------------------------------------------*/
/*	CONTACT FORM
/*-----------------------------------------------------------------------------------*/
/* __________ Contact Form __________ */
textarea,
input[type="text"],
input[type="email"] {
	width: 100%;
	margin: 0 0 10px;
	padding: 10px 8px;
	text-transform: none;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	line-height: 20px;
	font-size: 12px;
	color: #6d6d6d;
	font-style: normal;
	border-radius: 0;
	background: none;
	border: 2px solid #3e3e3e;
	box-shadow: none;
	transition: border-color 0.3s ease-in-out;
	-webkit-transition: border-color 0.3s ease-in-out;
}

textarea {
	overflow: hidden;
	min-height: 95px;
	resize: none;
}

textarea,
input[type="text"].last {
	margin-right: 0;
}


textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus {
	outline: 0;
	box-shadow: none;
	color: #666;
	border-color: #ccc;
}


.contact_btn {
	display: inline-block;
	cursor: pointer;
	margin: 0 7px 10px 0;
	padding: 13px 30px;
	border: 2px solid #3e3e3e;
	border-radius: 0;
	box-shadow: 0;
	text-shadow: none;
	text-decoration: none;
	text-transform: uppercase;
	font-family: 'Roboto', sans-serif;
	font-weight: 900;
	line-height: 20px;
	font-size: 13px;
	color: #6d6d6d;
	background: none;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.contact_btn.active,
.contact_btn:hover {
	background: none;
	color: #fff;
	border-color: #ccc;
}

.notification_error {
	color: #30a67c;
}

.success_message {
	margin-top: 15px;
	padding: 12px;
	border: 2px solid #83838300;
	font-family: 'Roboto', sans-serif;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #b0b0b0;
	text-align: center;
	animation: fadeIn 0.8s ease-in-out;
}








/*-----------------------------------------------------------------------------------*/
/*	BLOG
/*-----------------------------------------------------------------------------------*/
.single_page #blog {
	padding-top: 50px;
}


.blog_block hr {
	border-top: 2px solid #e9e9e9;
}



/* __________ Blog Post __________ */
.blog_post_img {
	overflow: hidden;
	float: left;
	position: relative;
	width: 470px;
	height: 369px;
	margin-right: 30px;
	background-color: #000;
}

.blog_post_img img {
	width: auto;
	max-width: none;
	height: 100%;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.blog_post:hover .blog_post_img img {
	opacity: 0.5;
}

.blog_post a.zoom {
	position: absolute;
	z-index: 30;
	left: 50%;
	bottom: 50px;
	width: 60px;
	height: 36px;
	margin: 0 0 -30px -30px;
	opacity: 0;
	background-image: url(../images/zoom.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100% auto;
	-webkit-background-size: 100% auto;
	transition: bottom 0.3s ease-in-out, opacity 0.3s ease-in-out;
	-webkit-transition: bottom 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.blog_post:hover a.zoom {
	bottom: 50%;
	opacity: 1;
}

.blog_post a.zoom:hover {
	background-image: url(../images/zoom_h.png);
}

.blog_post_descr hr {
	border-color: #e9e9e9;
	margin: 25px 0;
}

.blog_post_date {
	margin-top: -3px;
	text-transform: uppercase;
	line-height: 14px;
	font-size: 11px;
}

.blog_post_title {
	display: block;
	padding-bottom: 19px;
	line-height: 36px;
	font-size: 30px;
	color: #333;
}

.blog_post_title:hover {
	color: #666;
}

.blog_post_info li {
	position: relative;
	display: inline-block;
	padding-right: 22px;
}

.blog_post_info li:before {
	content: '';
	position: absolute;
	right: 9px;
	top: 4px;
	height: 12px;
	width: 1px;
	background-color: #d3d3d3;
}

.blog_post_info li:last-child:before {
	display: none;
}

.blog_post_info li a {
	font-size: 14px;
}

.blog_post_content {
	padding-bottom: 18px;
	line-height: 26px;
	font-size: 17px;
}

.blog_post .read_more_btn {
	font-weight: 500;
	font-size: 16px;
	color: #333;
}

.blog_post .read_more_btn:hover {
	color: #666;
}



/* __________ Pagination __________ */
.pagination {
	display: block;
	margin: 0 0 50px;
	padding: 0;
	border-radius: 0;
}

.pagination li {
	float: left;
	width: 68px;
	height: 70px;
}

.pagination li a {
	float: none;
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: 900;
	text-align: center;
	line-height: 68px;
	font-size: 20px;
	color: #999;
}

.pagination li a:focus,
.pagination li a:hover {
	background: none !important;
	color: #333 !important;
}

.pagination li.active a {
	border: 2px solid #333 !Important;
	font-size: 26px;
	color: #333 !important;
	background: none !important;
}








/* __________ Single Blog Post __________ */
.single_blog_post_date {
	margin: -2px 0 -4px;
	line-height: 13px;
	font-size: 11px;
	color: #999;
}

.single_blog_post_title {
	padding-bottom: 12px;
	line-height: 60px;
	font-size: 50px;
	color: #333;
}

.single_blog_post_info {
	padding-bottom: 20px;
}

.single_blog_post_info li {
	position: relative;
	display: inline-block;
	padding: 0 25px 4px 0;
}

.single_blog_post_info li:before {
	content: '';
	position: absolute;
	right: 9px;
	top: 4px;
	height: 12px;
	width: 1px;
	background-color: #d3d3d3;
}

.single_blog_post_info li:last-child:before {
	display: none;
}

.single_blog_post_info li a {
	font-size: 14px;
}

.single_blog_post_img img {
	margin-bottom: 23px;
	width: 100%;
}

.single_blog_post_content {
	line-height: 26px;
	font-size: 17px;
}



/* __________ Single Blog Post Tags __________ */
.single_blog_post_tags li {
	display: inline-block;
	margin: 0 3px 5px 0;
}

.single_blog_post_tags li a {
	display: block;
	padding: 9px 19px;
	font-size: 16px;
	border: 1px solid #e9e9e9;
	transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
	-webkit-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.single_blog_post_tags li a:hover {
	padding: 8px 18px;
	border: 2px solid #333;
}





/* __________ Comments __________ */
#comments .avatar {
	overflow: hidden;
	margin: 3px 30px 0 0;
	width: 70px;
	height: 70px;
	border: 1px solid #efefef;
}

#comments .avatar img {
	width: 100%;
}

.comment_right {
	display: table;
}

.comment_info {
	padding-bottom: 11px;
}

#comments .comment_author {
	font-weight: 500;
	font-size: 16px;
	color: #333;
}

#comments .comment_date {
	color: #999;
	font-size: 11px;
}

#comments .comment_inf_sep {
	padding: 0 12px;
	font-size: 16px;
	color: #ccc;
}

#comments .comment_right p {
	font-size: 12px;
}


#comment_form textarea,
#comment_form input[type="text"] {
	padding: 10px 8px 11px;
	border-color: #e9e9e9;
	text-transform: uppercase;
	font-size: 11px;
	color: #666;
}

#comment_form textarea {
	min-height: 140px;
}

#comment_form .contact_btn {
	background-color: #1c1c1c;
	color: #fff;
}

#comment_form .contact_btn:hover {
	background-color: #ccc;
}

.comment_note {
	padding-top: 11px;
	font-size: 12px;
}







/*-----------------------------------------------------------------------------------*/
/*	Portfolio Single
/*-----------------------------------------------------------------------------------*/
.single_page #portfolio {
	padding-top: 50px;
}


.portfolio_block hr {
	border-top: 2px solid #e9e9e9;
}



/* __________ Single Portfolio Post __________ */
.single_portfolio_post_title {
	padding-bottom: 20px;
	line-height: 40px;
	font-size: 40px;
	color: #333;
}










/*-----------------------------------------------------------------------------------*/
/*	SIDEBAR
/*-----------------------------------------------------------------------------------*/
.sidepanel {
	margin-bottom: 25px;
}

.sidebar hr {
	border-color: #e9e9e9;
	margin: 25px 0;
}


/* __________ Widjet Meta __________ */
.widget_meta li {
	position: relative;
	padding: 13px 10px 12px 30px;
	border-top: 1px solid #e9e9e9;
}

.widget_meta li:last-child {
	border-bottom: 1px solid #e9e9e9;
}

.widget_meta li:before {
	content: 'Â°';
	position: absolute;
	left: 10px;
	top: 20px;
	font-size: 27px;
	color: #ccc;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

.widget_meta li:hover:before {
	color: #333;
}

.widget_meta li a {
	display: inline-block;
	line-height: 24px;
	font-size: 20px;
	color: #666;
}

.widget_meta li a:hover {
	color: #333;
}




/* __________ Popular Tags __________ */
.widget_tags li {
	display: inline-block;
	margin: 0 3px 5px 0;
}

.widget_tags li a {
	display: block;
	padding: 9px 19px;
	font-size: 16px;
	border: 1px solid #e9e9e9;
	transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
	-webkit-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.widget_tags li a:hover {
	padding: 8px 18px;
	border: 2px solid #333;
}



/* __________ Text Widget __________ */
.widget_text p {
	line-height: 26px;
	font-size: 16px;
}



/* __________ Work Info __________ */
.work_info {
	padding-bottom: 25px;
}

.work_info li {
	padding-bottom: 6px;
	font-size: 14px;
	color: #999;
}

.work_info li a {
	color: #333;
}


/* __________ Shared __________ */
.shared li {
	display: inline-block;
	margin: 0 7px 10px 0;
}

.shared li a {
	display: block;
	width: 50px;
	height: 50px;
	padding: 1px;
	border: 1px solid #e9e9e9;
	text-align: center;
	line-height: 46px;
	font-size: 23px;
	color: #ccc;
	transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
	-webkit-transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.shared li a:hover {
	padding: 0;
	color: #333;
	border: 2px solid #242424;
}

/* __________ Hide Top Carousel __________ */
#carousel {
	display: none !important;
}

/* __________ Scroll Snapping (Safe) __________ */
html {
	scroll-snap-type: y proximity;
}

#home,
#projects,
#team,
#news,
#contacts {
	scroll-snap-align: start;
	scroll-margin-top: 60px;
	/* Accounts for the 60px sticky header */
}

/* __________ Left Align Section Titles __________ */
#projects .container h2,
#team .container h2,
#news .container h2 {
	text-align: left;
}

/* __________ Full Height Centered Sections __________ */
#projects,
#team,
#news {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 !important;
	box-sizing: border-box;
}

#projects .container,
#team .container,
#news .container {
	margin-bottom: 20px;
}

/* Enforce strict consistent height for sliders across all screen sizes */
.work_item {
	height: 300px !important;
}

.work_item img {
	height: 300px !important;
	width: auto !important;
	max-width: none !important;
	object-fit: cover !important;
}

/* Force Swiper slides to shrink-wrap the image, eliminating gaps */
.swiper-slide {
	width: auto !important;
}

/*-----------------------------------------------------------------------------------*/
/*	RESPONSIVE STYLES
/*-----------------------------------------------------------------------------------*/

@media screen and (-webkit-min-device-pixel-ratio:0) {

	.parallax,
	.cleancode_block,
	#team,
	.top_slider .slide1,
	.top_slider .slide2,
	.top_slider .slide3,
	.top_slider .slide4 {
		background-attachment: scroll !important;
		background-position: 0 0;
	}

	.top_slider .slide1,
	.top_slider .slide2,
	.top_slider .slide3 {
		background-size: cover !important;
	}

}

@media (max-width: 1024px) {
	.work_item {
		height: 350px !important;
	}

	.work_item img {
		height: 350px !important;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {

	.parallax,
	.cleancode_block,
	#team {
		background-attachment: scroll !important;
		background-size: 100% auto !important;
		-webkit-background-size: 100% auto !important;
	}


	h2 {
		font-size: 35px;
		line-height: 35px;
	}

	/* __________ Menu __________ */
	.navmenu ul li a {
		padding-left: 15px;
		padding-right: 15px;
	}

	/* __________ Index __________ */
	.cleancode_block p.title {
		font-size: 70px;
		line-height: 70px;
	}

	.cleancode_block .nav-tabs li a {
		width: 136px;
		height: 136px;
		padding-top: 35px;
	}

	.cleancode_block .nav-tabs li a i {
		width: 45px;
		height: 45px;
	}

	.cleancode_block .nav-tabs li a span {
		font-size: 16px;
	}

	.cleancode_block .nav-tabs li a i {
		background-position: 0 -45px;
	}

	.nav-tabs li a:hover i {
		background-position: 0 -90px;
		transform: translateY(-5px);
		-o-transform: translateY(-5px);
		-ms-transform: translateY(-5px);
		-webkit-transform: translateY(-5px);
	}

	.nav-tabs li.active a i {
		background-position: 0 0;
		transform: translateY(-10px);
		-o-transform: translateY(-10px);
		-ms-transform: translateY(-10px);
		-webkit-transform: translateY(-10px);
	}


	.purpose_block p {
		font-size: 15px;
		line-height: 22px;
	}


	.work_item a.zoom {
		width: 40px;
		height: 24px;
		margin-left: -20px;
	}

	.work_item:hover a.zoom {
		bottom: 30px;
	}


	.img_wrapper {
		width: 137px !important;
	}


	.post_item_img a.link {
		width: 40px;
		height: 24px;
		margin: 0 0 -12px -20px;
	}

	.post_item_img a.link:hover {
		background-position: 0 -24px;
	}

	.post_item_content a.title {
		font-size: 19px;
		line-height: 24px;
	}





	/* __________ Blog __________ */
	.blog_post_descr hr {
		margin: 15px 0;
	}

	.blog_post_img {
		width: 400px;
		height: 314px;
	}

	.blog_post_title {
		font-size: 24px;
		line-height: 27px;
	}

	.blog_post_content {
		font-size: 14px;
		line-height: 22px;
	}


	.single_blog_post_title {
		font-size: 44px;
		line-height: 50px;
	}



	/* __________ Sidebar __________ */
	.widget_meta li a {
		font-size: 17px;
		line-height: 20px;
	}

	.post_item_img_widget {
		width: 220px;
		height: 146px;
	}

	.post_item_content_widget a.title {
		font-size: 16px;
		line-height: 20px;
	}





	/* __________ All Styles __________ */
	.breadcrumbs_block {
		padding: 50px 0;
	}


	.map_hide {
		margin-left: 435px;
	}


}

@media (min-width: 768px) and (max-width: 991px) {
	.logo a {
		font-size: 22px;
	}


	#search-form input:focus {
		width: 42px;
	}


	/* __________ Menu __________ */
	.navmenu ul li a {
		padding-left: 10px;
		padding-right: 10px;
		font-size: 12px;
	}




	.nav-tabs li a:hover i {
		background-position: 0 -90px;
		transform: translateY(-5px);
		-o-transform: translateY(-5px);
		-ms-transform: translateY(-5px);
		-webkit-transform: translateY(-5px);
	}

	.nav-tabs li.active a i {
		background-position: 0 0;
		transform: translateY(-10px);
		-o-transform: translateY(-10px);
		-ms-transform: translateY(-10px);
		-webkit-transform: translateY(-10px);
	}


	.purpose_block {
		padding-top: 35px;
	}

	.purpose_block .ipad_img1 {
		margin-top: -50px;
	}

	.purpose_block p {
		font-size: 12px;
		line-height: 20px;
	}


	.work_item a.zoom {
		width: 40px;
		height: 24px;
		margin-left: -20px;
	}

	.work_item:hover a.zoom {
		bottom: 30px;
	}


	.img_wrapper {
		width: 100px !important;
	}


	.post_item_img a.link {
		width: 40px;
		height: 24px;
		margin: 0 0 -12px -20px;
	}

	.post_item_img a.link:hover {
		background-position: 0 -24px;
	}

	.post_item_content a.title {
		font-size: 15px;
		line-height: 20px;
	}

	.post_item_content {
		padding-top: 15px;
	}

	.post_item_inf a {
		font-size: 12px;
		padding-right: 5px;
	}

	.post_item_inf li {
		padding-right: 5px;
	}



	/* __________ Blog __________ */
	.blog_post_descr hr {
		margin: 15px 0;
	}

	.blog_post_img {
		width: 400px;
		height: 314px;
	}

	.blog_post_title {
		font-size: 24px;
		line-height: 27px;
	}

	.blog_post_content {
		font-size: 14px;
		line-height: 22px;
	}


	.single_blog_post_title {
		font-size: 44px;
		line-height: 50px;
	}



	/* __________ Sidebar __________ */
	.widget_meta li a {
		font-size: 17px;
		line-height: 20px;
	}

	.post_item_img_widget {
		width: 220px;
		height: 146px;
		float: left;
		margin-right: 30px;
	}

	.post_item_content_widget a.title {
		font-size: 16px;
		line-height: 20px;
	}





	/* __________ All Styles __________ */
	.breadcrumbs_block {
		padding: 50px 0;
	}

	.breadcrumbs_block h2 {
		font-size: 60px;
		line-height: 64px;
	}

	.breadcrumbs_block p {
		font-size: 21px;
		line-height: 24px;
	}


	/* __________ Footer __________ */
	footer {
		position: static;
		left: auto;
		bottom: auto;
		transform: none;
		-webkit-transform: none;
	}


	.map_hide {
		margin-left: 325px;
	}


	.respond_clear {
		clear: both;
		height: 0;
		font-size: 0;
	}


}

@media (max-width: 991px) {
	.container {
		padding-left: 15px;
		padding-right: 15px;
	}


	h2 {
		font-size: 30px;
		line-height: 32px;
	}


	.logo a {
		font-size: 22px;
	}


	#search-form input:focus {
		width: 42px;
	}


	/* __________ Menu __________ */
	a.menu_toggler {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 50%;
		right: 15px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		margin: 0;
		width: 40px;
		height: 40px;
		font-size: 18px;
		color: #fff;
		background-color: #333;
		border-radius: 50%;
		-webkit-border-radius: 50%;
	}

	a.menu_toggler:hover {
		background-color: #333;
	}

	.navmenu {
		position: absolute;
		left: 0;
		right: 0;
		top: 60px;
		background-color: #fff;
		display: none;
	}

	.navmenu ul {
		padding: 10px 0;
	}

	.navmenu ul li {
		display: block;
		text-align: left;
	}

	.navmenu ul li a {
		padding: 4px 20px;
	}

	.sub-menu ul {
		display: block;
		position: static;
		width: 100%;
		box-shadow: none;
		padding: 0;
		margin: 0;
	}

	.sub-menu ul:before {
		display: none !important;
	}

	.navmenu li.sub-menu:hover,
	.navmenu li.sub-menu.active_page {
		background: none;
	}

	.sub-menu ul li a {
		background: none;
		border: 0;
		padding-left: 30px;
	}

	.sub-menu ul li a:hover,
	.sub-menu ul li.active a {
		background: none !important;
		color: #333 !Important;
	}

	.sub-menu ul li a:before {
		content: '-';
		position: absolute;
		z-index: 10;
		left: 17px;
		top: 4px;
		color: #666;
	}


	/* __________ Index __________ */
	.cleancode_block p.title {
		font-size: 40px;
		line-height: 40px;
	}

	.cleancode_block span {
		font-size: 15px;
		line-height: 22px;
	}

	.cleancode_block .nav-tabs {
		margin: 0 auto;
		width: 450px;
	}

	.cleancode_block .nav-tabs li a {
		width: 120px;
		height: 120px;
		padding-top: 24px;
	}

	.cleancode_block .nav-tabs li a i {
		width: 45px;
		height: 45px;
	}

	.cleancode_block .nav-tabs li a span {
		font-size: 13px;
	}

	.cleancode_block .nav-tabs li a i {
		background-position: 0 -45px;
	}

	.nav-tabs li a:hover i {
		background-position: 0 -90px;
		transform: translateY(-5px);
		-o-transform: translateY(-5px);
		-ms-transform: translateY(-5px);
		-webkit-transform: translateY(-5px);
	}

	.nav-tabs li.active a i {
		background-position: 0 0;
		transform: translateY(-10px);
		-o-transform: translateY(-10px);
		-ms-transform: translateY(-10px);
		-webkit-transform: translateY(-10px);
	}


	.purpose_block {
		padding-top: 35px;
	}

	.ipad_img_in {
		width: 350px;
		margin: 0 auto;
	}

	.purpose_block .ipad_img1 {
		margin-top: 40px;
	}

	.purpose_block p {
		font-size: 12px;
		line-height: 20px;
	}


	.work_item a.zoom {
		width: 40px;
		height: 24px;
		margin-left: -20px;
	}

	.work_item:hover a.zoom {
		bottom: 30px;
	}


	.our_clients .row {
		text-align: center;
		margin: 0 auto;
		width: 450px;
	}

	.client_img {
		width: 140px;
		display: inline-block;
	}

	.img_wrapper {
		width: 110px !important;
	}


	.post_item_img a.link {
		width: 40px;
		height: 24px;
		margin: 0 0 -12px -20px;
	}

	.post_item_img a.link:hover {
		background-position: 0 -24px;
	}

	.post_item_content a.title {
		font-size: 15px;
		line-height: 20px;
	}

	.post_item_content {
		padding-top: 15px;
	}

	.post_item_inf a {
		font-size: 12px;
		padding-right: 5px;
	}

	.post_item_inf li {
		padding-right: 5px;
	}


	.owl-theme .owl-controls {
		top: -69px;
	}

	.testimonials .owl-theme .owl-controls {
		top: -49px;
	}

	.owl-theme .owl-controls .owl-buttons div {
		width: 50px;
		height: 50px;
	}

	.owl-theme .owl-controls .owl-buttons div:before {
		width: 48px;
		height: 48px;
		line-height: 46px;
	}


	.crewman_item .crewman_social a {
		width: 36px;
		height: 36px;
		margin: 0 2px 0 5px;
		font-size: 17px;
		line-height: 34px;
	}

	.crewman_item:hover .crewman_social {
		bottom: 30px;
	}


	.testim_content {
		font-size: 17px;
		line-height: 24px;
	}



	#news .recent_posts {
		width: 450px;
		margin: 0 auto;
	}


	/* __________ Blog __________ */
	.blog_post_descr hr {
		margin: 15px 0;
	}

	.blog_post_img {
		width: 200px;
		height: 157px;
		margin-right: 20px;
	}

	.blog_post_title {
		font-size: 19px;
		line-height: 22px;
	}

	.blog_post_descr hr {
		clear: both;
		border: 0;
	}

	.blog_post_content {
		font-size: 14px;
		line-height: 22px;
	}

	.blog_post_info li a {
		font-size: 13px;
	}

	.blog_post_info li {
		padding-right: 15px;
	}

	.blog_post_info li:before {
		right: 6px;
	}

	.blog_post_content {
		padding-top: 20px;
	}

	.pagination li {
		width: 40px;
		height: 40px;
	}

	.pagination li a {
		font-size: 16px;
		line-height: 38px;
	}

	.pagination li.active a,
	.pagination li a:focus,
	.pagination li a:hover {
		font-size: 18px;
	}


	.single_blog_post_title {
		font-size: 44px;
		line-height: 50px;
	}


	/* __________ Single Blog Post __________ */
	.single_blog_post_date {
		margin: 0;
	}

	.single_blog_post_title {
		font-size: 26px;
		line-height: 32px;
	}

	.comment_note {
		padding: 0 0 20px;
	}



	/* __________ Sidebar __________ */
	.widget_meta li a {
		font-size: 17px;
		line-height: 20px;
	}

	.post_item_img_widget {
		width: 220px;
		height: 146px;
		float: left;
		margin-right: 30px;
	}

	.post_item_content_widget a.title {
		font-size: 16px;
		line-height: 20px;
	}





	/* __________ All Styles __________ */
	.breadcrumbs_block {
		padding: 40px 0;
	}

	.breadcrumbs_block h2 {
		font-size: 50px;
		line-height: 54px;
	}

	.breadcrumbs_block p {
		font-size: 16px;
		line-height: 20px;
	}


	/* __________ Footer __________ */
	footer {
		position: static;
		left: auto;
		bottom: auto;
		transform: none;
		-webkit-transform: none;
	}


	.map_hide {
		margin: 0;
		left: auto;
		right: 15px;
	}


	.respond_clear {
		clear: both;
		height: 0;
		font-size: 0;
	}


}

@media (max-width: 479px) {

	#search-form {
		display: none;
	}


	/* __________ Index __________ */
	h2 {
		font-size: 26px;
		line-height: 26px;
	}


	.purpose_block .btn {
		padding: 10px;
		margin: 10px 5px 0 0;
	}


	.cleancode_block p.title {
		font-size: 26px;
		line-height: 26px;
	}

	.cleancode_block .nav-tabs {
		width: 290px;
	}

	.cleancode_block .nav-tabs li {
		padding: 0;
	}

	.cleancode_block .nav-tabs li a {
		width: 96px;
		height: 96px;
	}


	.ipad_img_in {
		width: 290px;
	}


	.our_clients .row {
		width: 290px;
	}


	.testimonials .owl-theme .owl-controls {
		top: 0;
	}


	#news .recent_posts {
		width: 290px;
	}


	/* __________ Blog __________ */
	.blog_post_img {
		float: none;
		margin: 0 0 20px;
		width: 290px;
		height: 227px;
	}

	.blog_post_descr hr {
		border-bottom: 2px solid #e9e9e9;
	}

	.blog_post_content {
		padding-top: 0;
	}

	/* __________ Single Blog Post __________ */
	.single_blog_post_title {
		font-size: 17px;
		line-height: 22px;
	}

	.single_blog_post_content {
		font-size: 13px;
		line-height: 20px;
	}



	/* __________ Sidebar __________ */
	.post_item_img_widget {
		float: none;
		margin-right: 0;
	}



	/* __________ Bootstrap Style __________ */
	.col-ss-1,
	.col-ss-2,
	.col-ss-3,
	.col-ss-4,
	.col-ss-5,
	.col-ss-6,
	.col-ss-7,
	.col-ss-8,
	.col-ss-9,
	.col-ss-10,
	.col-ss-11 {
		float: left;
	}

	.col-ss-12 {
		width: 100%;
	}

	.col-ss-11 {
		width: 91.66666666666666%;
	}

	.col-ss-10 {
		width: 83.33333333333334%;
	}

	.col-ss-9 {
		width: 75%;
	}

	.col-ss-8 {
		width: 66.66666666666666%;
	}

	.col-ss-7 {
		width: 58.333333333333336%;
	}

	.col-ss-6 {
		width: 50%;
	}

	.col-ss-5 {
		width: 41.66666666666667%;
	}

	.col-ss-4 {
		width: 33.33333333333333%;
	}

	.col-ss-3 {
		width: 25%;
	}

	.col-ss-2 {
		width: 16.666666666666664%;
	}

	.col-ss-1 {
		width: 8.333333333333332%;
	}

}

html {
	scroll-behavior: smooth;
}





.swiper {
	overflow: hidden;
}

.swiper-wrapper {
	transition-timing-function: linear !important;
}

/* Added hover scale for carousel images */
.work_item .work_img img {
	transition: transform 0.3s ease-in-out;
}

@media (hover: hover) {
	.work_item:hover .work_img img {
		transform: scale(1.05);
	}
}

/* Force GLightbox arrows to show on mobile and customize styling globally */
.gprev,
.gnext,
.gclose,
.glightbox-clean .gprev,
.glightbox-modern .gprev,
.glightbox-clean .gnext,
.glightbox-modern .gnext,
.glightbox-mobile .gnext,
.glightbox-mobile .gprev {
	background-color: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 1 !important;
	visibility: visible !important;
	z-index: 99999 !important;
}

.gnext svg,
.gprev svg,
.gclose svg {
	display: none !important;
}

.gprev::after,
.gnext::after,
.gclose::after {
	font-family: 'Font Awesome 6 Free', 'FontAwesome';
	font-weight: 900;
	color: #fff;
	font-size: 32px;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
	transition: text-shadow 0.2s, transform 0.2s;
}

.gprev::after {
	content: '\f104';
}

/* angle-left */
.gnext::after {
	content: '\f105';
}

/* angle-right */
.gclose::after {
	content: '\f00d';
	font-size: 28px;
}

/* times/close */

.gnext:hover::after,
.gprev:hover::after,
.gclose:hover::after {
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.9);
	transform: scale(1.1);
}

@media (max-width: 768px) {
	.gnext {
		right: 10px !important;
	}

	.gprev {
		left: 10px !important;
	}

	.gclose {
		top: 15px !important;
		right: 15px !important;
	}
}



/* -----------------------------------------------------------------------
   GLIGHTBOX: Image + Caption Layout Fix
   Description always sits BELOW the image on the dark background.
   Image auto-shrinks to leave room for the caption text.
----------------------------------------------------------------------- */

/* Outer slide container — vertical flex column: image then caption */
.ginner-container {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	height: 100% !important;
}

/* Image section sits on top */
.gslide-media {
	flex-shrink: 1 !important;
	/* Allow image to shrink to give caption room */
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
	/* Let GLightbox zoom escape the bounds */
}

/* Allow GLightbox zoom to scale freely — NO !important so GLightbox's own
   transform: scale() override can take effect when user zooms */
.gslide-image img {
	max-height: 72vh;
	/* Reduced from 80vh to leave guaranteed space for captions */
	max-width: 100%;
	object-fit: contain;
}

/* Caption sits directly below the image, inside the same flex column */
.gslide-description {
	flex-shrink: 0 !important;
	position: relative !important;
	bottom: auto !important;
	margin-top: 10px !important;
	width: 100% !important;
	max-width: 900px !important;
	background: transparent !important;
	box-shadow: none !important;
	max-height: none !important;
	padding: 0 20px 20px !important;
	text-align: center !important;
	color: #ffffff !important;
	opacity: 1 !important;
	visibility: visible !important;
	font-size: 1.05em !important;
}

.gslide-description-content {
	width: 100% !important;
	padding: 0 !important;
	background: transparent !important;
}


.gslide-title {
	color: #ffffff !important;
	opacity: 1 !important;
	font-weight: bold;
	font-size: 1.2em !important;
	text-align: center !important;
}

.gshow-more,
.gslide-description.description-bottom {
	text-align: center !important;
}

.gshow-more {
	display: none !important;
	/* Hide "see more" toggle */
}

/* Home Slider Responsive UI Updates */
#home .flex-control-nav {
	display: none !important;
}

#home .top_slider .slide_btn {
	border-radius: 100px !important;
	font-size: clamp(12px, 1vw, 20px) !important;
	padding: clamp(10px, 1.2vw, 20px) clamp(40px, 3.5vw, 60px) clamp(10px, 1.2vw, 20px) clamp(20px, 2vw, 35px) !important;
	width: max-content !important;
	position: absolute !important;
	z-index: 50 !important;
	left: 50% !important;
	margin-left: -585px !important;
	top: 67% !important;
	/* Adjusted to 67% for fine-tuned placement */
	bottom: auto !important;
	transform: none !important;
	display: inline-flex !important;
	align-items: center;
	text-align: left !important;
}

#home .top_slider .slide_btn:before {
	position: absolute !important;
	right: clamp(15px, 1.5vw, 25px) !important;
	top: 50% !important;
	bottom: auto !important;
	left: auto !important;
	transform: translateY(-50%) !important;
	line-height: 1 !important;
	margin: 0 !important;
	font-size: clamp(16px, 1.5vw, 24px) !important;
}

@media (min-width: 992px) and (max-width: 1199px) {
	#home .top_slider .slide_btn {
		margin-left: -485px !important;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	#home .top_slider .slide_btn {
		margin-left: -375px !important;
	}
}

@media (max-width: 767px) {
	#home .top_slider .slide_btn {
		margin-left: 0 !important;
		left: 15px !important;
		/* Match mobile caption alignment */
		bottom: 30px !important;
		top: auto !important;
		/* Detach from fixed vertical offset on mobile */
	}

	/* Force full description text in GLightbox on mobile, hide the 'See More' collapse button */
	.gdesc-inner {
		max-height: none !important;
		padding-bottom: 30px !important;
		/* Add some padding so it doesn't touch the screen bottom */
	}

	.gdesc-more {
		display: none !important;
	}

	/* Force description to sit IMMEDIATELY below the image instead of anchored to the bottom of the screen */
	.gslide-description {
		position: relative !important;
		bottom: auto !important;
		background: transparent !important;
		/* Removes the hard black gradient box if any */
		width: 100% !important;
	}

	.ginner-container {
		justify-content: center !important;
	}
}

/* GPU Hardware Acceleration for Apple Devices / Safari */
#home .flexslider .slides>li {
	will-change: opacity;
}

#home .flex_caption1 p {
	will-change: transform, opacity;
}

/* ----------------------------------------------------------------------------------- */
/* ACCESSIBILITY: Disable animations/transitions for users who prefer reduced motion 
/* ----------------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	/* Specific overrides for JS-driven elements like sliders */
	.swiper-wrapper,
	.gallery-grid,
	.bottom-gallery-track {
		transition-duration: 0ms !important;
		animation: none !important;
	}
}

/* ----------------------------------------------------------------------------------- */
/* DARK MODE
/* ----------------------------------------------------------------------------------- */
body.dark-mode {
	background-color: #1a1a1a !important;
	color: #e0e0e0 !important;
}

body.dark-mode .menu_block {
	background-color: #1a1a1a !important;
	box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.9);
	/* bottom-only, black */
}

body.dark-mode .navmenu {
	background-color: #1a1a1a !important;
	box-shadow: none !important;
}

body.dark-mode .logo a,
body.dark-mode .navmenu ul li a,
body.dark-mode .active.scroll_btn a {
	color: #777 !important;
}

body.dark-mode .logo a span.b1 {
	color: #fff !important;
}

body.dark-mode .navmenu li:hover a,
body.dark-mode .navmenu li.active a {
	color: #fff !important;
}

body.dark-mode .menu_toggler i {
	color: #e0e0e0 !important;
}

body.dark-mode .sub-menu ul {
	background-color: #222 !important;
	border-top: 1px solid #333;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.6);
}

body.dark-mode .sub-menu ul li a {
	border-bottom-color: #333 !important;
}

body.dark-mode .sub-menu ul li a:hover {
	background-color: #333 !important;
}

/* Page Titles and Headings in Dark Mode */
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark-mode .post_item_content a.title,
body.dark-mode .team_title,
body.dark-mode .team_position,
body.dark-mode .subpage-title {
	color: #f5f5f5 !important;
}

/* Text & Links in Dark Mode */
body.dark-mode p,
body.dark-mode span,
body.dark-mode .contact-content footer p {
	color: #d0d0d0 !important;
}

/* Home slider titles and descriptions stay white in dark mode */
body.dark-mode .flex_caption1 p,
body.dark-mode .flex_caption1 span {
	color: #ffffff !important;
}

body.dark-mode a {
	color: #e0e0e0;
}

body.dark-mode a:hover {
	color: #fff;
}

/* Input Fields in Dark Mode */
body.dark-mode input[type="text"],
body.dark-mode input[type="email"],
body.dark-mode textarea {
	background-color: #222 !important;
	border-color: #444 !important;
	color: #fff !important;
}

body.dark-mode input[type="text"]:focus,
body.dark-mode input[type="email"]:focus,
body.dark-mode textarea:focus {
	border-color: #888 !important;
}

/* Keep contact page form transparent since it uses dark_bg.jpg */
body.dark-mode .contact-content footer input[type="text"],
body.dark-mode .contact-content footer input[type="email"],
body.dark-mode .contact-content footer textarea {
	background-color: transparent !important;
}

/* Tab Buttons in Dark Mode */
body.dark-mode .tab-btn,
body.dark-mode .gallery-tabs button {
	background-color: transparent !important;
	color: #777 !important;
}

body.dark-mode .tab-btn:hover,
body.dark-mode .tab-btn.active,
body.dark-mode .gallery-tabs button:hover,
body.dark-mode .gallery-tabs button.active {
	background-color: transparent !important;
	color: #fff !important;
}

/* Sliders / Projects Details Dark Mode Backgrounds */
body.dark-mode .project-section,
body.dark-mode .subpage-main,
body.dark-mode .news_desc,
body.dark-mode .team_desc,
body.dark-mode .team_item,
body.dark-mode .galleries-wrapper,
body.dark-mode .bottom-gallery-wrapper,
body.dark-mode .gallery-area,
body.dark-mode .gallery-grid>a,
body.dark-mode .gallery-grid img {
	background-color: #141414 !important;
}

body.dark-mode hr,
body.dark-mode .padbot30,
body.dark-mode .padbot20 {
	border-color: #333 !important;
}


/* ----------------------------------------------------------------------------------- */
/* THEME SWITCHER TOGGLE
/* ----------------------------------------------------------------------------------- */
.theme-switch-wrapper {
	display: inline-flex !important;
	align-items: center;
	margin-left: 20px;
	height: 100%;
	padding: 0 !important;
	vertical-align: middle;
}

@media (max-width: 991px) {
	.theme-switch-wrapper {
		margin-left: 0;
		padding: 20px !important;
		display: flex !important;
		justify-content: center;
		width: 100%;
	}
}

.theme-switch {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 30px;
	margin: 0;
	cursor: pointer;
}

.theme-switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.theme-switch .slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #555;
	transition: .4s;
	border-radius: 30px;
	display: block;
	box-sizing: border-box;
}

/* Icons inside the slider */
.theme-switch .slider i {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 13px;
	/* Slightly smaller to fit sharply inside the 24px circle */
	width: 24px;
	text-align: center;
	z-index: 3;
	transition: color 0.4s;
}

/* Light Mode (circle is on the left) */
.theme-switch .slider i.fa-sun {
	left: 3px;
	color: #333;
	/* Dark over the white circle */
}

.theme-switch .slider i.fa-moon {
	right: 3px;
	color: #fff;
	/* White over the dark track */
}

/* Dark Mode (circle is on the right) */
.theme-switch input:checked+.slider i.fa-sun {
	color: #fff;
	/* White over the dark track */
}

.theme-switch input:checked+.slider i.fa-moon {
	color: #333;
	/* Dark over the white circle */
}

.theme-switch .slider:before {
	position: absolute;
	content: "";
	height: 24px;
	width: 24px;
	left: 3px;
	bottom: 3px;
	background-color: white;
	transition: .4s;
	border-radius: 50%;
	z-index: 2;
}

/* Dark mode state on the toggle itself */
.theme-switch input:checked+.slider {
	background-color: #444;
}

.theme-switch input:focus+.slider {
	box-shadow: 0 0 1px #444;
}

.theme-switch input:checked+.slider:before,
html.dark-mode-preload .theme-switch .slider:before {
	transform: translateX(30px);
}

/* Base override for preload dark mode so the slider is dark without native "checked" state */
html.dark-mode-preload .theme-switch .slider {
	background-color: #444;
}

/* ----------------------------------------------------------------------------------- */
/* DARK MODE - SPECIFIC HOMEPAGE SLIDER OVERRIDES
/* ----------------------------------------------------------------------------------- */
body.dark-mode .top_slider .slide1 {
	background-image: url('../images/slider/slide1_bg dark.jpg') !important;
}

@media (max-width: 767px) {
	body.dark-mode .top_slider .slide1 {
		background-image: url('../images/slider/slide1_bg m dark.jpg') !important;
	}
}