/*****************************************
Table Of Contents:
- General Styles
- Navigation
- Header
- Services
- About
- Modal
- Copyright
- Back To Top Button
- Media Queries
******************************************/

/* poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  src: url('../webfonts/poppins-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  src: url('../webfonts/poppins-v20-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/**************************/
/*     General Styles     */
/**************************/
body,
html {
	width: 100%;
	height: 100%;
	background: #2b2236;
}

body,
p {
	color: #eee;
	font: 400 1rem/1.625rem "Poppins", sans-serif;
	letter-spacing: .5px;
}

p {
	margin-bottom: 1.125rem;
}

h1, h2, h3, h4, h5, h6 {
	font-family: "Poppins", sans-serif;
}

h1 {
	color: #bccdff;
	font-weight: 700;
	font-size: 3rem;
	line-height: 4rem;
}

h2 {
	color: #00ffc4;
	font-weight: 700;
	font-size: 2.5rem;
	line-height: 3.25rem;
}

h3 {
	color: #e567ff;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 2rem;
}

h4 {
	color: #bccdff;
	font-weight: 700;
	font-size: 1.25rem;
	line-height: 1.75rem;
}

h5 {
	color: #eee;
	font-weight: 700;
	font-size: 1.25rem;
	line-height: 1.625rem;
}

h6 {
	color: #eee;
	font-weight: 700;
	font-size: 1rem;
	line-height: 1.375rem;
}

.p-large {
	font-size: 1.125rem;
	line-height: 1.75rem;
}

.p-small {
	font-size: 0.875rem;
	line-height: 1.5rem;
}

.li-space-lg li {
	margin-bottom: 0.25rem;
}

a {
	color: #fff;
	text-decoration: underline dotted;
}

a:hover {
	color: #fff;
	text-decoration: underline dotted;
}

.no-line,
.no-line:hover {
	text-decoration: none;
}

.bg-grey {
	background: #1d1626;
}

.btn-solid-reg {
	display: inline-block;
	padding: 1.375rem 2.25rem 1.375rem 2.25rem;
	border: 1px solid #bccdff;
	border-radius: 30px;
	background: #bccdff;
	color: #000;
	font-weight: 700;
	font-size: 1rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-solid-reg:hover {
	background: transparent;
	color: #bccdff;
	/* needs to stay here because of the color property of a tag */
	text-decoration: none;
}

.btn-solid-lg {
	display: inline-block;
	padding: 1.625rem 2.625rem 1.625rem 2.625rem;
	border: 1px solid #e567ff;
	border-radius: 30px;
	background: #e567ff;
	color: #000;
	font-weight: 700;
	font-size: 1rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-solid-lg:hover {
	background: transparent;
	color: #e567ff;
	/* needs to stay here because of the color property of a tag */
	text-decoration: none;
}

.btn-solid-sm {
	display: inline-block;
	padding: 1rem 1.5rem 1rem 1.5rem;
	border: 1px solid #fff;
	border-radius: 30px;
	background: #fff;
	color: #000;
	font-weight: 400;
	font-size: 1rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-solid-sm:hover {
	background: transparent;
	color: #fff;
	/* needs to stay here because of the color property of a tag */
	text-decoration: none;
}

.btn-outline-reg {
	display: inline-block;
	padding: 1.375rem 2.25rem 1.375rem 2.25rem;
	border: 1px solid #fff;
	border-radius: 30px;
	background: transparent;
	color: #fff;
	font-weight: 400;
	font-size: 1rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-outline-reg:hover {
	background: #fff;
	color: #000;
	text-decoration: none;
}

.btn-outline-lg {
	display: inline-block;
	padding: 1.625rem 2.625rem 1.625rem 2.625rem;
	border: 1px solid #fff;
	border-radius: 30px;
	background: transparent;
	color: #fff;
	font-weight: 400;
	font-size: 1rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-outline-lg:hover {
	background: #fff;
	color: #000;
	text-decoration: none;
}

.btn-outline-sm {
	margin-top: 1rem;
	display: inline-block;
	padding: 1.25rem 1.5rem 1.25rem 1.5rem;
	border: 1px solid #fff;
	border-radius: 30px;
	background: #fff;
	color: #000;
	font-weight: 400;
	font-size: 1.25rem;
	line-height: 0;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-outline-sm:hover {
	background: #fff;
	color: #000;
	border: 1px solid #fff;
	text-decoration: none;
}

/* Fade Animation For Rotating Text - ReplaceMe  */
@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.fadeIn {
	-webkit-animation: fadeIn 1.5s;
	animation: fadeIn 1.5s;
}

@-webkit-keyframes fadeOut {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

@keyframes fadeOut {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

/* end of fade animation for rotating text - replaceme */


/**********************/
/*     Navigation     */
/**********************/
.navbar {
	font-weight: 400;
	font-size: 1.5rem;
	line-height: 2.5rem;
	text-align: center;
	background: rgba(43, 34, 54, 0.8);
}

.navbar .navbar-brand {
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
}

.navbar .logo-image img {
	width: 240px;
	height: 24px;
}

.offcanvas-collapse {
	position: fixed;
	top: 64px;
	/* adjusts the height between the top of the page and the offcanvas menu */
	bottom: 0;
	left: 100%;
	width: 100%;
	padding-right: 1rem;
	padding-left: 1rem;
	overflow-y: auto;
	visibility: hidden;
	background: #130f19;
	transition: visibility .3s ease-in-out, -webkit-transform .3s ease-in-out;
	transition: transform .3s ease-in-out, visibility .3s ease-in-out;
	transition: transform .3s ease-in-out, visibility .3s ease-in-out, -webkit-transform .3s ease-in-out;
}

.offcanvas-collapse.open {
	visibility: visible;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}

.navbar .navbar-nav {
	margin-top: 0.75rem;
	margin-bottom: 0.5rem;
	-webkit-transform: translateY(40%);
	transform: translateY(40%);
}

.navbar .nav-item .nav-link {
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s ease;
}

.navbar .nav-item .nav-link:hover,
.navbar .nav-item .nav-link.active {
	color: #bccdff;
}
.navbar .nav-item .nav-link.btn-outline-sm,
.navbar .nav-item .nav-link.btn-outline-sm:hover,
.navbar .nav-item .nav-link.btn-outline-sm.active {
	color: #000;
	padding: 1.25rem;
	background: #00ffc4;
	border:  1px solid #00ffc4;
}

.navbar .navbar-toggler {
	padding: 0;
	border: none;
	font-size: 1.5rem;
	line-height: 1rem;
	text-transform: lowercase;
	font-weight: 400;
	color: #fff;
}

.navbar .navbar-toggler:focus {
	box-shadow: none;
}

@media (min-width: 992px) {
	.navbar {
		font-size: 1rem;
		line-height: 1rem;
	}

	.navbar .nav-item .nav-link {
		padding-top: 0.625rem;
		padding-bottom: 0.625rem;
		color: #fff;
	}

	.navbar .nav-item.dropdown.show .nav-link,
	.navbar .nav-item .nav-link:hover,
	.navbar .nav-item .nav-link.active {
		color: #bccdff;
	}
}

/******************/
/*     Header     */
/******************/
.header {
	height: 100vh;
	min-height: 500px;
	background: #1d1626;
	text-align: center;
}

.header .text-container {
	margin: 0 1rem;
}

.header .h1-large {
	font-size: 3.25rem;
	line-height: 4.25rem;
	margin-bottom: 1rem;
}

.header .replace-me span {
	color: #00ffc4;
	text-decoration: underline;
}

.header .p-large {
	margin: 0 auto 1rem auto;
}

.header .btn-solid-lg {
	margin-bottom: 1.75rem;
}

/********************/
/*     Services     */
/********************/
.services {
	padding-top: 8rem;
	padding-bottom: 4.5em;
	text-align: center;
}

.services .card {
	margin-bottom: 3rem;
	border: none;
	text-align: center;
	background: none;
}

.services .card-icon {
	width: 160px;
	height: 160px;
	margin-right: auto;
	margin-left: auto;
	border-radius: 80px;
	margin-bottom: .5rem;
	background: #130f19;
	box-shadow: 0 0.5rem 2rem 0 rgba(0, 0, 0, 0.1);
}

.services .card-icon .fas,
.services .card-icon .far,
.services .card-icon .fab {
	font-size: 4rem;
	line-height: 160px;
}

.services .card-body {
	padding: 0;
}

.services .card-title {
	margin-bottom: 1rem;
}

.green,
.services .card-icon.green .fas,
.services .card-icon.green .far,
.services .card-icon.green .fab {
	color: #00ffc4;
}

.gold,
.services .card-icon.gold .fas,
.services .card-icon.gold .far,
.services .card-icon.gold .fab {
	color: #ebf98d;
}

.lightblue,
.services .card-icon.lightblue .fas,
.services .card-icon.lightblue .far,
.services .card-icon.lightblue .fab {
	color: #bccdff;
}

.rose,
.services .card-icon.rose .fas,
.services .card-icon.rose .far,
.services .card-icon.rose .fab {
	color: #ff98c8;
}

/*****************/
/*     About     */
/*****************/
.about {
	padding-top: 5rem;
	padding-bottom: 9rem;
}

#attila-mann {
	padding-top: 3rem;
	padding-bottom: 3rem;
}
#attila-mann img {
	border-top-left-radius: 50%;
	border-top-right-radius: 50%;
	border-bottom-left-radius: 50%;
}
a.green {
	color: #000;
	background: #00ffc4;
}

a.green-none {
	color: #00ffc4;
	background: #000;
}

a.green:hover {
	color: #00ffc4;
	background: #000;
	text-decoration: none;
}

a.gold {
	color: #000;
	background: #ebf98d;
}

a.gold-none {
	color: #ebf98d;
	background: #000;
}

a.gold:hover {
	color: #ebf98d;
	background: #000;
	text-decoration: none;
}

a.lightblue {
	color: #000;
	background: #bccdff;
}

a.lightblue-none {
	color: #bccdff;
	background: #000;
}

a.lightblue:hover {
	color: #bccdff;
	background: #000;
	text-decoration: none;
}

a.rose {
	color: #000;
	background: #ff98c8;
}

a.rose-none {
	color: #ff98c8;
	background: #000;
}

a.rose:hover {
	color: #ff98c8;
	background: #000;
	text-decoration: none;
}

ul.skills {
	margin: 0;
}

ul.skills li {
	margin-right: 12px;
	padding: 20px 0;
}

ul.skills li a {
	cursor: default;
	padding: 12px 16px;
	text-decoration: none;
	font-weight: 700;
	transition: all 0.2s;
	border-radius: 40px;
	backgound: #000;
}

/*******************/
/*     Contact     */
/*******************/
.contact {
	padding-top: 8rem;
	padding-bottom: 9rem;
}

/*****************/
/*     Modal     */
/*****************/
.modal {
	padding-left: 0;
	padding-right: 0;
}

.modal-dialog {
	text-align: left;
	max-width: 960px;
	margin-right: .5rem;
	margin-left: .5rem;
	pointer-events: all;
}

.modal-content {
	padding: 2.75rem 1.25rem;
	background: rgba(255, 255, 255, 0.1);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	box-shadow: 0 .5rem 3rem 0 rgba(0, 0, 0, 0.2);	
}

.modal-content h4 {
	color: #e567ff;
}

.modal-content .btn-close {
	position: absolute;
	right: 14px;
	top: 14px;
	width: 1em;
  height: 1em;
  padding: 0;
	opacity: 0.7;
	transition: all ease 0.5s;
	-webkit-transition: all ease 0.5s;
	-moz-transition: all ease 0.5s;
}
.modal-content .btn-close:hover {
	opacity: 1;
}
.modal-content .btn-close:focus {
	box-shadow: none;
}
.modal-content .btn-close img {
	border-radius: 0;
	vertical-align: top;
	width: 1em;
  height: 1em;
}

.modal-content .image-container {
	margin-bottom: 1.25rem;
	box-shadow: 0 .5rem 2rem 0 rgba(0, 0, 0, 0.7);
	border-radius: 6px;
}

.modal-content img {
	border-radius: 6px;
}

.modal-content hr {
	width: 44px;
	margin-top: 0.125rem;
	margin-bottom: 1.25rem;
	margin-left: 0;
	height: 2px;
	border: none;
	background: #ddd;
}

.modal-content h4 {
	margin-bottom: 0.625rem;
}
.modal-content a {
		color: #bccdff;
}

.modal-content .list-unstyled {
	margin-bottom: 2rem;
}

.modal-content .list-unstyled .fas {
	font-size: 1rem;
	line-height: 1.5rem;
	margin-left: .5rem;
	color: #00ffc4;
}

.modal-content .list-unstyled .flex-grow-1 {
	margin-left: .5rem;
}

.modal-content .btn-solid-reg {
	margin-right: 0.5rem;
}

.modal-content .btn-outline-reg {
	cursor: pointer;
}
.modal-backdrop {
    opacity: 0.8 !important;
}

/*********************/
/*     Portfolio     */
/*********************/
.portfolio {
	padding-top: 8rem;
	padding-bottom: 8em;
}

.card-image {
	position: relative;
	margin-bottom: 1rem;
}

.card-image .portfolio-hover {
	background: rgba(29, 22, 38, 0.8);
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: all ease 0.5s;
	-webkit-transition: all ease 0.5s;
	-moz-transition: all ease 0.5s;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

.portfolio .card:hover .card-image .portfolio-hover {
	opacity: 1;
}

.card-image .portfolio-hover .portfolio-hover-content {
	position: absolute;
	width: 100%;
	height: 1.25rem;
	font-size: 1.25rem;
	text-align: center;
	top: 50%;
	margin-top: -5px;
	color: #fff;
	font-weight: 400;
}

.portfolio .card-body {
	padding: 0 1rem;
}

.portfolio .card-body h4 {
	color: #00ffc4;
}

.portfolio .card-body p {
	color: #fff;
}

.portfolio .card {
	margin-bottom: 5rem;
	border: none;
	background: #32293c;
	text-align: center;
	border: none;
	border-radius: 6px;
	transition: all 0.2s;
	box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.4);
	padding-bottom: .25rem;
}

.card a {
	cursor: pointer;
	text-decoration: none;
}

.portfolio .card-image img {
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
}

/* Hover Effects on Card */

@media (min-width: 992px) {
	.portfolio .card:hover {
		margin-top: -.25rem;
		margin-bottom: .25rem;
		box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.6);
	}
}

/*********************/
/*     Copyright     */
/*********************/
.copyright {
	padding-top: 3rem;
	padding-bottom: 2rem;
	background: #130f19;
	text-align: center;
}

.copyright p {
	color: #585f75;
}

.copyright a,
.copyright a:not([href]):not([class]) {
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s;
}

.copyright a:hover, 
.copyright a:not([href]):not([class]):hover {
	color: #bccdff;
	text-decoration: none;
}

/******************************/
/*     Back To Top Button     */
/******************************/
#myBtn {
	position: fixed;
	z-index: 99;
	bottom: 20px;
	right: 20px;
	display: none;
	width: 52px;
	height: 52px;
	border: none;
	border-radius: 50%;
	outline: none;
	background: rgba(0, 0, 0, .3);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	cursor: pointer;
}

#myBtn:hover {
	transition: 0.3s;
		background: rgba(0, 0, 0, .5);
}

#myBtn img {
	margin-bottom: 0.25rem;
	width: 18px;
}

/*************************/
/*     Media Queries     */
/*************************/
/* Min-width 768px */
@media (min-width: 768px) {

	/* Header */
	.header .h1-large {
		font-size: 5rem;
		line-height: 6rem;
		margin-bottom: 2rem;

	}

	/* end of header */

}

/* end of min-width 768px */

/* Min-width 992px */
@media (min-width: 992px) {


	h1 {
		font-size: 5rem;
		line-height: 6rem;
	}

	h2 {
		font-size: 3.5rem;
		line-height: 4.25rem;
	}

	h3 {
		font-size: 1.75rem;
		line-height: 2.25rem;
	}

	h4 {
		font-size: 1.5rem;
		line-height: 2.125rem;
	}

	/* Navigation */
	.navbar {
		padding-top: 1.75rem;
		background: transparent;
		box-shadow: none;
		transition: all 0.2s;
	}

	.navbar.top-nav-collapse {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		background: rgba(43, 34, 54, .5);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
	}

	.offcanvas-collapse {
		position: static;
		top: auto;
		bottom: auto;
		left: auto;
		width: auto;
		padding-right: 0;
		padding-left: 0;
		background: transparent;
		overflow-y: visible;
		visibility: visible;
	}

	.offcanvas-collapse.open {
		-webkit-transform: none;
		transform: none;
	}

	.navbar .navbar-nav {
		margin-top: 0;
		margin-bottom: 0;
		-webkit-transform: none;
		transform: none;
	}

	.navbar .nav-item .nav-link {
		padding-right: 0.75rem;
		padding-left: 0.75rem;
	}

	.navbar .nav-item .nav-link.btn-outline-sm {
		margin-top: 0;
		margin-left: 0.625rem;
		border: 1px solid #00ffc4;
		color: #00ffc4;
		background: transparent;
		padding: 1.1rem 1.25rem;
		font-size: 1rem;
	}

	.navbar .nav-item .nav-link.btn-outline-sm:hover,
	.navbar .nav-item .nav-link.btn-outline-sm.active {
		padding: 1.1rem 1.25rem;
		background: #00ffc4;
		color: #000;
	}

	/* end of navigation */

	/* Header */
	.header .btn-solid-lg {
		display: inline-block;
		margin-bottom: 0;
	}

	/* end of header */

	/* Services */
	.services .card {
		display: inline-block;
		width: 280px;
		vertical-align: top;
		background: none;
	}

	.services .card:nth-of-type(3n+2) {
		margin-right: 2.5rem;
		margin-left: 2.5rem;
	}

	/* end of services */

	/* About */
	.about .text-container {
		margin-bottom: 0;
	}

	/* end of About */

	/* Modal */
	/* Stops body and navbar shift on modal open */
	body.modal-open {
		overflow-y: scroll !important;
		padding-right: 0 !important;
	}

	body.modal-open .navbar {
		padding-right: 0 !important;
	}

	/* end of stops body and navbar shift on modal open */

	.modal-dialog {
		text-align: left;
		margin-top: 30px;
		margin-right: auto;
		margin-left: auto;
	}

	.modal-content .image-container {
		margin-bottom: 3rem;
		border-radius: 12px;
	}

	.modal-content img {
		border-radius: 12px;
	}

	.modal-content {
		padding-top: 4rem;
		padding-right: 4rem;
		padding-left: 4rem;
		border-radius: 12px;
	}

	/* end of modal */

}

/* end of min-width 992px */

/* Min-width 1200px */
@media (min-width: 1200px) {

	/* General Styles */
	.container {
		max-width: 1140px;
	}

	/* end of general styles */

	/* Header */
	.header .h1-large {
		font-size: 6rem;
		line-height: 7rem;
	}

	.header .image-container {
		position: relative;
	}

	.header .image-container img {
		position: absolute;
		top: -180px;
		left: -10px;
		width: 840px;
		max-width: none;
	}

	/* end of header */

	/* Services */
	.services .card {
		width: 340px;
	}

	.services .card:nth-of-type(3n+2) {
		margin-right: 2.5rem;
		margin-left: 2.5rem;
	}

	/* end of services */

}

/* end of min-width 1200px */