/*================================================================================================================

	STYLES

================================================================================================================*/

html {
    background: #000 !important;
    min-height: 100vh;
    position: relative;
    background-image: url(../images/back1.webp) !important;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
    /* Add support for iOS safe areas */
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    font-size: 14px; /* 1rem = 14px */
}

body {
    font: 1rem/1.86 "Open Sans", Helvetica, sans-serif; /* 1.86 × 14px ≈ 26px */
    color: rgba(255, 255, 255, 0.95);
    padding: 0;
    margin: 0;
    min-height: 100vh;
    opacity: 1 !important;
    position: relative;
    z-index: 0;
}

/*========================================================

	BEGIN Reset

========================================================*/
	
	.clearfix:after {
	    content: "";
	    display: block;
	    clear: both;
	    visibility: hidden;
	    font-size: 0;
	    height: 0;
	}
	
	.clearfix {
	    *display: inline-block;
	    height: 1%;
	}
	
	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
		margin: 0;
	    padding: 0;
	    border: 0;
	    outline: 0;
	    font-size: 100%;
	    vertical-align: baseline;
	    background: transparent;
	}
	
	body { line-height: 1; }
	ol, ul { list-style: none; }
	blockquote, q { quotes: none; }
	blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
	:focus { outline: 0; }
	ins, a { text-decoration: none; }
	a, input[type=submit], button[type=submit] { cursor: pointer; }
	del { text-decoration: line-through; }
	table { border-collapse: collapse; border-spacing: 0; }
	
	

/*========================================================

	BEGIN Main

========================================================*/
	
	body {
		font: 1rem/1.86 "Open Sans", Helvetica, sans-serif; /* 1.86 × 14px ≈ 26px */
		color: #fff;
		padding: 0;
		margin: 0;
		min-height: 100vh;
		opacity: 0; /* For page fade in, open "custom.js" */
		position: relative;
		z-index: 0;
	}
	
	::-moz-selection, ::selection { color: #fff; }
	
	address, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
	
	address { color: #fff; }
	
	p { margin-bottom: 20px; }
	a { color: #fff; font-style: italic; text-decoration: none; }
	
	input, textarea, select {
		vertical-align: middle;
	}
	
	h1, h2, h3, h4, h5, h6 {
		color: #fff;
		font-family: "Montserrat", Helvetica, Arial, sans-serif;
		font-weight: 400;
		margin-bottom: 25px;
		line-height: 1em;
		letter-spacing: 2px;
	}

	h1 {
		font-size: 3.07rem; /* 43px / 14px = 3.07rem */
		text-transform: uppercase;
		letter-spacing: 7px;
		line-height: 1.2em;
	}
	
	h1 span {
		font-family: 'Open Sans', sans-serif;
		font-weight: 300;
	}
	
	h2 {
		font-size: 2.43rem; /* 34px / 14px = 2.43rem */
		line-height: 1.6em;
		text-transform: uppercase;
	}
	
	h3 {
		font-size: 1.86rem; /* 26px / 14px = 1.86rem */
		line-height: 1.4em;
		letter-spacing: 0;
	}
	
	h4 {
		font-size: 16px;
		font-weight: 400;
		line-height: 28px;
		text-transform: uppercase;
	}
	
	h5 {
		font-size: 12px;
		font-family: "Open Sans", sans-serif;
		font-weight: 300;
		line-height: 1.7em;
		text-transform: uppercase;
	}
	
	h6 {
		font-size: 10px;
	}
	
	iframe,
	object,
	embed {			
		width: 100%;
		max-height: 206px;
		float: left;
	}
	
	.center { text-align: center; }
	
	.line {
		width: 100%;
		clear: both;
		margin-bottom: 20px;
		border: 1px solid #ffffff;
	}
	
	.under {
		text-decoration: underline;
	}
	


/*========================================================

	BEGIN Layout & Global Elements

========================================================*/
	
	#control {
		width: 34%;
		min-width: 300px;
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		overflow: hidden;
		-webkit-box-shadow: 0px 1px 7px 0px rgba(00, 00, 00, .3);
		box-shadow: 0px 1px 7px 0px rgba(00, 00, 00, .3);
		background: rgba(0, 0, 0, 0.8375);
		backdrop-filter: blur(5px);
		-webkit-backdrop-filter: blur(5px);
		z-index: 1;
		/* Add support for iOS safe areas */
		padding-top: env(safe-area-inset-top);
		padding-bottom: env(safe-area-inset-bottom);
	}
	
	#control #side {
		width: 240px;
		padding: 78px 30px 0 30px;
		float: right;
		height: 100%;
		overflow-y: auto;
		/* Add support for iOS safe areas */
		padding-bottom: env(safe-area-inset-bottom);
	}
	
	#main {
		width: 63%;
		float: right;
		position: relative;
		z-index: 1;
		opacity: 1 !important;
	}
	
	#main #content {
		max-width: 660px;
		padding: 0 30px 0 0;
		position: relative;
		opacity: 1 !important;
	}
	
	/* Box */
	
		.panel {
			padding-top: 78px;
			margin-bottom: 400px;
			position: relative;
			background: none;
			z-index: 0;
		}
	
		.box {
			color: white;
		}
		
		.box .in {
			padding: 2.57rem; /* 36px / 14px = 2.57rem */
			margin-bottom: 20px;
			overflow: hidden;
			background: rgba(0, 0, 0, 0.85);
			backdrop-filter: blur(2px);
			-webkit-backdrop-filter: blur(2px);
		}
		
		#main img,
		.box .in {
			max-width: 100%;
			border-radius: 3px;
			-moz-border-radius: 3px;
			-webkit-border-radius: 3px;
		}
	
	/* Columns */

		.full { width: 100%; clear: both; margin-bottom: 25px; overflow: hidden; }
		.one-half, .one-third, .two-thirds, .one-fourth, .three-fourths, .one-fifth, .two-fifths, .three-fifths, .four-fifths, .one-sixth { float: left; position: relative; margin-right: 4%; margin-bottom: 25px; overflow: hidden; }
		.one-half { width: 48%; }
		.one-third { width: 30.66%; }
		.two-thirds { width: 65.1%; }
		.one-fourth { width: 22%; }
		.three-fourths { width: 74%; }
		.one-fifth { width: 16.8%; }
		.two-fifths { width: 37.2%; }
		.three-fifths { width: 54.8%; }
		.four-fifths { width: 78.8%; }
		.column-last { margin-right: 0 !important; clear: right; }
	
	/* Buttons */
	
		.btn {
			height: 30px;
			line-height: 30px;
			font-size: 12px;
			font-weight: 700;
			font-style: normal;
			color: #fff !important;
			text-transform: uppercase;
			padding: 4px 15px;
			margin: 0 10px 10px 0;
			display: inline-block;
			border: none;
			background: #323439;
			border-radius: 3px;
			-moz-border-radius: 3px;
			-webkit-border-radius: 3px;
			transition: background-color 0.3s ease;
		}
		
		.btn:hover,
		.btn:focus {
			background: #4a4f57;
		}
		
		.large {
			height: 40px;
			line-height: 40px;
			font-size: 16px;
			padding: 4px 20px;
		}
		
		.regular {
			font-size: 12px;
		}
		
		.small {
			height: 16px;
			line-height: 16px;
			padding: 4px 10px;
		}
	
	/* Jump to top button */
	
	.jump {
		color: #fff;
		font-size: 10px;
		font-style: normal;
		line-height: 25px;
		text-align: center;
		text-transform: uppercase;
		width: 30px;
		height: 25px;
		padding: 5px;
		display: block;
		position: fixed;
		bottom: 30px;
		right: 30px;
		border-radius: 3px;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
		-webkit-box-shadow: 0px 1px 7px 0px rgba(00, 00, 00, .7);
		box-shadow: 0px 1px 7px 0px rgba(00, 00, 00, .7);
		background: url(../images/trans.png) repeat;
		opacity: 0;
		transform: translateY(20px);
		transition: opacity 0.3s ease, transform 0.3s ease;
		/* Add support for iOS safe areas */
		bottom: calc(30px + env(safe-area-inset-bottom));
	}

	.jump:hover,
	.jump:focus {
		background-color: rgba(255, 255, 255, 0.1);
	}

	.jump.visible {
		opacity: 1;
		transform: translateY(0);
	}



/*========================================================

	BEGIN Side

========================================================*/

	#side #logo {
		text-align: right;
	}
	
	#side #logo h1 {
		overflow: hidden;
		margin-bottom: 10px;
	}
	
	#side #logo a {
		text-decoration: none;
		display: block;
		float: right;
	}
	
	#side #nav {
		width: 100%;
		margin-top: 60px;
		overflow: hidden;
	}
	
	#side #nav .mobile {
		display: none;
	}
	
	#side #nav ul li {
		margin-bottom: 30px;
		float: right;
		clear: both;
		opacity: 0.7;
		transition: opacity 0.3s ease;
	}
	
	#side #nav ul .nav_on,
	#side #nav ul .active {
		opacity: 1 !important;
	}
	
	#side #nav ul li a,
	#side #nav ul li span {
		display: block;
		float: right;
	}
	
	#side #nav ul li a {
		font-size: 12px;
		font-style: normal;
		text-align: right;
		line-height: 17px;
		color: rgba(255, 255, 255, 0.9);
		transition: color 0.3s ease;
	}
	
	#side #nav ul li a:hover,
	#side #nav ul li a:focus {
		color: #fff;
	}
	
	#side #nav ul li span {
		width: 26px;
		height: 18px;
		margin-left: 10px;
		display: block;
	}
	
	#side #nav ul .nav_1 span {
		height: 17px;
		background: url(../images/nav.png) top right no-repeat;
	}
	
	#side #nav ul .nav_2 span {
		height: 16px;
		background: url(../images/nav.png) right -47px no-repeat;
	}
	
	#side #nav ul .nav_3 span {
		height: 21px;
		background: url(../images/nav.png) right -93px no-repeat;
	}
	
	#side #nav ul .nav_4 span {
		height: 22px;
		background: url(../images/nav.png) right -141px no-repeat;
	}
	
	#side #nav ul .nav_5 span {
		height: 16px;
		background: url(../images/nav.png) right -47px no-repeat;
		width: 26px;
		margin-left: 10px;
	}
	


/*========================================================

	BEGIN Content

========================================================*/

	#content {
		
	}
	
	/*=============================
	
		BEGIN Profile
	
	=============================*/
	
	#profile #photo {
		margin-bottom: 20px;
	}
	
	#profile p {
		margin-bottom: 0;
	}
	
	/* vCard */
	
		#vcard .in {
			padding-bottom: 0;
		}
		
		#vcard .in > div {
			margin-bottom: 0;
		}
		
		#vcard .btn {
			width: 72%;
			text-align: center;
			padding-left: 14%;
			padding-right: 14%;
		}
		
		#vcard h4 {
			line-height: 36px;
			margin-bottom: 30px;
		}
		
		.vcard_success {
			width: 200px;
			height: 70px;
			position: fixed;
			top: 50%;
			left: 50%;
			padding: 30px;
			margin: -65px 0 0 -130px;
			text-align: center;
			display: none;
			border-radius: 3px;
			-moz-border-radius: 3px;
			-webkit-border-radius: 3px;
			-webkit-box-shadow:  0px 1px 7px 0px rgba(00, 00, 00, .7);
				   	box-shadow:  0px 1px 7px 0px rgba(00, 00, 00, .7);
			background: url(../images/trans.png) repeat;
		}
	
	/*=============================
	
		BEGIN Skills
	
	=============================*/
	
	.skill {
		margin-bottom: 30px;
		border-radius: 3px;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
	}
	
	.skill .bar {
		font-family: "Montserrat", sans-serif;
		text-transform: uppercase;
		font-weight: 500;
		color: black;
		height: 44px;
		line-height: 44px;
		border-radius: 3px;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
		margin-bottom: 10px;
		background: white;
	}
	
	.skill .bar div {
		height: 44px;
		padding: 0 4%;
		border-radius: 3px;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
		background: black;
	}
	
	.level_1 .bar div { width: 2%; }
	.level_2 .bar div { width: 12%; }
	.level_3 .bar div { width: 22%; }
	.level_4 .bar div { width: 32%; }
	.level_5 .bar div { width: 42%; }
	.level_6 .bar div { width: 52%; }
	.level_7 .bar div { width: 62%; }
	.level_8 .bar div { width: 72%; }
	.level_9 .bar div { width: 82%; }
	.level_10 .bar div { width: 92%; }
	
	.skill h5 {
		margin-bottom: 5px;
	}
	
	.skill span {
		font-size: 14px;
		text-align: right;
		display: inline-block; 
		float: right;
	}
	
	/*=============================
	
		BEGIN Works
	
	=============================*/
	
		#works ul {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
			gap: 4%;
			width: 100%;
			overflow: visible;
		}
		
		#works ul li {
			width: 100%;
			margin-bottom: 2rem; /* Increased from 0.86rem to 2rem */
			overflow: visible;
		}
		
		#works ul li .info {
			overflow: visible;
		}
		
		#works ul li .info p {
			margin-bottom: 1rem;
		}
		
		#works ul li a {
			display: block;
		}
		
		#works ul li a img {
			float: left;
		}
		
		#works .ui-accordion-content {
			padding: 20px 0 0 0;
			overflow: hidden;
		}
		
		#works ul li img,
		#works ul li .info h4 {
			margin-bottom: 15px;
		}
		
		#works ul li .info h4 a {
			font-style: normal;
		}
		
		#works ul li .work_vid {
			margin-bottom: 10px;
			overflow: hidden;
		}
		
		/* Transitions */
	
			.masonry {
				transition: transform 0.3s ease;
				transform: translateZ(0);
			}
			
			.masonry-brick {
				transition: transform 0.7s ease;
				transform: translateZ(0);
			}
			
		/* Accordion */
		
			.ui-accordion {
				width: 100%;
			}
			
			.ui-accordion .ui-accordion-header {
				color: #000;
				font-size: 14px;
				height: 40px;
				line-height: 40px;
				cursor: pointer;
				position: relative;
				zoom: 1;
				margin: 0;
				display: block;
				padding: 0 20px;
				margin-top: 20px;
				border-radius: 3px;
				-moz-border-radius: 3px;
				-webkit-border-radius: 3px;
				background-color: #fff;
				transition: background-color 0.3s ease, color 0.3s ease;
			}
			
			.ui-accordion .ui-accordion-header:hover,
			.ui-accordion .ui-accordion-header:focus {
				background-color: #f5f5f5;
			}
			
			.ui-accordion .ui-accordion-header-active {
				color: #fff;
				background: #3f3f3f;
			}
			
			.ui-accordion .ui-accordion-header .ui-icon {
				position: absolute;
				left: .5em;
				top: 50%;
				margin-top: -8px;
			}
			
			.ui-accordion .ui-accordion-content {
				border-top: 0;
				position: relative;
				overflow: auto;
				transition: opacity 0.3s ease;
				opacity: 0;
				zoom: 1;
				padding: 20px;
			}
			
			.ui-accordion .ui-accordion-content-active {
				opacity: 1;
			}
			
	/*=============================
	
		BEGIN Pricing
	
	=============================*/
	
		#pricing h5 {
			margin-bottom: 15px;
		}
		
		.check li {
			padding-left: 20px;
			margin-bottom: 15px;
			background: url(../images/check.png) left 4px no-repeat;
		}
		
	/*=============================
	
		BEGIN Contact
	
	=============================*/
		
		#contact_form {
			width: 100%;
			min-height: 200px;
			position: relative;
			overflow: hidden;
		}
		
		#contact_form input, 
		#contact_form textarea {
			width: 93%;
			height: 40px;
			padding: 0 3%;
			margin: 0 0 20px 0;
			display: block;
			font-size: 14px;
			color: #000;
			border: 1px solid #ccc;
			background: #ffffff;
			border-radius: 3px;
			-moz-border-radius: 3px;
			-webkit-border-radius: 3px;
			transition: border-color 0.3s ease, box-shadow 0.3s ease;
		}
		
		#contact_form input:focus,
		#contact_form textarea:focus {
			border-color: #fff;
			box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
		}
		
		#contact_form label {
			font-size: 12px;
			font-family: "Open Sans", sans-serif;
			font-weight: 300;
			color: black;
			font-style: italic;
			position: absolute;
			margin: 10px 0 0 10px;
		}
		
		#contact_form #loader {
			position: absolute;
			bottom: -33px;
			right: 65px;
			display: none;
		}
		
		#submit_button {
			line-height: 24px;
		}
		
		#send_message {
			color: #9ecb5f;
		}
				
		/* Social */
		
			#social {
				margin-top: 30px;
			}
		
			#social li {
				float: left;
				margin: 0 10px 10px 0;
			}
			
			#social li a {
				width: 32px;
				height: 32px;
				display: block;
				text-indent: -9999px;
				transition: opacity 0.3s ease;
			}
			
			#social li a:hover,
			#social li a:focus {
				opacity: 0.8;
			}
			
			#social .facebook a {
				background: url(../images/icons/social_facebook.png) top left no-repeat;
			}
			#social .twitter a {
				background: url(../images/icons/social_twitter.png) top left no-repeat;
			}
			#social .flickr a {
				background: url(../images/icons/social_flickr.png) top left no-repeat;
			}
			#social .dribbble a {
				background: url(../images/icons/social_dribbble.png) top left no-repeat;
			}
			#social .linkedin a {
				background: url(../images/icons/social_linkedin.png) top left no-repeat;
			}
		
	/*=============================
	
		BEGIN No More
	
	=============================*/
	
		h5 {
			margin-bottom: 10px;
		}



/*========================================================

	BEGIN Footer

========================================================*/

	.copy {
		color: #fff;
		font-size: 11px;
		font-weight: 300;
		text-transform: uppercase;
		text-align: right;
		line-height: 42px;
		padding-right: 30px;
		margin-bottom: 0;
		text-align: right;
	}

/* Add focus styles for interactive elements */
a:focus,
button:focus,
input:focus,
textarea:focus {
    outline: 2px solid #fff;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
}

/* Improve button contrast and focus states */
.btn:hover,
.btn:focus {
    background: #4a4f57;
}

/* Improve navigation contrast and focus states */
#side #nav ul li a:hover,
#side #nav ul li a:focus {
    color: #fff;
}

/* Improve form element contrast and focus states */
#contact_form input:focus,
#contact_form textarea:focus {
    border-color: #fff;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.3);
}

/* Improve accordion contrast and focus states */
.ui-accordion .ui-accordion-header:hover,
.ui-accordion .ui-accordion-header:focus {
    background-color: #f5f5f5;
}

/* Improve social links contrast and focus states */
#social li a:hover,
#social li a:focus {
    opacity: 0.8;
}

/* Ensure proper contrast for text */
body {
    font: 1rem/1.86 "Open Sans", Helvetica, sans-serif; /* 1.86 × 14px ≈ 26px */
    color: rgba(255, 255, 255, 0.95);
    padding: 0;
    margin: 0;
    min-height: 100vh;
    opacity: 0;
    position: relative;
    z-index: 0;
}

/* Improve heading contrast */
h1, h2, h3, h4, h5, h6 {
    color: #fff;
    font-family: "Montserrat", Helvetica, Arial, sans-serif;
    font-weight: 400;
    margin-bottom: 25px;
    line-height: 1em;
    letter-spacing: 2px;
}

/* Remove image loading optimizations */
img {
    opacity: 1;
    transition: none;
}

/* Remove loading placeholder styles */
img:not(.loaded) {
    background: none;
    animation: none;
}

/* Remove blur-up effect for profile image */
#profile #photo {
    filter: none;
    transform: none;
    transition: none;
}

#profile #photo.loaded {
    filter: none;
    transform: none;
}

/* Mobile Navigation */
@media only screen and (max-width : 880px) {
    #control {
        width: 100%;
        height: 95px;
        top: 0;
        right: 0;
        bottom: auto;
        z-index: 10001;
    }
    
    #control #side {
        width: 88%;
        padding: 20px 6% 0 6%;
        float: none;
        overflow: hidden;
    }
    
    #control #side #logo {
        width: 100%;
        float: left;
        text-align: center;
    }
    
    #control #side #logo h1 {
        font-size: 24px;
        margin: 0 -5px 10px 0;
        text-align: center;
    }
    
    #control #side #logo a {
        width: 214px;
        margin: 0 auto;
        float: none;
    }
    
    #control #side #nav {
        float: left;
        position: relative;
        margin: 0;
    }
    
    #control #side #nav .mobile {
        clear: left;
        float: left;
        margin: 0;
        padding: 0;
        position: relative;
        left: 50%;
        text-align: center;
        display: block;
    }
    
    #control #side #nav .regular { 
        display: none; 
    }
    
    #control #side #nav ul li {
        width: auto;
        display: block;
        clear: none;
        float: left;
        list-style: none;
        margin: 0;
        padding: 0;
        position: relative;
        right: 50%;
        height: 26px;
        margin: 0 10px;
    }
    
    #control #side #nav ul li span {
        margin: 0;
    }
    
    #main {
        width: 100%;
        opacity: 1 !important;
    }
    
    #main #content {
        max-width: none;
        padding: 0 20px;
    }
    
    .panel {
        padding-top: 120px;
    }
}

@media only screen and (max-width : 540px) {
    .one-half, .one-third, .two-thirds, .one-fourth, .three-fourths, .one-fifth, .two-fifths, .three-fifths, .four-fifths, .one-sixth { 
        width: 96%; 
    }
}

@media only screen and (max-width : 320px) {
    #works ul li {
        width: 100%;
    }
}

/* Remove all background animations */
@keyframes backgroundSlideshow {
    0% { background-image: url(../images/back1.webp) !important; }
    100% { background-image: url(../images/back1.webp) !important; }
}

/* Remove scroll animation */
@keyframes scrollBackground {
    0% { background-position: center top !important; }
    100% { background-position: center top !important; }
}

html.scroll-background {
    animation: none !important;
}

/* Remove all background containers and animations */
.bg-container {
    display: none !important;
}