/*
=====================================================================
*   Ceevee v1.0 Layout Stylesheet
*   url: styleshout.com
*   03-18-2014
=====================================================================

   TOC:
   a. General Styles
   b. Header Styles
   c. About Section
   d. Resume Section
   e. Portfolio Section
   f. Call To Action Section
   g. Testimonials Section
   h. Contact Section
   i. Footer

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

/* ------------------------------------------------------------------ */
/* a. General Styles
/* ------------------------------------------------------------------ */

body { 
   background: #0f0f0f;
   position: relative;
   overflow-x: hidden;
}

body::before {
   content: "";
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-image: 
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath fill='%23FF6B6B' fill-opacity='0.4' d='M50 0 L100 50 L50 100 L0 50 Z'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Ccircle cx='40' cy='40' r='30' fill='%234ECDC4' fill-opacity='0.4'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Crect x='10' y='10' width='40' height='40' fill='%23FFD166' fill-opacity='0.4'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath fill='%2365DEF1' fill-opacity='0.4' d='M60 0 L120 60 L60 120 L0 60 Z'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Ccircle cx='45' cy='45' r='35' fill='%23A78BFA' fill-opacity='0.4'/%3E%3C/svg%3E");
   background-size: 100px 100px, 80px 80px, 60px 60px, 120px 120px, 90px 90px;
   background-position: 10% 20%, 90% 80%, 50% 50%, 30% 70%, 70% 30%;
   background-repeat: no-repeat;
   z-index: -1;
   animation: float 20s ease-in-out infinite;
}

@keyframes float {
   0% {
      transform: translate(0, 0);
   }
   50% {
      transform: translate(20px, 20px);
   }
   100% {
      transform: translate(0, 0);
   }
}

/* Add tech icons in the background */
.tech-icon {
   position: fixed;
   opacity: 0.7;
   z-index: -1;
   animation: float 15s ease-in-out infinite;
   text-shadow: 0 0 20px rgba(255, 255, 255, 1);
   filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
}

.tech-icon:nth-child(1) {
   top: 10%;
   left: 5%;
   font-size: 4em;
   animation-delay: 0s;
   color: #FF6B6B;
}

.tech-icon:nth-child(2) {
   top: 30%;
   right: 10%;
   font-size: 3.5em;
   animation-delay: 2s;
   color: #4ECDC4;
}

.tech-icon:nth-child(3) {
   bottom: 20%;
   left: 15%;
   font-size: 3.8em;
   animation-delay: 4s;
   color: #FFD166;
}

.tech-icon:nth-child(4) {
   bottom: 40%;
   right: 5%;
   font-size: 3.6em;
   animation-delay: 6s;
   color: #A78BFA;
}

/* Add some subtle gradient overlay */
body::after {
   content: "";
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: linear-gradient(135deg, rgba(15,15,15,0.5) 0%, rgba(15,15,15,0.6) 100%);
   z-index: -1;
}

/* Add a subtle grid pattern */
body::before {
   background-image: 
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath fill='%23FF6B6B' fill-opacity='0.3' d='M50 0 L100 50 L50 100 L0 50 Z'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Ccircle cx='40' cy='40' r='30' fill='%234ECDC4' fill-opacity='0.3'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Crect x='10' y='10' width='40' height='40' fill='%23FFD166' fill-opacity='0.3'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath fill='%2365DEF1' fill-opacity='0.3' d='M60 0 L120 60 L60 120 L0 60 Z'/%3E%3C/svg%3E"),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Ccircle cx='45' cy='45' r='35' fill='%23A78BFA' fill-opacity='0.3'/%3E%3C/svg%3E"),
      linear-gradient(rgba(255, 107, 107, 0.15) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255, 107, 107, 0.15) 1px, transparent 1px);
   background-size: 100px 100px, 80px 80px, 60px 60px, 120px 120px, 90px 90px, 20px 20px, 20px 20px;
   background-position: 10% 20%, 90% 80%, 50% 50%, 30% 70%, 70% 30%, 0 0, 0 0;
}

/* ------------------------------------------------------------------ */
/* b. Header Styles
/* ------------------------------------------------------------------ */

header {
   position: relative;
   height: 800px;
   min-height: 500px;
   width: 100%;
   background: #161415 no-repeat top center;
   background-size: cover !important;
	-webkit-background-size: cover !important;
   text-align: center;
   overflow: hidden;
   padding-top: 0px;
}

header::before {
   content: '';
   display: inline-block;
   vertical-align: middle;
   height: 100%;
}

header .banner {
   display: inline-block;
   vertical-align: middle;
   margin: 0 auto;
   width: 85%;
   padding-bottom: 30px;
   text-align: center;
}

header .banner-text { 
   width: 100%; 
   position: relative;
   z-index: 2;
}

header .banner-text h1 {
   font: 90px/1.1em 'opensans-bold', sans-serif;
   color: #fff;
   letter-spacing: -2px;
   margin: 0 auto 18px auto;
   text-shadow: 0px 1px 3px rgba(0, 0, 0, .8);
}

@keyframes fadeIn {
   from {
      opacity: 0;
      transform: translateY(20px);
   }
   to {
      opacity: 1;
      transform: translateY(0);
   }
}

header .banner-text h3 {
   font: 18px/1.9em 'librebaskerville-regular', serif;
   color: #A8A8A8;
   margin: 0 auto;
   width: 70%;
   text-shadow: 0px 1px 2px rgba(0, 0, 0, .5);
   animation: fadeIn 2s ease-in;
}

header .banner-text h3 span,
header .banner-text h3 a {
   color: #fff;
}

header .banner-text hr {
   width: 60%;
   margin: 18px auto 24px auto;
   border-color: #2F2D2E;
   border-color: rgba(150, 150, 150, .1);
}

/* header social links */
header .social {
   margin: 24px 0;
   padding: 0;
   font-size: 30px;
   text-shadow: 0px 1px 2px rgba(0, 0, 0, .8);
   animation: slideUp 1s ease-out;
}

@keyframes slideUp {
   from {
      opacity: 0;
      transform: translateY(30px);
   }
   to {
      opacity: 1;
      transform: translateY(0);
   }
}

header .social li {
   display: inline-block;
   margin: 0 15px;
   padding: 0;
}

header .social li a { 
   color: #fff;
   transition: all 0.3s ease;
}

header .social li a:hover { 
   color: #FF6B6B;
   transform: scale(1.2);
   text-shadow: 0 0 10px rgba(255, 107, 107, 0.8);
}

/* scrolldown link */
header .scrolldown a {
   position: absolute;
   bottom: 30px;
   left: 50%;
   margin-left: -29px;
   color: #fff;
   display: block;
   height: 42px;
   width: 42px;
   font-size: 42px;
   line-height: 42px;
   color: #fff;
   border-radius: 100%;

   -webkit-transition: all .3s ease-in-out;
   -moz-transition: all .3s ease-in-out;
   -o-transition: all .3s ease-in-out;
   transition: all .3s ease-in-out;
}
header .scrolldown a:hover { color: #2e5598; }

/* 
primary navigation
--------------------------------------------------------------------- */
#nav-wrap ul, #nav-wrap li, #nav-wrap a {
	 margin: 0;
	 padding: 0;
	 border: none;
	 outline: none;
}

/* nav-wrap */
#nav-wrap {
   font: 12px 'opensans-bold', sans-serif;
   width: 100%;
   text-transform: uppercase;
   letter-spacing: 2.5px;
   margin: 0 auto;
   z-index: 100;
   position: fixed;
   left: 0;
   top: 0;
}
.opaque { background-color: #333; }

/* hide toggle button */
#nav-wrap > a.mobile-btn { display: none; }

ul#nav {
   min-height: 48px;
   width: auto;

   /* center align the menu */
   text-align: center;
}
ul#nav li {
   position: relative;
   list-style: none;
   height: 48px;
   display: inline-block;
}

/* Links */
ul#nav li a {

/* 8px padding top + 8px padding bottom + 32px line-height = 48px */

   display: inline-block;
   padding: 8px 13px;
   line-height: 32px;
	text-decoration: none;
   text-align: left;
   color: #fff;

	-webkit-transition: color .2s ease-in-out;
	-moz-transition: color .2s ease-in-out;
	-o-transition: color .2s ease-in-out;
	-ms-transition: color .2s ease-in-out;
	transition: color .2s ease-in-out;
}

ul#nav li a:active { background-color: transparent !important; }
ul#nav li.current a { color: #1cb752; }


/* ------------------------------------------------------------------ */
/* c. About Section
/* ------------------------------------------------------------------ */


.hmm{
   color: #007fff;
}

.smile{
   color: #1cb752;
}
#about {
   background: #2B2B2B;
   padding-top: 96px;
   padding-bottom: 66px;
   overflow: hidden;
}

#about a, #about a:visited  { color: #fff; }
#about a:hover, #about a:focus { color: #4372c8; }

#about h2 {
   font: 22px/30px 'opensans-bold', sans-serif;
   color: #fff;
   margin-bottom: 12px;
}
#about p {
   line-height: 30px;
   color: #7A7A7A;
}
#about .profile-pic {
   position: relative;
   width: 120px;
   height: 120px;
   border-radius: 100%;
}
#about .contact-details { width: 41.66667%; }
#about .download {
   width: 58.33333%;
   padding-top: 6px;
}
#about .main-col { padding-right: 5%; }
#about .download .button {
   margin-top: 6px;
   background: #444;
}
#about .download .button:hover {
   background: #fff;
   color: #2B2B2B;
}
#about .download .button i {
   margin-right: 15px;
   font-size: 20px;
}


/* ------------------------------------------------------------------ */
/* d. Resume Section
/* ------------------------------------------------------------------ */

#resume {
   background: #e0e0e0;
   padding-top: 90px;
   padding-bottom: 72px;
   overflow: hidden;
}

/* Navigation styles for skills page */
body.skills-page #nav-wrap {
   background-color: rgba(51, 51, 51, 0.9);
}

body.skills-page #nav-wrap ul#nav li a {
   color: #fff;
}

body.skills-page #nav-wrap ul#nav li.current a {
   color: #4372c8;
}

body.skills-page #nav-wrap ul#nav li a:hover {
   color: #4372c8;
}

/* Default navigation styles */
#nav-wrap {
   background-color: transparent;
}

#nav-wrap ul#nav li a {
   color: #fff;
}

#nav-wrap ul#nav li.current a {
   color: #1cb752;
}

#nav-wrap ul#nav li a:hover {
   color: #1cb752;
}

#resume a, #resume a:visited  { color: #4372c8; }
#resume a:hover, #resume a:focus { color: #313131; }

#resume h1 {
   font: 18px/24px 'opensans-bold', sans-serif;
   text-transform: uppercase;
   letter-spacing: 1px;
}
#resume h1 span {
   border-bottom: 3px solid #4372c8;
   padding-bottom: 6px;
}
#resume h3 {
   font: 25px/30px 'opensans-bold', sans-serif;
}

#resume .header-col { padding-top: 9px; }
#resume .main-col { padding-right: 10%; }

.education, .work {
   margin-bottom: 48px;
   padding-bottom: 24px;
   border-bottom: 5px solid #fafafa;
}
#resume .info {
   font: 16px/24px 'librebaskerville-italic', serif;
   color: #6E7881;
   margin-bottom: 18px;
   margin-top: 9px;
}
#resume .info span {
   margin-right: 5px;
   margin-left: 5px;
}
#resume .date {
   font: 15px/24px 'opensans-regular', sans-serif;
   margin-top: 6px;
}

/*----------------------------------------------*/
/*	Skill Bars
/*----------------------------------------------*/

.bars {
	width: 95%;
	float: left;
	padding: 0;
	text-align: left;
}
.bars .skills {
  	margin-top: 36px;
   list-style: none;
}
.bars li {
   position: relative;
  	margin-bottom: 60px;
  	background: #ccc;
  	height: 42px;
  	border-radius: 3px;
}
.bars li em {
	font: 15px 'opensans-bold', sans-serif;
   color: #313131;
	text-transform: uppercase;
   letter-spacing: 2px;
	font-weight: normal;
   position: relative;
	top: -36px;
}
.bar-expand {
   position: absolute;
   left: 0;
   top: 0;

   margin: 0;
   padding-right: 24px;
  	background: #313131;
   display: inline-block;
  	height: 42px;
   line-height: 42px;
   border-radius: 3px 0 0 3px;
}

.photoshop {
  	width: 60%;
  	-moz-animation: photoshop 2s ease;
  	-webkit-animation: photoshop 2s ease;
}
.illustrator {
  	width: 55%;
  	-moz-animation: illustrator 2s ease;
  	-webkit-animation: illustrator 2s ease;
}
.wordpress {
  	width: 50%;
  	-moz-animation: wordpress 2s ease;
  	-webkit-animation: wordpress 2s ease;
}
.css {
  	width: 90%;
  	-moz-animation: css 2s ease;
  	-webkit-animation: css 2s ease;
}
.html5 {
  	width: 80%;
  	-moz-animation: html5 2s ease;
  	-webkit-animation: html5 2s ease;
}
.jquery {
  	width: 50%;
  	-moz-animation: jquery 2s ease;
  	-webkit-animation: jquery 2s ease;
}

@-moz-keyframes photoshop {
  0%   { width: 0px;  }
  100% { width: 60%;  }
}
@-moz-keyframes illustrator {
  0%   { width: 0px;  }
  100% { width: 55%;  }
}
@-moz-keyframes wordpress {
  0%   { width: 0px;  }
  100% { width: 50%;  }
}
@-moz-keyframes css {
  0%   { width: 0px;  }
  100% { width: 90%;  }
}
@-moz-keyframes html5 {
  0%   { width: 0px;  }
  100% { width: 80%;  }
}
@-moz-keyframes jquery {
  0%   { width: 0px;  }
  100% { width: 50%;  }
}

@-webkit-keyframes photoshop {
  0%   { width: 0px;  }
  100% { width: 60%;  }
}
@-webkit-keyframes illustrator {
  0%   { width: 0px;  }
  100% { width: 55%;  }
}
@-webkit-keyframes wordpress {
  0%   { width: 0px;  }
  100% { width: 50%;  }
}
@-webkit-keyframes css {
  0%   { width: 0px;  }
  100% { width: 90%;  }
}
@-webkit-keyframes html5 {
  0%   { width: 0px;  }
  100% { width: 80%;  }
}
@-webkit-keyframes jquery {
  0%   { width: 0px;  }
  100% { width: 50%;  }
}

/* ------------------------------------------------------------------ */
/* e. Portfolio Section
/* ------------------------------------------------------------------ */

#portfolio {
   background: #ebeeee;
   padding-top: 90px;
   padding-bottom: 60px;
}
#portfolio h1 {
   font: 15px/24px 'opensans-semibold', sans-serif;
   text-transform: uppercase;
   letter-spacing: 1px;
   text-align: center;
   margin-bottom: 48px;
   color: #95A3A3;
}

/* Portfolio Content */
#portfolio-wrapper .columns { margin-bottom: 36px; }
.portfolio-item .item-wrap {
   background: #fff;
   overflow: hidden;
   position: relative;

   -webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
.portfolio-item .item-wrap a {
   display: block;
   cursor: pointer;
}

/* overlay */
.portfolio-item .item-wrap .overlay {
   position: absolute;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;

	opacity: 0;
	-moz-opacity: 0;
	filter:alpha(opacity=0);

   -webkit-transition: opacity 0.3s ease-in-out;
	-moz-transition: opacity 0.3s ease-in-out;
	-o-transition: opacity 0.3s ease-in-out;
	transition: opacity 0.3s ease-in-out;

   background: url(../images/overlay-bg.png) repeat;
}
.portfolio-item .item-wrap .link-icon {
   display: block;
   color: #fff;
   height: 30px;
   width: 30px;
   font-size: 18px;
   line-height: 30px;
   text-align: center;

   opacity: 0;
	-moz-opacity: 0;
	filter:alpha(opacity=0);

   -webkit-transition: opacity 0.3s ease-in-out;
	-moz-transition: opacity 0.3s ease-in-out;
	-o-transition: opacity 0.3s ease-in-out;
	transition: opacity 0.3s ease-in-out;

   position: absolute;
   top: 50%;
   left: 50%;
   margin-left: -15px;
   margin-top: -15px;
}
.portfolio-item .item-wrap img {
   vertical-align: bottom;
}
.portfolio-item .portfolio-item-meta { padding: 18px }
.portfolio-item .portfolio-item-meta h5 {
   font: 14px/21px 'opensans-bold', sans-serif;
   color: #fff;
}
.portfolio-item .portfolio-item-meta p {
   font: 12px/18px 'opensans-light', sans-serif;
   color: #c6c7c7;
   margin-bottom: 0;
}

/* on hover */
.portfolio-item:hover .overlay {
	opacity: 1;
	-moz-opacity: 1;
	filter:alpha(opacity=100);
}
.portfolio-item:hover .link-icon {
   opacity: 1;
	-moz-opacity: 1;
	filter:alpha(opacity=100);
}

/* popup modal */
.popup-modal {
	max-width: 550px;
	background: #fff;
	position: relative;
	margin: 0 auto;
}
.popup-modal .description-box { padding: 12px 36px 18px 36px; }
.popup-modal .description-box h4 {
   font: 15px/24px 'opensans-bold', sans-serif;
	margin-bottom: 12px;
   color: #111;
}
.popup-modal .description-box p {
	font: 14px/24px 'opensans-regular', sans-serif;
   color: #A1A1A1;
   margin-bottom: 12px;
}
.popup-modal .description-box .categories {
   font: 11px/21px 'opensans-light', sans-serif;
   color: #A1A1A1;
   text-transform: uppercase;
   letter-spacing: 2px;
   display: block;
   text-align: left;
}
.popup-modal .description-box .categories i {
   margin-right: 8px;
}
.popup-modal .link-box {
   padding: 18px 36px;
   background: #111;
   text-align: left;
}
.popup-modal .link-box a {
   color: #fff;
	font: 11px/21px 'opensans-bold', sans-serif;
	text-transform: uppercase;
   letter-spacing: 3px;
   cursor: pointer;
}
.popup-modal a:hover {	color: #00CCCC; }
.popup-modal a.popup-modal-dismiss { margin-left: 24px; }


/* fadein/fadeout effect for modal popup
/* ------------------------------------------------------------------ */

/* content at start */
.mfp-fade.mfp-wrap .mfp-content .popup-modal {
   opacity: 0;
   -webkit-transition: all 200ms ease-in-out;
	-moz-transition: all 200ms ease-in-out;
	-o-transition: all 200ms ease-in-out;
	-ms-transition: all 200ms ease-in-out;
   transition: all 200ms ease-in-out;
}
/* content fadein */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content .popup-modal {
   opacity: 1;
}
/* content fadeout */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content .popup-modal {
   opacity: 0;
}

/* ------------------------------------------------------------------ */
/* f. Call To Action Section
/* ------------------------------------------------------------------ */

#call-to-action {
   background: #212121;
   padding-top: 66px;
   padding-bottom: 48px;
}
#call-to-action h1 {
   font: 18px/24px 'opensans-bold', sans-serif;
   text-transform: uppercase;
   letter-spacing: 3px;
   color: #fff;
}
#call-to-action h1 span { display: none; }
#call-to-action .header-col h1:before {
   font-family: 'FontAwesome';
   content: "\f0ac";
	padding-right: 10px;
	font-size: 72px;
   line-height: 72px;
   text-align: left;
   float: left;
   color: #fff;
}
#call-to-action .action {
   margin-top: 12px;
}
#call-to-action h2 {
   font: 28px/36px 'opensans-bold', sans-serif;
   color: #EBEEEE;
   margin-bottom: 6px;
}
#call-to-action h2 a {
   color: inherit;
}
#call-to-action p {
   color: #636363;
   font-size: 17px;
}
/*#
call-to-action .button {
	color:#fff;
   background: #0D0D0D;
}
*/
#call-to-action .button:hover,
#call-to-action .button:active {
   background: #FFFFFF;
   color: #0D0D0D;
}
#call-to-action p span {
	font-family: 'opensans-semibold', sans-serif; 
	color: #D8D8D8;
}

/* ------------------------------------------------------------------
/* g. Testimonials
/* ------------------------------------------------------------------ */

#testimonials {
   background: #1F1F1F url(../images/testimonials-bg.jpg) no-repeat center center;
   background-size: cover !important;
	-webkit-background-size: cover !important;
   background-attachment: fixed;

   position: relative;
   min-height: 200px;
   width: 100%;
   overflow: hidden;
}
#testimonials .text-container {
   padding-top: 96px;
   padding-bottom: 66px;
}
#testimonials h1 {
   font: 18px/24px 'opensans-bold', sans-serif;   
   text-transform: uppercase;
   letter-spacing: 3px;
   color: #fff;
}
#testimonials h1 span { display: none; }
#testimonials .header-col { padding-top: 9px; }
#testimonials .header-col h1:before {
   font-family: 'FontAwesome';
   content: "\f10d";
	padding-right: 10px;
	font-size: 72px;
   line-height: 72px;
   text-align: left;
   float: left;
   color: #fff;
}

/*	Blockquotes */
#testimonials blockquote {
   margin: 0 0px 30px 0px;
   padding-left: 0;
   position: relative;
   text-shadow: 0px 1px 3px rgba(0, 0, 0, 1);
}
#testimonials blockquote:before { content: none; }
#testimonials blockquote p {
   font-family: 'librebaskerville-italic', serif;
   padding: 0;
   font-size: 24px;
   line-height: 48px;
   color: #fff
}
#testimonials blockquote cite {
   display: block;
   font-size: 12px;
   font-style: normal;
   line-height: 18px;
   color: #fff;
}
#testimonials blockquote cite:before { content: "\2014 \0020"; }
#testimonials blockquote cite a,
#testimonials blockquote cite a:visited { color: #8B9798; border: none }

/* Flex Slider
/* ------------------------------------------------------------------ */

/* Reset */
.flexslider a:active,
.flexslider a:focus  { outline: none; }
.slides,
.flex-control-nav,
.flex-direction-nav { margin: 0; padding: 0; list-style: none; }
.slides li { margin: 0; padding: 0;}

/* Necessary Styles */
.flexslider {
   position: relative;
   zoom: 1;
   margin: 0;
   padding: 0;
}
.flexslider .slides { zoom: 1; }
.flexslider .slides > li { position: relative; }

/* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides > li { display: none; -webkit-backface-visibility: hidden; }
/* Suggested container for slide animation setups. Can replace this with your own */
.flex-container { zoom: 1; position: relative; }

/* Clearfix for .slides */
.slides:before,
.slides:after {
   content: " ";
   display: table;
}
.slides:after {
   clear: both;
}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child { display: block; }

/* Slider Styles */
.slides { zoom: 1; }
.slides > li {
   /*margin-right: 5px; */
   overflow: hidden;
}

/* Control Nav */
.flex-control-nav {
    width: 100%;
    position: absolute;
    bottom: -20px;
    text-align: left;
}
.flex-control-nav li {
    margin: 0 6px;
    display: inline-block;
    zoom: 1;
    display: inline;
}
.flex-control-paging li a {
    width: 12px;
    height: 12px;
    display: block;
    background: #ddd;
    background: rgba(255, 255, 255, .3);
    cursor: pointer;
    text-indent: -9999px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    box-shadow: inset 0 0 3px rgba(255, 255, 255, .3);
}
.flex-control-paging li a:hover {
    background: #CCC;
    background: rgba(255, 255, 255, .7);
}
.flex-control-paging li a.flex-active {
    background: #fff;
    background: rgba(255, 255, 255, .9);
    cursor: default;
}

/* ------------------------------------------------------------------ */
/* h. Contact Section
/* ------------------------------------------------------------------ */

#contact {
   background: #F9F9F9;
   padding: 60px 0;
}

#contact .section-head {
   margin-bottom: 42px;
   text-align: center;
   position: relative;
}

#contact .section-head:after {
   content: '';
   display: block;
   width: 60px;
   height: 3px;
   background: #217eca;
   margin: 20px auto 0;
}

#contact .section-head p.lead {
   color: #666;
   font-size: 18px;
   max-width: 800px;
   margin: 0 auto;
   padding-top: 20px;
}

#contact .section-head h1 {
   font: 18px/24px 'opensans-bold', sans-serif;
   text-transform: uppercase;
   letter-spacing: 1px;
   color: #313131;
   margin-bottom: 0;
}

#contact .section-head h1 i {
   color: #355ed8;
   margin-right: 10px;
   font-size: 24px;
   vertical-align: middle;
}

#contact .section-head h1 span {
   display: inline-block;
   vertical-align: middle;
}

#contact form {
   margin-bottom: 30px;
   background: #fff;
   padding: 40px;
   border-radius: 8px;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

#contact label {
   font: 15px/24px 'opensans-bold', sans-serif;
   margin: 12px 0;
   color: #313131;
   display: block;
   width: 100%;
}

#contact input,
#contact textarea,
#contact select {
   padding: 15px;
   color: #555;
   background: #f8f8f8;
   margin-bottom: 24px;
   border: 1px solid #ddd;
   border-radius: 4px;
   outline: none;
   font-size: 15px;
   line-height: 24px;
   width: 100%;
   transition: all 0.3s ease;
}

#contact input:focus,
#contact textarea:focus,
#contact select:focus {
   color: #333;
   background-color: #fff;
   border-color: #11ABB0;
   box-shadow: 0 0 5px rgba(17, 171, 176, 0.2);
}

#contact textarea {
   min-height: 150px;
   resize: vertical;
}

#contact button.submit {
   text-transform: uppercase;
   letter-spacing: 3px;
   color: #fff;
   background: #1f81d0;
   border: none;
   cursor: pointer;
   height: auto;
   display: inline-block;
   border-radius: 4px;
   padding: 12px 24px;
   font-size: 14px;
   font-weight: bold;
   transition: all 0.3s ease;
}

#contact button.submit:hover {
   background: #0D8B8F;
   transform: translateY(-2px);
   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

#contact span.required {
   color: #237fcb;
   font-size: 13px;
}

#image-loader {
   display: none;
   position: relative;
   left: 0;
   top: 10px;
   width: 100%;
   text-align: center;
   margin-top: 20px;
}

#message-warning,
#message-success {
   display: none;
   padding: 20px;
   margin-bottom: 24px;
   width: 100%;
   color: #fff;
   border-radius: 4px;
   text-align: center;
}

#message-success {
   background: #11ABB0;
}

#message-warning {
   background: #E54028;
}

#message-warning i,
#message-success i {
   margin-right: 10px;
}

#image-loader img {
   margin-bottom: 0;
   width: 32px;
   height: 32px;
}

/* Contact Widget
----------------------------------------------------------------- */
.widget_contact {
   background: #fff;
   padding: 30px;
   border-radius: 8px;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.widget_contact h4 {
   margin: 0 0 20px 0;
   padding: 0;
   font-size: 18px;
   color: #313131;
   text-align: center;
}

.widget_contact .address {
   margin: 0;
   padding: 0;
}

.widget_contact .address span {
   display: block;
   line-height: 24px;
   margin-bottom: 15px;
   color: #666;
}

.widget_contact .address span:last-child {
   margin-bottom: 0;
}

.widget_contact .address a {
   color: #2a61ed;
   text-decoration: none;
   transition: color 0.3s ease;
}

.widget_contact .address a:hover {
   color: #0D8B8F;
}

/* Responsive Styles */
@media screen and (max-width: 900px) {
   #contact form {
       padding: 30px;
   }
   
   .widget_contact {
       margin-top: 30px;
   }
}

@media screen and (max-width: 600px) {
   #contact form {
       padding: 20px;
   }
   
   #contact input,
   #contact textarea,
   #contact select {
       padding: 12px;
   }
   
   #contact button.submit {
       width: 100%;
   }
}

/* Twitter Feed */
#twitter {
   margin-top: 12px;
   padding: 0;
}
#twitter li {
   margin: 6px 0px 12px 0;
   line-height: 30px;
}
#twitter li span {
   display: block;
}
#twitter li b a {
   font: 13px/36px 'opensans-regular', Sans-serif;
   color: #474747 !important;
   border: none;
}


/* ------------------------------------------------------------------ */
/* i. Footer
/* ------------------------------------------------------------------ */

footer {
   padding-top: 48px;
   margin-bottom: 48px;
   color: #303030;
   font-size: 14px;
   text-align: center;
   position: relative;
}

footer a, footer a:visited { color: #525252; }
footer a:hover, footer a:focus { color: #fff; }

/* copyright */
footer .copyright {
    margin: 0;
    padding: 0;
 }
footer .copyright li {
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: 24px;
}
.ie footer .copyright li {
   display: inline;
}
footer .copyright li:before {
    content: "\2022";
    padding-left: 10px;
    padding-right: 10px;
    color: #095153;
}
footer .copyright  li:first-child:before {
    display: none;
}

/* social links */
footer .social-links {
   margin: 18px 0 30px 0;
   padding: 0;
   font-size: 30px;
}
footer .social-links li {
    display: inline-block;
    margin: 0;
    padding: 0;
    margin-left: 42px;
    color: #F06000;
}

footer .social-links li:first-child { margin-left: 0; }

/* Go To Top Button */
#go-top {
	position: absolute;
	top: -24px;
   left: 50%;
   margin-left: -30px;
}
#go-top a {
	text-decoration: none;
	border: 0 none;
	display: block;
	width: 60px;
	height: 60px;
	background-color: #525252;

	-webkit-transition: all 0.2s ease-in-out;
   -moz-transition: all 0.2s ease-in-out;
   -o-transition: all 0.2s ease-in-out;
   -ms-transition: all 0.2s ease-in-out;
   transition: all 0.2s ease-in-out;

   color: #fff;
   font-size: 21px;
   line-height: 60px;
 	border-radius: 100%;
}
#go-top a:hover { background-color: #2e5598; }

/* Skills Cards Layout
--------------------------------------------------------------------- */
.skills-container {
   display: flex;
   flex-direction: column;
   gap: 2rem;
   margin-top: 2rem;
}

.skill-category {
   margin-bottom: 0;
}

.skill-category h3 {
   color: #11ABB0;
   margin-bottom: 0.5rem;
   font-size: 1.5rem;
   text-align: center;
   padding: 0;
}

.skill-row {
   display: flex;
   flex-wrap: nowrap;
   justify-content: none;
   gap: 1rem;
   margin-bottom: 0;
   padding: 0;
}

.skill-card {
   flex: 1;
   min-width: 150px;
   max-width: 180px;
   height: 180px;
   perspective: 1000px;
   margin: 0;
   padding: 0;
}

.card-inner {
   position: relative;
   width: 100%;
   height: 100%;
   text-align: center;
   transition: transform 0.8s;
   transform-style: preserve-3d;
}

.skill-card:hover .card-inner {
   transform: rotateY(180deg);
}

.card-front, .card-back {
   position: absolute;
   width: 100%;
   height: 100%;
   backface-visibility: hidden;
   -webkit-backface-visibility: hidden;
   background: #f5f5f5;
   padding: 20px;
   border-radius: 8px;
   box-shadow: 0 2px 4px rgba(0,0,0,0.1);
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
}

.card-back {
   transform: rotateY(180deg);
   background: #313131;
   color: #fff;
   padding: 25px;
}

.card-back ul {
   margin: 0;
   padding: 10px;
   list-style: none;
   text-align: left;
   width: 100%;
}

.card-back li {
   margin-bottom: 8px;
   font-size: 0.9rem;
   line-height: 1.2;
   position: relative;
   padding-left: 20px;
}

.card-back li:before {
   content: "•";
   position: absolute;
   left: 0;
   color: #4372c8;
   font-size: 16px;
}

.card-front h3 {
   margin: 0 0 10px 0;
   color: #313131;
   font-size: 18px;
   font-weight: 600;
}

.skill-logo {
   width: 50px;
   height: 50px;
   object-fit: contain;
   margin-bottom: 15px;
   transition: transform 0.3s ease;
}

.skill-card:hover .skill-logo {
   transform: scale(1.1);
}

.card-front .info {
   margin: 0;
   color: #666;
   font-size: 14px;
   font-weight: 500;
}

@media only screen and (max-width: 900px) {
   .skill-card {
      flex: 1 1 calc(50% - 20px);
   }
}

@media only screen and (max-width: 600px) {
   .skill-card {
      flex: 1 1 100%;
   }
}

.skill-icon-container {
   position: relative;
   width: 80px;
   height: 80px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto 20px;
}

.skill-icon {
   font-size: 2rem;
   color: #4372c8;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

.skill-logo {
   width: 60px;
   height: 60px;
   object-fit: contain;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

.card-front .info {
   margin: 0;
   color: #666;
   font-size: 14px;
   font-weight: 500;
}

.skill-text {
   font-size: 1.2rem;
   color: #313131;
   margin-top: 10px;
   font-weight: 600;
}

.fab.fa-js {
   color: #F7DF1E;
   font-size: 3rem;
}

.skill-icon-container {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   height: 100%;
}

.js-logo {
   width: 80px;
   height: 80px;
   background-color: #F7DF1E;
   border-radius: 8px;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: 0 2px 4px rgba(0,0,0,0.1);
   margin-bottom: 10px;
}

.js-text {
   color: #000;
   font-size: 2.5rem;
   font-weight: bold;
   font-family: Arial, sans-serif;
}

.skill-name {
   font-size: 1.2rem;
   color: #313131;
   font-weight: 600;
   margin-top: 10px;
   display: block;
}

.row.item {
   margin-bottom: 0;
   padding: 0;
}

.row.item h3 {
   margin-bottom: 0.5rem;
   padding: 0;
}

/* Download Button Styles */
.download {
    margin-top: 2rem;
    text-align: center;
}

.download .button {
    background: #11ABB0;
    color: #fff;
    padding: 12px 24px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.download .button:hover {
    background: #0D8B8F;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.download .button i {
    font-size: 1.2rem;
}

/* Sticker Styles */
.sticker {
    position: fixed;
    font-size: 2.5rem;
    z-index: -1;
    opacity: 0.7;
    animation: float 6s ease-in-out infinite;
    pointer-events: none;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

.sticker-1 {
    top: 10%;
    left: 5%;
    animation-delay: 0s;
    color: #00FFFF;
}

.sticker-2 {
    top: 20%;
    right: 10%;
    animation-delay: 1s;
    color: #FF00FF;
}

.sticker-3 {
    bottom: 15%;
    left: 15%;
    animation-delay: 2s;
    color: #00FF00;
}

.sticker-4 {
    bottom: 25%;
    right: 5%;
    animation-delay: 3s;
    color: #FFFF00;
}

.sticker-5 {
    top: 30%;
    left: 20%;
    animation-delay: 4s;
    color: #FF0000;
}

.sticker-6 {
    top: 40%;
    right: 20%;
    animation-delay: 5s;
    color: #0000FF;
}

.sticker-7 {
    top: 15%;
    left: 30%;
    animation-delay: 6s;
    color: #FFA500;
}

.sticker-8 {
    bottom: 20%;
    right: 25%;
    animation-delay: 7s;
    color: #FF69B4;
}

.sticker-9 {
    top: 25%;
    left: 40%;
    animation-delay: 8s;
    color: #7CFC00;
}

.sticker-10 {
    bottom: 30%;
    right: 35%;
    animation-delay: 9s;
    color: #9370DB;
}

@keyframes float {
    0% {
        transform: translateY(0px) rotate(0deg) scale(1);
        opacity: 0.7;
    }
    50% {
        transform: translateY(-20px) rotate(5deg) scale(1.1);
        opacity: 0.9;
    }
    100% {
        transform: translateY(0px) rotate(0deg) scale(1);
        opacity: 0.7;
    }
}

/* Add hover effect to stickers */
.sticker:hover {
    opacity: 1;
    transform: scale(1.2);
    transition: all 0.3s ease;
}

/* Make stickers responsive */
@media screen and (max-width: 768px) {
    .sticker {
        font-size: 2rem;
    }
}

@media screen and (max-width: 480px) {
    .sticker {
        font-size: 1.5rem;
    }
}

/* Welcome Background Styles */
.welcome-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.5;
    pointer-events: none;
}

.tech-logo {
    position: absolute;
    font-size: 4rem;
    color: #00FFFF;
    animation: float-tech 8s ease-in-out infinite;
    text-shadow: 0 0 15px rgba(0, 255, 255, 0.8);
    filter: drop-shadow(0 0 5px rgba(0, 255, 255, 0.5));
}

.tech-logo:nth-child(1) {
    top: 10%;
    left: 10%;
    animation-delay: 0s;
    color: #00FFFF;
}

.tech-logo:nth-child(2) {
    top: 20%;
    right: 15%;
    animation-delay: 1s;
    color: #FF00FF;
}

.tech-logo:nth-child(3) {
    bottom: 15%;
    left: 20%;
    animation-delay: 2s;
    color: #00FF00;
}

.tech-logo:nth-child(4) {
    bottom: 25%;
    right: 10%;
    animation-delay: 3s;
    color: #FFFF00;
}

.tech-logo:nth-child(5) {
    top: 40%;
    left: 15%;
    animation-delay: 4s;
    color: #FF0000;
}

.tech-logo:nth-child(6) {
    top: 30%;
    right: 20%;
    animation-delay: 5s;
    color: #0000FF;
}

@keyframes float-tech {
    0% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0.7;
    }
    50% {
        transform: translateY(-20px) rotate(5deg) scale(1.1);
        opacity: 0.9;
    }
    100% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0.7;
    }
}

/* Make the banner text stand out */
.banner-text {
    position: relative;
    z-index: 2;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
    .tech-logo {
        font-size: 3.5rem;
    }
}

@media screen and (max-width: 480px) {
    .tech-logo {
        font-size: 2.5rem;
    }
}

/* Name Stickers Styles */
.name-stickers {
    position: relative;
    z-index: 1;
}

.name-sticker {
    position: absolute;
    font-size: 2.5rem;
    opacity: 0.8;
    animation: name-float 4s ease-in-out infinite;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.3));
}

.name-sticker-1 {
    top: -20px;
    left: -50px;
    animation-delay: 0s;
    color: #00FFFF;
}

.name-sticker-2 {
    top: -30px;
    right: -40px;
    animation-delay: 0.5s;
    color: #FF00FF;
}

.name-sticker-3 {
    bottom: -20px;
    left: -40px;
    animation-delay: 1s;
    color: #00FF00;
}

.name-sticker-4 {
    bottom: -30px;
    right: -50px;
    animation-delay: 1.5s;
    color: #FFFF00;
}

.name-sticker-5 {
    top: 50%;
    left: -60px;
    animation-delay: 2s;
    color: #FF0000;
}

.name-sticker-6 {
    top: 50%;
    right: -60px;
    animation-delay: 2.5s;
    color: #0000FF;
}

@keyframes name-float {
    0% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0.8;
    }
    50% {
        transform: translateY(-10px) rotate(5deg) scale(1.1);
        opacity: 1;
    }
    100% {
        transform: translateY(0) rotate(0deg) scale(1);
        opacity: 0.8;
    }
}

/* Make name stickers responsive */
@media screen and (max-width: 768px) {
    .name-sticker {
        font-size: 2rem;
    }
}

@media screen and (max-width: 480px) {
    .name-sticker {
        font-size: 1.5rem;
    }
}

