/* Dentita brand overrides for the Jestem template */

:root {
	--dentita-teal: #1a9b8e;
	--dentita-teal-deep: #0f766e;
}

.text-primary,
a:hover,
a:focus,
.nav-caption > span {
	color: var(--dentita-teal);
}

.pace,
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-default:hover,
.btn-default:focus,
.icon-primary,
.form-control:focus,
.btn-black.active,
.resume-box:hover .title-bar-hover {
	border-color: var(--dentita-teal);
}

.bg-primary,
.pace .pace-progress,
.btn-primary:hover,
.btn-primary:focus,
.label-primary,
.te-primary:before,
.progress-bar-primary,
.icon-primary.icon-filled,
.btn-black.active:hover,
.sep {
	background-color: var(--dentita-teal);
}

/* Hero uses the Dentita profile art */
.main-photo {
	background-image: url('../assets/dentita-profile.png');
	background-size: cover;
	background-position: center center;
}

/* Chevron sits at the photo/nav seam (light side) — keep it dark */
#btn-start {
	z-index: 20;
}

#btn-start:after,
#btn-start:before {
	background: #111;
}

.home-brand {
	display: block;
	margin: 0 auto 18px;
	max-width: min(420px, 78vw);
	height: auto;
	/* Embossed / superimposed on the dark hero */
	filter:
		drop-shadow(0 -1px 0 rgba(255, 255, 255, 0.45))
		drop-shadow(0 1px 0 rgba(0, 0, 0, 0.55))
		drop-shadow(1px 2px 0 rgba(0, 0, 0, 0.35))
		drop-shadow(0 6px 14px rgba(0, 0, 0, 0.65))
		drop-shadow(0 0 28px rgba(26, 155, 142, 0.25));
}

.home-caption {
	font-size: 18px;
	letter-spacing: 0.14em;
}

.home-signin {
	position: absolute;
	top: 28px;
	right: 28px;
	z-index: 5;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(255, 255, 255, 0.35);
	padding: 8px 16px;
	text-decoration: none;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.home-signin:hover,
.home-signin:focus {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.08);
	text-decoration: none;
}

@media (max-width: 991px) {
	.home-signin {
		top: 16px;
		right: 16px;
		padding: 6px 12px;
		font-size: 11px;
	}
}

.nav-brand {
	display: block;
	position: relative;
	z-index: 2;
	margin: -36px 8px 10px auto;
	max-width: 220px;
	height: auto;
}

#main-nav .my-avatar {
	position: relative;
	z-index: 1;
	width: 168px;
	height: 168px;
	margin: 0 -8px -8px auto;
	overflow: hidden;
	border-radius: 50%;
	background: #000;
}

#main-nav .my-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 40%;
}

.portfolio-item .item-photo img {
	width: 100%;
	height: auto;
	display: block;
	background: #f4f4f4;
}

.portfolio-item .item-photo,
.portfolio-item .item-title {
	-webkit-transition: all 0.15s ease-out 0s !important;
	-moz-transition: all 0.15s ease-out 0s !important;
	-o-transition: all 0.15s ease-out 0s !important;
	transition: all 0.15s ease-out 0s !important;
}

/* Labels must read on light app screenshots */
.portfolio-list.portfolio-dark .portfolio-item .item-title {
	color: #fff;
	border-color: transparent;
	background: rgba(17, 17, 17, 0.88);
	padding: 10px 20px;
}

.portfolio-list.portfolio-dark .portfolio-item:hover .item-title:hover {
	background: var(--dentita-teal);
	color: #fff;
	border-color: transparent;
}

.contact-content.contact-solo {
	width: 100% !important;
	max-width: 720px;
	float: none;
	margin: 0 auto;
}

.contact-cta .lead {
	margin-bottom: 18px;
}

.contact-email-heading {
	display: inline-block;
	margin: 4px 0 0;
	font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 28px;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.25;
	color: #111;
	text-decoration: none;
	word-break: break-word;
	transition: color 0.2s ease;
}

.contact-email-heading:hover,
.contact-email-heading:focus {
	color: var(--dentita-teal);
	text-decoration: none;
}

@media (max-width: 767px) {
	.contact-email-heading {
		font-size: 22px;
	}
}

.dentita-social .social-icon-image {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	margin: 0 8px 8px 0;
	background: transparent;
	border: 1px solid #e5e5e5;
	border-radius: 50%;
	overflow: hidden;
	vertical-align: middle;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.dentita-social .social-icon-image:hover,
.dentita-social .social-icon-image:focus {
	border-color: var(--dentita-teal);
	background: rgba(26, 155, 142, 0.08);
	text-decoration: none;
}

.dentita-social .social-icon-image img {
	display: block;
	width: 22px;
	height: 22px;
	object-fit: contain;
}

#contact-form .form-alert {
	margin-bottom: 14px;
}

#contact-form .form-alert .alert {
	margin-bottom: 0;
}

#mobile-info .mobile-info-hint {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 70%;
	margin: 0;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	font-family: 'Raleway', sans-serif;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.45;
	color: #111;
	text-align: center;
	pointer-events: none;
	-webkit-animation: none;
	animation: none;
}

#mobile-info .mobile-info-hint small {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(17, 17, 17, 0.55);
}

/* 2-col on phones; 3-col for “Also fluent in” from sm up */
@media (max-width: 767px) {
	.resume-box .icon-grid .icon-box {
		margin-bottom: 16px;
	}

	.resume-box .icon-grid .icon-box .icon {
		margin-bottom: 8px;
	}

	.resume-box .icon-grid h6 {
		font-size: 12px;
		line-height: 1.3;
		padding: 0 4px;
	}
}

@media (max-width: 991px) {
	.home-brand {
		max-width: min(280px, 70vw);
	}
}
