body {
	background: #f7f7f7;
	margin: 0px;
	padding: 0px;
	font-family: my_font_primary,
		sans-serif;
}

.title_font {
	font-family: my_font_secondary, sans-serif;
}

#btn_gototop {
	display: none;
	position: fixed;
	bottom: 50px;
	right: 20px;
	z-index: 99;
	border: none;
	outline: none;
	background-color: #8b0000;
	color: white;
	cursor: pointer;
	padding: 15px;
	border-radius: 30px;
}

#btn_gototop:hover {
	background-color: #b93030;
}

.logo {
	height: 60px;
	width: 120px;
}

@media only screen and (max-width: 768px) {
	.logo {
		height: 30px;
		width: 60px;
	}
}

label {
	font-weight: normal;
	font-size: 16px;
}

.myimg {
	width: 100px;
	height: 100px;
}

.mytextarea {
	width: 100%;
	height: 200px;
	font-size: 14px;
	border: 1px solid #dddddd;
	padding: 10px;
}

/* Footer layout CSS rules */
.footerwrapper {
	color: white;
	background: #000;
	padding: 20px 20px;
}

@media screen and (max-width: 767px) {
	.btn {
		width: 100%;
		margin-bottom: 5px;
	}
}

.contact-form {
	margin-top: 20px;
	margin-bottom: 20px;
}

.contact-image {
	text-align: center;
}

.contact-image img {
	border-radius: 6rem;
	width: 100px;
	margin-top: -70px;
	margin-bottom: 20px;
	transform: rotate(30deg);
}

@media only screen and (max-width: 768px) {
	.contact-image img {
		width: 100px;
		margin-top: -40px;
	}
}

.contact-form h3 {
	text-align: center;
	color: #0062cc;
}

.nav-tabs>li>a {
	color: #fff;
}

.tab-content {
	background-color: #FFFCFA;
	padding: 5px
}



/* ----------------------------------------------------------------
				01 Basic
-----------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	outline: none !important;
	list-style: none;
}

body {
	color: #333;
	line-height: 1.3;
	font-weight: 400;
	overflow-x: hidden !important;
}

.dark-theme {
	background: #131414;
	color: #eee;
}

.dark-theme .title:before {
	background: #222;
}

.dark-theme .nav-scroll {
	background: #181818;
}

.dark-theme .nav-scroll .icon-bar {
	color: #eee;
}

.dark-theme .nav-scroll .navbar-nav .nav-link {
	color: #eee;
}

.dark-theme .nav-scroll .logo {
	color: #fff;
}

.dark-theme .nav-scroll .logo:hover {
	color: #fff;
}

.dark-theme .hero .hero-img:after {
	background: #181818;
}

.dark-theme .services .active {
	border-color: #222;
}

.dark-theme .services .active.bolt:before,
.dark-theme .services .active.bolt:after {
	background: #131414;
}

.dark-theme .services .bord {
	border-color: #222;
}

.dark-theme .portfolio .item-img-overlay:before,
.dark-theme .portfolio .item-img-overlay:after {
	background: #181818;
}

.dark-theme .blog .pitem .content {
	background: #181818;
}

.dark-theme .blog .pitem .content h3 {
	color: #ccc;
}

.dark-theme .blog .pitem .content .more,
.dark-theme .blog .pitem .content p {
	border-color: #222;
}

.dark-theme footer {
	background: #181818;
}

p {
	font-size: 15px;
	color: #807f7f;
	line-height: 1.6;
	word-spacing: 1px;
	margin: 0;
	text-align: justify;
	text-justify: inter-word;
	text-indent: 0px;
}

ul{
	color: #807f7f;
}

.p2 {
	font-size: 22px;
	line-height: 1.6;
	word-spacing: 0px;
	margin: 0;
	text-align: justify;
	text-justify: inter-word;
	text-indent: 0px;
}

@media only screen and (max-width: 768px) {
	.p2 {
		font-size: 20px;
	}
}


img {
	width: 100%;
	height: auto;
}

span,
a,
a:hover {
	display: inline-block;
	text-decoration: none;
	color: inherit;
}

.section-head {
	text-align: center;
	margin-bottom: 80px;
}

.title {
	font-family: my_font_secondary,
		sans-serif;
	display: inline-block;
	font-size: 36px;
	padding-bottom: 10px;
	position: relative;
	z-index: 2;
}

.title_mobile {
	font-size: 25px;
}

.title:after {
	content: '';
	width: 60px;
	height: 1px;
	background: #8b0000;
	position: absolute;
	bottom: 0;
	left: calc(50% - 30px);
}

.title:before {
	content: '';
	width: 100%;
	height: 1px;
	background: rgba(1, 1, 1, 0.05);
	position: absolute;
	bottom: 0;
	left: 0;
}

.title-left {
	text-align: left;
	margin-bottom: 30px;
}

.title-left:after {
	left: 0;
}

.bg-gray {
	background: #f7f7f7;
}

.bg-gray .title:before {
	background: #ddd;
}

.bg-gray .owl-theme .owl-dots .owl-dot span {
	background: #777;
}

.o-hidden {
	overflow: hidden;
}

.position-re {
	position: relative;
}

.full-width {
	width: 100% !important;
}

.bg-img {
	background-size: cover;
	background-repeat: no-repeat;
}

.bg-img .title:before {
	background: rgba(255, 255, 255, 0.1);
}

.section-padding {
	padding: 100px 0;
}

.section-ptb {
	padding: 80px 0;
}

.section-pt {
	padding: 80px 0 0;
}

.section-pb {
	padding: 0 0 80px;
}

.valign {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/* -------------------------------------------------------
                     Header
-------------------------------------------------------- */
.header {
	background-image: url(../img/bg_header.webp);
	height: 100vh;
	background-size: cover;
	position: relative;
	overflow: hidden;
}

@media only screen and (max-width: 768px) {
	.header {
		background-image: url(../img/bg_mobile.webp);
		background-size: 100% 100%;
	}
}


.header:after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: #000;
	opacity: .6;
	z-index: 2;
}

.header .v-middle {
	width: 100vw;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: white;
	z-index: 11;
}

.header .social-icon {
	width: 100vw;
	margin-top: 50px;
}

.header .social-icon span {
	border-radius: 50%;
	padding: 5px;
	margin: 0.1em;
	font-size: 1.5em;
	text-align: center;
	text-decoration: none;
	background: rgba(119, 119, 119, 0.3);
	color: white;
}

@media only screen and (max-width: 768px) {
	.header .social-icon span {
		padding: 5px;
		margin: 0.1em;
		font-size: 1.0em;
	}
}

.header .svg {
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 100%;
	z-index: 22;
}

.header .svg svg {
	fill: #fff;
	width: 101%;
}

#particles-js {
	z-index: 9;
	position: relative;
}

.fa-facebook-f {
	padding: 0.1em 0.3em;
}

.fa-github {
	padding: 0.1em 0.2em;
}

.fa-google {
	padding: 0.1em 0.2em;
}

.fa-twitter {
	padding: 0.1em 0.2em;
}

.fa-linkedin {
	padding: 0.1em 0.2em;
}

.fa-youtube {
	padding: 0.1em 0.2em;
}

.fa-briefcase {
	padding: 0.1em 0.2em;
}

.header .arrow {
	position: absolute;
	bottom: 5vh;
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 13px;
	z-index: 8;
}

.header .arrow i {
	position: relative;
	display: inline-block;
	width: 30px;
	height: 30px;
	line-height: 30px;
}

.header .arrow i:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	z-index: -1;
	-webkit-transition: all .2s;
	transition: all .2s;
}

.header .arrow i:hover:after {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
	opacity: 0;
	-webkit-transition: all .5s;
	transition: all .5s;
}

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




/* ----------------------------------------------------------------
				02 Buttons
-----------------------------------------------------------------*/
.buton {
	font-family: my_font_secondary,
		sans-serif;
	position: relative;
	cursor: pointer;
}

.buton button,
.buton a {
	font-size: 14px;
	text-transform: uppercase;
	height: 40px;
	line-height: 40px;
	width: 150px;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	position: relative;
	-webkit-transition: .3s;
	transition: .3s;
	-webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
	cursor: pointer;
}

.buton button:before,
.buton a:before {
	content: attr(back);
	font-family: "Font Awesome\ 5 Free";
	font-weight: bold;
	font-size: 18px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: transparent;
	color: #8b0000;
	border: 1px solid #8b0000;
	line-height: 38px;
	-webkit-transition: .3s;
	transition: .3s;
	-webkit-transform-origin: bottom;
	transform-origin: bottom;
	-webkit-transform: translateY(-100%) rotateX(90deg);
	transform: translateY(-100%) rotateX(90deg);
}

.buton button:after,
.buton a:after {
	content: attr(front);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #8b0000;
	color: #fff;
	-webkit-transition: .3s;
	transition: .3s;
	-webkit-transform-origin: top;
	transform-origin: top;
	-webkit-transform: translateY(0) rotateX(0deg);
	transform: translateY(0) rotateX(0deg);
}

.buton button:hover:before,
.buton a:hover:before {
	-webkit-transform: translateY(0) rotateX(0deg);
	transform: translateY(0) rotateX(0deg);
}

.buton button:hover:after,
.buton a:hover:after {
	-webkit-transform: translateY(100%) rotateX(90deg);
	transform: translateY(100%) rotateX(90deg);
}

.buton-bord button:before,
.buton-bord a:before {
	background: #8b0000;
	color: #fff;
}

.buton-bord button:after,
.buton-bord a:after {
	background: transparent;
	color: #808080;
	border: 1px solid #8b0000;
}

.buton-lg button,
.buton-lg a {
	width: 160px;
}

.buton-dark button:before,
.buton-dark a:before {
	color: #222;
	border: 1px solid #222;
}

.buton-dark button:after,
.buton-dark a:after {
	background: #222;
}


/* ----------------------------------------------------------------
				05 Hero
-----------------------------------------------------------------*/
.hero .hero-img {
	padding: 0 20px 0 0;
	position: relative;
	-webkit-transition: all .4s;
	transition: all .4s;
}

.hero .hero-img:hover {
	padding: 0 0 0 20px;
}

.hero .hero-img:hover:after {
	background: #8b0000;
	left: 5px;
	top: -15px;
	right: 15px;
	bottom: 15px;
}

.hero .hero-img:after {
	content: '';
	background: #f5f5f5;
	position: absolute;
	left: 15px;
	right: 5px;
	top: 15px;
	bottom: -15px;
	z-index: -1;
	-webkit-transition: all .5s;
	transition: all .5s;
}

.hero .content p {
	margin-bottom: 10px;
}

.hero .content p span {
	font-weight: 900;
}

.hero .content .buton {
	margin-top: 30px;
}

/* ----------------------------------------------------------------
				06 Resume
-----------------------------------------------------------------*/
.resume {
	background-attachment: fixed;
	padding: 50px 0;
}

.bg-resume {
	background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
		url(../img/bg_section.webp);
}

.resume .title {
	color: #8b0000;
	margin-bottom: 40px;
	letter-spacing: 2px;
}

.resume .item h5 {
	font-size: 25px;
	font-weight: 400;
}

.resume .item .icon {
	font-size: 30px;
	color: #8b0000;
	margin-bottom: 15px;
}

.resume .item li {
	margin-bottom: 30px;
}

.resume .item li:last-child {
	margin-bottom: 0;
}

.resume .item li h6 {
	color: rgb(238, 238, 238);
	font-size: 16px;
	font-family: inherit;
	margin-bottom: 5px;
}

.resume .item li p {
	color: rgb(170, 170, 170);
}

.resume .skills .skill {
	margin-bottom: 30px;
}

.resume .skills .skill:last-child {
	margin-bottom: 0;
}

.resume .skills .skill h6 {
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 400;
}

.resume .skills .skill h6 span {
	padding: 4px 8px 0;
	font-size: 10px;
	float: right;
	background: rgba(80, 80, 80, 0.3);
	position: relative;
	top: 8px;
}

.resume .skills .skill .skills-progress {
	position: relative;
	width: 100%;
	height: 4px;
	background: rgba(80, 80, 80, 0.3);
}

.resume .skills .skill .skills-progress span {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 5%;
	background: #8b0000;
	-webkit-transition: all 1s;
	transition: all 1s;
}

/* ----------------------------------------------------------------
				07 Services
-----------------------------------------------------------------*/
.services .item {
	text-align: center;
	padding: 40px 15px;
}

@media only screen and (max-width: 768px) {
	.services .item {
		border: 1px solid #8b0000;
		padding: 10px !important;

	}
}

.services .item .icon {
	font-size: 30px;
	margin-bottom: 20px;
	width: 70px;
	height: 70px;
	line-height: 70px;
	color: white;
	background: #8b0000;
	border-radius: 50%;
	-webkit-transition: all .5s;
	transition: all .5s;
}

.services .item:hover .icon {
	color: white;
	background: #f15a5a;
}


.services .item h6 {
	font-family: my_font_secondary,
		sans-serif;
	font-size: 22px;
	margin-bottom: 15px;
}

.services .active {
	border-right: 1px solid #8b0000;
	border-left: 1px solid #8b0000;
	position: relative;
}

.services .active.bolt:before,
.services .active.bolt:after {
	content: '';
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #fff;
	position: absolute;
	bottom: -15px;
	z-index: 4;
}

.services .active.bolt:before {
	left: -15px;
}

.services .active.bolt:after {
	right: -15px;
}

.services .bord {
	border-bottom: 1px solid #8b0000;
}

/* ----------------------------------------------------------------
				08 Numbers
-----------------------------------------------------------------*/
.numbers {
	padding: 50px 0;
}

.numbers .item {
	text-align: center;
}

.numbers .item .icon {
	font-size: 30px;
	color: #8b0000;
	margin-bottom: 30px;
}

.numbers .item h2 {
	font-weight: 200;
	margin-bottom: 10px;
}

/* ----------------------------------------------------------------
				09 Portfolio
-----------------------------------------------------------------*/
.portfolio {
	overflow: hidden;
}

.portfolio .filtering span {
	padding: 8px 20px;
	margin: 0 5px;
	color: #777;
	letter-spacing: 1px;
	font-weight: 600;
	font-size: 13px;
	cursor: pointer;
	border: 1px solid #eee;
	border-radius: 10px;
}

.portfolio .filtering .active {
	color: #fff;
	background: #8b0000;
	border-color: #8b0000;
}

.portfolio .filtering .active:after {
	bottom: 0;
	top: calc(100% - 1px);
	opacity: 1;
}

.portfolio .filtering .active:before {
	top: 0;
	opacity: 1;
}

.portfolio .items {
	padding: 0 15px;
	margin-bottom: 30px;
}

.portfolio .item-img {
	position: relative;
	overflow: hidden;
}

.portfolio .item-img h5 {
	font-size: 18px;
	position: relative;
	-webkit-transform: translateY(15px);
	transform: translateY(15px);
	-webkit-transition: all .6s;
	transition: all .6s;
	opacity: 0;
	z-index: 5;
}

.portfolio .item-img h6 {
	color: #8b0000;
	font-size: 13px;
	position: relative;
	margin-bottom: 10px;
	-webkit-transform: translateY(-15px);
	transform: translateY(-15px);
	-webkit-transition: all .6s;
	transition: all .6s;
	opacity: 0;
	z-index: 5;
}

.portfolio .item-img .link {
	position: absolute;
	bottom: 10px;
	right: 10px;
	color: #8b0000;
	-webkit-transition: all .5s;
	transition: all .5s;
	z-index: 5;
	opacity: 0;
}

.portfolio .item-img-overlay {
	position: absolute;
	top: 5px;
	left: 5px;
	right: 5px;
	bottom: 5px;
	background: transparent;
	z-index: 2;
}

.portfolio .item-img-overlay:before,
.portfolio .item-img-overlay:after {
	content: '';
	position: absolute;
	width: 0;
	height: 50%;
	background: #fff;
	-webkit-transition: all .4s;
	transition: all .4s;
}

.portfolio .item-img-overlay:before {
	left: 0;
	top: 0;
}

.portfolio .item-img-overlay:after {
	right: 0;
	bottom: 0;
}

.portfolio .item-img-overlay:hover:before,
.portfolio .item-img-overlay:hover:after {
	width: 100%;
}

.portfolio .item-img-overlay:hover h6,
.portfolio .item-img-overlay:hover h5,
.portfolio .item-img-overlay:hover .link {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
}

/* ----------------------------------------------------------------
				10 Testimonials
-----------------------------------------------------------------*/
.testimonials {
	color: white;
	background-attachment: fixed;
}

.bg-testimonials {
	background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)),
		url(../img/bg_section.webp);
}

.testimonials .icon {
	font-size: 40px;
	margin-bottom: 15px;
}

.testimonials .citem .author-img {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto 15px;
}

.testimonials .citem p {
	font-size: 18px;
	word-spacing: 2px;
	margin-bottom: 15px;
}

.testimonials .citem h5 {
	font-size: 16px;
	display: inline-block;
	padding: 10px;
	position: relative;
}

.testimonials .citem h5:after {
	position: absolute;
	right: -5px;
	left: -5px;
	bottom: 4px;
}

.testimonials .citem h6 {
	display: inline-block;
	font-weight: 400;
	font-size: 16px;
	margin: 15px 0;
}

/* ----------------------------------------------------------------
				11 Blog
-----------------------------------------------------------------*/
.blogsection {
	padding: 15px 0;
}

.blog .pitem {
	-webkit-box-shadow: 0px 0px 30px -4px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 0px 30px -4px rgba(0, 0, 0, 0.1);
}

.blog .pitem .post-img {
	position: relative;
}

.blog .pitem .post-img .tag {
	position: absolute;
	bottom: -15px;
	right: 15px;
	padding: 8px 22px;
	font-size: 11px;
	background: #8b0000;
	color: #fff;
	-webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.05);
	box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.05);
}

.blog .pitem .content {
	padding: 45px 15px 15px;
	background: #fff;
}

.blog .pitem h3 {
	font-size: 22px;
	font-weight: 700;
	color: #666;
	margin-bottom: 15px;
}

.blog .pitem p {
	font-size: 14px;
	padding-bottom: 0px;
	border-bottom: 1px solid #f7f7f7;
}

.blog .pitem .info {
	padding-top: 15px;
}

.blog .pitem .info span {
	font-size: 12px;
	color: #999;
}

.blog .pitem .info .more {
	color: #8b0000;
	border-bottom: 1px solid #eee;
}

.blog .pitem .info .by {
	float: right;
}

/* ----------------------------------------------------------------
				12 Contact
-----------------------------------------------------------------*/
.contact {
	background-attachment: fixed;
}

.contact .form input[type='text'],
.contact .form input[type='email'],
.contact .form textarea {
	width: 100%;
	border: 1px solid rgba(255, 255, 255, 0.1);
	padding: 10px;
	background: rgba(10, 10, 10, 0.4);
	color: #fff;
	margin-bottom: 15px;
}

.contact .form textarea {
	height: 160px;
	max-height: 160px;
	max-width: 100%;
}

.contact .form button {
	background: transparent;
	border: 0;
}

.contact .info {
	margin-top: 50px;
}

.contact .info .item .icon {
	float: left;
	padding-top: 5px;
	font-size: 25px;
	color: #8b0000;
}

.contact .info .item .cont {
	margin-left: 45px;
	padding-left: 15px;
	border-left: 1px solid rgba(200, 200, 200, 0.4);
}

.contact .info .item .cont h6 {
	font-size: 14px;
}

/* ----------------------------------------------------------------
				13 Footer
-----------------------------------------------------------------*/
.footer {
	padding: 50px 0;
	background: #111;
	text-align: center;
}

.footer p {
	font-size: 13px;
}

/* ----------------------------------------------------------------
				14 Responsive
-----------------------------------------------------------------*/
@media screen and (max-width: 991px) {
	.mb-md50 {
		margin-bottom: 50px;
	}

	.mb-md30 {
		margin-bottom: 30px;
	}

	.mb-md0 {
		margin-bottom: 0;
	}

	.services .item {
		padding: 0;
	}

	.services .active {
		border: 0;
	}

	.services .bord {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.mb-sm50 {
		margin-bottom: 50px;
	}

	.mb-sm30 {
		margin-bottom: 30px;
	}
}

.social-icon {
	margin-top: 20px;
}

.social-icon span {
	padding: 5px;
	margin: 0.1em;
	font-size: 1.5em;
	text-decoration: none;
	color: white;
}

@media only screen and (max-width: 768px) {
	.social-icon span {
		padding: 5px;
		margin: 0.1em;
		font-size: 1.0em;
	}
}