body {
   background: #0f0f0f;
}

/* Loader */
.loader-container {
   display: flex;
   justify-content: center;
   align-items: center;
   height: 100vh;
}

header {
   position: relative;
   height: 100vh;
   min-height: 500px;
   width: 100%;
   text-align: center;
   overflow: hidden;
}


/* vertically center banner section */
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%;
}

header .banner-text .greeting {
   font: 6rem 'opensans-bold', sans-serif;
   color: #fff;
   letter-spacing: -2px;
   padding-bottom: -2rem;
   margin: 0 auto 0 auto;
}

header .banner-text h1 {
   font: 8rem 'opensans-bold', sans-serif;
   color: #fff;
   margin: 0 auto 18px auto;
}

header .banner-text h3 {
   font: 18px/1.9em 'librebaskerville-regular', serif;
   color: #ddd;
   margin: 0 auto;
   width: 70%;
}

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;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 0;
   font-size: 30px;
}

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

header .social li a {
   color: #fff;
}

header .social li a:hover {
   color: #1abc9c;
}

/* 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: #1abc9c;
}

/* 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;
   background-color: #303030;
   padding: 1rem 0 1rem 0;
   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 {
   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:hover {
   color: #fe6928;

}

ul#nav li a:active {
   color: #fe6928;

}

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

#about {
   background: #303030;
   padding-top: 96px;
   padding-bottom: 66px;
   padding-right: 2rem;
   overflow: hidden;
}

#about a,
#about a:visited {
   color: #fff;
}

#about a:hover,
#about a:focus {
   color: #1abc9c;
}

#about h2 {
   font: 22px/30px 'opensans-bold', sans-serif;
   text-transform: uppercase;
   color: #fe6928;
   margin-bottom: 12px;
}

#about p {
   line-height: 30px;
   color: #ccc;
}

#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: #fff;
   padding-top: 90px;
   padding-bottom: 72px;
   overflow: hidden;
}

#resume a,
#resume a:visited {
   color: #1abc9c;
}

#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 #1abc9c;
   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: 1px solid #E8E8E8;
}

#resume .info {
   font: 16px/24px 'librebaskerville-italic', serif;
   color: #6E7881;
   margin-bottom: 18px;
   margin-top: 9px;
}

#resume .grade {
   font: bold;
   margin-top: -1.5rem;
   font-weight: 600;
}

#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: #333;
   height: 42px;
   border-radius: 0px;
}

.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: 0px;
}

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

#portfolio {
   background: #ebeeee;
   padding-top: 90px;
   padding-bottom: 60px;
}

#portfolio h1 {
   font: 2rem 'opensans-semibold', sans-serif;
   text-transform: uppercase;
   letter-spacing: 1px;
   text-align: center;
   margin-bottom: 48px;
   color: #95A3A3;
}

/* Portfolio Content */
#portfolio-wrapper {
   display: grid;
   grid-template-columns: repeat(2, 2fr);
   gap: 2rem;
}

@media (max-width:600px) {
   #portfolio-wrapper {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      flex-direction: column;
      align-items: center;
   }
}

#portfolio-wrapper .columns {
   margin-bottom: 36px;
}


.portfolio-item .item-wrap {
   background: #fff;
   position: relative;
   text-align: center;
   -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;
   padding-bottom: 1.3rem;
}

.portfolio-item .item-wrap p {
   display: block;
   font: 15px 'opensans-bold', sans-serif;
   color: #313131 !important;
   text-transform: uppercase;
   letter-spacing: 2px;
   padding: 1.5rem 0 0 0;
   font-weight: 600;
   margin-bottom: 1rem !important;
}

.portfolio-item .item-wrap .tags {
   display: flex;
   align-items: center;
   justify-content: center;
}

.portfolio-item .item-wrap .tags span {
   font: 1.2rem 'opensans-bold', sans-serif;
   color: black;
   padding: 0 .5rem 1rem 0;
   text-transform: capitalize;
   color: #95A3A3;
}

.portfolio-item .item-wrap .session {
   display: block;
   font: 15px 'opensans-bold', sans-serif;
   text-transform: uppercase;
   letter-spacing: 2px;
   font-weight: 600;
   background-color: #1abc9c;
   color: #fff;
   padding: .7rem 1rem .7rem 1rem;
   border: 0;
   outline: 0;
}

/* 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);
}

/* 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;
}

/* 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-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;
}

/* ------------------------------------------------------------------ */
/* 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: #fe6928;
}

/* 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: #0F9095;
}


.social .btn:first-child {
   margin-right: 30px;
}

.social .btn:last-child {
   background-color: #1abc9c !important;
}

.social .btn {
   padding-left: 30px;
   padding-right: 30px;
}

.social .btn i {
   margin-right: 15px;
}

.project-btn {
   background-color: #fe6928 !important;
}

.github-btn {
   background-color: #34495e !important;
}