/* general styles */
:root {
	/*
	 	You can completely change the look & feel of this temlplate by 
		changing these root colors & fonts to your brand's palette & typography
	 */
	/* --body-background: linear-gradient(#15295e, #323232); */
	--body-background: 
	linear-gradient(217deg, rgba(19, 20, 74, 0.8), rgb(255 0 0 / 0) 40%),
	/* linear-gradient(127deg, rgba(8, 44, 11, 0.8), rgb(0 255 0 / 0) 50%), */
	linear-gradient(127deg, rgba(37, 8, 44, 0.8), rgba(183, 0, 255, 0) 50%),
	linear-gradient(336deg, rgba(0, 0, 0, 0.8), rgb(0 0 255 / 0) 100%);
	;
	--accent-color: #7f8c59;
	--color-1: #e1eade;
	--color-2: #d0dde5;
	--color-3: #f7f6f2;
	--color-4: #b3c3cc;
	--color-5: #f1f0ec;
	--color-6: 241, 240, 236; /* this is an rgb of color-5 & is used in the accordion */
	--translucent1: rgba(255,255,255,.5);
	--translucent2: rgba(0,0,0,.5);
	--text-color: #fff;
	--text-color2: #f6f6f6;
	--header-font: 'PlayfairDisplay-Regular', cursive;
	--main-body-font: 'Lato-Regular', sans-serif;
	--light-font: 'Lato-Light', sans-serif;
	--bold-font: 'Lato-Bold', sans-serif;
	--italic-font: 'Lato-Italic', sans-serif;
	--light-italic-font: 'Lato-LightItalic', sans-serif;
}
@font-face {
    font-family: 'PlayfairDisplay-Regular';
    src: url('fonts/PlayfairDisplay-Regular.eot');
    src: url('fonts/PlayfairDisplay-Regular.eot?#iefix') format('embedded-opentype'),
         url('fonts/PlayfairDisplay-Regular.woff2') format('woff2'),
         url('fonts/PlayfairDisplay-Regular.woff') format('woff'),
         url('fonts/PlayfairDisplay-Regular.ttf')  format('truetype'),
         url('fonts/PlayfairDisplay-Regular.svg#PlayfairDisplay-Regular') format('svg');
}
@font-face {
    font-family: 'Lato-Black';
    src: url('fonts/Lato-Black.eot');
    src: url('fonts/Lato-Black.eot?#iefix') format('embedded-opentype'),
         url('fonts/Lato-Black.woff2') format('woff2'),
         url('fonts/Lato-Black.woff') format('woff'),
         url('fonts/Lato-Black.ttf')  format('truetype'),
         url('fonts/Lato-Black.svg#Lato-Black') format('svg');
}
@font-face {
    font-family: 'Lato-BlackItalic';
    src: url('fonts/Lato-BlackItalic.eot');
    src: url('fonts/Lato-BlackItalic.eot?#iefix') format('embedded-opentype'),
         url('fonts/Lato-BlackItalic.woff2') format('woff2'),
         url('fonts/Lato-BlackItalic.woff') format('woff'),
         url('fonts/Lato-BlackItalic.ttf')  format('truetype'),
         url('fonts/Lato-BlackItalic.svg#Lato-BlackItalic') format('svg');
}
@font-face {
    font-family: 'Lato-Bold';
    src: url('fonts/Lato-Bold.eot');
    src: url('fonts/Lato-Bold.eot?#iefix') format('embedded-opentype'),
         url('fonts/Lato-Bold.woff2') format('woff2'),
         url('fonts/Lato-Bold.woff') format('woff'),
         url('fonts/Lato-Bold.ttf')  format('truetype'),
         url('fonts/Lato-Bold.svg#Lato-Bold') format('svg');
}
@font-face {
    font-family: 'Lato-BoldItalic';
    src: url('fonts/Lato-BoldItalic.eot');
    src: url('fonts/Lato-BoldItalic.eot?#iefix') format('embedded-opentype'),
         url('fonts/Lato-BoldItalic.woff2') format('woff2'),
         url('fonts/Lato-BoldItalic.woff') format('woff'),
         url('fonts/Lato-BoldItalic.ttf')  format('truetype'),
         url('fonts/Lato-BoldItalic.svg#Lato-BoldItalic') format('svg');
}
@font-face {
    font-family: 'Lato-Hairline';
    src: url('fonts/Lato-Hairline.eot');
    src: url('fonts/Lato-Hairline.eot?#iefix') format('embedded-opentype'),
         url('fonts/Lato-Hairline.woff2') format('woff2'),
         url('fonts/Lato-Hairline.woff') format('woff'),
         url('fonts/Lato-Hairline.ttf')  format('truetype'),
         url('fonts/Lato-Hairline.svg#Lato-Hairline') format('svg');
}
@font-face {
    font-family: 'Lato-HairlineItalic';
    src: url('fonts/Lato-HairlineItalic.eot');
    src: url('fonts/Lato-HairlineItalic.eot?#iefix') format('embedded-opentype'),
         url('fonts/Lato-HairlineItalic.woff2') format('woff2'),
         url('fonts/Lato-HairlineItalic.woff') format('woff'),
         url('fonts/Lato-HairlineItalic.ttf')  format('truetype'),
         url('fonts/Lato-HairlineItalic.svg#Lato-HairlineItalic') format('svg');
}
@font-face {
    font-family: 'Lato-Italic';
    src: url('fonts/Lato-Italic.eot');
    src: url('fonts/Lato-Italic.eot?#iefix') format('embedded-opentype'),
         url('fonts/Lato-Italic.woff2') format('woff2'),
         url('fonts/Lato-Italic.woff') format('woff'),
         url('fonts/Lato-Italic.ttf')  format('truetype'),
         url('fonts/Lato-Italic.svg#Lato-Italic') format('svg');
}
@font-face {
    font-family: 'Lato-Light';
    src: url('fonts/Lato-Light.eot');
    src: url('fonts/Lato-Light.eot?#iefix') format('embedded-opentype'),
         url('fonts/Lato-Light.woff2') format('woff2'),
         url('fonts/Lato-Light.woff') format('woff'),
         url('fonts/Lato-Light.ttf')  format('truetype'),
         url('fonts/Lato-Light.svg#Lato-Light') format('svg');
}
@font-face {
    font-family: 'Lato-LightItalic';
    src: url('fonts/Lato-LightItalic.eot');
    src: url('fonts/Lato-LightItalic.eot?#iefix') format('embedded-opentype'),
         url('fonts/Lato-LightItalic.woff2') format('woff2'),
         url('fonts/Lato-LightItalic.woff') format('woff'),
         url('fonts/Lato-LightItalic.ttf')  format('truetype'),
         url('fonts/Lato-LightItalic.svg#Lato-LightItalic') format('svg');
}
@font-face {
    font-family: 'Lato-Regular';
    src: url('fonts/Lato-Regular.eot');
    src: url('fonts/Lato-Regular.eot?#iefix') format('embedded-opentype'),
         url('fonts/Lato-Regular.woff2') format('woff2'),
         url('fonts/Lato-Regular.woff') format('woff'),
         url('fonts/Lato-Regular.ttf')  format('truetype'),
         url('fonts/Lato-Regular.svg#Lato-Regular') format('svg');
}
body, html {
    margin: 0;
    padding: 0;
    font-family: var(--main-body-font);
    overflow-x: clip;
	background: var(--body-background);
	scroll-behavior: smooth;
}
.single {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.two_cards {
	display: flex;
	align-items: center;
	gap: 2%;
	margin: 0 auto;
	padding: 1em;
}
.three_cards {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 25px;
	margin: 25px auto;
	padding: 1em;
}
.single h3,
.two_cards h3,
.three_cards h3 {
	font-size: 1.5em;
	margin-bottom: 25px;
}
.single h4,
.two_cards h4,
.three_cards h4 {
	font-size: 1.15em;
	margin-bottom: 25px;
}
.two_cards>div{
	flex-basis: 45%;
}
.three_cards>div{
	flex: 1 30%;
	display: flex;
	flex-direction:column;
}
.fadeIn {
	animation: fadeIn 2s linear forwards;
}
.two_cards img,
.three_cards img {
	max-width: 100%;
	margin-bottom: 25px;
}
.skillCard {
	position: relative;
	background-color: #fff;
	border: 1px solid #cacaca;
	border-radius: 7px;
	padding: 50px 7px 0;
	overflow: clip;
	opacity: 0;
	will-change: opacity;
}
.headliner {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	background: linear-gradient(to left, #3a3af5, #ee56e9);
	color: #fff;
	width: 100%;
	padding: 10px 7px;
	i {
		font-size: 1.2em;
	}
	h3 {
		margin: 0;
	}
}
@media screen and (max-width: 900px){
	.headliner h3 {
		font-size: 1em;
	}
	.two_cards img,
	.three_cards img {
		display: table;
		margin: 0 auto 25px;
	}
	.two_cards>div,
	.three_cards>div {
		flex-basis: 100%;
	}
	.flip {
		flex-direction: column;
	}
}
a {
	cursor: pointer;
	text-decoration: none;
	color: var(--text-color2);
}
h1,h2 {
	font-family: var(--header-font);
	word-spacing: 5px;
}
h1 {
	font-size: 90px;
}
h2 {
	font-size: 30px;
}
h3,h4,h5,h6 {
	font-family: var(--light-font);
}
p {
	line-height: 1.5;
	letter-spacing: .5px;
}
@media screen and (max-width: 1000px) {
	h1 {
		font-size: 60px;
	}
}
.ctaBtn,
button {
	background-color: var(--color-4);
	font-family: var(--light-font);
	font-size: 18px;
	padding: 12px 30px;
	color: var(--text-color);
	transition: 250ms ease;
	border: none;
	border-radius: 3px;
	margin: 15px auto;
	display: table;
	text-decoration: none;
}
@media screen and (min-width: 1025px) {
	.ctaBtn:hover,
	button:hover {
		background-color: var(--text-color);
		color: var(--color-4);
	}
	.ctaBtn:hover a,
	button:hover a {
		color: var(--color-4);
	}
}
/* Header */
#header-placeholder {
	min-height: 140px;
}
@media screen and (max-width: 767px) {
	#header-placeholder {
		min-height: 115px;
	}
}
header {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--body-background);
    padding: 20px;
}
@-webkit-keyframes rollIn {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-100%) rotate(-120deg);
	}

	100% {
		opacity: 1;
		-webkit-transform: translateX(0px) rotate(0deg);
	}
}

@keyframes rollIn {
	0% {
		opacity: 0;
		transform: translateX(-100%) rotate(-120deg);
	}
}
.logo {
  flex: 0 1 auto;
  position: relative;
  cursor: pointer;
  animation: rollIn 2s ease;
}
.logo.animated { 
  animation: none;
}
.logo img {
  border-radius: 100%;
  box-shadow: 0px 0px 30px 0px #666;
}

.logo img {
    height: 100px;
	@media screen and (max-width: 767px) {
		height: 75px;
	}
}
@media screen and (min-width:768px) {
	.mobile-nav {
		display: none !important;
	}
}
#navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.navbar-links {
    display: flex;
}

.navbar-links ul {
    list-style: none;
    padding: 0;
}
.navbar-links>ul {
    display: flex;
}
.navbar-links.left,
.navbar-links.right {
    justify-content: center;
    flex: 1;
}

.navbar-links li {
    padding: 0 20px;
}

.navbar-links a {
    transition: color 50ms ease-out;
    text-decoration: none;
    color: var(--text-color);
}
/* Navbar Dropdowns */
.navbar-links .dropdown,
.subMenu {
    position: relative;
}

.navbar-links .dropdown-content {
    max-height: 0;
    position: absolute;
	z-index: -10;
	display: flex;
	width: max-content;
	flex-direction: column;
    background-color: var(--color-5);
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
	transition: max-height 550ms ease;
}
.subDropdown-content {
    position: absolute;
	left: 102%;
  	top: 10px;
	z-index: 100;
	display: none;
	width: max-content;
	padding: 10px;
    background-color: var(--color-5);
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}
.navbar-links .dropdown-content li,
.subDropdown-content li {
	padding: 0;
}
.navbar-links .dropdown-content a,
.subDropdown-content a {
    color: var(--text-color1);
    padding: 12px 16px;
    text-decoration: none;
    opacity: 0;
	transition: opacity 575ms ease;
	display: block;
}
.navbar-links .dropdown::after,
.subMenu:after {
	font-family: FontAwesome;
    content: " \f078";
    font-size: 10px; 
	position: absolute;
	bottom: 2px;
	right: 5px;
}
.subMenu:after {
	bottom: 35%;
	right: 15px;
}
@media screen and (min-width: 1025px){
	.navbar-links .dropdown:hover .dropdown-content {
		max-height: 500px;
		z-index: 100;
	}
	.navbar-links .dropdown:hover .dropdown-content li {
		padding: 10px;
		transition: 50ms ease;
	}
	.navbar-links .dropdown:hover .dropdown-content li:hover {
		background-color: var(--text-color);
	}
	.navbar-links .dropdown:hover .dropdown-content li:hover a {
		color: var(--color-2);
	}
	.navbar-links .dropdown:hover .dropdown-content a {
		opacity: 1;
		position: relative;
		z-index: 100;
	}	
}
.subMenu:hover .subDropdown-content {
	display: flex;
	flex-direction: column;
}
.subMenu:hover .subDropdown-content li {
	flex: 100%;
}
.subMenu:hover .subDropdown-contenta {
	opacity: 1;
}
@media screen and (min-width:1025px) {
	a:hover,
	.navbar-links a:hover,
	.dropdown:hover:after,
	.subMenu:hover:after {
		color: var(--accent-color);
	}	
}
.toggle-button {
    display: none;
}


@media (max-width: 800px) {
    .navbar-links {
        display: none;
    }
    .toggle-button {
        display: block;
        cursor: pointer;
    }
    .toggle-button .bar {
        width: 15px;
        height: 2px;
        background-color: var(--text-color);
        display: block;
        margin: 3.5px;
    }
    .mobile-nav {
        position: fixed;
        padding: 0;
        margin: 0;
        z-index: 99;
        top: 0;
        left: -100%;
        height: 100%;
        width: 250px;
        background-color: var(--text-color);
        box-shadow: -2px 0 5px var(--translucent2);
        display: flex;
        flex-direction: column;
        transition: 450ms ease;
        align-items: center;
        justify-content: flex-start;
        list-style: none;
    }
    @keyframes slideInLeft {
        from {
            left: -100%;
            opacity: 0;
        }
        to {
            left: 0;
            opacity: 1;
        }
    }
	.navbar-links .dropdown::after {
		content: '';
	}
	.mobile-nav li {
		list-style: none;
	}
    .mobile-nav li a {
		font-family: var(--light-font);
        text-decoration:none;
        text-align: center;
        text-transform: capitalize;
        padding: 10px;
        display: table;
        color: var(--body-background);
    }
	.dropdown ul {
		padding-left: 15px;
	}
	.subMenu:after {
		content: '';
	}
	.subDropdown-content {
		padding-left: 10px;
		box-shadow: none;
		background-color: transparent;
		position: relative;
		top: 0;
		left: 0;
		display: block;
	}
	.subDropdown-content li a {
		opacity: 1;
	}
    .mobile-nav.active {
        left: 0;
        transition: 450ms ease;
        animation: slideInLeft 450ms ease;
		overflow-y: scroll;
    }
}

#headerBannerCont {
	position: absolute;
	top: 140px;
	left: 0;
	width: 100vw;
	z-index: 2;
}
.headerBanner {
	position: relative;
	aspect-ratio: 950/315;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 2s ease-in-out;
	clip-path: polygon(0% 0%, 100% 0, 100% 90%, 50% 100%, 0 90%);
}
.headerBanner:before {
	position: absolute;
	content: '';
	background: var(--translucent2);
	opacity: .7;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	clip-path: polygon(0% 0%, 100% 0, 100% 90%, 50% 100%, 0 90%);
}
.headerBanner .imageWrapper {
	position: absolute;
	width: 100%;
	height: 100%;
}
.headerBanner .bgImage {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	transition: opacity 2s ease-in-out;
	opacity: 0;
}
.headerBanner .bgImage.visible {
	opacity: 1;
}
#personalSpace {
	display: flex;
	align-items: center;
	flex: 1;
	gap: 35px;
	width: 30%;
	position: relative;
	z-index: 99;
}
#headerBannerText {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
@keyframes dropIn {
	0% {
		opacity: 0;
		top: -225px;
	}
	25% {
		opacity: 1;
		top: -75px;
	}
	50% {
		opacity: 1;
		top: -50px;
	}
	75% {
		opacity: 1;
		top: -25px;
	}
	100% {
		opacity: 1;
		top:0;
	}
}
#headerBannerText h1 {
	font-size: 40px;
	margin: 0;
	color: #fff;
	opacity: .75;
	span {
		position: relative;
	}
}
#headerBannerText h1 span:nth-of-type(1) {
	animation: fadeIn 250ms forwards ease;
	opacity:0;
	will-change: opacity;
	animation-delay: 2000ms;
}
#headerBannerText h1 span:nth-of-type(2) {
	animation: fadeIn 250ms forwards ease;
	opacity:0;
	will-change: opacity;
	animation-delay: 2150ms;
}
#headerBannerText h1 span:nth-of-type(3) {
	animation: fadeIn 250ms forwards ease;
	opacity:0;
	will-change: opacity;
	animation-delay: 2250ms;
}
#headerBannerText h1 span:nth-of-type(4) {
	animation: fadeIn 250ms forwards ease;
	opacity:0;
	will-change: opacity;
	animation-delay: 2350ms;
}
#headerBannerText h1 span:nth-of-type(5) {
	animation: fadeIn 250ms forwards ease;
	opacity:0;
	will-change: opacity;
	animation-delay: 2450ms;
}
#headerBannerText h1 span:nth-of-type(6) {
	animation: fadeIn 250ms forwards ease;
	opacity:0;
	will-change: opacity;
	animation-delay: 2550ms;
}
#headerBannerText h1 span:nth-of-type(7) {
	animation: fadeIn 250ms forwards ease;
	opacity:0;
	will-change: opacity;
	animation-delay: 2650ms;
}
#headerBannerText h1 span:nth-of-type(8) {
	animation: fadeIn 250ms forwards ease;
	opacity:0;
	will-change: opacity;
	animation-delay: 2750ms;
}
#headerBannerText h1 span:nth-of-type(9) {
	animation: fadeIn 250ms forwards ease;
	opacity:0;
	will-change: opacity;
	animation-delay: 2850ms;
}
#headerBannerText h1 span:nth-of-type(10) {
	animation: fadeIn 250ms forwards ease;
	opacity:0;
	will-change: opacity;
	animation-delay: 2950ms;
}
#headerBannerText h1 span:nth-of-type(11) {
	animation: fadeIn 250ms forwards ease;
	opacity:0;
	will-change: opacity;
	animation-delay: 3050ms;
}
#headerBannerText h1 span:nth-of-type(12) {
	animation: fadeIn 250ms forwards ease;
	opacity:0;
	will-change: opacity;
	animation-delay: 3150ms;
}
#headerBannerText p {
	color: #fff;
	font-style: italic;
	font-weight: 900;
	margin: 0;
	opacity:0;
	animation: fadeIn 2s linear;
	animation-fill-mode: forwards;
	will-change: opacity;
	animation-delay: 4.1s;
	span {
		background: linear-gradient(to left, #5A8B9C, #8AB4CF, #8C6EE0 75%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		opacity:0;
		animation: fadeIn 2s linear;
		animation-fill-mode: forwards;
		will-change: opacity;
		animation-delay: 7s;
	}
}
#headerBannerText.animated h1 span,
#headerBannerText.animated p,
#headerBannerText.animated p span {
	animation: none;
	opacity:1;
}
#pic1Cont {
	display: table;
	position: relative;
	width: auto;
	flex: 0 1 130%;
}
#introH2 {
  font-size: 1.25em;
  align-self: start;
  text-transform: capitalize;
  left: -22%;
  opacity: 0;
  animation: fadeIn 3s ease forwards;
  animation-delay: 1.5s;
}
#aboutIntro {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 0 1 50%;
	padding: 1em;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
#homeImg1 {
	filter: sepia(100%) brightness(.5);
	transition: 450ms ease;
	opacity: .7;
}
#pic1Cont:hover #homeImg1 {
	filter: none;
	opacity: 1;
}
#homeImg1Descriptor,
#homeImg1Descriptor2 {
	--border-width: 2px;
	--border-radius: 22px;
	--color-1: #3a3af5;
	--color-2: #ee56e9;
}
#homeImg1Descriptor {
	position: absolute;
	top: 0;
	left: 6%;
	background-color: #fff;
	padding: 2px 10px;
	/* border: 5px solid;
	border-image-slice: 1;
	border-width: 5px;
	border-image-source: linear-gradient(to left, #743ad5, #d53a9d); */
	transition: 750ms ease;
	opacity: 0;
	will-change: opacity;
	background: linear-gradient(to right, #3a3af5, #ee56e9),
    linear-gradient(to right, #3a3af5, #ee56e9);
	background-position: var(--border-radius) 0, var(--border-radius) 100%;
	background-repeat: no-repeat;
	background-size: calc(100% - var(--border-radius) - var(--border-radius))
    var(--border-width);
	border-radius: var(--border-radius);
	border: none;
}
#homeImg1Descriptor2 {
	position: absolute;
	top: 20%;
	left: 405px;
	background-color: #fff;
	padding: 2px 10px;
	transition: 750ms ease;
	opacity: 0;
	will-change: opacity;
	background: linear-gradient(to right, #3a3af5, #ee56e9),
    linear-gradient(to right, #3a3af5, #ee56e9);
	background-position: var(--border-radius) 0, var(--border-radius) 100%;
	background-repeat: no-repeat;
	background-size: calc(100% - var(--border-radius) - var(--border-radius))
    var(--border-width);
	border-radius: var(--border-radius);
	border: none;
	transform: rotate(-27deg);
}
#homeImg1Descriptor span,
#homeImg1Descriptor2 span {
	width: 100%;
	height: 100%;
	padding: 2px 10px;
	background-color: #fff;
	position: relative;
	z-index: 1;
}
#homeImg1Descriptor span:after {
	content: '';
	position: absolute;
	width: 107%;
	height: 100%;
	background-color: #fff;
	border-radius: 22px;
	left: -9px;
	z-index: -1;
}
#homeImg1Descriptor2 span:after {
	content: '';
	position: absolute;
	width: 110%;
	height: 100%;
	background-color: #fff;
	border-radius: 22px;
	left: -9px;
	z-index: -1;
}
#homeImg1Descriptor:before,
#homeImg1Descriptor:after,
#homeImg1Descriptor2:before,
#homeImg1Descriptor2:after  {
  content: "";
  display: block;
  position: absolute;
  width: var(--border-radius);
  top: 0;
  bottom: 0;
  z-index: 2;
  position: absolute;
}

#homeImg1Descriptor:before,
#homeImg1Descriptor2:before {
  left: 0;
  border: var(--border-width) solid var(--color-1);
  border-top-left-radius: var(--border-radius);
  border-bottom-left-radius: var(--border-radius);
  border-right-color: transparent;
}

#homeImg1Descriptor:after,
#homeImg1Descriptor2:after {
  right: 0;
  border: var(--border-width) solid var(--color-2);
  border-top-right-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
  border-left-color: transparent;
}
#pic1Cont:hover #homeImg1Descriptor {
	opacity: 1;
}
#pic1Cont:hover #homeImg1Descriptor2 {
	opacity: 1;
	transition-delay: 1.5s;
}
#homeIntro {
	color: #fff;
	font-size: 17px;
	position: absolute;
	bottom: 3%;
	left: 5%;
	width: 250px;
}
.emailMe {
	background: linear-gradient(to left, #6c6cfc, #ee56e9);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#Oz {
	background: linear-gradient(40deg, #3EAF9C 0%, #87C745 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.underlineMe {
  position: relative;
  display: inline-block;
}

.underlineMe::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 100%;
  background: linear-gradient(to left, #3a3af5, #ee56e9);
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
}
#Oz::after {
  background: linear-gradient(40deg, #3EAF9C 0%, #87C745 100%);
}
.underlineMe:hover::after,
.underlineMe:focus-visible::after {
  animation: underlineGrow 300ms linear forwards;
}

.underlineMe.grown:not(:hover)::after {
  animation: underlineShrink 300ms linear forwards;
}

@keyframes underlineGrow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

@keyframes underlineShrink {
  from { transform: scaleX(1); }
  to   { transform: scaleX(0); }
}

@media screen and (max-width: 1050px) {
	#homeImg1Descriptor2 {
		transform: rotate(0deg);
		top: unset;
		bottom: 25px;
		left: 455px;
	}
}
@media screen and (max-width: 675px) {
	#homeImg1Descriptor2 {
		left: 55vw;
	}
}
@media screen and (max-width: 575px) {
	#homeImg1Descriptor2 {
		bottom: unset;
		top: 50px;
	}
}
@media screen and (max-width: 552px) {
	#homeImg1Descriptor2 {
		left: 45vw;
	}
}
@media screen and (max-width: 500px) {
	#homeImg1Descriptor {
		font-size: 12px;
		top: -5px;
		left: 1%;
	}
	#homeImg1Descriptor2 {
		top: 35px;
		font-size: 12px;
		bottom: unset;
		left: unset;
		right: 10px;
	}
	#homeImg1Descriptor span, 
	#homeImg1Descriptor2 span {
		padding: 1px 10px;
	}
	#homeImg1Descriptor::after, 
	#homeImg1Descriptor2::after {
		right: 5px;
	}
}
@media screen and (max-width: 800px) {
	#personalSpace {
		gap: 2vw;
	}
	#headerBannerText h1 {
			font-size: 25px;
	}
}
@media screen and (max-width: 350px) {
	#headerBannerText h1 {
			font-size: 20px;
	}
	#headerBannerText p {
		font-size: 12px;
	}
}
#hp2 {
	position: relative;
	display: flex;
	gap: 55px;
}
@media screen and (max-width: 1000px) {
	#hp2 {
		flex-direction: column;
		align-items: center;
		gap: 0;
	}
}
@media screen and (max-width: 575px) {
	#homeIntro {
		font-size: 13px;
		position: relative;
		bottom: 0;
		padding: 0 1em;
		margin-bottom: 0;
		width: auto;
		left: 0;
	}
}
#personally {
	color: #fff;
	li {
		opacity: 0;
		will-change: opacity;
		animation: fadeIn 500ms linear forwards;
	}
}
#personally .two_cards {
	margin: 0 auto;
	flex-wrap: wrap;
	h2 {
		text-transform: capitalize;
	}
}
	#personally li:nth-of-type(2) {
		animation-delay: 550ms;
	}
	#personally li:nth-of-type(3) {
		animation-delay: 1100ms;
	}
	#personally li:nth-of-type(4) {
		animation-delay: 1650ms;
	}
	#personally li:nth-of-type(5) {
		animation-delay: 2200ms;
	}

#homepageServices {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.homepageServiceBox {
	flex: 1;
	display: flex;
	flex-direction: column;
	background-color: var(--color-3);
	justify-content: space-between;
}
.homepageServiceBox:nth-of-type(2) {
	flex-direction: column-reverse;
}
.homepageServiceBox>div {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.homepageServiceBox h3 {
	text-transform: uppercase;
	font-size: 23px;
	text-align: center;
	margin-top: 25px;
}
.homepageServiceBox button {
	text-transform: uppercase;
	text-align: center;
}
.homepageServiceBox p {
	text-transform: capitalize;
	text-align: center;
	margin: 1em;
}

.homePageCont {
	width: 1200px;
	margin: auto;
	max-width: 100%;
}
.homePageCont img {
	max-width: 100%;
}
#hp3 {
	padding: 15px 0;
	position: relative;
	/* background-color: #f6f6f6; */
}
#hp3 h2,
#hp4 h2 {
	text-transform: capitalize;
	margin: 0;
}
#hp3imgDiv img {
  width: 450px;
  max-width: 100%;
  margin: auto;
  display: block;
}
#processSteps {
	margin: 35px 0;
}
#processSteps li {
	list-style: none;
	border-top: 1px solid var(--text-color);
	line-height: 2.5;
	width: 350px;
	max-width: 100%;
}
#processSteps li:last-of-type {
	border-bottom: 1px solid var(--text-color);
}
#technologiesHeader {
	padding: 0 1em;
	color: #fff;
	h3 {
		position: relative;
		display: table;
		width: auto;
		opacity: 0;
		will-change: opacity;
	}
	h3:after {
		position: absolute;
		content: '';
		width: 75px;
		height: 3px;
		border-bottom: 3px solid #fff;
		bottom: -5px;
		right: -15px;
	}
}
#technologies {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1em;
	gap: 25px;
	color: #fff;
	flex-wrap: wrap;
	i {
		font-size: 45px;
		cursor: pointer;
		position: relative;
		opacity: 0;
		will-change: opacity;
	}
	i::after {
		content: attr(data-tooltip);
		position: absolute;
		bottom: -25px;
		left: 50%;
		transform: translateX(-50%);
		background: linear-gradient(to left, #3a3af5, #ee56e9);
		color: #fff;
		font-size: 0.75rem;
		padding: 6px 8px;
		border-radius: 4px;
		white-space: nowrap;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.2s ease;
		z-index: 10;
	}
	i:hover::after {
		opacity: 1;
	}
}
#hp4 {
	padding: 15px 0;
	position: relative;
	color: #fff;
}
#hp4 .two_cards:first-of-type,
#hp4 .two_cards:first-of-type h2 {
	margin-bottom: 0;
}
#hp4 .skillCard {
	padding: 50px 0 0;
	img {
		object-fit: cover;
		margin-bottom: -5px;
	}
	h4 {
		margin-bottom: 0;
	}
}
#hp4 .borderless {
	background-color: transparent;
	border: none;
	padding: 0;
}

/* #hp4:before {
	position: absolute;
	content: '';
	width: calc(100% + 100px);
	height: 100%;
	background: var(--color-1);
	left: -50px;
	top: 0;
} */
#hp4 h2 {
	text-align: center;
	position: relative;
}
/* #hp4 h2:after {
	content: '';
	width: 95px;
	height: 3px;
	border-top: 2px solid var(--text-color);
	display: table;
	margin: auto;
	position: relative;
	top: .5em;
} */
#hp4 button {
	display: table;
	margin: auto;
	position: relative;
	top: 1em;
}
.fourCardsCont {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	position: relative;
	gap: 15px;
	margin-top: 3em;
}
.fourCards {
	flex: 1;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: center;
	transition: 350ms ease;
}
.fourCards h4 {
	text-transform: uppercase;
	text-align: center;
	font-size: 20px;
	margin: 10px auto;
}
.fourCards h4:after {
	content: '';
	width: 45px;
	height: 3px;
	border-top: 2px solid var(--text-color);
	display: table;
	margin: auto;
	position: relative;
	top: .25em;
}
.fourCards img {
	max-width: 100%;
}
.fourCards p {
	text-align: center;
	font-style: italic;
}
.fourCards:hover {
	transform: scale(1.025);
}
@media screen and (max-width:975px) {
	.fourCards {
		flex: 45%;
	}
}
@media screen and (max-width:450px) {
	.fourCards h4 {
		font-size: 15px;
	}
	.fourCards p {
		font-size: 11px;
	}
}
@media screen and (max-width:767px){
	.homepageServiceBox h3 {
		font-size: 20px;
		margin: 0 0 10px;
	}
	.homepageServiceBox p {
		font-size: 14px;
		margin: 0 1em 1em;
	}
	.homepageServiceBox button {
		font-size: 14px;
	}
}
@media screen and (max-width: 800px) {
	.homepageServiceBox h3 {
		font-size: 16px;
	}
}
@media screen and (max-width: 650px) {
	.homepageServiceBox {
		flex: 100%;
		flex-direction: row;
	}
	.homepageServiceBox:nth-of-type(2) {
		flex: 100%;
		flex-direction: row-reverse;
	}
	.homepageServiceBox > div {
		flex: 1;
	}
}
@media screen and (max-width: 475px) {
	.homepageServiceBox p {
		line-height: 1.25;
		margin: 0 1px .5em;
		font-size: 12px;
	}
	.homepageServiceBox h3 {
		line-height: 1.25;
		font-size: 14px;
		margin: 0 0 4px;
	}
	.homepageServiceBox button {
		font-size: 11px;
		padding: 7px 10px;
	}
	#post-2065 {
		padding-left:0;
		padding-right:0;
	}
}
@keyframes fadeIn {
	from {opacity:0;}
	to {opacity:1;}
}
/*Testimonials*/
.testimonial-carousel {
	height: 200px;
	width: 100%;
	background: linear-gradient(var(--color-4), var(--color-2));
	border-radius: 5px;
	position: relative;
	overflow: hidden;
}
.testimonial-carousel .testimonial-item {
  display: none;
  position: absolute; 
  width: 80%; 
  height: 100%; 
  transition: opacity 0.5s;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.testimonial-carousel .testimonial-item p {
	color: var(--body-background);
	font-size: 17px;
	margin-bottom: 0;
}
.testimonial-carousel .testimonial-item span {
	font-size: 20px;
	font-weight: 900;
	margin-top: 25px;
	font-style: italic;
}

.testimonial-carousel .testimonial-item.active {
  display: flex;
  align-items:center;
  opacity: 1;
}
.testimonial-dots {
	position: relative;
	text-align: center;
	padding-top: 10px;
}

.testimonial-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: var(--color-4);
	margin: 0 5px;
	cursor: pointer;
}

.testimonial-dot.active {
	background-color: var(--text-color);
}

@media screen and (max-width: 1100px) {
	.testimonial-carousel p {
		font-size: 13px !important;
		line-height: 20px;
	}
}
@media screen and (max-width: 350px) {
	.testimonial-carousel {
		height: 275px;
	}
}

.prev, .next {
    cursor: pointer;
    position: absolute;
    z-index: 10;
    top: 50%;
    transform: translateY(-50%);
    color: var(--body-background);
    font-size: 24px;
    user-select: none;
    padding: 3px 7px;
    background: var(--translucent2);
    border-radius: 3px;
    transition: 250ms ease;
    animation: fadeInUp 3s ease forwards;
}
@media screen and (max-width: 450px) {
	.prev, .next {top: 40%;}
}
.prev:hover,
.next:hover{
    background: var(--text-color);
}

.prev { left: .5em; }
.next { right: .5em; }

/* .dots {
    width: 100%;
    text-align: center;
    position: absolute;
    left: 50%;
    bottom: -4px;
    transform: translateX(-50%);
    z-index: 10;
}
@media screen and (max-width: 450px) {
	.dots {display: none;}
}

.dot {
    cursor: pointer;
    height: 5px;
    width: 4vw;
    min-width: 25px;
    margin: 0 5px;
    background-color: var(--text-color);
    opacity: .75;
    display: inline-block;
    transition: background-color 0.6s ease;
}

.current, .dot:hover {
    opacity: 1;
} */
/* homepage */
	/* Ticker Tape styles */
	#tickerTapeContainer {
		background-color: var(--color-1);
		overflow: hidden;
		white-space: nowrap;
		position: relative;
		width: 130%;
		height: 30px;
		top: 0;
		left: -15%;
		z-index: 10;
	}
	.tickerTapeText {
		text-decoration: none;
		position: absolute;
		color: var(--body-background);
		margin: 0 !important;
		font-size: 20px;
		animation: slideIt 15s linear infinite;
	}
	.services {
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		aspect-ratio: 1920/1000;
		background-color:var(--color-3);
		position: relative;
		z-index: 1;
	}
	.services>div:nth-of-type(1) {
		flex-basis: 10%;
	}
	.services>div:nth-of-type(2),
	.services>div:nth-of-type(3) {
		flex-basis: 35%;
	}
	#serviceHeader {
		transform: rotate(-90deg);
	}
	#serviceHeader h2 {
        font-family: var(--header-font);
		color: var(--text-color);
		font-size: 11vw;
	
    }
    #serviceTable h3 {
        font-family: var(--header-font);
        font-size: 25px;
        letter-spacing: 5px;
    }
	#serviceImages {
		position: relative;
		height: 100%;
	}
	#serviceImages img {
		position: absolute;
		max-width: 95%;
	}
	#serviceImages img:nth-of-type(1) {
		top: 5%;
		left: -3em;
		width: 25vw;
	}
	#serviceImages img:nth-of-type(2) {
		width: 15vw;
		position: absolute;
		bottom: 0;
		right: 0;
		transform: translate(-10%, -15%);
		z-index: 2;
	}
	.accordion-toggle {
		display: block;
		cursor: pointer;
		text-align: center;
		border: .5px solid var(--text-color);
	}
	.accordionCont>p {
		display: none;
	}
	.accordionCont>a {
		display: block;
	}
	.accordion-content {
		display: none;
		overflow: hidden;
		transition: max-height 0.3s ease-in-out;
	}
	.accordion-content.active {
		display: block;
		max-height: 1000px;
	}
	#srvCTA {
		display: block;
		margin: 15px auto;
		text-align: center;
	}
	.accordionWrapper {
		max-width: 95%;
		margin: auto;
	}
	.accordionWrapper li {
		line-height: 1.5;
		font-size: 12px;
	}
	.accordionWrapper p {
		margin: 0;
		font-size: 15px;
	}
    .accordionItemContent > div {
        padding: 20px;
    }
	.accordionItemContent {
        overflow: hidden;
        max-height: 0;
        transition: max-height 350ms ease;
        background-color: rgba(var(--color-6),.5);
        border-radius: 3px;
        color: var(--text-color);
    }
    .accordionItem.open .accordionItemContent {
        max-height: 500px;
    }      
	.accordionItemHeading {
		cursor: pointer;
		position: relative;
		margin: 0 !important;
		text-align: center;
		padding: 10px 50px 10px 10px;
		color: var(--text-color);
		border-bottom: .5px solid var(--text-color);
	}
	.accordionItemHeading::after {
		content: '+';
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translateY(-50%);
		transition: transform 3s ease;
	}
	.accordionItem.open .accordionItemHeading::after {
		content: 'x';
		transform: translateY(-50%) rotate(0deg);
	}
	.open .accordionItemHeading {
		margin: 0px;
		-webkit-border-top-left-radius: 3px;
		-webkit-border-top-right-radius: 3px;
		-moz-border-radius-topleft: 3px;
		-moz-border-radius-topright: 3px;
		border-top-left-radius: 3px;
		border-top-right-radius: 3px;
		-webkit-border-bottom-right-radius: 0px;
		-webkit-border-bottom-left-radius: 0px;
		-moz-border-radius-bottomright: 0px;
		-moz-border-radius-bottomleft: 0px;
		border-bottom-right-radius: 0px;
		border-bottom-left-radius: 0px;
	}
    .serviceBox a {
        text-decoration: none;
    }
	.serviceBox:nth-of-type(odd) {
		background-color: var(--color-4);
		display: flex;
		flex-direction: row;
	}
	.serviceBox:nth-of-type(even) {
		background-color: var(--color-5);
		display: flex;
		flex-direction: row-reverse;
	}
	.serviceBox>div {
		flex: 0 1 50%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.serviceBox h3 {
		position: relative;
		line-height: 2;
		color: var(--text-color);
		transition: 250ms ease;
	}
	.serviceBox h3:after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%, 0);
		width: 75px;
		height: .02em;
		background-color: var(--text-color);
		transition: 500ms ease;
	}
	.serviceBox img {
		transition: 250ms ease;
        max-width: 100%;
		display: block;
	}
	@media screen and (min-width: 1025px) {
	.serviceBox img:hover {
		transform: scale(1.005);
	}
	.serviceBox h3:not(.serviceTextLink h3):hover {
		transform: scale(1.1);
		line-height: 1.5;
	}
	.serviceBox h3:not(.serviceTextLink h3):hover:after {
		width: 90%;
		height: 2px;
	}
	}
	#aboutMe {
	  display: flex;
	  align-items: center;
	  justify-content: initial;
	  background-color: var(--color-1);
	  background-image: url(images/aboutMe.webp);
	  background-size: contain;
	  background-repeat: no-repeat;
	  background-position-x: right;
	  aspect-ratio: 1920/720;
	}
	#aboutMe p {
        letter-spacing: .5px;
        line-height: 1.5;
		font-family: var(--light-font);
	}
	#aboutMe > div {
		flex-basis: 50%;
		padding: 35px;
		margin: unset;
	}
	/*Testimonials*/
	.testimonial-carousel {
		height: 200px;
		width: 90%;
		max-width: 100%;
		margin: auto;
		background: linear-gradient(var(--color-4), var(--color-2));
		border-radius: 5px;
		position: relative;
		overflow: hidden;
	}
	.testimonial-carousel .testimonial-item {
	  display: none;
	  position: absolute; 
	  width: 80%; 
	  height: 100%; 
	  transition: opacity 0.5s;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%);
	}
	.testimonial-carousel .testimonial-item p {
		color: var(--text-color);
		font-size: 17px;
		margin-bottom: 0;
	}
	.testimonial-carousel .testimonial-item span {
		font-size: 20px;
		font-weight: 900;
		margin-top: 25px;
		font-style: italic;
	}
	.testimonial-carousel .testimonial-item.active {
	  display: flex;
	  align-items:center;
	  opacity: 1;
	}
	.testimonial-navdots {
		position: relative;
	    text-align: center;
	    padding-top: 10px;
	}
	.testimonial-navdot {
	    display: inline-block;
	    width: 10px;
	    height: 10px;
	    border-radius: 50%;
	    background-color: var(--translucent2);
	    margin: 0 5px;
	    cursor: pointer;
	}
	.testimonial-navdot.active {
	    background-color: var(--text-color);
	}
	@media screen and (max-width: 1100px) {
		.testimonial-carousel p {
			font-size: 13px !important;
			line-height: 20px;
		}
	}
	@media screen and (max-width: 350px) {
		.testimonial-carousel {
			height: 275px;
		}
	}
	#process {
		display: flex;
		flex-direction: row;
		background: var(--text-color);
		color: var(--body-background);
		padding-top: 35px;
		position: relative;
	}
	#process p {
		font-family: var(--light-font);
		letter-spacing: .5px;
		line-height: 1.5;
	}
	#processHeader {
	  transform: rotate(90deg) translate(0,-50%);
	  position: absolute;
	  right: -3em;
	  top: 25%;
	  white-space: nowrap;
	}
	#processHeader h2 {
		font-size: 155px;
		line-height: 0;
		margin: 0;
	}
	#process h2,
	#process h3 {
		color: var(--body-background);
        font-family: var(--header-font);
	}
	#processTable {
		margin: unset;
	}
	.processTable {
		display: flex;
		flex-direction: row;
	}
	.processItem {
		padding: 25px;
		border-top: 1px solid var(--body-background);
		display: flex;
		width: 70%;
	}
	.processItemNumber {
		font-size: 13px;
		flex-basis: 5%;
		padding: 0 10px;
	}
	@media screen and (max-width: 1100px) {
		#processHeader {
			right: -5em;
		}
	}
	@media screen and (max-width: 880px) {
		#process {
			flex-direction: column-reverse;
		}
		#processHeader {
			transform: none;
			position: relative;
			top: 0;
			left: 0;
			text-align: center;
		}
		#processHeader h2 {
			line-height: 1;
			margin: auto;
		}
		.processTable {
			width: 95%;
			margin: auto;
		}
		.processItem {
			width: auto;
		}
	}
	@media screen and (max-width: 500px) {
		.serviceBox,
		.serviceBoxserviceBoxFlip {
			flex-direction: column;
		}
		.serviceBox>div {
			flex: 0 1 100%;
		}
		#processHeader h2 {
			font-size: 100px;
		}
		#homepageWelcome p {
			display: none;
		}
	}
	@media screen and (max-width:767px) {
		.services {
			flex-wrap: wrap;
		}
		#serviceHeader {
			transform: rotate(0deg);
			flex-basis: 100%;
			text-align: center;
		}
		.services > div:nth-of-type(2), 
		.services > div:nth-of-type(3) {
			flex-basis: 50%;
		}
		#serviceImages img:nth-of-type(1) {
		  top: 0%;
		  left: 5%;
		  width: 30vw;
		}
		#serviceImages img:nth-of-type(2) {
		  width: 20vw;
		  bottom: -6%;
		  transform: translate(-20%, -25%);
		}
	}
	@media screen and (max-width:600px) {
		.accordionItemHeading {
			font-size: 1.2rem;
		}
		#aboutMe {
			background-size: cover;
			background-position-x: center;
		}
		#aboutMe > div {
		  flex-basis: 100%;
		  background: var(--translucent2);
		}
	}
	@media screen and (max-width:550px) {
		.services > div:nth-of-type(2), 
		.services > div:nth-of-type(3) {
			flex-basis: 100%;
		}
		#serviceImages {
			height: 175%;
		}
		#serviceImages img:nth-of-type(1) {
			top: 0%;
			left: 5%;
			width: 50vw;
		}
		#serviceImages img:nth-of-type(2) {
			width: 35vw;
			bottom: -6%;
			right: 10%;
		}
		#serviceTable {
			padding: 0 1em;
		}
	}
	@keyframes slideIt{
	  0%{left:-5%;}
	  100%{left:105%;}
	}
/* end homepage */
/* Page Sections */
.pageWrap {
    width: 1200px;
    margin: auto;
    max-width: 100%;
	overflow: hidden;
	margin-bottom: 35px;
}
.pageWrap a {
	cursor: pointer;
	text-decoration: none;
	color: var(--text-color1);
	max-width: 100vw;
}
.pageWrap img {
	max-width: 100%;
}
#bookMe {
	position: fixed;
	opacity: 0;
	bottom: 5px;
	left: 5px;
	z-index: 900;
	animation: fadeInUp 1.5s forwards ease;
	animation-delay: 1s;
}
#bookMe a {
	text-decoration: none;
	color: var(--text-color);
}
@media screen and (min-width: 1025px)  {
	#bookMe:hover a {
		color: var(--color-5)
	}
}
/* Footer */
footer {
    background-color: var(--text-color);
    color: var(--body-background);
    text-align: center;
    padding: 20px 0;
}

.footer-content {
    margin-bottom: 20px;
}

.footer-content h3 {
    margin: 0 0 10px;
}

.footer-content p {
    margin: 0 0 10px;
}

.socials {
    list-style: none;
    padding: 0;
}

.socials li {
    display: inline;
    margin-right: 10px;
}

.socials a,
footer a {
    color: var(--body-background);
    text-decoration: none;
    transition: color 0.3s ease;
}

.socials a:hover {
    color: var(--color-2);
}

.footer-bottom {
    margin-top: 10px;
    font-size: 14px;
}
