/**
 * =================================================================== 
 *
 *  Kards v1.0 Base Stylesheet
 *  url: styleshout.com
 *  03-01-2016
 *  ------------------------------------------------------------------
 *  TOC:
 *  01. reset
 *  02. basic/base setup styles
 *  03. grid
 *  04. MISC
 *
 * =================================================================== 
 */

/** 
 * ===================================================================
 * 01. reset - normalize.css v3.0.2 | MIT License | git.io/normalize
 *
 * ------------------------------------------------------------------- 
 */

/* 🚀 FASE 2: Fuentes self-hosted (WOFF2 only) - se cargan desde base.html
    Montserrat se mantiene de Google Fonts CDN como fallback
    Poppins y Lora se cargan desde /fonts/*/
stylesheet-optimized.css */ html {
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/** 
 * ===================================================================
 * 02. basic/base setup styles - (_basic.scss)
 *
 * ------------------------------------------------------------------- 
 */
html {
	font-size: 62.5%;
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body {
	font-weight: normal;
	line-height: 1;
	text-rendering: optimizeLegibility;
	word-wrap: break-word;
	-webkit-overflow-scrolling: touch;
	-webkit-text-size-adjust: none;
}

body,
input,
button {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

/**
 * Media - (_basic.scss)
 * ------------------------------------------------------------------- 
 */
img,
video {
	max-width: 100%;
	height: auto;
}

/**
 * Typography resets - (_basic.scss)
 * ------------------------------------------------------------------- 
 */
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	-webkit-font-variant-ligatures: common-ligatures;
	-moz-font-variant-ligatures: common-ligatures;
	font-variant-ligatures: common-ligatures;
	text-rendering: optimizeLegibility;
}

em,
i {
	font-style: italic;
	line-height: inherit;
}

strong,
b {
	font-weight: bold;
	line-height: inherit;
}

small {
	font-size: 60%;
	line-height: inherit;
}

ol,
ul {
	list-style: none;
}

li {
	display: block;
}

/**
 * links - (_basic.scss)
 * ------------------------------------------------------------------- 
 */
a {
	text-decoration: none;
	line-height: inherit;
}

a img {
	border: none;
}

/**
 * inputs - (_basic.scss)
 * ------------------------------------------------------------------- 
 */
fieldset {
	margin: 0;
	padding: 0;
}

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
}

/** 
 * ===================================================================
 * 03. grid - (_grid.scss)
 *
 * ------------------------------------------------------------------- 
 */
.row {
	width: 94%;
	max-width: 1140px;
	margin: 0 auto;
}

.row:before,
.row:after {
	content: "";
	display: table;
}

.row:after {
	clear: both;
}

.row .row {
	width: auto;
	max-width: none;
	margin-left: -20px;
	margin-right: -20px;
}

[class*="col-"],
.bgrid {
	float: left;
}

[class*="col-"]+[class*="col-"][class*="col-"] {
	padding: 0 20px;
}

.col-two,
.col-three,
.col-four,
.col-six,
.col-eight,
.col-nine,
.col-ten,
.col-twelve,
/**
 * small screens - (_grid.scss)
 * --------------------------------------------------------------- 
 */
@media screen and (max-width:1024px) {
	.row .row {
		margin-left: -18px;
		margin-right: -18px;
	}

	[class*="col-"] {
		padding: 0 18px;
	}

}

/**
 * tablets - (_grid.scss)
 * --------------------------------------------------------------- 
 */
@media screen and (max-width:768px) {
	.row {
		width: auto;
		padding-left: 30px;
		padding-right: 30px;
	}

	.row .row {
		padding-left: 0;
		padding-right: 0;
		margin-left: -15px;
		margin-right: -15px;
	}

	[class*="col-"] {
		padding: 0 15px;
	}

	.tab-full {
		width: 100%;
	}

}

/**
 * large mobile devices - (_grid.scss)
 * --------------------------------------------------------------- 
 */
@media screen and (max-width:600px) {
	.row {
		padding-left: 25px;
		padding-right: 25px;
	}

	.row .row {
		margin-left: -10px;
		margin-right: -10px;
	}

	[class*="col-"] {
		padding: 0 10px;
	}

}

/**
 * small mobile devices - (_grid.scss)
 * --------------------------------------------------------------- 
 */
@media screen and (max-width:400px) {
	.row .row {
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}

	[class*="col-"] {
		width: 100% !important;
		float: none !important;
		clear: both !important;
		margin-left: 0;
		margin-right: 0;
		padding: 0;
	}

	[class*="col-"]+[class*="col-"]
}

/** 
 * ===================================================================
 * block grids - (_grid.scss)
 *
 * ------------------------------------------------------------------- 
 */
[class*="block-"]:before,
[class*="block-"]:after {
	content: "";
	display: table;
}

[class*="block-"]:after {
	clear: both;
}

.block-1-6 .bgrid {
	width: 16.66667%;
}

.block-1-4 .bgrid {
	width: 25%;
}

.block-1-3 .bgrid {
	width: 33.33333%;
}

.block-1-2 .bgrid {
	width: 50%;
}

/**
 * Clearing for block grid columns. Allow columns with 
 * different heights to align properly.
 */
.block-1-6 .bgrid:nth-child(6n+1),
.block-1-4 .bgrid:nth-child(4n+1),
.block-1-3 .bgrid:nth-child(3n+1),
.block-1-2 .bgrid:nth-child(2n+1) {
	clear: both;
}

/**
 * small screens - (_grid.scss)
 * --------------------------------------------------------------- 
 */
@media screen and (max-width:1024px) {
	.block-s-1-6 .bgrid {
		width: 16.66667%;
	}

	.block-s-1-4 .bgrid {
		width: 25%;
	}

	.block-s-1-3 .bgrid {
		width: 33.33333%;
	}

	.block-s-1-2 .bgrid {
		width: 50%;
	}

	.block-s-full .bgrid {
		width: 100%;
		clear: both;
	}

	[class*="block-s-"] .bgrid:nth-child(n) {
		clear: none;
	}

	.block-s-1-6 .bgrid:nth-child(6n+1),
	.block-s-1-4 .bgrid:nth-child(4n+1),
	.block-s-1-3 .bgrid:nth-child(3n+1),
	.block-s-1-2 .bgrid:nth-child(2n+1) {
		clear: both;
	}

}

/**
 * tablets - (_grid.scss)
 * --------------------------------------------------------------- 
 */
@media screen and (max-width:768px) {
	.block-tab-1-6 .bgrid {
		width: 16.66667%;
	}

	.block-tab-1-4 .bgrid {
		width: 25%;
	}

	.block-tab-1-3 .bgrid {
		width: 33.33333%;
	}

	.block-tab-1-2 .bgrid {
		width: 50%;
	}

	.block-tab-full .bgrid {
		width: 100%;
		clear: both;
	}

	[class*="block-tab-"] .bgrid:nth-child(n) {
		clear: none;
	}

	.block-tab-1-6 .bgrid:nth-child(6n+1),
	.block-tab-1-4 .bgrid:nth-child(4n+1),
	.block-tab-1-3 .bgrid:nth-child(3n+1),
	.block-tab-1-2 .bgrid:nth-child(2n+1) {
		clear: both;
	}

}

/**
 * large mobile devices - (_grid.scss)
 * --------------------------------------------------------------- 
 */
@media screen and (max-width:600px) {
	.block-mob-1-6 .bgrid {
		width: 16.66667%;
	}

	.block-mob-1-4 .bgrid {
		width: 25%;
	}

	.block-mob-1-3 .bgrid {
		width: 33.33333%;
	}

	.block-mob-1-2 .bgrid {
		width: 50%;
	}

	.block-mob-full .bgrid {
		width: 100%;
		clear: both;
	}

	[class*="block-mob-"] .bgrid:nth-child(n) {
		clear: none;
	}

	.block-mob-1-6 .bgrid:nth-child(6n+1),
	.block-mob-1-4 .bgrid:nth-child(4n+1),
	.block-mob-1-3 .bgrid:nth-child(3n+1),
	.block-mob-1-2 .bgrid:nth-child(2n+1) {
		clear: both;
	}

}

/**
 * stack on small mobile devices - (_grid.scss)
 * --------------------------------------------------------------- 
 */
@media screen and (max-width:400px) {
	.stack .bgrid {
		width: 100% !important;
		float: none !important;
		clear: both !important;
		margin-left: 0;
		margin-right: 0;
	}

}

/** 
 * ===================================================================
 * 04. MISC  - (_grid.scss)
 *
 * ------------------------------------------------------------------- 
 */

/**
 * Clearing - (http://nicolasgallagher.com/micro-clearfix-hack/
 */
.group:before,
.group:after {
	content: "";
	display: table;
}

.group:after {
	clear: both;
}

/**
 * Misc Helper Styles 
 */
.hide {
	display: none;
}

.invisible {
	visibility: hidden;
}

.antialiased {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.remove-bottom {
	margin-bottom: 0;
}

.half-bottom {
	margin-bottom: 1.5rem !important;
}

.add-bottom {
	margin-bottom: 3rem !important;
}

.no-border {
	border: none;
}

.full-width {
	width: 100%;
}

.text-center {
	text-align: center;
}

.text-left {
	text-align: left;
}

.text-right {
	text-align: right;
}

.pull-left {
	float: left;
}

.pull-right {
	float: right;
}

.align-center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

/* Forzamos que la transición sea sobre la propiedad width */
.skill-bars .progress {
	width: 0;
	/* Empezamos en 0 */
	transition: width 1.5s cubic-bezier(0.1, 0, 0.1, 1) !important;
	display: block !important;
}

.skill-bars li {
	background: rgba(255, 255, 255, 0.1);
	/* Fondo de la barra vacía */
	height: 30px;
	/* Ajusta según tu diseño */
	margin-bottom: 35px;
	position: relative;
	border-radius: 4px;
}

.skill-bars .progress span {
	position: absolute;
	right: 10px;
	top: 0;
	line-height: 30px;
	font-size: 11px;
	color: #ffffff;
	font-weight: bold;
}

/* --- Estilos para el Blog (CKEditor 5 Compatibility) --- */

.post-content {
	font-size: 1.8rem;
	line-height: 1.8;
	color: #333;
	margin-top: 2rem;
}

.post-content h2,
.post-content h3 {
	margin-top: 4rem;
	margin-bottom: 2rem;
	color: #111;
	font-weight: 700;
}

/* Estilos para listas que CKEditor genera */
.post-content ul,
.post-content ol {
	margin-left: 2rem;
	margin-bottom: 3rem;
	list-style-position: outside;
}

.post-content ul li {
	list-style-type: disc;
	margin-bottom: 1rem;
}

/* Bloques de código para tus posts técnicos */
.post-content pre {
	background: #f4f4f4;
	padding: 2rem;
	border-radius: 5px;
	overflow-x: auto;
	border-left: 4px solid #0e75b6;
	/* Tu azul corporativo */
	font-family: 'Courier New', Courier, monospace;
	font-size: 1.5rem;
}

/* Citas (Blockquotes) - Ideal para frases de gestión */
.post-content blockquote {
	border-left: 5px solid #0e75b6;
	padding-left: 2rem;
	font-style: italic;
	color: #555;
	margin: 4rem 0;
}

/* Imágenes dentro del post */
.post-content img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 3rem 0;
	display: block;
}

/* SEO: Etiquetas de categoría */
.cat-link:hover {
	background: #0e75b6;
	color: #fff;
}

/**
 * =================================================================== 
 *
 *  Kards v1.0 Main Stylesheet
 *  url: styleshout.com
 *  03-01-2016
 *  ------------------------------------------------------------------
 *  TOC:
 *  01. webfonts and iconfonts
 *  02. base style overrides
 *  03. typography & general theme styles
 *  04. preloader
 *  05. forms
 *  06. buttons 
 *  07. other components
 *  08. common styles
 *  09. header styles
 *  10. intro
 *  11. about
 *  12. resume
 *  13. portfolio
 *  14. call-to-action section
 *  15. services
 *  16. stats
 *  17. contact
 *  18. footer
 *
 * =================================================================== 
 */


/** 
 * ===================================================================
 * 01. webfonts and iconfonts - (_document-setup.scss)
 *
 * ------------------------------------------------------------------- 
 */

@import url("font-awesome/css/font-awesome.min.516d58031a07.css");
@import url("micons/micons.af299d7f8390.css");


/** 
 * ===================================================================
 * 02. base style overrides - (_document-setup.scss)
 *
 * ------------------------------------------------------------------- 
 */
html {
	font-size: 10px;
}

@media only screen and (max-width:1024px) {
	html {
		font-size: 9.411764705882353px;
	}
}

@media only screen and (max-width:768px) {
	html {
		font-size: 10px;
	}
}

@media only screen and (max-width:400px) {
	html {
		font-size: 9.411764705882353px;
	}
}

html,
body {
	height: 100%;
}

body {
	background: #151515;
	font-family: "Lora", serif;
	font-size: 1.7rem;
	line-height: 3rem;
	color: #6e6e6e;
}

/**
 * links - (_document-setup.scss)
 * -------------------------------------------------------------------
 */
a,
a:visited {
	color: #000000;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

a:hover,
a:focus,
a:active {
	color: #FF0077;
	outline: 0;
}

/** 
 * ===================================================================
 * 03. typography & general theme styles - (_document-setup.scss)
 *
 * ------------------------------------------------------------------- 
 */
h1,
h2,
h3,
h4,
h5,
h6,
.h01,
.h02,
.h03,
.h04,
.h05 {
	margin-top: 0;
	font-family: 'Raleway', sans-serif;
}

@media only screen and (max-width:600px) {
	h1 {
		font-size: 3rem;
	}
}

h2,
h3,
h4,
h5,
h6,
p img {
	margin: 0;
}

p.lead {
	font-family: "Lora", serif;
	font-size: 2rem;
	line-height: 1.8;
	color: #888888;
}

@media only screen and (max-width:768px) {
	p.lead {
		font-size: 1.7rem;
	}
}

em,
i,
strong,
b {
	font-size: 1.7rem;
	line-height: 3rem;
	font-style: normal;
	font-weight: normal;
}

em,
i {
	font-family: "lora-italic", serif;
}

strong,
b {
	font-family: "lora-bold", serif;
}

small {
	font-size: 1.2rem;
	line-height: inherit;
}

blockquote {
	margin: 3rem 0;
	padding-left: 4rem;
	position: relative;
}

blockquote:before {
	content: "\201C";
	font-size: 8rem;
	line-height: 0px;
	margin: 0;
	color: #313131;
	font-family: arial, sans-serif;
	position: absolute;
	top: 3rem;
	left: 0;
}

blockquote p {
	font-family: georgia, serif;
	font-style: italic;
	padding: 0;
	font-size: 1.9rem;
	line-height: 1.737;
}

blockquote cite {
	display: block;
	font-size: 1.3rem;
	font-style: normal;
	line-height: 1.616;
}

blockquote cite:before {
	content: "\2014 \0020";
}

blockquote cite a,
blockquote cite a:visited {
	color: #888888;
	border: none;
}

abbr {
	font-family: "poppins-bold", serif;
	font-variant: small-caps;
	text-transform: lowercase;
	letter-spacing: .05rem;
	color: #888888;
}

var,
kbd,
samp,
code,
pre {
	font-family: Consolas, "Andale Mono", Courier, "Courier New", monospace;
}

pre {
	padding: 2.4rem 3rem 3rem;
	background: #F1F1F1;
}

code {
	font-size: 1.4rem;
	margin: 0 .2rem;
	padding: .3rem .6rem;
	white-space: nowrap;
	background: #F1F1F1;
	border: 1px solid #E1E1E1;
	border-radius: 3px;
}

pre>code {
	display: block;
	white-space: pre;
	line-height: 2;
	padding: 0;
	margin: 0;
}

pre.prettyprint>code {
	border: none;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

mark {
	background: #FFF49B;
	color: #000;
}

hr {
	border: solid #d2d2d2;
	border-width: 1px 0 0;
	clear: both;
	margin: 2.4rem 0 1.5rem;
	height: 0;
}

/**
 * Lists - (_document-setup.scss)  
 * -------------------------------------------------------------------
 */
ol {
	list-style: decimal;
}

ul {
	list-style: disc;
}

li {
	display: list-item;
}

ol,
ul {
	margin-left: 1.7rem;
}

ul li {
	padding-left: .4rem;
}

ul ul,
ul ol,
ol ol,
ol ul {
	margin: .6rem 0 .6rem 1.7rem;
}

ul.disc li {
	display: list-item;
	list-style: none;
	padding: 0 0 0 .8rem;
	position: relative;
}

ul.disc li::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #FF0077;
	position: absolute;
	left: -17px;
	top: 11px;
	vertical-align: middle;
}

dt {
	margin: 0;
	color: #FF0077;
}

dd {
	margin: 0 0 0 2rem;
}

/**
 * tables - (_document-setup.scss)  
 * -------------------------------------------------------------------
 */
table {
	border-width: 0;
	width: 100%;
	max-width: 100%;
	font-family: "lora-regular", sans-serif;
}

th,
td {
	padding: 1.5rem 3rem;
	text-align: left;
	border-bottom: 1px solid #E8E8E8;
}

th {
	color: #313131;
	font-family: "poppins-bold", sans-serif;
}

td {
	line-height: 1.5;
}

th:first-child,
td:first-child {
	padding-left: 0;
}

th:last-child,
td:last-child {
	padding-right: 0;
}

.table-responsive {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/**
 * Spacing - (_document-setup.scss)  
 * -------------------------------------------------------------------
 */
button,
.button {
	margin-bottom: 1.2;
}

fieldset {
	margin-bottom: 1.5rem;
}

input,
textarea,
select,
pre,
blockquote,
figure,
table,
p,
ul,
ol,
dl,
form,
.fluid-video-wrapper,
/**
 * floated image - (_document-setup.scss)  
 * -------------------------------------------------------------------
 */
img.pull-right {
	margin: .9rem 0 0 2.4rem;
}

img.pull-left {
	margin: .9rem 2.4rem 0 0;
}

/**
 * block grid paddings - (_document-setup.scss) 
 * -------------------------------------------------------------------
 */
@media only screen and (max-width:1024px) {}

@media only screen and (max-width:768px) {}

@media only screen and (max-width:600px) {}

@media only screen and (max-width:400px) {}

/**
 * pace.js styles - minimal  - (_document-setup.scss)
 * -------------------------------------------------------------------
 */
.pace

/** 
 * ===================================================================
 * 04. preloader - (_preloader-1.scss)
 *
 * ------------------------------------------------------------------- 
 */
#preloader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #151515;
	z-index: 800;
	height: 100%;
	width: 100%;
}

.no-js #preloader,
.oldie #preloader {
	display: none;
}

#loader {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 60px;
	height: 60px;
	margin: -30px 0 0 -30px;
	padding: 0;
}

#loader:before {
	content: "";
	border-top: 11px solid rgba(255, 255, 255, 0.1);
	border-right: 11px solid rgba(255, 255, 255, 0.1);
	border-bottom: 11px solid rgba(255, 255, 255, 0.1);
	border-left: 11px solid #FF0077;
	-webkit-animation: load 1.1s infinite linear;
	animation: load 1.1s infinite linear;
	display: block;
	border-radius: 50%;
	width: 60px;
	height: 60px;
}

@-webkit-keyframes load {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@keyframes load {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

/** 
 * ===================================================================
 * 05. forms - (_forms.scss)
 *
 * ------------------------------------------------------------------- 
 */
fieldset {
	border: none;
}

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
	display: block;
	height: 6rem;
	padding: 1.5rem 0;
	border: 0;
	outline: none;
	color: #313131;
	font-family: "poppins-regular", sans-serif;
	font-size: 1.5rem;
	line-height: 3rem;
	max-width: 100%;
	background: transparent;
	border-bottom: 1px solid rgba(0, 0, 0, 0.3);
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.ss-custom-select select {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	text-indent: 0.01px;
	text-overflow: '';
	margin: 0;
	line-height: 3rem;
	vertical-align: middle;
}

.ss-custom-select select option {
	padding-left: 2rem;
	padding-right: 2rem;
}

.ss-custom-select select::-ms-expand {
	display: none;
}

.ss-custom-select::after {
	content: '\f0d7';
	font-family: 'FontAwesome';
	position: absolute;
	top: 50%;
	right: 1.5rem;
	margin-top: -10px;
	bottom: auto;
	width: 20px;
	height: 20px;
	line-height: 20px;
	font-size: 18px;
	text-align: center;
	pointer-events: none;
	color: #252525;
}

/* IE9 and below */
.oldie .ss-custom-select::after {
	display: none;
}

textarea {
	min-height: 25rem;
}

input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	color: #cc005f;
	border-bottom: 1px solid #FF0077;
}

label,
legend {
	font-family: "poppins-bold", sans-serif;
	font-size: 1.4rem;
	margin-bottom: .6rem;
	color: #3b3b3b;
	display: block;
}

input[type="checkbox"],
input[type="radio"] {
	display: inline;
}

label>label>input[type="checkbox"],
label>input[type="radio"] {
	margin: 0;
	position: relative;
	top: .15rem;
}

/**
 * Style Placeholder Text  
 * -
 */
::-webkit-input-placeholder {
	color: #a1a1a1;
}

:-moz-placeholder {
	color: #a1a1a1;
	/* Firefox 18- */
}

::-moz-placeholder {
	color: #a1a1a1;
	/* Firefox 19+ */
}

:-ms-input-placeholder {
	color: #a1a1a1;
}

/** 
 * ===================================================================
 * 06. buttons - (_button-essentials.scss)
 *
 * ------------------------------------------------------------------- 
 */
.button,
a.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	font-family: "poppins-bold", sans-serif;
	font-size: 1.4rem;
	text-transform: uppercase;
	letter-spacing: .3rem;
	height: 5.4rem;
	line-height: 5.4rem;
	padding: 0 3rem;
	margin: 0 .3rem 1.2rem 0;
	background: #d8d8d8;
	color: #313131;
	text-decoration: none;
	cursor: pointer;
	text-align: center;
	white-space: nowrap;
	border: none;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.button:hover,
a.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
	background: #bebebe;
	color: #000000;
	outline: 0;
}

.button.button-primary,
a.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
	background: #313131;
	color: #FFFFFF;
}

.button.button-primary:hover,
a.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
	background: #1f1f1f;
}

button.full-width,
.buttonbutton.medium,
.buttonbutton.large,
.buttonbutton.stroke,
.button.stroke {
	border: 3px solid #FF0077;
	color: #FF0077;
}

button.stroke.medium,
.button.strokebutton.stroke.large,
.button.strokebutton.stroke:hover,
.button.stroke:hover {
	border: 3px solid #FF0077;
	color: #FF0077;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}


/** 
 * ===================================================================
 * 07. other components - (_others.scss)
 *
 * ------------------------------------------------------------------- 
 */

/**
 * alert box - (_alert-box.scss)
 * -------------------------------------------------------------------
 */
.alert-box
/**
 * additional typo styles - (_additional-typo.scss)
 * -------------------------------------------------------------------
 */

/**
 * drop cap 
 */
.drop-cap:first-letter {
	float: left;
	margin: 0;
	padding: 1.5rem .6rem 0 0;
	font-size: 8.4rem;
	font-family: "poppins-bold", sans-serif;
	line-height: 6rem;
	text-indent: 0;
	background: transparent;
	color: #313131;
}

/**
 * line definition style
 */
.lining dt,
.lining dd {
	display: inline;
	margin: 0;
}

.lining dt+dt:before,
.lining dd+dt:before {
	content: "\A";
	white-space: pre;
}

.lining dd+dd:before {
	content: ", ";
}

.lining dd+dd:before {
	content: ", ";
}

.lining dd:before {
	content: ": ";
	margin-left: -0.2em;
}

/**
 * dictionary definition style
 */
.dictionary-style dt {
	display: inline;
	counter-reset: definitions;
}

.dictionary-style dt+dt:before {
	content: ", ";
	margin-left: -0.2em;
}

.dictionary-style dd {
	display: block;
	counter-increment: definitions;
}

.dictionary-style dd:before {
	content: counter(definitions, decimal) ". ";
}

/** 
 * Pull Quotes
 * -----------
 * markup:
 *
 * <aside class="pull-quote">
 *		<blockquote>
 *			<p></p>
 *		</blockquote>
 *	</aside>
 *
 * --------------------------------------------------------------------- 
 */
.pull-quote:before,
.pull-quote:after {
	height: 1em;
	position: absolute;
	font-size: 8rem;
	font-family: Arial, Sans-Serif;
	color: #333;
}

.pull-quote:before {
	content: "\201C";
	top: 33px;
	left: 0;
}

.pull-quote:after {
	content: '\201D';
	bottom: -33px;
	right: 0;
}

.pull-quote blockquote {
	margin: 0;
}

.pull-quote blockquote:before {
	content: none;
}

/** 
 * Stats Tab
 * ---------
 * markup:
 *
 * <ul class="stats-tabs">
 *		<li><a href="#">[value]<em>[name]</em></a></li>
 *	</ul>
 *
 * Extend this object into your markup.
 *
 * ---------------------------------------------------------------------
 */
.stats-tabs li {
	display: inline-block;
	margin: 0 1.5rem 3rem 0;
	padding: 0 1.5rem 0 0;
	border-right: 1px solid #ccc;
}

.stats-tabs li:last-child {
	margin: 0;
	padding: 0;
	border: none;
}

.stats-tabs li a {
	display: inline-block;
	font-size: 2.5rem;
	font-family: "poppins-bold", sans-serif;
	border: none;
	color: #252525;
}

.stats-tabs li a:hover {
	color: #FF0077;
}

.stats-tabs li a em {
	display: block;
	margin: .6rem 0 0 0;
	font-size: 1.4rem;
	font-family: "poppins-regular", sans-serif;
	color: #888888;
}

/**
 * skillbars - (_skillbars.scss)
 * -------------------------------------------------------------------
 */
.skill-bars {
	list-style: none;
	margin: 6rem 0 3rem;
}

.skill-bars li {
	height: .6rem;
	background: #a1a1a1;
	width: 100%;
	margin-bottom: 6rem;
	padding: 0;
	position: relative;
}

.skill-bars li strong {
	position: absolute;
	left: 0;
	top: -3rem;
	font-family: "poppins-bold", sans-serif;
	color: #313131;
	text-transform: uppercase;
	letter-spacing: .2rem;
	font-size: 1.5rem;
	line-height: 2.4rem;
}

.skill-bars li .progress {
	background: #313131;
	position: relative;
	height: 100%;
}

.skill-bars li .progress span {
	position: absolute;
	right: 0;
	top: -3.6rem;
	display: block;
	font-family: "poppins-regular", sans-serif;
	color: white;
	font-size: 1.1rem;
	line-height: 1;
	background: #313131;
	padding: .6rem .6rem;
	border-radius: 3px;
}

.skill-bars li .progress span::after {
	position: absolute;
	left: 50%;
	bottom: -5px;
	margin-left: -5px;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	border-top: 5px solid #313131;
	content: "";
}


/** 
 * ===================================================================
 * 08. common styles (_layout.scss)
 *
 * ------------------------------------------------------------------- 
 */
.grey-section {
	background: #ffffff !important;
}

.grey-section p.lead {
	color: #7d7d7d;
}

.section-intro {
	max-width: 700px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	margin-bottom: 3.6rem;
	position: relative;
}

.section-intro h1 {
	font-family: "poppins-semibold", serif;
	font-size: 3.6rem;
	color: #313131;
	line-height: 1.25;
	margin-bottom: 1.2rem;
}

.section-intro h5 {
	color: #FF0077;
	font-size: 1.6rem;
	line-height: 1.875;
	margin-bottom: 0.3rem;
	letter-spacing: .4rem;
}

/**
 * responsive:
 * common styles
 * ------------------------------------------------------------------- 
 */
@media only screen and (max-width:768px) {
	.section-intro {
		max-width: 650px;
	}

	.section-intro h1 {
		font-size: 3rem;
	}
}

@media only screen and (max-width:600px) {
	.section-intro h1 {
		font-size: 2.6rem;
	}

	.section-intro h5 {
		font-size: 1.5rem;
		letter-spacing: .3rem;
	}
}

@media only screen and (max-width:400px) {
	.section-intro h1 {
		font-size: 2.4rem;
	}
}


/** 
 * ===================================================================
 * 09. header styles - (_layout.scss)
 *
 * ------------------------------------------------------------------- 
 */
header {
	position: fixed;
	width: 100%;
	min-height: 66px;
	z-index: 600;
}

header .row {
	position: relative;
	min-height: 66px;
}

/* Cambios aquí: */
.top-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100vw;
	min-height: 66px;
	background: #000;
	padding: 0 2vw;
	box-sizing: border-box;
	position: relative;
	left: 0;
}

.topbar-right {
	justify-content: flex-end;
	display: flex;
	align-items: center;
	margin-left: auto;
}

.topbar-right .social-icons {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 15px;
}

.topbar-right .social-icons li {
	margin-left: 10px;
}

.topbar-right .social-icons li a,
.topbar-right .login-icon {
	color: #fff !important;
	transition: color 0.3s;
	font-size: 1.3em;
	margin-right: 15px;
	padding-right: 15px;

}

.topbar-right .social-icons li a:hover,
.topbar-right .login-icon:hover {
	color: #FF0077 !important;
}

header .top-bar {
	display: block;
	background: #000000;
	min-width: 220px;
	min-height: 66px;
	position: relative;
	/* Cambiado de absolute a relative */
	left: 0;
	/* Cambiado de 90px a 0 */
	top: 0;
	width: 100vw;
	/* Añadido: ocupa todo el ancho de la ventana */
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

header .logo {
	float: left;
	margin-left: 20px;
	margin-right: 50px;
	margin-top: 25px;
	position: relative;
}

header .logo a {
	display: block;
	margin: 0;
	padding: 0;
	border: none;
	font: 0/0 a;
	text-shadow: none;
	color: transparent;
	width: 92px;
	height: 15px;
	background-size: 92px 15px;
}

/**
 * menu toggle - (_layout.css)
 * ------------------------------------------------------------------- 
 */
.menu-toggle {
	float: left;
	width: 40px;
	height: 40px;
	margin-left: 20px;
	margin-top: 13px;
	display: block;
	position: relative;
}

.menu-toggle span {
	display: block;
	background-color: #FF0077;
	width: 24px;
	height: 3px;
	margin-top: -1.5px;
	font: 0/0 a;
	text-shadow: none;
	color: transparent;
	position: absolute;
	right: 8px;
	top: 50%;
	bottom: auto;
	left: auto;
	-moz-transition: background 0.2s ease-in-out;
	-o-transition: background 0.2s ease-in-out;
	-webkit-transition: background 0.2s ease-in-out;
	-ms-transition: background 0.2s ease-in-out;
	transition: background 0.2s ease-in-out;
}

.menu-toggle span::before,
.menu-toggle span::after {
	content: '';
	width: 100%;
	height: 100%;
	background-color: inherit;
	position: absolute;
	left: 0;
	-moz-transition-duration: 0.2s, 0.2s;
	-o-transition-duration: 0.2s, 0.2s;
	-webkit-transition-duration: 0.2s, 0.2s;
	-ms-transition-duration: 0.2s, 0.2s;
	transition-duration: 0.2s, 0.2s;
	-moz-transition-delay: 0.2s, 0s;
	-o-transition-delay: 0.2s, 0s;
	-webkit-transition-delay: 0.2s, 0s;
	-ms-transition-delay: 0.2s, 0s;
	transition-delay: 0.2s, 0s;
}

.menu-toggle span::before {
	top: -8px;
	-moz-transition-property: top, transform;
	-o-transition-property: top, transform;
	-webkit-transition-property: top, transform;
	-ms-transition-property: top, transform;
	transition-property: top, transform;
}

.menu-toggle span::after {
	bottom: -8px;
	-moz-transition-property: bottom, transform;
	-o-transition-property: bottom, transform;
	-webkit-transition-property: bottom, transform;
	-ms-transition-property: bottom, transform;
	transition-property: bottom, transform;
}

/* is clicked */
.menu-toggle.is-clicked span {
	background-color: rgba(255, 0, 119, 0);
}

.menu-toggle.is-clicked span::before,
.menu-toggle.is-clicked span::after {
	background-color: #ff0077;
	-moz-transition-delay: 0s, 0.2s;
	-o-transition-delay: 0s, 0.2s;
	-webkit-transition-delay: 0s, 0.2s;
	-ms-transition-delay: 0s, 0.2s;
	transition-delay: 0s, 0.2s;
}

.menu-toggle.is-clicked span::before {
	top: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.menu-toggle.is-clicked span::after {
	bottom: 0;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* navigation panel */
#main-nav-wrap {
	display: block;
	width: 100%;
	font-family: "poppins-medium", sans-serif;
	font-size: 1.5rem;
	position: absolute;
	top: 100%;
	left: 0;
}

/* dropdown nav */
.main-navigation {
	background: #000000;
	padding: 24px 30px 42px;
	margin: 0;
	width: 100%;
	height: auto;
	clear: both;
	display: none;
}

.main-navigation>li {
	display: block;
	height: auto;
	text-align: left;
	padding: 0;
}

.main-navigation li a {
	display: block;
	color: #FFFFFF;
	width: auto;
	padding: 15px 0;
	line-height: 16px;
	border: none;
}

.main-navigation li a:hover {
	color: #FF0077;
	padding-left: 1rem;
}

.main-navigation li.current>a {
	background: none;
	color: #FF0077;
}


/** 
 * ===================================================================
 * 10. intro - (_layout.scss) 
 *
 * ------------------------------------------------------------------- 
 */
#intro {
	background: #151515 url("../img/intro-bg.c54833fe6277.webp") no-repeat center bottom;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	background-attachment: fixed;
	width: 100%;
	height: 100%;
	min-height: 720px;
	display: table;
	position: relative;
	text-align: center;
}

/* Safari/iOS fix for background-attachment: fixed */
@media only screen and (max-width: 1024px) {
	#intro {
		background-attachment: scroll !important;
		background-position: center center;
	}
}

.intro-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #111111;
	opacity: .85;
}

.intro-content {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	-webkit-transform: translateY(-2.1rem);
	-ms-transform: translateY(-2.1rem);
	transform: translateY(-2.1rem);
}

.intro-content h1 {
	color: #FFFFFF;
	font-family: "poppins-medium", sans-serif;
	font-size: clamp(4.2rem, 8vw, 8.4rem);
	line-height: 1.071;
	max-width: 900px;
	margin-top: 0;
	margin-bottom: .6rem;
	margin-left: auto;
	margin-right: auto;
	text-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.intro-content h5 {
	color: #cc005f;
	font-family: "poppins-bold", sans-serif;
	font-size: 2.3rem;
	line-height: 1.565;
	margin-bottom: 0;
	text-transform: uppercase;
	letter-spacing: .3rem;
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}

.intro-content .intro-position {
	font-family: "lora-regular", serif;
	font-size: 1.7rem;
	line-height: 2.4rem;
	text-transform: uppercase;
	letter-spacing: .2rem;
	color: #FFFFFF;
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}

.intro-content .intro-position span {
	display: inline-block;
}

.intro-content .intro-position span::after {
	content: "|";
	text-align: center;
	display: inline-block;
	padding: 0 8px 0 14px;
	color: rgba(255, 255, 255, 0.3);
}

.intro-content .intro-position span:first-child::before {
	content: "|";
	text-align: center;
	display: inline-block;
	padding: 0 14px 0 8px;
	color: rgba(255, 255, 255, 0.3);
}

.intro-content .button {
	color: #FFFFFF !important;
	border-color: rgba(255, 255, 255, 0.3);
	height: 6rem !important;
	line-height: 5.4rem !important;
	padding: 0 3.5rem 0 3rem !important;
	margin-top: .6rem;
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: .25rem;
}

.intro-content .button:hover,
.intro-content .button:focus {
	border-color: #cc005f;
}

.intro-content .button::after {
	display: inline-block;
	content: "\f107";
	font-family: fontAwesome;
	font-size: 1.6rem;
	line-height: inherit;
	text-align: center;
	position: relative;
	left: 1.2rem;
}

.intro-social li {
	display: inline-block;
	margin: 0 20px;
	padding: 0;
}

.intro-social li a,
.intro-social li a:visited {
	color: #FFFFFF;
}

.intro-social li a:hover,
.intro-social li a:focus {
	color: #cc005f;
}

/**
 * responsive:
 * Intro
 * --------------------------------------------------------------- 
 */
@media only screen and (max-width:1024px) {
	.intro-content h1 {
		font-size: 7.6rem;
	}

	.intro-social li {
		margin: 0 15px;
	}
}

@media only screen and (max-width:768px) {
	#intro {
		min-height: 660px;
	}

	.intro-content h1 {
		font-size: 5.2rem;
	}

	.intro-content h5 {
		font-size: 1.8rem;
	}

	.intro-content .intro-position {
		font-size: 1.3rem;
	}

	.intro-social li {
		margin: 0 10px;
	}
}

@media only screen and (max-width:600px) {
	#intro {
		min-height: 600px;
	}

	.intro-content h1 {
		font-size: 4.6rem;
		margin-bottom: .6rem;
	}

	.intro-content h5 {
		font-size: 1.5rem;
		margin-bottom: .3rem;
		letter-spacing: .2rem;
	}

	.intro-content .intro-position {
		font-size: 1.2rem;
	}

	.intro-content .intro-position span {
		padding: 0 .6rem;
	}

	.intro-content .intro-position span::before,
	.intro-content .intro-position span::after {
		display: none !important;
	}
}


/** 
 * ===================================================================
 * 11. about - (_layout.scss)
 *
 * ------------------------------------------------------------------- 
 */
#about {
	background: #f7f7f7;
	padding-top: 12rem;
	padding-bottom: 12rem;
}

#about .section-intro {
	margin-bottom: 3rem;
}

.intro-info img {
	height: 9rem;
	width: 9rem;
	border-radius: 50%;
	margin: .9rem 0 0 0;
	float: left;
}

.intro-info .lead {
	text-align: left;
	padding-left: 13rem;
}

.about-content h3 {
	font-family: "poppins-bold", sans-serif;
	font-size: 1.8rem;
	text-transform: uppercase;
	letter-spacing: .25rem;
}

.about-content .info-list {
	list-style: none;
	margin-left: 0;
}

.about-content .info-list li {
	padding: 0 0 1.5rem 0;
	margin-bottom: .6rem;
}

.about-content .info-list li strong {
	font-family: "poppins-bold", sans-serif;
	color: #313131;
	text-transform: uppercase;
	letter-spacing: .2rem;
	font-size: 1.5rem;
	line-height: 3rem;
}

.about-content .info-list li span {
	display: block;
	font-family: "poppins-regular", sans-serif;
	color: #888888;
	font-size: 1.5rem;
	line-height: 1;
}

.about-content .skill-bars {
	margin-top: 6rem;
}

.button-section .button {
	width: 250px;
}

.button-section [class*="col-"] .button:first-child {
	margin-right: 4rem;
}

/**
 * responsive:
 * about
 * ------------------------------------------------------------------- 
 */
@media only screen and (max-width:1024px) {}

@media only screen and (max-width:768px) {
	.intro-info img {
		height: 7.8rem;
		width: 7.8rem;
	}

	.intro-info .lead {
		padding-left: 11rem;
	}

	.about-content h3 {
		text-align: center;
	}

	.about-content .info-list,
	.about-content .skill-bars {
		margin-bottom: 4.2rem;
	}

	.button-section .button {
		width: 100%;
		margin-bottom: 3rem;
	}

	.button-section [class*="col-"] .button:first-child {
		margin-right: 0;
	}
}

@media only screen and (max-width:600px) {
	.intro-info img {
		height: 6.6rem;
		width: 6.6rem;
		float: none;
		display: inline-block;
	}

	.intro-info .lead {
		padding-left: 0;
		text-align: center;
	}
}

/** 
 * ===================================================================
 * 12. resume - (_layout.scss)
 *
 * ------------------------------------------------------------------- 
 */
#resume {
	padding-top: 12rem;
	padding-bottom: 12rem;
	background: #ffffff !important;
}

#resume .resume-header {
	text-align: center;
}

#resume .resume-header h2 {
	color: #FF0077;
}

#resume .resume-timeline {
	max-width: 980px;
}

#resume .timeline-wrap {
	position: relative;
	margin-top: 1.5rem;
	margin-bottom: 6rem;
}

#resume .timeline-wrap::before {
	content: "";
	display: block;
	width: 2px;
	height: 100%;
	background: rgba(204, 0, 82, 0.15);
	position: absolute;
	left: 35%;
	top: 0;
}

#resume .timeline-block {
	position: relative;
	padding-top: 1.5rem;
}

#resume .timeline-ico {
	height: 4.8rem;
	width: 4.8rem;
	line-height: 4.8rem;
	background: #CC0052;
	border-radius: 50%;
	text-align: center;
	color: #FFFFFF;
	position: absolute;
	left: 35%;
	top: .9rem;
	margin-left: -2.4rem;
	box-shadow: 0 0 0 8px #ffffff;
}

#resume .timeline-ico i {
	position: relative;
	left: .05rem;
	top: .2rem;
}

#resume .timeline-header {
	float: left;
	width: 35%;
	padding-right: 90px;
	text-align: right;
}

#resume .timeline-header h3 {
	margin-bottom: 0;
}

#resume .timeline-header p {
	font-family: "poppins-regular", sans-serif;
	font-size: 1.6rem;
	color: #888888;
}

#resume .timeline-content {
	margin-left: 35%;
	padding-left: 60px;
}

#resume .timeline-content h4 {
	position: relative;
	padding-bottom: 1.8rem;
}

#resume .timeline-content h4::after {
	content: "";
	display: block;
	height: 3px;
	width: 50px;
	background: rgba(0, 0, 0, 0.2);
	position: absolute;
	left: 0;
	bottom: 0;
}

/**
 * responsive:
 * resume
 * ------------------------------------------------------------------- 
 */
@media only screen and (max-width:1024px) {
	#resume .timeline-header {
		padding-right: 50px;
	}

	#resume .timeline-header h3 {
		font-size: 1.8rem;
	}

	#resume .timeline-header p {
		font-size: 1.4rem;
	}

	#resume .timeline-content {
		padding-left: 50px;
	}
}

@media only screen and (max-width:768px) {
	#resume .timeline-wrap::before {
		left: 2.4rem;
	}

	#resume .timeline-ico {
		left: 2.4rem;
	}

	#resume .timeline-header {
		float: none;
		width: auto;
		padding-right: 15px;
		text-align: left;
	}

	#resume .timeline-header h3 {
		font-size: 2rem;
	}

	#resume .timeline-header p {
		font-size: 1.5rem;
		margin-bottom: 1.5rem;
	}

	#resume .timeline-content {
		margin: 0;
	}

	#resume .timeline-content h4 {
		padding-bottom: 0;
		padding-top: 2.1rem;
		margin-bottom: .6rem;
		font-size: 1.7rem;
	}

	#resume .timeline-content h4::after {
		bottom: auto;
		top: 0;
	}

	#resume .timeline-header,
	#resume .timeline-content {
		padding-left: 7rem;
	}
}

@media only screen and (max-width:480px) {
	#resume .resume-header h2 {
		font-size: 2.2rem;
	}

	#resume .timeline-wrap::before {
		left: 1.8rem;
	}

	#resume .timeline-ico {
		height: 3.6rem;
		width: 3.6rem;
		line-height: 3.6rem;
		left: 1.8rem;
		margin-left: -1.8rem;
		font-size: 1.5rem;
	}

	#resume .timeline-header,
	#resume .timeline-content {
		padding-left: 5.5rem;
	}
}


/** 
 * ===================================================================
 * 13. portfolio - (_layout.scss)
 *
 * ------------------------------------------------------------------- 
 */
#portfolio {
	background: #FFFFFF;
	padding-top: 12rem;
	padding-bottom: 12rem;
}

#portfolio #portfolio .folio-item img {
	vertical-align: middle;
	-moz-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	-webkit-transition: all 0.5s ease-in-out;
	-ms-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}

#portfolio #portfolio #portfolio #portfolio #portfolio #portfolio .folio-item:hover #portfolio .folio-item:hover #portfolio .folio-item:hover img {
	-webkit-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
}

/**
 * responsive:
 * portfolio
 * ------------------------------------------------------------------- 
 */
@media only screen and (max-width:1024px) {}

@media only screen and (max-width:768px) {}

@media only screen and (max-width:400px) {}

/**
 * Popup Modal - (_layout.scss)
 * ------------------------------------------------------------------
 */
.popup-modal .popup-modal img {
	vertical-align: bottom;
}

.popup-modal .popup-modal .description-box h4 {
	font-family: "poppins-bold", sans-serif;
	font-size: 1.5rem;
	line-height: 2.4rem;
	margin-bottom: .6rem;
}

.popup-modal .description-box p {
	font-family: "poppins-regular", sans-serif;
	font-size: 1.4rem;
	line-height: 2.4rem;
	margin-bottom: 12px;
}

.popup-modal .popup-modal .popup-modal .link-box a {
	font-family: "poppins-bold", sans-serif;
	font-size: 1.2rem;
	line-height: 6rem;
	color: #FFFFFF;
	text-transform: uppercase;
	letter-spacing: 3px;
	cursor: pointer;
	display: block;
	text-align: center;
	float: left;
	width: 50%;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.popup-modal .link-box a:first-child {
	border-right: 1px solid rgba(200, 200, 200, 0.1);
}

.popup-modal .link-box a:hover {
	background: #cc005f;
	border: none;
}

@media only screen and (max-width:600px) {}

/**
 * transition effect for modal popup - (_layout.scss)
 * ------------------------------------------------------------------ 
 */

/* overlay at start */
.mfp-fade
/* overlay animate in */
.mfp-fade.mfp-bg
/* overlay animate out */
.mfp-fade.mfp-bg
/* content at start */
.mfp-fade.mfp-wrap
/* content animate in */
.mfp-fade.mfp-wrap.mfp-ready
/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing

/** 
 * ===================================================================
 * 14. call-to-action section - (_layout.scss)
 *
 * ------------------------------------------------------------------- 
 */
#cta {
	padding-top: 10.2rem;
	padding-bottom: 9rem;
	text-align: center;
}

#cta p.lead {
	color: #6e6e6e;
}

.cta-thumb img {
	height: 7.8rem;
	width: 7.8rem;
	border-radius: 50%;
}

/**
 * section ads - (_layout.scss)
 * ------------------------------------------------------------------- 
 */
.section-ads h2 {
	position: relative;
	padding-bottom: 2.1rem;
}

.section-ads h2::after {
	content: "";
	display: block;
	height: 3px;
	width: 80px;
	background: rgba(0, 0, 0, 0.2);
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-left: -40px;
}

.section-ads h2 a,
.section-ads h2 a:visited {
	color: #313131;
}

.section-ads span {
	color: #3F0D39;
}

/**
 * responsive:
 * cta
 * -------------------------------------------------------------------
 */
@media only screen and (max-width:650px) {
	.cta-content h2 {
		font-size: 2.4rem;
	}
}


/** 
 * ===================================================================
 * 15. services - (_layout.scss)
 *
 * ------------------------------------------------------------------- 
 */
#services {
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	padding-top: 12rem;
	padding-bottom: 12rem;
	color: white;
	position: relative;
}

#services #services .section-intro {
	margin-bottom: 1.8rem;
}

#services .section-intro h1 {
	color: white;
}

#services .section-intro h5 {
	color: #FF0077;
}

#services .section-intro p {
	color: rgba(255, 255, 255, 0.7);
}

.services-list .services-list .services-list .icon i {
	font-size: 5.4rem;
	color: #FF0077;
}

.services-list h3 {
	color: #FFFFFF;
}

.services-list

/* pagination */
.owl-theme .owl-controls .owl-theme .owl-controls .owl-page span {
	display: block;
	width: 1.2rem;
	height: 1.2rem;
	margin: 1.2rem .8rem 0 .8rem;
	border-radius: 50%;
	display: inline-block;
	background: #FFFFFF;
}

.owl-theme .owl-controls .owl-page.active span {
	background: #FF0077;
}


/** 
 * ===================================================================
 * 16. stats - (_layout.scss)
 *
 * ------------------------------------------------------------------- 
 */
#stats {
	background: #990047;
	padding-top: 12rem;
	padding-bottom: 12rem;
	text-align: center;
}

#stats .row {
	max-width: 1440px;
}

#stats .stat {
	border-left: 1px solid rgba(255, 255, 255, 0.12);
}

#stats .stat:first-child {
	border: none;
}

/**
 * responsive:
 * stats
 * -------------------------------------------------------------------
 */
@media only screen and (max-width:1024px) {
	#stats .stat:nth-child(n) {
		border-left: 1px solid rgba(255, 255, 255, 0.12);
		padding-bottom: 1.5rem;
	}

	#stats .stat:nth-child(3n+1) {
		border: none;
	}
}

@media only screen and (max-width:768px) {
	#stats .stat:nth-child(n) {
		border-left: 1px solid rgba(255, 255, 255, 0.12);
	}

	#stats .stat:nth-child(2n+1) {
		border: none;
	}
}

@media only screen and (max-width:600px) {
	#stats .stat:nth-child(n) {
		border: none;
	}
}


/** 
 * ===================================================================
 * 17. contact - (_layout.scss)
 *
 * ------------------------------------------------------------------- 
 */
#contact {
	background: #151515;
	padding-top: 12rem;
	padding-bottom: 12rem;
}

#contact .section-intro h1 {
	color: white;
}

#contact .section-intro h5 {
	color: #FF0077;
}

#contact .section-intro p {
	color: rgba(255, 255, 255, 0.7);
}

/* contact form */
.contact-form {
	max-width: 740px;
}

.contact-form ::-webkit-input-placeholder {
	color: rgba(255, 255, 255, 0.3);
}

.contact-form :-moz-placeholder {
	color: rgba(255, 255, 255, 0.3);
	/* Firefox 18- */
}

.contact-form ::-moz-placeholder {
	color: rgba(255, 255, 255, 0.3);
	/* Firefox 19+ */
}

.contact-form :-ms-input-placeholder {
	color: rgba(255, 255, 255, 0.3);
}

.contact-form #contact form {
	margin-top: 0;
	margin-bottom: 3rem;
}

#contact form .form-field {
	position: relative;
}

#contact form .form-field:before,
#contact form .form-field:after {
	content: "";
	display: table;
}

#contact form .form-field:after {
	clear: both;
}

#contact form .form-field label {
	font-family: "poppins-bold", sans-serif;
	font-size: 1.1rem;
	line-height: 2.4rem;
	position: absolute;
	bottom: -1.2rem;
	right: .6rem;
	text-transform: uppercase;
	letter-spacing: .1rem;
	padding: 0 2rem;
	margin: 0;
	color: #FFFFFF;
	background: #FF0077;
}

#contact form .form-field label::after {
	position: absolute;
	left: -5px;
	top: 50%;
	margin-top: -6px;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-right: 5px solid #FF0077;
	content: "";
}

#contact input[type="text"],
#contact input[type="password"],
#contact input[type="email"],
#contact textarea {
	width: 100%;
	color: rgba(255, 255, 255, 0.7);
	margin-bottom: 0;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

#contact input[type="text"],
#contact input[type="password"],
#contact input[type="email"] {
	height: 6.6rem;
	padding: 1.8rem 2rem;
}

#contact input[type="text"]:focus,
#contact input[type="password"]:focus,
#contact input[type="email"]:focus {
	border-color: #FF0077;
	color: #FFFFFF;
}

#contact textarea {
	min-height: 20rem;
	padding: 1.8rem 2rem;
}

#contact textarea:focus {
	border-color: #FF0077;
	color: #FFFFFF;
}

#contact button.submitform {
	font-size: 1.5rem;
	display: block;
	letter-spacing: .2rem;
	height: 6.6rem;
	line-height: 6.6rem;
	padding: 0 3rem;
	margin-top: 4.8rem;
	width: 100%;
	background: #FF0077;
	color: #FFFFFF;
}

#contact button.submitform:hover,
#contact button.submitform:focus {
	background: #cc005f;
}

#message-warning,
#message-success {
	display: none;
	background: #0d0d0d;
	border-radius: 3px;
	padding: 3rem;
	margin-bottom: 3.6rem;
	width: 100%;
}

#message-warning {
	color: #fa0003;
}

#message-success {
	color: #FF0077;
}

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

/* form loader */
#submit-loader {
	display: none;
	position: relative;
	left: 0;
	top: 1.8rem;
	width: 100%;
	text-align: center;
}

#submit-loader .oldie #submit-loader .oldie #submit-loader .contact-info .collapse {
	padding: 0;
}

.contact-info .contact-info .icon i {
	font-size: 4.2rem;
	color: #FFFFFF;
}

.contact-info h5 {
	color: #FF0077;
}

/**
 * loader animation - (_layout.scss)
 * --------------------------------------------------------------- 
 */
.s-loader>div {
	width: 1rem;
	height: 1rem;
	background-color: #FFFFFF;
	border-radius: 100%;
	display: inline-block;
	margin-right: .9rem;
	-webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
	animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.s-loader .s-loader @-webkit-keyframes sk-bouncedelay {

	0%,
	80%,
	100% {
		-webkit-transform: scale(0);
		-ms-transform: scale(0);
		transform: scale(0);
	}

	40% {
		-webkit-transform: scale(1);
		-ms-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes sk-bouncedelay {

	0%,
	80%,
	100% {
		-webkit-transform: scale(0);
		-ms-transform: scale(0);
		transform: scale(0);
	}

	40% {
		-webkit-transform: scale(1);
		-ms-transform: scale(1);
		transform: scale(1);
	}
}


/** 
 * ===================================================================
 * 18. footer - (_layout.scss)
 *
 * ------------------------------------------------------------------- 
 */
footer {
	padding-bottom: 3rem;
	font-size: 1.4rem;
	font-family: "poppins-regular", sans-serif;
}

footer a,
footer a:visited {
	color: #FFFFFF;
}

footer a:hover,
footer a:focus {
	color: #FF0077;
}

footer .row {
	max-width: 900px;
}

footer footer footer .footer-social li {
	display: inline-block;
	margin: 0 12px;
	padding: 0;
}

footer .footer-social li a {
	color: #FFFFFF;
}

footer .copyright span {
	display: inline-block;
}

footer .copyright span::after {
	content: "|";
	display: inline-block;
	padding: 0 1rem 0 1.2rem;
	color: rgba(255, 255, 255, 0.1);
}

footer .copyright span:last-child::after {
	display: none;
}

/**
 * responsive:
 * footer
 * -------------------------------------------------------------------
 */
@media only screen and (max-width:768px) {
	footer {
		text-align: center;
	}

	footer footer .copyright span {
		display: block;
	}

	footer .copyright span::after {
		display: none;
	}
}

/**
 * go to top - (_layout.scss)
 * ------------------------------------------------------------------- 
 */
#go-top {
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 600;
	display: none;
}

#go-top a {
	text-decoration: none;
	border: 0 none;
	display: block;
	height: 6.6rem;
	width: 6rem;
	line-height: 6.6rem;
	text-align: center;
	background: #cc005f;
	color: #FFFFFF;
	text-align: center;
	text-transform: uppercase;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

#go-top a i {
	font-size: 1.6rem;
	line-height: inherit;
}

#go-top a:hover {
	background: #000000;
}

/* Landing Page Component Styles */

/* Intro Section - Button Responsive Styles */
@media (max-width: 480px) {
	.intro-buttons {
		flex-direction: column;
		align-items: center;
	}

	.intro-buttons .button {
		width: 100%;
		margin: 0 !important;
	}
}

/* Blog Preview Cards (Home Page) */
.blog-card {
	background: #fff;
	width: 100% !important;
	margin: 0 !important;
	border-radius: 4px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
	transition: all 0.3s ease;
	border-top: 4px solid #CC0052;
	display: flex;
}

.blog-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
	border-top-color: #313131;
}

.card-content {
	padding: 3rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.card-meta {
	font-size: 1.1rem;
	color: #CC0052;
	font-weight: 600;
	text-transform: uppercase;
	font-family: 'JetBrains Mono', monospace;
	display: block;
	margin-bottom: 1.2rem;
}

.card-title {
	font-family: 'Raleway', sans-serif;
	font-size: 2rem !important;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1.5rem;
	color: #313131;
}

.card-excerpt {
	font-size: 1.5rem;
	line-height: 1.6;
	color: #555;
	font-family: 'Lora', serif;
	margin: 0;
}

/* Response: Tablets & Mobile */
@media (max-width: 1024px) {
	.blog-card {
		flex: 1 1 calc(50% - 2rem);
		max-width: calc(50% - 2rem);
	}
}

@media (max-width: 768px) {
	.blog-card {
		flex: 1 1 100%;
		max-width: 100%;
	}

	.card-content {
		padding: 2.5rem;
	}
}

.blog-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 30px !important;
	width: 100% !important;
	max-width: 1140px !important;
	margin: 0 auto !important;
}

@media (max-width: 1024px) {
	.blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	.blog-grid {
		grid-template-columns: 1fr !important;
		gap: 2rem !important;
	}
}

.blog-view-more-container {
	margin-top: 15rem !important;
	padding-bottom: 6rem;
}

/* DARK MODE SUPPORT FOR BLOG CARDS */
@media (prefers-color-scheme: dark) {
	.blog-card {
		background: #1e1e1e;
		border-color: #CC0052;
		box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
	}

	.blog-card:hover {
		background: #252525;
		border-top-color: #fff;
	}

	.card-title {
		color: #eee !important;
	}

	.card-excerpt {
		color: #bbb;
	}
}

/* Centering & Layout Helpers */
.contact-form {
	max-width: 1100px;
	margin: 0 auto !important;
	float: none !important;
}

.blog-wrapper,
.post-detail-wrapper {
	max-width: 1200px;
	margin: 0 auto !important;
	float: none !important;
}

/* --- NEW REDESIGN: EDUCATION SECTION (DARK) --- */
.edu-section-dark {
	background: #0a0a0a !important;
	padding-top: 12rem;
	padding-bottom: 12rem;
	color: #fff;
	position: relative;
	overflow: hidden;
}

.edu-section-dark::before {
	content: "";
	position: absolute;
	top: -10%;
	left: -10%;
	width: 40%;
	height: 40%;
	background: radial-gradient(circle, rgba(204, 0, 82, 0.05) 0%, transparent 70%);
	pointer-events: none;
}

.education-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 30px;
	width: 100% !important;
	max-width: 1140px !important;
	margin: 4rem auto 0 !important;
	float: none !important;
}

.education-grid>div {
	display: flex;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

@media (max-width: 1024px) {
	.education-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	.education-grid {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}
}

.edu-card {
	background: linear-gradient(145deg, #1e1e1e, #252525);
	border-left: 4px solid #CC0052;
	padding: 4rem;
	-webkit-flex: 1;
	flex: 1;
	width: 100%;
	/* Force equal height for cards in the same row */
	position: relative;
	border-radius: 8px;
	transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
}

.edu-card:hover {
	background: #1f1f1f;
	transform: translateY(-8px) scale(1.02);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
	border-left-width: 6px;
}

.edu-card-icon {
	position: absolute;
	top: 4rem;
	right: 4rem;
	font-size: 3.5rem;
	color: rgba(204, 0, 82, 0.1);
	transition: all 0.3s ease;
}

.edu-card:hover .edu-card-icon {
	color: #CC0052;
	transform: rotate(15deg) scale(1.2);
}

.edu-date {
	display: inline-block;
	color: #FF4081;
	font-family: 'JetBrains Mono', monospace;
	font-weight: 700;
	font-size: 1.3rem;
	margin-bottom: 1.2rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.edu-card-header h3 {
	color: #ffffff;
	font-family: 'Raleway', sans-serif;
	font-size: 2.4rem;
	line-height: 1.2;
	margin: 0 0 0.8rem 0;
	font-weight: 700;
	border: none;
}

.edu-card-header h4 {
	color: #e0e0e0;
	font-family: 'JetBrains Mono', monospace;
	font-size: 1.6rem;
	font-weight: 500;
	margin-bottom: 2.5rem;
	border: none;
}

.edu-card-content {
	color: #e0e0e0;
	font-family: 'Lora', serif;
	font-size: 1.6rem;
	line-height: 1.8;
}

.credential-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 3rem;
	color: #fff !important;
	text-decoration: none;
	font-family: 'JetBrains Mono', monospace;
	font-weight: 700;
	font-size: 1.2rem;
	text-transform: uppercase;
	letter-spacing: 2px;
	padding: 1.2rem 2.5rem;
	border: 2px solid #CC0052;
	transition: all 0.3s ease;
	border-radius: 4px;
}

.credential-btn:hover {
	background: #CC0052;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 5px 15px rgba(204, 0, 82, 0.3);
}

/* --- PORTFOLIO REDESIGN --- */
#portfolio {
	padding-top: 12rem;
	padding-bottom: 12rem;
	background: #fff;
}

.portfolio-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 30px;
	width: 100% !important;
	max-width: 1140px !important;
	margin: 0 auto !important;
	padding: 0 20px;
}

@media (max-width: 1100px) {
	.portfolio-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 768px) {
	.portfolio-grid {
		grid-template-columns: 1fr !important;
	}
}

.project-card {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	border: 1px solid #f0f0f0;
}

.project-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}

.project-image-wrapper {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	/* Fallback 16:9 (9/16 = 0.5625) */
	max-height: 250px;
	overflow: hidden;
}

@supports (aspect-ratio: 16/9) {
	.project-image-wrapper {
		aspect-ratio: 16 / 9;
		height: auto;
		padding-bottom: 0;
	}
}

.project-image-wrapper img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-webkit-transition: -webkit-transform 0.6s ease;
	transition: -webkit-transform 0.6s ease;
	transition: transform 0.6s ease;
	transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}

.project-card:hover .project-image-wrapper img {
	transform: scale(1.1);
}

.project-badge {
	position: absolute;
	top: 20px;
	right: 20px;
	background: #CC0052;
	color: #fff;
	padding: 6px 14px;
	font-family: 'JetBrains Mono', monospace;
	font-weight: 700;
	font-size: 1.1rem;
	border-radius: 4px;
	z-index: 5;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.project-card-info {
	padding: 3rem;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.project-title {
	font-family: 'Raleway', sans-serif;
	font-weight: 700;
	font-size: 2.2rem;
	color: #313131;
	margin: 0 0 1.5rem 0;
	transition: color 0.3s ease;
}

.project-card:hover .project-title {
	color: #CC0052;
}

.project-description {
	font-family: 'Lora', serif;
	font-size: 1.5rem;
	line-height: 1.7;
	color: #666;
	margin-bottom: 2.5rem;
}

.btn-view-more {
	display: block;
	width: 100%;
	padding: 1.8rem !important;
	background: #313131 !important;
	color: #fff !important;
	text-align: center;
	text-transform: uppercase;
	font-family: 'JetBrains Mono', monospace;
	font-weight: 700;
	letter-spacing: 2px;
	font-size: 1.2rem;
	border-radius: 4px;
	margin-top: auto;
	transition: all 0.3s ease !important;
}

.btn-view-more:hover {
	background: #CC0052 !important;
	color: #fff !important;
}

/* --- UTILITIES & LAYOUT (FROM HTML CLEANUP) --- */
html {
	scroll-behavior: smooth;
}

body {
	font-family: 'Poppins', system-ui, sans-serif;
	margin: 0;
	padding-top: 80px;
}

header {
	width: 100%;
	background: #0c0c0c;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 500;
	height: 80px;
	display: flex;
	align-items: center;
}

.top-bar {
	max-width: 100%;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 40px;
	height: 80px;
	margin: 0;
}

header .logo a {
	font-family: 'Raleway', sans-serif;
	color: #CC0052 !important;
	font-size: clamp(1.4rem, 4vw, 2.4rem);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

nav {
	display: flex;
	gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (max-width: 768px) {
	.top-bar {
		padding: 0 20px;
	}

	header .logo a {
		font-size: clamp(1.2rem, 3vw, 1.8rem);
	}
}

/* --- BLOG SECTION ENHANCEMENTS --- */
#blog-preview {
	padding: 12rem 0;
	background-color: #f9f9f9;
}

#blog-preview .section-title {
	font-family: 'Raleway', sans-serif;
	font-weight: 700;
	margin-bottom: 4rem;
	text-align: center;
}

#blog-preview .section-subtitle {
	color: #CC0052;
	letter-spacing: .2rem;
	text-transform: uppercase;
	margin-bottom: 1rem;
	text-align: center;
}

.blog-card-link {
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.blog-card .read-time {
	color: #313131;
}

.blog-card .read-more {
	margin-top: auto;
	padding-top: 2rem;
	color: #CC0052;
	font-weight: 700;
	font-size: 1.2rem;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.blog-preview .empty-msg {
	font-size: 1.8rem;
	color: #777;
	text-align: center;
}

.blog-btn {
	border-color: #CC0052 !important;
	color: #CC0052 !important;
	font-size: 1.2rem !important;
	height: 5.5rem !important;
	line-height: 5.3rem !important;
}

/* --- EDUCATION SECTION ENHANCEMENTS --- */
.edu-section-dark .section-subtitle {
	color: #CC0052;
	letter-spacing: 2px;
}

.edu-section-dark .section-title {
	color: #fff;
}

/* Standardize row and col-twelve behavior across all sections */
.row {
	max-width: 1200px !important;
	/* Unified width for all rows */
	width: 94% !important;
	margin: 0 auto !important;
	float: none !important;
}

.col-twelve {
	width: 100% !important;
	float: left !important;
	padding: 0 20px !important;
}

/* Ensure centering for main containers */
.blog-wrapper,
.post-detail-wrapper,
#portfolio,
#contact,
#education {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Remove specific overrides that were causing mismatches */
#contact .contact-form {
	max-width: 1200px !important;
	/* Match standard row width */
}

#contactForm {
	width: 100% !important;
	margin: 0 auto !important;
}


@media (max-width: 768px) {
	.row {
		width: auto !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/* Metrics SVG Rings */
.metric-circle {
	position: relative;
	width: 150px;
	height: 150px;
	margin: 0 auto 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

.progress-ring {
	transform: rotate(-90deg);
	transform-origin: 50% 50%;
}

.progress-ring__circle {
	transition: stroke-dashoffset 2s ease-in-out;
	transform-origin: 50% 50%;
	stroke-linecap: round;
}

/* Background circle */
.progress-ring__bg {
	stroke: rgba(255, 255, 255, 0.1);
}

.metric-number {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.metric-number h3 {
	font-size: 3.5rem !important;
	margin: 0;
	line-height: 1;
}

/* Visual Polish & Interactions */

/* Button Hover Effects */
.button,
.submitform,
.btn-view-more {
	transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease !important;
}

.button:hover,
.submitform:hover,
.btn-view-more:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

/* Card Lift Effect (Portfolio, Resume, etc) */
.project-card,
.timeline-block,
.edu-card,
.metric-item {
	transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.project-card:hover,
.timeline-block:hover,
.edu-card:hover {
	transform: translateY(-5px);
	z-index: 10;
}

/* Link Enhancements */
a {
	position: relative;
	text-decoration: none;
}

/* Navigation Hover */
.current a {
	color: #CC0052 !important;
}

/* Image Hover - Glow */
.about-image-column img {
	transition: box-shadow 0.3s ease;
}

.about-image-column img:hover {
	box-shadow: 0 0 25px rgba(204, 0, 82, 0.4);
}