/* ==============================================================================
   DESIGN SYSTEM SPECIFICATION & TOKENS (STRICT SPECIFICATION)
   ==============================================================================
   1. Brand Colors:
      - Primary Background: #f5f4f0 (Warm cream / beige minimal aesthetic)
      - Secondary Background: #ffffff (Pure white cards and containers)
      - Dark Slide (Projects): #0c0d0e / #232526 (Sole dark showcase slide)
      - Gold Accent: #b99e64 (Signature geometric circle, slide numbers, titles)
      - Terracotta Accent: #c06451 (Secondary geometric circle)
      - Teal Action Accent: #5ca595 (Action buttons, pills, plus icons)
      - Text Primary: #000000 / #111111 (Headings and high contrast titles)
      - Text Secondary: #414445 / #535355 (Body paragraphs and descriptions)
   2. Typography:
      
   3. Aesthetic Rules:
      - Clean, editorial minimalism.
      - NO neon glowing borders.
      - NO artificial glassmorphism or blur overlays.
      - Full-page precision scrolling managed by PagePiling.js.
   ============================================================================== */

/* ------------------------------------------------------------------------------

  Application: Mairoky — Full-Stack Developer & Architect Portfolio
  Description: Custom Full-Stack Personal Portfolio & CMS Application
  Author: Aminul Islam Rocky (Mairoky)
  Repository: https://github.com/mairoky/mairoky-full-stack-portfolio

  Table of Contents:
  1.  Global & Core Setup
      1.1 General & Resets
      1.2 Typography & Fonts
      1.3 Buttons & Actions
      1.4 Forms & Inputs
      1.5 Animations & Transitions

  2.  Preloader & Brand Frame
  3.  Navigation & Header Overlay
  4.  Fullpage Slide Sections
      4.1 Slide 1: Intro (Hero Presentation - #Intro)
      4.2 Slide 2: Services (Engineering Capabilities - #Services)
      4.3 Slide 3: Skills (Technical Architecture Matrix - #Skills)
      4.4 Slide 4: Projects (Featured Works Carousel - #Projects)
      4.5 Slide 5: Works (Interactive Showcase & Grid - #Works)
      4.6 Slide 6: Experience & Milestones (Dual-Tab Career Timeline - #Milestones)
      4.7 Slide 7: Testimonials (Client Reviews & Endorsements - #Testimonials)
      4.8 Slide 8: Blog (Technical Articles & Monetization - #Blog)
      4.9 Slide 9: Contact & Inquiries (AJAX Anti-Spam Form - #Contact)

  5.  Modals & Project Quick-View
  6.  Responsive Media Queries (Desktop, Laptop, Tablet, Mobile)
------------------------------------------------------------------------------ */



/*-------------------------------------------------------------------------------
  1. Global
-------------------------------------------------------------------------------*/


/* 1.1 General */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');

html {
	font-size: 12px;
}

body {
	font-family: 'Noto Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	color: #000000;
	-webkit-font-smoothing: antialiased;
}

a {
	font-family: 'Noto Sans', sans-serif;
	color: #5ca595;
	text-decoration: none;
	transition: color .25s ease, opacity .25s ease, transform .25s ease;
}

a:hover {
	color: #3b7b6e;
	text-decoration: none;
}

a.text-primary:focus,
a.text-primary:hover {
	color: #5ca595 !important;
}

::selection {
	background-color: #b99e64;
	color: #ffffff;
	text-shadow: none;
}

-webkit-::selection {
	background-color: #b99e64;
	color: #ffffff;
	text-shadow: none;
}

::-moz-selection {
	background-color: #b99e64;
	color: #ffffff;
	text-shadow: none;
}

::-webkit-scrollbar {
	width: 5px;
	height: 5px;
}

::-webkit-scrollbar-thumb {
	cursor: pointer;
	background: #b99e64;
}

@media (min-width: 1200px) {

	.container,
	.container-sm,
	.container-md,
	.container-lg,
	.container-xl {
		max-width: 1200px;
	}
}

@media (min-width: 1600px) {
	.container-fluid {
		padding-left: 4.25rem;
		padding-right: 4.25rem;
	}
}

.full-height {
	min-height: 100vh;
}



/* 1.2 Typography */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Noto Sans', sans-serif;
	color: #111111;
	margin-top: 0;
}

h1 {
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.025em;
}

h2 {
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

h3 {
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.015em;
}

h4 {
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.01em;
}

h5,
h6 {
	font-weight: 600;
	line-height: 1.4;
}

p,
.slide-descr,
.service-item-descr,
.skill-item-descr,
.work-item-descr,
.experience-item-descr,
.blog-item-descr {
	font-family: 'Noto Sans', sans-serif !important;
	font-size: 1.05rem !important;
	line-height: 1.7 !important;
	font-weight: 400 !important;
	color: #555555 !important;
	margin-bottom: 1.25rem;
}

.slide-dark p,
.slide-dark .slide-descr,
.slide-dark .slide-descr-projects,
.slide-dark .work-item-descr {
	color: #cccccc !important;
}

button,
.btn {
	font-family: 'Noto Sans', sans-serif;
}

i,
.lni {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
}

.font-custom {
	font-family: 'Noto Sans', sans-serif;
	font-weight: 800;
	letter-spacing: -0.02em;
}

.text-primary {
	color: #b99e64 !important;
}

.text-success,
a.text-success:hover {
	color: #5ca595 !important;
}

.text-underline {
	text-decoration: underline;
}

.text-md {
	font-size: 1.05rem;
}

.text-white a {
	color: #ffffff;
}



/* 1.3 Standardized 3-Button Design System */

button:focus,
input:focus {
	outline: none;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0.75rem 1.85rem;
	border-radius: 50px;
	font-family: 'Noto Sans', sans-serif;
	font-weight: 700;
	font-size: 0.95rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: none;
	cursor: pointer;
	line-height: 1.2;
	border: 1.5px solid transparent;
	transition: all .25s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn:hover {
	text-decoration: none;
	transform: translateY(-2px);
}

/* Button Type 1: Primary Gold Action */
.btn-gold,
.btn-warning,
.btn-editorial-gold {
	background-color: #b99e64 !important;
	border-color: #b99e64 !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgba(185, 158, 100, 0.25);
}

.btn-gold:hover,
.btn-warning:hover,
.btn-warning:focus,
.btn-editorial-gold:hover {
	background-color: #a68a52 !important;
	border-color: #a68a52 !important;
	color: #ffffff !important;
	box-shadow: 0 6px 20px rgba(185, 158, 100, 0.4);
}

/* Button Type 2: Accent Teal Action */
.btn-teal,
.btn-success {
	background-color: #5ca595 !important;
	border-color: #5ca595 !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgba(92, 165, 149, 0.25);
}

.btn-teal:hover,
.btn-success:hover,
.btn-success:focus {
	background-color: #488b7d !important;
	border-color: #488b7d !important;
	color: #ffffff !important;
	box-shadow: 0 6px 20px rgba(92, 165, 149, 0.4);
}

/* Button Type 3: Outline Action */
.btn-outline-light {
	background-color: transparent !important;
	border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
	color: #ffffff !important;
}

.btn-outline-light:hover,
.btn-outline-light:focus {
	background-color: #ffffff !important;
	border-color: #ffffff !important;
	color: #121416 !important;
	box-shadow: 0 6px 20px rgba(255, 255, 255, 0.2);
}

.btn-outline-gold,
.btn-editorial-outline {
	background-color: transparent !important;
	border: 1.5px solid #b99e64 !important;
	color: #b99e64 !important;
}

.btn-outline-gold:hover,
.btn-editorial-outline:hover {
	background-color: #b99e64 !important;
	border-color: #b99e64 !important;
	color: #ffffff !important;
	box-shadow: 0 6px 20px rgba(185, 158, 100, 0.3);
}

/* Button Modifiers */
.btn-sm {
	padding: 0.45rem 1.25rem !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.03em;
	border-radius: 50px !important;
}

.btn-circle {
	width: 2.75rem !important;
	height: 2.75rem !important;
	min-width: 2.75rem !important;
	padding: 0 !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.btn-circle.btn-sm {
	width: 2.25rem !important;
	height: 2.25rem !important;
	min-width: 2.25rem !important;
	padding: 0 !important;
}



/* 1.4 Forms */

.control-btn {
	margin-top: 2rem;
}

select.form-control {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3e%3cpath fill='%23000000' d='M32,48.1c-1.3,0-2.4-0.5-3.5-1.3L0.8,20.7c-1.1-1.1-1.1-2.7,0-3.7c1.1-1.1,2.7-1.1,3.7,0L32,42.8l27.5-26.1 c1.1-1.1,2.7-1.1,3.7,0c1.1,1.1,1.1,2.7,0,3.7L35.5,46.5C34.4,47.9,33.3,48.1,32,48.1z'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-size: 1rem 1rem;
	background-position: 100% 50%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.form-group-material {
	margin-bottom: .625rem;
	padding-top: 1rem;
	position: relative;
}

.form-group-material .label {
	position: absolute;
	left: 0;
	font-size: 1.125rem;
	color: #999999;
	pointer-events: none;
	transform-origin: left top;
	transition: all .3s ease-in-out;
}

.form-group-material .label,
.form-group-material.a-form-group.active .label {
	transform: scale(.77777778);
	top: 0;
}

.form-group-material.a-form-group .label {
	transform: scale(1);
	top: 1.5625rem;
}

.form-group-material .form-control {
	border-radius: 0;
	border: none;
	border-bottom: #999999 1px solid;
	background-color: transparent;
	padding: .5rem 0;
	font-size: 1.125rem;
	color: #000000;
}

.form-group-material .form-control:not(textarea) {
	height: calc(1.5em + 1rem + 1px);
}

.form-group-material .form-control:focus {
	outline: none;
	box-shadow: none;
	border-bottom-color: #000000;
}

label.error {
	margin-top: .5rem;
	margin-bottom: 0;
	color: #b99e64;
}

.form-control.error,
.form-control.error:focus {
	border-color: #b99e64;
	color: #b99e64;
}

.control-file {
	margin-top: 1.625rem;
	margin-bottom: 2.5rem;
	position: relative;
}

.control-file i {
	position: absolute;
	left: -.25rem;
	top: .5625rem;
	font-size: 1.625rem;
}

.control-file .file-path-wrapper {
	overflow: hidden;
}

.control-file input.file-path {
	padding: 0 0 0 2.125rem;
	border: none;
	border-radius: 0;
	background: transparent;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 1.125rem;
}

.control-file input.file-path::-moz-placeholder {
	color: #b99e64;
	text-decoration: underline;
	opacity: 1;
	transition: color .3s ease;
}

.control-file:hover input.file-path::-moz-placeholder {
	color: #5ca595;
}

.control-file input.file-path:-ms-input-placeholder {
	color: #b99e64;
	text-decoration: underline;
	transition: color .3s ease;
}

.control-file:hover input.file-path:-ms-input-placeholder {
	color: #5ca595;
}

.control-file input.file-path::-webkit-input-placeholder {
	color: #b99e64;
	text-decoration: underline;
	transition: color .3s ease;
}

.control-file:hover input.file-path::-webkit-input-placeholder {
	color: #5ca595;
}

.control-file input[type=file] {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 10;
	width: 100%;
	margin: 0;
	padding: 0;
	font-size: 1.125rem;
	cursor: pointer;
	opacity: 0;
	filter: alpha(opacity=0)
}

.control-file input[type=file]::-webkit-file-upload-button {
	display: none;
}



/* 1.5 Animation */

@-webkit-keyframes fadeZooming {
	from {
		opacity: 0;
		-webkit-transform: scale3d(.6, .6, .6);
		transform: scale3d(.6, .6, .6);
		margin-left: -12rem;
	}

	100% {
		opacity: 1;
		margin-left: 0;
	}
}

@keyframes fadeZooming {
	from {
		opacity: 0;
		-webkit-transform: scale3d(.6, .6, .6);
		transform: scale3d(.6, .6, .6);
		margin-left: -12rem;
	}

	100% {
		opacity: 1;
		margin-left: 0;
	}
}

.fadeZooming {
	-webkit-animation-name: fadeZooming;
	animation-name: fadeZooming;
}

@-webkit-keyframes fadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -6.5rem, 0);
		transform: translate3d(0, -6.5rem, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, -6.5rem, 0);
		transform: translate3d(0, -6.5rem, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.fadeInDown {
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
}

@-webkit-keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 10rem, 0);
		transform: translate3d(0, 10rem, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 10rem, 0);
		transform: translate3d(0, 10rem, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}

@-webkit-keyframes fadeInLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-10rem, 0, 0);
		transform: translate3d(-10rem, 0, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-10rem, 0, 0);
		transform: translate3d(-10rem, 0, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.fadeInLeft {
	-webkit-animation-name: fadeInLeft;
	animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInRight {
	from {
		opacity: 0;
		-webkit-transform: translate3d(10rem, 0, 0);
		transform: translate3d(10rem, 0, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInRight {
	from {
		opacity: 0;
		-webkit-transform: translate3d(10rem, 0, 0);
		transform: translate3d(10rem, 0, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.fadeInRight {
	-webkit-animation-name: fadeInRight;
	animation-name: fadeInRight;
}



/*-------------------------------------------------------------------------------
  2. Preloader
/* ------------------------------------------------------------------------------- */

.preloader {
	position: fixed;
	overflow: hidden;
	z-index: 999999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #f5f4f0;
	text-align: center;
}

.three-bounce {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.three-bounce>div {
	display: inline-block;
	width: 18px;
	height: 18px;
	border-radius: 100%;
	background-color: #c06451;
	-webkit-animation: bouncedelay 1.4s infinite ease-in-out both;
	animation: bouncedelay 1.4s infinite ease-in-out both;
}

.three-bounce .one {
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}

.three-bounce .two {
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}

@-webkit-keyframes bouncedelay {

	0%,
	80%,
	100% {
		-webkit-transform: scale(0);
	}

	40% {
		-webkit-transform: scale(1)
	}
}

@keyframes bouncedelay {

	0%,
	80%,
	100% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}

	40% {
		transform: scale(1);
		-webkit-transform: scale(1);
	}
}



/*-------------------------------------------------------------------------------
  3. Header
-------------------------------------------------------------------------------*/

.header {
	padding-top: 1.15rem;
	padding-bottom: 1.15rem;
	margin-top: 0;
}

.header .container-fluid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #000000;
	transition: color .3s ease-in-out;
}

@media (min-width: 768px) {
	.header {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}

.header-fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 900;
}

.header-bg {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 0;
	z-index: -1;
	background-color: #ffffff;
	box-shadow: 0 0 0px rgba(0, 0, 0, 0.1);
	transition: .3s ease-in-out;
}

.header-shadow .header-bg {
	height: 100%;
	box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}

.brand {
	white-space: nowrap;
	font-size: 1.5rem;
	text-transform: uppercase;
}

.brand a {
	color: inherit;
	text-decoration: none;
}

.header-content {
	flex: 1;
	margin-left: 6%;
	margin-right: 6%;
	padding-top: 3px;
}

.header-tagline {
	padding-top: 2px;
	font-size: .875rem;
	line-height: 1.28571429;
	color: #999999;
	font-weight: bold;
	text-transform: uppercase;
	transition: color .3s ease-in-out;
}

.header-contacts {
	font-weight: bold;
	text-transform: uppercase;
	font-size: .875rem;
}

.header-contact-item,
.header-contact-divider {
	display: inline-block;
	vertical-align: middle;
}

.header-contact-divider {
	margin-left: 1.5rem;
	margin-right: 1.5rem;
	opacity: .2;
}

.phone-link,
.phone-link:hover,
.mail-link,
.mail-link:hover {
	color: inherit;
	text-decoration: none;
}

.phone-link {
	cursor: default;
}

.nav-toggle-btn {
	background: none;
	border: none;
	padding: .5rem 0;
	margin: 0;
	border-radius: 0;
	outline: none;
	position: relative;
	z-index: 995;
	font-weight: bold;
	text-transform: uppercase;
	color: inherit;
	cursor: pointer;
	margin-left: auto;
}

.nav-toggle-btn:hover {
	color: #b11d11;
}

.nav-toggle-btn:focus {
	outline: none;
}

.nav-toggle {
	display: block;
	width: 32px;
}

.nav-toggle .stick {
	display: block;
	width: 100%;
	border-radius: 3px;
	height: 3px;
	background: #000000;
	transition: all .3s;
	position: relative;
}

.nav-toggle .stick+.stick {
	margin-top: 9px;
}

.body-menu-opened .nav-toggle .stick-1 {
	animation: ease .5s top forwards;
}

.nav-toggle .stick-1 {
	animation: ease .5s top-2 forwards;
}

.body-menu-opened .nav-toggle .stick-2 {
	animation: ease .5s bottom forwards;
}

.nav-toggle .stick-2 {
	animation: ease .5s bottom-2 forwards;
}

@keyframes top {
	0% {
		top: 0;
		transform: rotate(0);
	}

	50% {
		top: 6px;
		transform: rotate(0);
	}

	100% {
		top: 6px;
		transform: rotate(45deg);
	}
}

@keyframes top-2 {
	0% {
		top: 6px;
		transform: rotate(45deg);
	}

	50% {
		top: 6px;
		transform: rotate(0deg);
	}

	100% {
		top: 0;
		transform: rotate(0deg);
	}
}

@keyframes bottom {
	0% {
		bottom: 0;
		transform: rotate(0);
	}

	50% {
		bottom: 6px;
		transform: rotate(0);
	}

	100% {
		bottom: 6px;
		transform: rotate(135deg);
	}
}

@keyframes bottom-2 {
	0% {
		bottom: 6px;
		transform: rotate(135deg);
	}

	50% {
		bottom: 6px;
		transform: rotate(0);
	}

	100% {
		bottom: 0;
		transform: rotate(0);
	}
}



.menu {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 990;
	background: #ffffff;
	max-width: 100%;
	width: 100%;
	padding: 3.5rem 2rem 2.5rem;
	display: flex;
	flex-direction: column;
	transition: transform .4s ease-in-out, visibility .4s ease-in-out;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
	visibility: hidden;
	pointer-events: none;
}

@media (min-width: 576px) {
	.menu {
		padding: 4.25rem 4.375rem 4.1875rem;
		width: 27.5rem;
	}
}

.body-menu-opened .menu {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	visibility: visible;
	pointer-events: auto;
}

.hide-menu {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	bottom: 100%;
	background: rgba(0, 0, 0, .65);
	z-index: 980;
}

.body-menu-opened .hide-menu {
	bottom: 0;
}

@media (min-width: 576px) {
	.menu {
		width: 27.5rem;
	}

	.modal-dialog {
		max-width: 450px;
	}
}

.menu .menu-lang,
.menu .menu-main,
.menu .social,
.menu .menu-footer {
	opacity: 0;
	transform: translateY(3rem);
	transition: all .5s ease-in-out;
}

.menu .menu-lang {
	transition-delay: .2s;
}

.menu .menu-main {
	transition-delay: .4s;
}

.menu .social {
	transition-delay: .6s;
}

.menu .menu-footer {
	transition-delay: .8s;
}

.body-menu-opened .menu .menu-lang,
.body-menu-opened .menu .menu-main,
.body-menu-opened .menu .social,
.body-menu-opened .menu .menu-footer {
	opacity: 1;
	transform: translateY(0);
}

.menu .menu-lang {
	padding-bottom: 5.875rem;
	padding-bottom: 8.70370370vmin;
}

.menu-lang {
	font-size: .875rem;
	text-transform: uppercase;
	font-weight: 600;
}

.menu-lang-item {
	display: inline-block;
	margin-right: 1.5rem;
	color: #a3a4a8;
	text-decoration: none;
}

.menu-lang-item.active,
.menu-lang-item:hover {
	color: #1f2044;
	text-decoration: none;
}

.menu-main {
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	font-size: 1.375rem;
	font-weight: bold;
}

.menu-main>ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.menu-main>ul>li {
	margin-bottom: 1.1875rem;
	padding-left: 2px;
}

.menu-main a,
.menu-main a:hover {
	color: #1f2044;
	text-decoration: none;
}

.menu-main .active>a,
.menu-main a:hover {
	color: #b99e64;
}

.menu-main a:after {
	content: ".";
	opacity: 0;
	display: inline-block;
	transform: translate(2rem, 0);
	transition: all .3s ease-in-out;
}

.menu-main .active a:after {
	transform: translate(0, 0);
	opacity: 1;
}

.menu-footer {
	padding-top: 3rem;
}

.menu-copyright {
	margin-top: 2rem;
	text-transform: uppercase;
	font-size: .875rem;
	font-weight: bold;
	color: #999999;
}

.menu-admin a {
	color: #b99e64 !important;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 6px;
}

.ad-banner-header {
	background: rgba(18, 20, 22, 0.8);
	border: 1px dashed rgba(185, 158, 100, 0.3);
	border-radius: 8px;
	padding: 10px;
	text-align: center;
	margin-top: 10px;
}



/*-------------------------------------------------------------------------------
  4. Home Personal
-------------------------------------------------------------------------------*/

.content a {
	transition: color .3s ease;
}

@media (max-width: 575px) {
	.homepage-personal .container {
		padding-left: 43px;
		padding-right: 43px;
	}

	.homepage-personal .slide-personal-projects .container {
		padding-right: 53px;
	}
}

#pp-nav.right {
	right: 0;
}

#pp-nav li {
	width: auto;
	height: auto;
	margin: .5rem;
}

#pp-nav li a {
	display: block;
	padding: .375rem;
}

#pp-nav span {
	display: block;
	position: static;
	width: .625rem;
	height: .625rem;
	border: none;
	background-color: #e3e3e3;
	transition: background-color .3s ease-in-out;
}

#pp-nav a:hover span {
	background-color: #aaaaaa;
}

#pp-nav li .active span {
	background-color: #b99e64;
}

@media (min-width: 1600px) {
	#pp-nav.right {
		right: 3.5rem;
	}
}

.pp-scrollable {
	background-color: #ffffff;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.slide-dark {
	background-color: #f5f4f0;
}

.slide-num {
	margin-bottom: 1rem;
	position: relative;
	z-index: 200;
	font-family: 'Noto Sans', sans-serif;
	font-weight: 700;
	letter-spacing: 0.05em;
	font-size: 1.125rem;
	color: #999999;
	transition: color .3s ease-in-out;
}

@media (min-width: 1400px) {
	.slide-num {
		position: fixed;
		left: 15px;
		top: 29.62962963vmin;
		z-index: 100;
		margin-bottom: 0;
	}
}

@media (min-width: 1600px) {
	.slide-num {
		left: 4.25rem;
	}
}

.slide-container {
	width: 100%;
	min-height: 100%;
	display: flex;
	align-items: center;
	padding-top: 7.75rem;
	padding-bottom: 3.25rem;
	position: relative;
}

.slide-container>.container {
	position: relative;
	z-index: 200;
}

.slide-title {
	margin-bottom: 2rem;
	font-size: 6vmin;
	font-family: 'Noto Sans', sans-serif;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.1;
	color: #b99e64;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	.slide-title {
		font-size: 7.40740741vmin;
	}
}

.slide-title-lg {
	margin-left: -.25rem;
	font-size: 6.875rem;
}

.slide-title-sub {
	margin-bottom: 2.75rem;
	font-size: 1.375rem;
	font-family: 'Noto Sans', sans-serif;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1.45454545;
	color: #111111;
	text-transform: uppercase;
}

.text-white .slide-title-sub {
	color: #ffffff;
}

.slide-title-sub-sm {
	font-size: 1.125rem;
	line-height: 1.55555556;
}

.slide-title-sub-md {
	font-size: 1.25rem;
}

.slide-title-info {
	font-size: 1.875rem;
	font-weight: bold;
	line-height: 1.35;
	letter-spacing: -.035em;
}

.slide-descr {
	color: #555555;
	font-size: 1.05rem;
	line-height: 1.7;
}

.text-white .slide-descr {
	color: #414445;
}

.slide-descr-intro {
	margin-right: 18%;
}

.slide-btn {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 2rem;
}

.section:not(.active) .animate-element {
	animation-name: none;
}

.section.active .animate-element {
	animation-duration: .7s;
	animation-fill-mode: both;
}

.section.active .delay1 {
	animation-delay: .1s;
}

.section.active .delay2 {
	animation-delay: .2s;
}

.section.active .delay3 {
	animation-delay: .3s;
}

.section.active .delay4 {
	animation-delay: .4s;
}

.section.active .delay5 {
	animation-delay: .5s;
}

.section.active .delay6 {
	animation-delay: .6s;
}

.section.active .delay7 {
	animation-delay: .7s;
}

.section.active .delay8 {
	animation-delay: .8s;
}

.section.active .delay9 {
	animation-delay: .9s;
}

.section.active .delay10 {
	animation-delay: 1s;
}

[class^="circle-"],
[class*=" circle-"] {
	border-radius: 70.625rem;
	transition: all .7s ease-in-out;
}

.circle-golden {
	background-color: #b99e64;
}

.circle-brown {
	background-color: #c06451;
}

.circle-light {
	background-color: #f5f4f0;
}

.circle-green {
	background-color: #5ca595;
}

.transformLeft {
	transform: translate(-100%, 0);
	opacity: 0;
}

.transformRight {
	transform: translate(100%, 0);
	opacity: 0;
}

.active .transformLeft,
.active .transformRight {
	transform: translate(0%, 0);
	opacity: 1;
}



/* 4.1 Slide Intro */

.slide-personal-intro {
	background-color: #f5f4f0;
	background-image: url("../img/bg-personal-intro.png");
	background-size: cover;
}

.slide-bg {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 10;
	overflow: hidden;
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
}

.slide-photo {
	position: absolute !important;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

.slide-intro-man {
	background-image: url("../img/bg-personal-intro-man.png");
	background-position: 70% 100%;
	background-size: contain;
	background-repeat: no-repeat;
}

.slide-intro-man2 {
	width: 36.82291667%;
	height: 91.01851852%;
	background-image: url("../img/bg-personal-intro-man2.png");
	background-size: contain;
	background-position: 0 100%;
	bottom: 0;
	right: 13.02083333%;
}

.slide-intro-circle1 {
	width: 10.0625rem;
	height: 10.0625rem;
	left: -4.5rem !important;
	top: 45.46296296% !important;
	bottom: auto;
	right: auto;
}

.slide-intro-circle2 {
	width: 70.625rem;
	height: 70.625rem;
	left: 58.85416667% !important;
	top: 46.66666667% !important;
	bottom: auto;
	right: auto;
}



/* 4.2 Slide Services */

.slide-services-circle1 {
	width: 8.3125rem;
	height: 8.3125rem;
	right: -3.9375rem !important;
	top: 18.51851852% !important;
	bottom: auto;
	left: auto !important;
}

.slide-services-circle2 {
	width: 55rem;
	height: 55rem;
	left: -8.4375% !important;
	top: 49.44444444% !important;
	bottom: auto;
	right: auto;
}

.slide-title-personal-services {
	margin-bottom: 5.55555556vmin;
	line-height: .93636364;
}

.slide-personal-services .slide-title-info {
	margin-top: 1.25rem;
	margin-bottom: 8.33333333vmin;
}

.service-list {
	margin-bottom: -1.75rem;
}

.service-item {
	margin-bottom: 3.75rem;
}

.service-item-title {
	margin-bottom: .5625rem;
}

.service-item-more {
	margin-top: 1.6875rem;
}

.slide-descr-personal-services {
	margin-right: 10%;
	margin-top: 2.375rem;
	margin-bottom: 2rem;
}

@media (min-width: 768px) {
	.slide-descr-personal-services {
		margin-top: 22.375rem;
		margin-bottom: 0;
	}
}

@media (min-width: 992px) {
	.slide-descr-personal-services {
		margin-right: 35%;
		margin-top: 14.375rem;
	}
}



/* 4.3 Slide Projects */

.carousel-project-personal {
	min-height: 100%;
	display: flex !important;
}

.carousel-project-personal .owl-stage-outer {
	display: flex;
	overflow: visible;
}

.carousel-project-personal.owl-carousel .owl-stage {
	display: flex;
	flex-wrap: nowrap;
}

.carousel-project-personal.owl-carousel .owl-item {
	height: 100%;
	float: none;
	min-height: 100%;
}

.carousel-project-personal .carousel-project-item {
	height: 100%;
}

.owl-theme .owl-nav {
	margin-top: 0;
}

.owl-carousel .owl-nav button.owl-next,
.owl-carousel .owl-nav button.owl-prev,
.carousel-nav button {
	border: none;
	background-color: transparent;
	padding: 0;
	margin: 0;
	font-size: 2.375rem;
	transition: all .3s ease-in-out;
	color: #999999;
}

.owl-theme .owl-nav [class*=owl-].disabled:hover,
.carousel-nav button.disabled:hover {
	color: #999999;
}

.owl-theme .owl-nav [class*=owl-]:not(.disabled):hover,
.carousel-nav button:not(.disabled):hover {
	color: #555555;
}

.owl-carousel .owl-nav button.owl-next:hover,
.owl-carousel .owl-nav button.owl-prev:hover {
	background-color: transparent;
}

.carousel-project-personal.owl-carousel .owl-nav button {
	position: absolute;
	top: 50%;
	z-index: 100;
	transform: translate(0, -50%);
	width: 4.375rem;
	color: rgba(255, 255, 255, .6);
}

.carousel-project-personal.owl-carousel .owl-nav button.owl-prev {
	left: -.5rem;
}

.carousel-project-personal.owl-carousel .owl-nav button.owl-next {
	right: 1rem;
}

.carousel-project-personal.owl-carousel .owl-nav button:not(.disabled):hover {
	color: rgba(255, 255, 255, .9);
}

@media (min-width: 1500px) {

	.carousel-project-personal.owl-carousel .owl-nav button,
	.carousel-project-personal.owl-carousel .owl-nav button.owl-prev {
		left: 50%;
		right: auto;
		transform: translate(-50%, -50%);
	}

	.carousel-project-personal.owl-carousel .owl-nav button.owl-prev {
		margin-left: -46rem;
	}

	.carousel-project-personal.owl-carousel .owl-nav button.owl-next {
		margin-left: 46rem;
	}
}

.carousel-project-item {
	background-position: 50% 50%;
	background-size: cover;
	background-repeat: no-repeat;
}

.carousel-project-personal .slide-title {
	margin-bottom: 2.625rem;
}

.project-date {
	margin-top: .375rem;
	font-size: .875rem;
	font-weight: bold;
	text-transform: uppercase;
}

.slide-descr-projects {
	min-height: 8.33333333em;
	margin-bottom: 1.875rem;
}

.slide-btn-projects {
	margin-top: 0;
}

.slide-btn-projects .btn {
	margin-right: 0;
}

.slide-projects-more {
	display: inline-block;
	font-size: 1.125rem;
	font-weight: bold;
	text-transform: uppercase;
	text-decoration: underline;
}

.slide-projects-more:hover {
	text-decoration: none;
}



/* 4.4 Slide Works */

.slide-personal-awards .slide-bg {
	background-image: url("../img/bg-personal-awards.png");
}

.slide-awards-circle1 {
	width: 8.125rem;
	height: 8.125rem;
	left: -4.0625rem !important;
	top: 50.92592593% !important;
	bottom: auto !important;
	right: auto !important;
}

.slide-awards-circle2 {
	width: 45.3125rem;
	height: 45.3125rem;
	right: -15.625% !important;
	top: 82.59259259% !important;
	bottom: auto !important;
	left: auto !important;
}

.work-item {
	background: #ffffff;
	border: 1px solid #e8e4de;
	border-radius: 12px;
	padding: 1.75rem;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.work-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.07);
	border-color: rgba(185, 158, 100, 0.5);
}

.work-list .work-item {
	margin-top: 4rem;
}

.work-item-logo {
	margin-bottom: .75rem;
	height: 10rem;
	display: flex;
	overflow: hidden;
	align-items: center;
}

.work-item-logo picture {
	display: contents;
}

.work-item-logo img {
	max-width: 100%;
	max-height: 100%;
}

.work-item-title {
	margin-bottom: 1rem;
}

.work-item-descr {
	margin-bottom: 2rem;
}

.work-item-more {
	font-size: 1.125rem;
}

@media (min-width: 992px) {
	.work-list .work-item {
		height: calc(100% - 4rem);
	}
}



/* 4.5 Slide Experiences */

.slide-experience-image1 {
	width: 15.5rem;
	height: 15.5rem;
	background-image: url("../img/bg-personal-experience-glasses.png");
	background-size: contain;
	position: absolute;
	top: 7.5% !important;
	right: 3.125% !important;
	bottom: auto !important;
	left: auto !important;
}

.slide-experience-image2 {
	width: 41.3125rem;
	height: 31.25rem;
	background-image: url("../img/bg-personal-experience-device.png");
	background-size: contain;
	position: absolute;
	top: 81.94444444% !important;
	right: 8.59375% !important;
	bottom: auto !important;
	left: auto !important;
}

.slide-experience-image3 {
	width: 42.875rem;
	height: 39.4375rem;
	background-image: url("../img/bg-personal-experience-briefcase.png");
	background-size: contain;
	position: absolute;
	top: 27% !important;
	right: 89% !important;
	bottom: auto !important;
	left: auto !important;
}

.experience-item:not(:first-child) {
	border-top: #e1ddd6 1px solid;
}

.experience-item {
	padding-top: 1.625rem;
}

.experience-item-company,
.experience-item-title,
.experience-item-descr {
	margin-bottom: 1.625rem;
}

.experience-item-title {
	margin-right: 1rem;
}

.experience-item-date {
	margin-top: .3125rem;
	font-size: 1.125rem;
	text-transform: uppercase;
	font-weight: bold;
}

.experience-item-descr {
	margin-top: 2px;
	min-height: 5em;
}

.company-blue {
	color: #1774eb;
}

.company-pink {
	color: #f73163;
}

.company-green {
	color: #1dd05d;
}

.carousel-experience {
	position: relative;
}

.carousel-nav {
	margin-right: -.625rem;
}

.carousel-nav .owl-next {
	margin-left: .5rem;
}

.slide-personal-experience .slide-btn {
	margin-top: 3.88888889vmin;
}

@media (min-width: 768px) {
	.carousel-nav .owl-next {
		margin-left: 2rem;
	}
}



/* 4.6 Slide Clients */

.slide-personal-clients .slide-bg {
	background-image: url("../img/bg-personal-clients.png");
}

.slide-personal-clients .slide-title-info {
	margin-bottom: 12.40740741vmin;
}

.title-mini {
	font-size: .875rem;
	text-transform: uppercase;
	color: #999999;
	font-weight: bold;
}

.slide-personal-clients .title-mini {
	margin-bottom: 3.375rem;
}

.icon-partners {
	display: inline-block;
	vertical-align: top;
	width: 3.75rem;
	height: 3.75rem;
	background-image: url("../img/icon-partners.png");
	background-position: 50% 50%;
	background-size: 100%;
	background-repeat: no-repeat;
}

.icon-project {
	display: inline-block;
	vertical-align: top;
	width: 3.75rem;
	height: 3.75rem;
	background-image: url("../img/icon-project.png");
	background-position: 50% 50%;
	background-size: 100%;
	background-repeat: no-repeat;
}

.icon-worldwide {
	display: inline-block;
	vertical-align: top;
	width: 3.75rem;
	height: 3.75rem;
	background-image: url("../img/icon-worldwide.png");
	background-position: 50% 50%;
	background-size: 100%;
	background-repeat: no-repeat;
}

.client-icon {
	width: 3.75rem;
	margin-right: 2.5rem;
}

.client-item {
	margin-bottom: 2.75rem;
}

.client-item-title {
	margin-bottom: .625rem;
	font-size: 2.125rem;
	font-family: 'Noto Sans', sans-serif;
	font-weight: 700;
	line-height: 1.1;
}

.clients-photo {
	height: 0;
	padding-bottom: 103.50877193%;
	margin-top: 2rem;
	margin-bottom: 2rem;
	position: relative;
}

.clients-photo-item {
	width: 4.375rem;
}

.clients-photo .clients-photo-item {
	position: absolute;
	width: 14.56140351%;
}

.clients-photo-item>.inside {
	display: block;
	height: 0;
	padding-bottom: 100%;
	background-color: #f5f4f0;
	border-radius: 50rem;
	overflow: hidden;
	position: relative;
}

.clients-photo-item img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: block;
	max-width: 100%;
	max-height: 100%;
}

.clients-photo .clients-photo-item1 {
	width: 19.29824561%;
	top: 43.05084746%;
	left: 6.31578947%;
}

.clients-photo .clients-photo-item2 {
	top: 0%;
	left: 57.54385965%;
}

.clients-photo .clients-photo-item3 {
	top: 48.81355932%;
	right: 0;
}

.clients-photo-item3 img {
	width: 60.24096386%;
	margin-top: 2px;
}

.clients-photo .clients-photo-item4 {
	top: 11.52542373%;
	left: 11.57894737%;
}

.clients-photo-item4 img {
	width: 34.93975904%;
}

.clients-photo .clients-photo-item5 {
	width: 31.92982456%;
	bottom: 0;
	right: 3.50877193%;
}

.clients-photo .clients-photo-item6 {
	width: 17.54385965%;
	bottom: 6.10169492%;
	left: 31.57894737%;
}

.clients-photo-item6 img {
	width: 31%;
}

.clients-photo .clients-photo-item7 {
	width: 49.12280702%;
	top: 23.05084746%;
	left: 31.92982456%;
}

.clients-photo .clients-photo-item8 {
	width: 12.28070175%;
	top: 73.55932203%;
	left: 6.31578947%;
}



/* 4.7 Slide Testimonials */

.slide-testimonials-circle1 {
	width: 10.5625rem;
	height: 10.5625rem;
	left: -14.89361702%;
	top: -11.70212766%;
}

.slide-testimonials-circle2 {
	width: 17.5rem;
	height: 17.5rem;
	left: 64.893617023%;
	top: 65.95744681%;
}

.slide-testimonials-circle3 {
	width: 6.875rem;
	height: 6.875rem;
	left: 27.55208333%;
	top: 100%;
	margin-top: -3.75rem;
}

.slide-personal-testimonials .slide-bg {
	background-image: url("../img/bg-personal-testimonials.png");
}

.testimonials-item-avatar-container {
	margin-bottom: 2.25rem;
}

.testimonial-item-avatar {
	display: inline-block;
	vertical-align: top;
	width: 4.5rem;
}

.avatar>.inside {
	display: block;
	height: 0;
	padding-bottom: 100%;
	border-radius: 50%;
	overflow: hidden;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.testimonials-item-text {
	margin-bottom: 3.125rem;
}

.testimonials-item-rating {
	margin-bottom: .875rem;
	color: #ffc705;
}

.testimonials-item-author {
	font-size: 1.125rem;
	font-weight: bold;
	text-transform: uppercase;
}

.carousel-testimonial.owl-theme .owl-nav {
	margin-top: 3.625rem;
	margin-left: -.5rem;
	text-align: left;
}

.carousel-testimonial.owl-carousel .owl-nav button.owl-prev {
	margin-right: 1.875rem;
}

.slide-personal-testimonials .video-link {
	margin-top: .5rem;
}

.video-link {
	position: relative;
}

.video-link>.inside {
	display: block;
	position: relative;
	z-index: 100;
	height: 0;
	padding-bottom: 100%;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 2rem 2rem 5rem 2rem;
}

.center-icon {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 100;
	transform: translate(-50%, -50%);
	color: #ffffff;
	font-size: 2.75rem;
}

.center-icon i {
	display: block;
	transform: scale(1);
	transition: all .3s ease-in-out;
}

a:hover .center-icon i {
	transform: scale(1.2);
}

.video-link-descr {
	margin-left: 2.5rem;
	margin-top: 1.375rem;
	position: relative;
	font-style: italic;
}

/* 4.8 Slide Blog */

.blog-item {
	background: #ffffff;
	border: 1px solid #e8e4de;
	border-radius: 12px;
	padding: 1.75rem;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.blog-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.07);
	border-color: rgba(185, 158, 100, 0.5);
}

.blog-list .blog-item {
	margin-top: 4rem;
}

.blog-item-date {
	margin-bottom: .625rem;
	font-size: .875rem;
	color: #999999;
	text-transform: uppercase;
	font-weight: bold;
}

.blog-item-logo {
	margin-bottom: .75rem;
	height: 12rem;
	display: flex;
	overflow: hidden;
	align-items: center;
}

.blog-item-logo picture {
	display: contents;
}

.blog-item-logo img {
	max-width: 100%;
	max-height: 100%;
}

.blog-item-title {
	margin-bottom: 1rem;
}

.blog-item-descr {
	margin-bottom: 1rem;
}

.blog-item-more {
	font-size: 1.125rem;
}

@media (min-width: 992px) {
	.blog-list .blog-item {
		height: calc(100% - 4rem);
	}
}


/* 4.9 Slide Contacts */

.slide-contacts-circle1 {
	width: 60.5625rem;
	height: 60.5625rem;
	top: 46.94444444%;
	left: -3.4375%;
}

.slide-contacts-circle2 {
	width: 8.125rem;
	height: 8.125rem;
	top: 15.55555556%;
	right: -2.96875%;
	left: auto;
}

.contact-personal-card {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.contact-personal-card-title {
	height: 100%;
}

.contact-personal-card .title-mini {
	margin-bottom: 2.875rem;
}

.contact-personal-card .slide-title-sub {
	margin-bottom: 1.6875rem;
}

.slide-personal-contacts .slide-title-info {
	margin-bottom: 2.625rem;
}

.contact-personal-form {
	margin-bottom: .25rem;
}



/*-------------------------------------------------------------------------------
  5. Footer
-------------------------------------------------------------------------------*/

.social {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 1.3125rem;
}

.social li {
	display: inline-block;
	vertical-align: middle;
	margin-right: 1rem;
}

.social a {
	color: #999999;
	transition: color .3s ease;
}

.social a:hover {
	color: #000000;
}

.social-fixed {
	position: fixed;
	z-index: 300;
	left: 15px;
	bottom: 0rem;
}

.social-fixed li {
	display: block;
	margin-right: 0;
	margin-bottom: 1.375rem;
}

.copyright {
	text-align: right;
	color: #999999;
	font-weight: bold;
	font-size: .875rem;
	text-transform: uppercase;
	transition: all .3s ease-in-out;
}

.copyright-fixed {
	position: fixed;
	right: 15px;
	bottom: 1.5rem;
	z-index: 300;
}

@media (min-width: 1600px) {
	.social-fixed {
		left: 4.25rem;
		bottom: 2rem;
	}

	.copyright-fixed {
		right: 4.25rem;
		bottom: 3.5rem;
	}
}


.body-bg-dark .header:not(.header-shadow) .container-fluid {
	color: #ffffff;
}

.body-bg-dark .header:not(.header-shadow) .header-tagline,
.body-bg-dark .copyright,
.body-bg-dark .slide-num,
.body-bg-dark .footer .social a,
.body-copyright-light .copyright {
	color: rgba(255, 255, 255, .6);
}

.body-bg-dark .social a:hover {
	color: #ffffff;
}

.body-bg-dark .header:not(.header-shadow) .nav-toggle .stick,
.body-bg-dark #pp-nav li a:not(.active) span {
	background: #ffffff;
}

.body-menu-opened .body-bg-dark .nav-toggle .stick {
	background: #000000;
}



/*-------------------------------------------------------------------------------
  6. Modal
-------------------------------------------------------------------------------*/

.modal-content {
	border: none;
	border-radius: 1rem 1rem 3rem 1rem;
}

.modal-header {
	padding-top: 2rem;
	padding-bottom: .5rem;
	border-bottom: none;
}

.modal-header,
.modal-body,
.modal-footer {
	padding-left: 2rem;
	padding-right: 2rem;
}

.modal-body {
	padding-bottom: 2rem;
}

.modal-title {
	font-family: 'Noto Sans', sans-serif;
	font-weight: 800;
	letter-spacing: -0.02em;
	font-size: 2rem;
	color: #b99e64;
	text-transform: uppercase;
}

.modal-header .close {
	padding: .5rem;
	position: relative;
	top: -.5rem;
	right: -.5rem;
	font-size: 1.5rem;
	line-height: .75;
}

.message {
	display: none;
}



@media (min-width: 768px) {
	html {
		font-size: 13px;
	}
}

@media (min-width: 992px) {
	html {
		font-size: 14px;
	}
}

@media (min-width: 1280px) {
	html {
		font-size: 15px;
	}
}

@media (min-width: 1600px) {
	html {
		font-size: 16px;
	}
}


/*-------------------------------------------------------------------------------
  7. Multi-Device Responsive System (Mobile, Tablet, Laptop, Desktop, 4K)
-------------------------------------------------------------------------------*/

/* PagePiling Fullpage Engine Scroll Safety */
.pp-scrollable {
	-webkit-overflow-scrolling: touch;
}

/* ==========================================================================
   A. MOBILE (< 768px)
   ========================================================================== */
@media (max-width: 767px) {
	html {
		font-size: 12px;
	}

	.header {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}

	.brand-name {
		font-size: 1.25rem;
	}

	.slide-container {
		padding-top: 4.8rem !important;
		padding-bottom: 2rem !important;
	}

	/* Typography */
	.slide-title {
		font-size: 1.85rem !important;
		margin-bottom: 0.85rem !important;
		line-height: 1.15;
	}

	.slide-title-lg {
		font-size: 3.25rem !important;
		margin-bottom: 0.75rem !important;
	}

	.slide-title-sub {
		font-size: 0.95rem !important;
		margin-bottom: 1.25rem !important;
		line-height: 1.4;
	}

	.slide-title-info {
		font-size: 1.25rem !important;
		line-height: 1.35;
		margin-bottom: 1.5rem !important;
	}

	.slide-descr {
		font-size: 1.05rem !important;
		line-height: 1.7 !important;
	}

	/* Section 2: Services */
	.slide-personal-services .slide-title-info {
		margin-top: 0.5rem;
		margin-bottom: 1.5rem;
	}

	.service-list {
		margin-bottom: 0;
	}

	.service-item {
		margin-bottom: 1.65rem;
	}

	.service-item-title {
		font-size: 1.05rem !important;
		margin-bottom: 0.35rem;
	}

	.service-item-more {
		margin-top: 0.75rem;
	}

	/* Section 3: Projects */
	.carousel-project-personal .slide-title {
		font-size: 1.85rem !important;
		margin-bottom: 1.25rem !important;
	}

	.slide-descr-projects {
		min-height: auto;
		margin-bottom: 1.25rem;
	}

	.slide-btn-projects .btn {
		margin-right: 0;
		margin-bottom: 0.5rem;
	}

	.carousel-project-personal.owl-carousel .owl-nav button {
		width: 2.75rem;
		font-size: 1.75rem;
	}

	/* Section 4: Works */
	.work-list .work-item {
		margin-top: 1.5rem;
		padding: 1.5rem 1.65rem;
	}

	.work-item-logo {
		height: 6.5rem;
		margin-bottom: 0.75rem;
	}

	.work-item-title {
		font-size: 1.05rem !important;
		margin-bottom: 0.65rem;
	}

	.work-item-descr {
		margin-bottom: 1.25rem;
	}

	/* Section 5: Experience */
	.experience-item {
		padding-top: 1.25rem;
	}

	.experience-item-company,
	.experience-item-title,
	.experience-item-descr {
		margin-bottom: 0.75rem;
	}

	.experience-item-descr {
		min-height: auto;
	}

	/* Section 6: Testimonials */
	.video-link>.inside {
		padding-bottom: 56.25% !important;
		border-radius: 1.25rem;
	}

	.video-link-descr {
		margin-left: 0.5rem;
		margin-top: 0.75rem;
	}

	.testimonials-item-avatar-container {
		margin-bottom: 1.25rem;
	}

	.testimonials-item-text {
		font-size: 1.15rem !important;
		margin-bottom: 1.25rem;
	}

	.carousel-testimonial.owl-theme .owl-nav {
		margin-top: 1.5rem;
	}

	/* Section 7: Blog */
	.blog-list .blog-item {
		margin-top: 1.5rem;
		padding: 1.5rem 1.65rem;
	}

	/* Section 8: Contact */
	.contact-form .btn {
		width: 100%;
	}

	/* Chrome & Navigation */
	.copyright-fixed {
		position: fixed !important;
		right: 15px !important;
		bottom: 12px !important;
		font-size: 0.75rem !important;
		z-index: 100;
	}

	.social-fixed {
		display: none !important;
	}

	#pp-nav {
		right: 5px !important;
	}

	#pp-nav span {
		width: 6px !important;
		height: 6px !important;
	}

	/* Modals */
	.modal-dialog {
		margin: 0.75rem;
		max-width: calc(100% - 1.5rem);
	}

	.modal-content {
		border-radius: 1rem;
	}

	.modal-header,
	.modal-body,
	.modal-footer {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.modal-title {
		font-size: 1.35rem;
	}
}

/* ==========================================================================
   B. TABLETS (768px – 991px)
   ========================================================================== */
@media (min-width: 768px) and (max-width: 991px) {
	.slide-container {
		padding-top: 6rem;
		padding-bottom: 3rem;
	}

	.slide-title {
		font-size: 2.5rem !important;
	}

	.slide-title-lg {
		font-size: 4.8rem !important;
	}

	.slide-descr-personal-services {
		margin-top: 2rem !important;
		margin-bottom: 1.5rem !important;
	}

	.service-item {
		margin-bottom: 2.25rem;
	}

	.work-list .work-item {
		margin-top: 2rem;
		padding: 1.75rem 2rem;
	}

	.blog-list .blog-item {
		margin-top: 2rem;
		padding: 1.75rem 2rem;
	}

	.video-link>.inside {
		padding-bottom: 70%;
	}
}

/* ==========================================================================
   C. LAPTOPS (992px – 1199px)
   ========================================================================== */
@media (min-width: 992px) and (max-width: 1199px) {
	.slide-container {
		padding-top: 6.5rem;
	}

	.slide-title {
		font-size: 3rem !important;
	}

	.slide-title-lg {
		font-size: 5.5rem !important;
	}

	.service-item {
		margin-bottom: 2.75rem;
	}
}

/* ==========================================================================
   D. DESKTOP & 4K SCREENS (1200px+)
   ========================================================================== */
@media (min-width: 1200px) {
	.container {
		max-width: 1180px;
	}
}

@media (min-width: 1600px) {
	.container {
		max-width: 1440px;
	}
}

/* ==============================================================================
   4.3 Slide 3: Technical Skills & Architecture Matrix (#Skills)
   ------------------------------------------------------------------------------
   - Design System: Warm cream editorial layout (#f5f4f0) harmonized with Slide 2 (Services)
   - Background Asset: Uses authentic template artwork '../img/bg-personal-clients.png'
     featuring architectural vector circuit lines and data nodes from the template asset suite.
   - Dedicated Layer: .slide-skills-circuit rendered as an independent .slide-photo
     layer, preserving vector line clarity without opaque overlapping circles.
   - Geometric Accent: .slide-skills-circle1 (golden circle) animated with .transformRight.
   - 2-Column Layout: Left stats & narrative + Right title-info & 2x2 capability grid.
   ============================================================================== */

.slide-personal-skills {
	background-color: #f5f4f0;
	color: #000000;
}

.slide-personal-skills .slide-bg {
	background-color: #f5f4f0;
}

/* Dedicated background circuit asset: authentic template line art with data circuit nodes */
.slide-skills-circuit {
	background-image: url("../img/bg-personal-clients.png");
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	opacity: 0.85;
}


.slide-personal-skills .slide-num {
	color: #b99e64;
}

/* Slide 3 Accent Circle: Golden geometric accent in top-right */
.slide-skills-circle1 {
	width: 8.5rem;
	height: 8.5rem;
	right: -3.8rem !important;
	top: 18% !important;
	bottom: auto;
	left: auto !important;
}

/* Title & Narrative Spacing */
.slide-title-personal-skills {
	margin-bottom: 5.55555556vmin;
	line-height: .93636364;
}

.slide-personal-skills .slide-title-info {
	margin-top: 1.25rem;
	margin-bottom: 5.5vmin;
}

.slide-descr-personal-skills {
	margin-right: 10%;
	margin-top: 2rem;
	margin-bottom: 2rem;
}

@media (min-width: 768px) {
	.slide-descr-personal-skills {
		margin-top: 20rem;
		margin-bottom: 0;
	}
}

@media (min-width: 992px) {
	.slide-descr-personal-skills {
		margin-right: 25%;
		margin-top: 13rem;
	}
}

/* Skills Capability Grid (Harmonized with .service-item in Slide 2) */
.skill-list {
	margin-bottom: -1.75rem;
}

.skill-item {
	margin-bottom: 3.5rem;
}

.skill-item-title {
	font-family: 'Noto Sans', sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	color: #111111;
	margin-bottom: .5rem;
	letter-spacing: 0.01em;
}

.skill-item-descr {
	color: #555555;
	margin-bottom: .85rem;
}

.skill-item-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 1rem;
}

.skill-item-badge {
	background: #ffffff;
	border: 1px solid #e8e4de;
	color: #222222;
	font-size: 0.78rem;
	font-weight: 600;
	padding: 0.28rem 0.65rem;
	border-radius: 4px;
	transition: all 0.2s ease;
}

.skill-item-badge small {
	color: #b99e64;
	font-weight: 700;
	margin-left: 0.25rem;
}

.skill-item-badge:hover {
	background: #b99e64;
	border-color: #b99e64;
	color: #ffffff;
}

.skill-item-badge:hover small {
	color: #ffffff;
}

.skill-item-more {
	margin-top: 1rem;
}

/* Milestones Dual-Tab Switcher */
.milestone-tabs {
	display: inline-flex !important;
	align-items: center !important;
	background: #ffffff !important;
	padding: 4px !important;
	border-radius: 30px !important;
	border: 2px solid #b99e64 !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
}

.milestone-tab-btn {
	background: transparent !important;
	border: none !important;
	color: #111111 !important;
	font-family: 'Noto Sans', sans-serif !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	padding: 0.45rem 1.35rem !important;
	border-radius: 25px !important;
	cursor: pointer !important;
	transition: all 0.25s ease !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	outline: none !important;
}

.milestone-tab-btn:hover {
	color: #b99e64 !important;
	background: rgba(185, 158, 100, 0.12) !important;
}

.milestone-tab-btn.active {
	background: #b99e64 !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	box-shadow: 0 3px 10px rgba(185, 158, 100, 0.45) !important;
}

.milestone-tab-btn:focus-visible {
	outline: 2px solid #b99e64 !important;
	outline-offset: 2px !important;
}

/* Milestones Arrow Navigation Controls */
.milestone-nav-arrow {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
	color: #ffffff !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-left: 6px !important;
	cursor: pointer !important;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
	font-size: 1.05rem !important;
	outline: none !important;
	vertical-align: middle !important;
}

.milestone-nav-arrow:hover:not(.disabled) {
	background: #b99e64 !important;
	border-color: #b99e64 !important;
	color: #111111 !important;
	transform: scale(1.08) !important;
	box-shadow: 0 4px 14px rgba(185, 158, 100, 0.45) !important;
}

.milestone-nav-arrow.disabled {
	opacity: 0.3 !important;
	cursor: not-allowed !important;
	border-color: rgba(255, 255, 255, 0.1) !important;
	color: rgba(255, 255, 255, 0.4) !important;
	pointer-events: none !important;
}

/* Category Badge Indicator */
.milestone-view-header {
	margin-bottom: 1.25rem;
}

.milestone-badge-pill {
	display: inline-flex;
	align-items: center;
	font-family: 'Noto Sans', sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.35rem 0.95rem;
	border-radius: 20px;
	border: 1px solid rgba(185, 158, 100, 0.3);
	background: rgba(185, 158, 100, 0.08);
	color: #e5e5e5;
	transition: all 0.3s ease;
}

.milestone-badge-pill i {
	font-size: 0.95rem;
}

.milestone-badge-experience {
	border-color: rgba(23, 116, 235, 0.35);
	background: rgba(23, 116, 235, 0.1);
	color: #cbd5e1;
}

.milestone-badge-experience i {
	color: #38bdf8;
}

.milestone-badge-education {
	border-color: rgba(167, 139, 250, 0.35);
	background: rgba(167, 139, 250, 0.1);
	color: #e2e8f0;
}

.milestone-badge-education i {
	color: #c084fc;
}

/* Tab Switching Smooth Animation */
.experience-list:not(.d-none) {
	animation: milestoneFadeIn 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes milestoneFadeIn {
	0% {
		opacity: 0;
		transform: translateY(8px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.company-golden {
	color: #b99e64 !important;
}

.company-purple {
	color: #a78bfa !important;
}