html {
	scroll-behavior: smooth;
}

main {
	background-image: url('../img/overlay4c.jpg');
}

#light-dark {
	color: #fff;
	padding-left: 30px;
	position: relative;
	bottom: 2px;
	font-size: 1.3em;
}
#light-dark:hover {
	color: rgb(255, 251, 190);
}
@media (max-width: 991px) {
	#light-dark.dark {
		bottom: 1px;
	}
	#light-dark.light {
		bottom: 0px;
	}
	#light-dark {
		padding-left: 0;
		padding-right: 20px;
	}
}
@media (max-width: 420px) {
	#light-dark {
		padding-right: 15px;
	}
}
.overlay-mf2 {
	background-image: linear-gradient(-165deg, black, black, black, rgb(0, 0, 40), rgb(0, 0, 50));
	transform: translateY(55%);
	position: fixed;
	top: 0;
	left: 0;
	padding: 0;
	height: 100vh;
	width: 100%;
	opacity: 0.75;
}

.overlay-mf3 {
	background-color: #000;
	position: absolute;
	top: -50vh;
	left: 0;
	padding: 0;
	height: 50vh;
	width: 100%;
	z-index: 1;
}

.text-light {
	position: fixed;
	z-index: 3001;
	height: 3rem;
	width: 3rem;
	top: calc(50% - 1.5rem);
	left: calc(50% - 1.5rem);
}

#preloader-l {
	position: fixed;
	height: 100%;
	left: 0;
	width: 50%;
	background-color: #000;
	z-index: 3000;
	box-shadow: 10px 0px 15px 15px #000;
}

#preloader-r {
	position: fixed;
	height: 100%;
	width: 50%;
	background-color: #000;
	z-index: 3000;
	box-shadow: -10px 0px 15px 15px #000;
	right:0;
}

.bi-arrow-up-circle-fill {
	pointer-events: none;
    font-size: 2em;
    position: fixed;
    bottom: 5px;
    right: 10px;
	opacity: 0;
    cursor: pointer;
	z-index: 1026;
	color:#0078ff;
}
.bi-arrow-up-circle-fill:hover {
	color: #3393ff;
}

/*==================== NAVBAR ====================*/
#header {
    background: rgba(0, 0, 0, 0.9);
    padding: 10px 0;
}
#header a, .bi-list{
    color: #fff;
    text-decoration: none;
}
h1 {
    margin-top: 0;
    margin-bottom: 0;
}

@media (max-width: 1199px) {
	.welcome {
		display: none;
	}
}
strong {
    font-weight: inherit;
}

.navbar a, .navbar a:focus {
	padding: 10px 0 10px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 16px;
	font-weight: 600;
	white-space: nowrap;
	transition: 0.3s;
	letter-spacing: 0.4px;
	position: relative;
	text-transform: uppercase;
}

.navbar a:hover:before, .navbar a:hover > a:before, .navbar .active:before {
    visibility: visible;
    width: 50%;
}

.navbar a:before {
    content: "";
    position: absolute;
    height: 2px;
    bottom: 5px;
    left: 30px;
    width: 0;
    background-color: #fff;
    visibility: hidden;
    transition: all 0.3s ease-in-out 0s;
}

.bi-list {
    font-size: 28px;
    cursor: pointer;
    display: none;
    line-height: 0;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

@media (max-width: 991px) {
    .bi-list {
        display: block;
    }
    .navbar .nav-link {
        display: none;
    }
    .overlay-content .bi-list {
        display: none;
    }
}

/* The Overlay (background) */
.overlay {
	/* Height & width depends on how you want to reveal the overlay (see JS below) */   
	height: 0;
	width: 100%;
	position: fixed; /* Stay in place */
	z-index: 2900; /* Sit on top */
	left: 0;
	top: 0;
	background-color: rgb(0,0,0); /* Black fallback color */
	background-color: rgba(0,0,0, 0.9); /* Black w/opacity */
	overflow-x: hidden; /* Disable horizontal scroll */
	transition: 0.5s; /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
}

/* Position the content inside the overlay */
.overlay-content {
	position: relative;
	top: 25%; /* 25% from the top */
	width: 100%; /* 100% width */
	text-align: center; /* Centered text/links */
	margin-top: 30px; /* 30px top margin to avoid conflict with the close button on smaller screens */
}

/* The navigation links inside the overlay */
.overlay a {
	padding: 8px;
	text-decoration: none;
	font-size: 36px;
	color: #c4c4c4;
	display: block; /* Display block instead of inline */
  	transition: 0.3s; /* Transition effects on hover (color) */
}

/* When you mouse over the navigation links, change their color */
.overlay a:hover, .overlay a:focus {
  	color: #ffffff;
}

/* Position the close button (top right corner) */
.overlay .closebtn {
	position: absolute;
	top: 20px;
	right: 45px;
	font-size: 60px;
	cursor: pointer;
}

/* When the height of the screen is less than 450 pixels, change the font-size of the links and position the close button again, so they don't overlap */
@media screen and (max-height: 450px) {
	.overlay a {font-size: 20px}
	.overlay .closebtn {
		font-size: 40px;
		top: 15px;
		right: 35px;
	}
}

.bg-image-a {
	background-image: url('../img/drbanneredit99bw.png');
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	background-position: center center;
}

@media (max-width: 1024px) {
	.bg-image-a {
		background-attachment: scroll;
	}
}

#banner {
	z-index: 3;
    height: 100vh;
    position: relative;
    color: #fff;
}

.ban-content {
	text-align: start;
	position: absolute;
}

.ban-title {
	color: #fff;
	font-weight: 600;
	font-size: 3rem;
}
@media (min-width: 768px) {
	.ban-title {
		font-size: 4.5rem;
	}
}

.ban-subtitle {
	font-size: 1.5rem;
	font-weight: 600;
	padding-left: 1.5em;
	min-height: 1.8rem;
}
@media (min-width: 768px) {
	.ban-subtitle {
		font-size: 2.5rem;
		min-height: 3rem;
	}
}

.display-table {
	width: 100%;
	height: 100%;
	display: table;
}
.table-cell {
	display: table-cell;
	vertical-align: middle;
}


/*--------------------------------------------------------------
# About
--------------------------------------------------------------*/

/*--/ Title Left /--*/
.title-box-2 {
	margin-bottom: 3rem;
}
  
.title-left {
	font-size: 2rem;
	position: relative;
}
.title-left:before {
	content: "";
	position: absolute;
	height: 3px;
	background-color: #0078ff;
	width: 100px;
	bottom: -12px;
}

#about {
  padding-top: 64px;
}

.box-shadow-full {
  padding: 3rem 1.25rem;
  position: relative;
  background-color: #fff;
  z-index: 2;
  box-shadow: 3px 3px 2px #0078ff;
  border-radius: 10px;
}
@media (min-width: 768px) {
	.box-shadow-full {
		padding: 3rem;
  	}
}
@media (max-width: 575px) {
	.box-shadow-full {
		border-radius: 7.5px;
	}
}

.first-p {
	margin-top: -15px;
}

.lead {
	text-align: justify;
	font-weight: 350;
}

.about-mf .about-img {
  margin-bottom: 2rem;
}
.about-mf .about-img img {
  margin-left: 10px;
}

#about span {
  color: #4e4e4e;
  font-weight: 500;
}

hr.skill-br {
	height: 3px;
	color: #0d6efd;;
	background-color: #0d6efd;;
	opacity: 1;
	margin: 9px 0 20px;
}
.skills-img2  {
	display: none;
}
.skills-img {
	padding-top: 8px;
}
@media (max-width: 1399.9px) {
	.skills-img {
		padding-top: 20px;
	}
}
@media (max-width: 1199.9px) {
	.skills-img {
		padding-top: 17px;
	}
	hr.skill-br {
		height: 2px;
		margin: 3.5px 0 12px;
	}
}
@media (max-width: 991.9px) {
	hr.skill-br {
		height: 3px;
		margin: 9px 0 20px;
	}
}
@media (max-width: 420px) {
	.skills-img  {
		display: none;
	}
	.skills-img2  {
		padding-top: 11px;
		display: block;
	}
	#about .box-shadow-full {
		padding-bottom: 2.5rem;
	}
}


.title-r {
	font-weight: 600;
	color: #1e1e1e;
	font-size: 1.1rem;
}

.title-s {
	font-weight: 600;
	color: #1e1e1e;
	font-size: 1.3rem;
}

@media (min-width: 992px){
	.hr-about {
		display: none;
	}
}


/*--------------------------------------------------------------
# Experience
--------------------------------------------------------------*/

#experience {
	padding-top: 80px;
}

.line-mf {
	position: relative;
	z-index: 1;
	width: 40px;
	height: 5px;
	background-color: #0078ff;
	margin: 20px auto 20px;
}

#experience .border {
	border-radius: 5px;
	background-color: #fff;
	height: 100%;
}

#experience img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

#experience img + p {
	text-align:center;
}

#itc-img + p {
	margin-top:6px;
}

.mt-six {
	margin-top:6px;
}

.card-title {
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 0.4px;
}

@media (max-width: 575px) {
	.col-md-4 {
		padding-left: 12px;
		padding-right: 12px;
	}
}

/* flip-card title adjustments */
.ca-dash{
	display: none;
}
#ca-word2 {
	display: none;
}
@media (min-width: 455px) {
	.ca-break{
		display: none;
	}
	.ca-dash{
		display: inline;
	}
	#jlr-word{
		display: none;
	}
}
@media (min-width: 530px) {
	#ca-word2 {
		display: inline;
	}
	#jlr-word{
		display: inline;
	}
}
@media (min-width: 768px) {
	.ca-break{
		display: inline;
	}
	.ca-dash{
		display: none;
	}
	.ca-word{
		display: none;
	}
	#mta-word{
		display: none;
	}
	#jlr-word{
		display: none;
	}
}
@media (min-width: 992px) {
	.ca-word{
		display: inline;
	}

}
@media (min-width: 1200px) {
	#mta-word{
		display: inline;
	}
	#jlr-word{
		display: inline;
	}
}
@media (min-width: 1400px) {
	.ca-break{
		display: none;
	}
	.ca-dash{
		display: inline;
	}
	#ca-word2{
		display: none;
	}
	#jlr-word{
		display: none;
	}
}

ul {
	padding-left: 20px;
}
.exp-date {
	font-weight: 500;
}
.exp-desc {
	font-weight: 300;
}

/* FLIP CARD */
  
.thecard {
	position: relative;
	z-index: 1025;
	perspective: 1000px;
}
  
.flip-card-inner {
	position: relative;
	width: 100%;
	height: 100%;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-transition: all 0.8s ease;
	transition: all 0.8s ease;
	box-shadow: 3px 3px 2px #0078ff;
	border-radius: 5px;
}

.thecard:hover .flip-card-inner {
	-webkit-transform: rotateY(180deg);
	transform: rotateY(180deg);
}
.thecard:hover .theback {
	overflow-y: auto;
}
@media (min-width: 1200px) {
	.thecard:hover .first-row{
		overflow-y: hidden;
	}
}

.thefront, .theback {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
  
.theback{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: rotateY(180deg);
	transform: rotateY(180deg);
	overflow: hidden;
}

.theback p {
	overflow-wrap: break-word;
}


/*--------------------------------------------------------------
# RESUME
--------------------------------------------------------------*/

#resume {
	padding-top: 100px;
}

.work-exp-content {
	border-left: dashed 1px #222222;
}

.cv-item {
	position: relative;
	padding-left: 1.2em;
}

.cv-item p::before {
	content: "";
	height: 16px;
	width: 16px;
	background-color: #0078ff;
	border-radius: 8px;	
	display: block;
	position: absolute;
	left: -8px;
	top: 0;
}
.work-exp h4 {
	text-transform: uppercase;
	margin-bottom: 1rem;
	font-weight: 700;
}
.cv-item h5 {
	display: inline;
	position: relative;
	bottom: 3px;
}
.cv-item h6.employer {
	font-size: 1.1em;
	font-style: italic;
	display: block;
}
.cv-item h6.date {
	width: 100px;
	text-align: center;
	padding: 5px;
	color: #fff;
	background-color: #0078ff;
}
@media (min-width: 576px) {
	.cv-item h6.date {
		position: absolute;
		top: 0;
		right: 0;
	}
}
@media (min-width: 768px) {
	.cv-item h6.date {
		width: 94px;
	}
}

.br-vis {
	display: none;
}
@media (min-width: 992px) {
	.br-vis {
		display: block;
	}
}
@media (min-width: 1200px) {
	.br-vis {
		display: none;
	}
}

.second-col {
	padding-top: 8px;
}
@media (min-width: 992px) {
	.second-col {
		padding-top: 86.391px;
	}
}


.cv-img {
	display: block;
	width: 95%; 
	margin-left: auto; 
	margin-right: auto; 
}
@media (min-width: 576px) {
	.cv-img {
		width: 75%; 
	}
}
@media (min-width: 992px) {
	.cv-img {
		width: 87.5%; 
	}
}
@media (min-width: 1200px) {
	.cv-img {
		width: 82.5%; 
	}
}
@media (min-width: 1400px) {
	.cv-img {
		width: 75%; 
	}
}

#resume button {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.contact-focus {
	text-decoration: none;
}

.bi-download {
	font-size: 1.3rem;
}

/*--------------------------------------------------------------
# Portfolio
--------------------------------------------------------------*/

#portfolio {
	position: relative;
	z-index: 5;
	padding-top: 80px;
}

#portfolio-sc {
	position: relative;
	top: -4.5rem;
}

@media (min-width: 1199px){
	#portfolio .container{
	  max-width:950px;
	}  
}
@media (min-width: 1399px){
	#portfolio .container{
	  max-width:950px;
	}  
}

.title-box {
	margin-bottom: 1rem;
}
  
.title-a {
	position: relative;
	z-index: 1;
	color: #fff;
	text-decoration: none;
	font-size: 3rem;
	font-weight: bold;
	text-transform: uppercase;
}

.subtitle-a {
	position: relative;
	z-index: 1;
	color: #fff;
	text-decoration: none;
	margin-bottom: 20px;
}
  
.carousel-indicators {
	position: relative;
	border:0;
	margin-bottom: 20px;
}

.carousel-indicators button {
	background-color: #0078ff !important;
}

.carousel-inner img {
	border-radius: 10px;
}
@media (max-width: 991px) {	
	.carousel-inner img {
		border-radius: 7.5px;
	}
}
@media (max-width: 768px) {	
	.carousel-inner img {
		border-radius: 5px 5px 0 0;
	}
}
@media (max-width: 575px) {	
	.carousel-inner img {
		border-radius: 2.5px 2.5px 0 0;
	}
}

.carousel-control-prev:hover, .carousel-control-next:hover{
	background-color: rgba(255, 255, 255, 0.3);
}

.carousel-caption {
	padding: 10px 0;
	color: #fff !important;
	bottom: 0px;
	border-radius: 5px 5px 0 0;
	cursor: pointer;
}

@media (min-width: 768px) {
	.carousel-caption {
		background-color: rgba(0, 0, 0, 0.7) !important;
	}
	.carousel-caption:hover {
		background-color: rgba(0, 0, 0, 0.8) !important;
	}
}
@media (max-width: 767.9px) {	
	.carousel-caption {
		display: block !important;
		position: relative;
		left: 0;
		border-radius: 0 0 5px 5px; 
	}
}
		
@media (max-width: 575px) {	
	.carousel-caption {
		border-radius: 0 0 2.5px 2.5px;
	}
}

.icon-box {
	width: 100%;
	position: absolute;
	top: 8px;
	padding: 0 12px;
}
@media (max-width: 575px) {	
    .icon-box {
    padding-left: 10px;
    }
}

.carousel-caption .fa-info-circle {
	font-size: 1.5em;
	position: relative;
	top: 0.5px;
}

.carousel-caption .fa-external-link-alt {
	font-size: 1.4em;
}

.modal-footer .fa-external-link-alt {
	position: relative;
	bottom: 2.5px;
	font-size: 1.25rem;
	padding-left: 5px;
}

.carousel-caption i {
	color: rgb(218, 218, 218) !important;
}
.carousel-caption i:hover{
	color: #fff !important;
}

.carousel-caption p {
	margin: 0;
}

.carousel-control-prev {
	border-radius: 10px 0 0 10px;
} 

.carousel-control-next {
	border-radius: 0 10px 10px 0;
}

.carousel-control-prev, .carousel-control-next {
	position: absolute;
	top: 25px;
	max-height: calc(100% - 25px);
	color: #fff !important;
}

@media (min-width: 1199.9px) {
	.carousel-caption {
		width: 100%;
		left: 0;
		right: 0;
		border-radius: 0 0 10px 10px;
	}

	.carousel-control-prev {
		position: absolute;
		left: -90px;
		width: 90px;
	}
	.carousel-control-next {
		position: absolute;
		right: -90px;
		width: 90px;
	}
}
@media (min-width: 1399px) {
	.carousel-control-prev {
		position: absolute;
		left: -185px;
		width: 185px;
	}
	.carousel-control-next {
		position: absolute;
		right: -185px;
		width: 185px;
	}
}
@media (max-width: 767.9px) {
	.carousel-control-prev, .carousel-control-next {
		bottom: 76px;
	}
}

@media (min-width: 992px) {	
	.dir-detail-sm {
		display: none;
	}
}
@media (max-width: 991.99px) {	
	.dir-detail {
		display: none;
	}
}

.modal-header {
	background-color: #0067dd;
	color: #fff;
}
.modal-content {
	color: #000;
	border: none;
	opacity: 0.85;
	text-align: justify;
	text-justify: inter-word;
}

.modal-footer {
	background-color: rgb(0, 120, 255);
	padding-top: 7.6px;
	padding-bottom: 7.6px;
}
.modal-footer a{
	text-decoration: none;
	color: #fff;
}
.modal-footer:hover .new-tab{
	color: rgb(0, 120, 255);
}
.modal-footer:hover .fa-github{
	color: rgb(0, 120, 255);
}
.modal-footer:hover {
	background-color: #fff;
}
.new-tab {
	padding: 5px;
	border-radius: 5px;
	font-size: 1.2em;
}
.new-tab:hover {
	background-color: rgba(0, 119, 255, 0.247);
}

body.modal-open .bg {
	transition-property: -moz-filter, -ms-filter, -o-filter, -webkit-filter, filter;
	filter: blur(5px);
	-webkit-filter: blur(5px);
	transition-duration: 2s;
}


/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/

#contact{
	padding-top: 110px;
}

#load-overlay {
	display: none;
	background: rgba(0,0,0,.3);
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999
}

.bg-image-b {
	background-image: url('../img/overlay4b.jpg');
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	background-position: center center;
	position: relative;
	padding: 5.5rem 0 1.5rem 0;
}
@media (max-width: 1024px) {
	.bg-image-b {
		background-attachment: scroll;
	}
}

.overlay-mf {
	background-color: #0078ff;
	position: absolute;
	top: 0;
	left: 0px;
	padding: 0;
	height: 100%;
	width: 100%;
	opacity: 0.7;
	visibility:hidden;
}

.button {
	display: inline-block;
	padding: 0.3rem 0.6rem;
	text-align: center;
	vertical-align: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	font-size: 1rem;
	border-radius: 0.3rem;
	border: 1px solid transparent;
	transition: all 500ms ease;
	cursor: pointer;
}
  .button:focus {
	outline: 0;
}
  .button:hover {
	background-color: #0062d3;
	color: #fff;
	transition: all 500ms ease;
}
  
  .button-a {
	text-decoration: none;
	background-color: #0078ff;
	color: #fff;
	border-color: #cde1f8;
}
  
  .button-big {
	padding: 0.9rem 2.3rem;
	font-size: 1.2rem;
}
  
  .button-rouded {
	border-radius: 5rem;
}

.box-shadow-a, .button:hover {
	text-decoration: none;
	box-shadow: 0 0 0 4px #cde1f8;
}

.mb-6 {
	margin-bottom: 6rem;
}

/* PHP FORM */

.php-email-form .error-message {
	display: none;
	color: #fff;
	background: #ed3c0d;
	text-align: center;
	padding: 15px;
	font-weight: 600;
}
  .php-email-form .sent-message {
	display: none;
	color: #fff;
	background: #18d26e;
	text-align: center;
	padding: 15px;
	font-weight: 600;
}
  .php-email-form .text-primary{
	position: absolute;
	display: none;
	bottom: 48%;
	left: calc(50% - 1rem);
}

.bi-envelope {
	font-size: 1.25rem;
}