/* =================================
------------------------------------
  Civic - CV Resume
  Version: 1.0
 ------------------------------------ 
 ====================================*/

/*----------------------------------------*/
/* Template default CSS
/*----------------------------------------*/
html {
    font-size: 80%; /* Reducción del 20% en el tamaño de fuente base */
}

html,
body {
	height: 100%;
	font-family: 'Josefin Sans', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #40424a;
	margin: 0;
	font-weight: 600;
	font-family: 'Josefin Sans', sans-serif;
}

h2 {
	font-size: 48px;
}

h3 {
	font-size: 30px;
}

p {
	font-size: 18px;
	color: #808181;
	line-height: 1.8;
}

img {
	max-width: 100%;
}

input:focus,
select:focus,
button:focus,
textarea:focus {
	outline: none;
}

a:hover,
a:focus {
	text-decoration: none;
	outline: none;
}

ul,
ol {
	padding: 0;
	margin: 0;
}

/*---------------------
	Helper CSS
-----------------------*/
.spad {
	padding-top: 125px;
	padding-bottom: 110px;
}

.section-title h2 {
	display: inline-block;
	position: relative;
	margin-bottom: 110px;
	padding-bottom: 2px;
	line-height: normal;
}

.section-title h2:after {
	position: absolute;
	content: '';
	width: 100%;
	height: 2px;
	left: 0;
	bottom: 0;
	background: #741579;
}

/* Eliminado la clase set-bg y sus efectos */
/* .set-bg {
    background-repeat: no-repeat;
    background-size: cover;
} */

/*------------------------
  Common Elements
--------------------------*/

/* Preloder */
#preloder {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 999999;
	background: #fff;
}

.loader {
	width: 30px;
	height: 30px;
	border: 3px solid #000;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -13px;
	margin-left: -13px;
	border-radius: 60px;
	border-left-color: transparent;
	animation: loader 0.8s linear infinite;
	-webkit-animation: loader 0.8s linear infinite;
}

@keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}
	50% {
		-webkit-transform: rotate(180deg);
		        transform: rotate(180deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}

@-webkit-keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
	}
	50% {
		-webkit-transform: rotate(180deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
	}
}

/* Site Buttons */
.site-btn {
	display: inline-block;
	background: #741579;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	padding: 12px 30px;
	border-radius: 50px;
	text-transform: uppercase;
	letter-spacing: 1px;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.site-btn:hover {
	color: #fff;
	background: #5a1260;
}

.circle-progress {
	text-align: center;
	padding-top: 30px;
	display: inline-block;
}

.circle-progress .prog-circle {
	margin-bottom: -155px;
}

.circle-progress canvas {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
}

.circle-progress .progress-info {
	background: #f2f7f8;
	width: 127px;
	height: 127px;
	border-radius: 150px;
	margin: 0 auto;
	padding-top: 45px;
}

.circle-progress .progress-info h2 {
	font-size: 36px;
	color: #40424a !important;
}

.circle-progress .prog-title {
	text-align: center;
	margin-top: 55px;
}

.circle-progress .prog-title h3 {
	font-size: 16px;
	text-transform: uppercase;
}

.circle-progress .prog-title p {
	font-size: 15px;
	color: #808181 !important;
}

/* Image Popup */
/* Eliminado CSS del popup de imágenes */
/* .img-popup-warp .mfp-content,
.img-popup-warp.mfp-ready.mfp-removing .mfp-content {
    opacity: 0;
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8);
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
} */

/* .img-popup-warp.mfp-ready .mfp-content {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
} */

/* Fact box */
.fact-box {
	height: 375px;
	display: table;
	width: 100%;
	background: #40424a;
}

.fact-box.trans {
	background-color: transparent;
}

.fact-box .fact-content {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

.fact-box .fact-content img {
	width: 60px;
	margin-bottom: 30px;
}

.fact-box .fact-content h2 {
	font-size: 36px;
	color: #fff;
}

.fact-box .fact-content p {
	color: #fff;
	margin-bottom: 0;
}

/* Porgess bar */
.single-progress-item {
	margin-bottom: 35px;
	position: relative;
}

.single-progress-item p {
	color: #40424a;
	margin-bottom: 0;
	font-weight: 600;
}

.progress-bar-style {
	display: block;
	height: 2px;
	position: relative;
	width: 100%;
	margin-bottom: 10px;
}

.bar-inner {
	position: absolute;
	height: 100%;
	left: 0;
	top: 0;
	background: #741579;
}

.bar-inner span {
	position: absolute;
	right: 0;
	bottom: -30px;
	color: #741579;
	font-weight: 600;
}

/* Progress dots */
.language-progress {
	max-width: 280px;
	list-style: none;
}

.language-progress li {
	font-size: 24px;
	position: relative;
	padding-right: 150px;
	margin-bottom: 30px;
}

.language-progress .lan-prog {
	position: absolute;
	right: 0;
	top: 0;
}

.language-progress .lan-prog span {
	width: 12px;
	height: 12px;
	display: inline-block;
	margin-right: 18px;
	border-radius: 12px;
	background: #741579;
}

.language-progress .lan-prog span.fade-ele {
	background: #cacaca;
}

/* Icon Box */
.icon-box {
	text-align: center;
	display: inline-block;
	margin-right: 60px;
}

.icon-box:last-child {
	margin-right: 0;
}

.icon-box i {
	font-size: 60px;
}

.icon-box p {
	color: #40424a;
}

.social-links a {
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.social-links a:hover {
	background: #741579;
	border-color: #741579;
}

/*---------------------
	Header section
-----------------------*/
.header-section {
	padding: 50px 40px;
	background: #f2f7f8;
}

.site-logo h2 {
	font-size: 36px;
}

.site-logo h2 a {
	color: #40424a;
}

.site-logo p {
	font-size: 14px;
	line-height: normal;
}

.header-buttons a {
	margin-top: 15px;
}

/*---------------------
	Extra section
-----------------------*/
.extra-section {
    background-color: #ffffff;
    padding: 100px 0;
}

/*---------------------
	Hero section
-----------------------*/
.hero-section {
	background: #f2f7f8;
	padding: 80px 0 60px;
}

.hero-text {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	height: 100%;
}

.hero-text h2 {
	font-size: 72px;
	margin: 0 0 0 0 !important;
	line-height: 1;
	font-weight: 700;
	color: #40424a;
}

.typed {
	font-size: 28px;
	color: #666;
	font-weight: 400;
	margin-bottom: 10px;
	display: block;
	margin: 5px 0 0 0 !important;
	line-height: 1.2;
}

.hero-image {
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	height: 100%;
	padding-top: 0;
	margin-bottom: 5px;  /* Reducir espacio debajo del texto mecanografiado */

}

.hero-image img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.hero-info {
    margin-top: 40px;
    padding: 0;
    width: 100%;
}


.hero-info h2 {
	margin: 0 0 10px 0;
    font-size: 24px;
}

.hero-info ul {
	list-style: none;
}

.hero-info ul li {
	font-size: 24px;
	color: #808181;
	margin-bottom: 15px;
}

.hero-info ul li span {
	color: #40424a;
	display: inline-block;
	min-width: 220px;
}

.hero-info ul li:last-child {
	margin-bottom: 0;
}

/* Tags Section */
.tags-section {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid #e9ecef;
}

.tags-section h3 {
    font-size: 18px;
    color: #40424a;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.tags-section h3 i {
    color: #741579;
    font-size: 16px;
}

.tag-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tag {
    display: inline-flex;
    align-items: center;
    background-color: #741579;
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid #741579;
}

/* Remove icon styles since we're not using them */
.tag i {
    display: none;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .tags-section h3 {
        font-size: 16px;
    }
    
    .tag {
        font-size: 13px;
        padding: 5px 10px;
    }
}

/* Ajustes para pantallas medianas */
@media (max-width: 1199px) {
    .hero-text h2 {
        font-size: 60px;
    }
    
    .typed {
        font-size: 24px;
    }
}

/* Ajustes para tablets */
@media (max-width: 991px) {
    .hero-text h2 {
        font-size: 48px;
    }
    
    .typed {
        font-size: 20px;
    }
}

/* Ajustes para móviles */
@media (max-width: 767px) {
    .hero-text h2 {
        font-size: 36px;
    }
    
    .typed {
        font-size: 18px;
    }
}

/*---------------------
	Social section
-----------------------*/
.social-section {
	background: #f9f9f9;
	padding: 80px 0;
}

.social-section .social-links {
	display: inline-block;
	background: #f9f9f9;
	position: relative;
	z-index: 5;
}

.social-section .social-links a {
	color: #484848;
	font-size: 36px;
	margin-right: 40px;
}

.social-section .social-link-warp {
	position: relative;
}

.social-section .social-link-warp h2 {
	display: inline-block;
	float: right;
	font-weight: 400;
	padding-left: 30px;
	background: #f9f9f9;
	position: relative;
	z-index: 5;
}

.social-section .social-link-warp:after {
	position: absolute;
	content: '';
	width: 50%;
	height: 2px;
	left: 23%;
	top: 50%;
	margin-top: 1px;
	background: #cbcbcb;
}

/*---------------------
	Resume section
----------------------*/
/* Education section with background */
.education-section {
    position: relative;
    background-color: #fff;
    overflow: hidden;
    padding: 80px 0;
    background-image: url(../img/resume-bg.jpg);
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Wrapper for education content */
.education-section > .container {
    position: relative;
    z-index: 2;
    background-color: rgba(255, 255, 255, 0.95);
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

/* Ensure proper spacing for the section title */
.education-section .section-title {
    margin-bottom: 40px;
}

/* Style for education cards */
.education-cards {
    position: relative;
    z-index: 2;
}

.resume-list {
	list-style: none;
	margin-left: 60px;
	padding-left: 110px;
	border-left: 2px solid #40424a;
}

.resume-list li {
	margin-bottom: 120px;
	position: relative;
}

.resume-list li:last-child {
	margin-bottom: 0;
}

.resume-list li:after {
	position: absolute;
	content: '';
	width: 15px;
	height: 15px;
	border: 2px solid #40424a;
	border-radius: 50px;
	background: #cacaca;
	top: 30px;
	left: -118px;
}

.resume-list h2 {
	font-size: 72px;
	margin-bottom: 10px;
}

.resume-list h4 {
	font-size: 16px;
	text-transform: uppercase;
	color: #808181;
	margin-top: 10px;
	margin-bottom: 45px;
}

.resume-list p {
	margin-bottom: 0;
}

/*---------------------
	Review section
-----------------------*/
.review-slider {
	padding-left: 150px;
}

.review-slider .owl-dots {
	position: absolute;
	left: 50px;
	top: 70px;
}

.review-slider .owl-dots .owl-dot {
	width: 12px;
	height: 12px;
	border: 2px solid #40424a;
	border-radius: 50px;
	background: #cacaca;
	margin-bottom: 15px;
}

.review-slider .owl-dots .owl-dot.active {
	background: #741579;
}

.single-review .qut {
	font-size: 120px;
	line-height: 0;
	color: #505259;
	margin-top: 60px;
}

.single-review p {
	margin-bottom: 40px;
}

.single-review h3 {
	font-size: 24px;
	margin-bottom: 10px;
}

.single-review h4 {
	font-size: 16px;
}

/*---------------------
	Portfolio section
----------------------*/
.portfolio-section {
    background-color: #ffffff;
    padding: 100px 0;
}

.portfolio-section .container-fluid {
    max-width: 1400px;
    padding: 0 50px;
}

.portfolio-section .section-title h3 {
    font-size: 24px;
    color: #333;
    margin-bottom: 30px;
    padding: 0 15px;
}

.portfolio-section .section-title h3 i {
    color: #741579;
    margin-right: 10px;
}

.portfolio-section .portfolio-warp {
    margin-bottom: 40px;
}

.portfolio-section .portfolio-warp .row {
    margin-bottom: 30px;
}

.portfolio-section .portfolio-warp .row:last-child {
    margin-bottom: 0;
}

.portfolio-section .portfolio-item {
    margin-bottom: 30px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    height: 100%;
    padding: 0 20px;
}

.portfolio-section .portfolio-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.2);
}

.portfolio-section .portfolio-item .port-pic {
    width: 100%;
    height: 200px;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: none;
    background-color: #f8f9fa;
}

.portfolio-section .portfolio-item .port-pic:hover {
    transform: none;
    cursor: default;
    background-color: #f8f9fa;
}

.portfolio-section .portfolio-item .port-pic:before,
.portfolio-section .portfolio-item .port-pic:after {
    content: none !important;
}

.portfolio-section .portfolio-item .port-pic[data-setbg]:before,
.portfolio-section .portfolio-item .port-pic[data-setbg]:after {
    content: none !important;
}

.portfolio-section .portfolio-item h2 {
    padding: 25px 0;
    color: #333;
    font-size: 20px;
    margin: 0;
    font-weight: 500;
    text-align: center;
}

.portfolio-section .portfolio-item .button-container {
    text-align: center;
    padding: 15px 0;
}

.portfolio-section .portfolio-item a {
    display: inline-block;
    padding: 10px 25px;
    color: white;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    background: #741579;
    border-radius: 25px;
    text-align: center;
    max-width: 300px;
}

.portfolio-section .portfolio-item a:hover {
    color: white;
    background: #5a1260;
    transform: none;
}

.portfolio-section .portfolio-item a i {
    margin-right: 8px;
    font-size: 14px;
}

/* Margen entre filas del portfolio */
.portfolio-warp {
    margin-bottom: 40px;
}

.portfolio-warp.mb-40 {
    margin-bottom: 40px !important;
}

/* Responsive para el margen entre filas */
@media (max-width: 767px) {
    .portfolio-warp.mb-40 {
        margin-bottom: 30px !important;
    }
}

/* Resetear márgenes del row para evitar conflictos */
.portfolio-warp .row {
    margin-bottom: 0 !important;
}

/* Portfolio button styles */
.portfolio-section .button-container a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #741579;
    color: white;
    padding: 10px 20px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
    gap: 8px;
}

.portfolio-section .button-container a i {
    color: white;
    font-size: 14px;
}

.portfolio-section .button-container a:hover {
    background-color: #5a1260;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.portfolio-warp {
	padding: 0 60px;
}

.portfolio-item h2 {
	font-size: 24px;
	margin-bottom: 5px;
}

.portfolio-item p {
	font-size: 14px;
	margin-bottom: 0;
}

.portfolio-item .port-pic {
	margin-bottom: 30px;
	display: block;
	height: auto;
	background: #333;
	background-position: center center;
	background-size: cover;
	overflow: hidden;
	position: relative;
}

.portfolio-item .port-pic:after {
	position: absolute;
	content: '';
	left: 0;
	bottom: 0;
	width: 100%;
	height: 0;
	background: #000;
	opacity: 0;
	z-index: 2;
	-webkit-transition: all 0.4s cubic-bezier(0.55, 0.09, 0.68, 0.53) 0s;
	-o-transition: all 0.4s cubic-bezier(0.55, 0.09, 0.68, 0.53) 0s;
	transition: all 0.4s cubic-bezier(0.55, 0.09, 0.68, 0.53) 0s;
}

.portfolio-item:hover .port-pic:after {
	opacity: 0.8;
	height: 100%;
	top: 0;
	background: rgba(116, 21, 121, 0.8);
}

/* Eliminado cualquier efecto de overlay */
.portfolio-section .portfolio-item .port-pic:before,
.portfolio-section .portfolio-item .port-pic:after {
    content: none !important;
}

/*---------------------
	Contact section
-----------------------*/
.contact-form {
	display: block;
	width: 100%;
}

.contact-form input {
	background-color: transparent;
	padding-left: 25px;
	height: 60px;
	width: 100%;
	border: none;
	border-bottom: 2px solid #cacaca;
	margin-bottom: 30px;
	font-size: 13px;
}

.contact-form textarea {
	padding-left: 25px;
	height: 200px;
	width: 100%;
	border: none;
	border-bottom: 2px solid #cacaca;
	margin-bottom: 30px;
	font-size: 13px;
	background-color: transparent;
}

.contact-form ::-webkit-input-placeholder {
	font-style: italic;
}

.contact-form :-ms-input-placeholder {
	font-style: italic;
}

.contact-form ::-ms-input-placeholder {
	font-style: italic;
}

.contact-form ::placeholder {
	font-style: italic;
}

/*---------------------
	Footer section
-----------------------*/
.footer-section {
    background: #ffffff;
	padding: 20px 0;
}

.copyright {
	padding-top: 5px;
	font-size: 12px;
	color: #838488;
	line-height: normal;
}

.footer-section {
    background-color: #ffffff;
    padding: 40px 0;
}

.footer-section .copyright {
    font-size: 16px;
    color: #40424a;
    line-height: 1.6;
}

.footer-section .copyright a {
    color: #007bff;
    text-decoration: none;
    font-weight: 500;
}

.footer-section .copyright a:hover {
    color: #0056b3;
}

/* Responsive para el footer */
@media (max-width: 767px) {
    .footer-section {
        padding: 30px 0;
    }
    
    .footer-section .copyright {
        font-size: 14px;
        line-height: 1.4;
    }
}

/*---------------------
	Home 2 Style
-----------------------*/
.home-two-style {
	background-image: url(../img/home-2-bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
	background-color: #009fff;
}

.home-two-style .header-section,
.home-two-style .hero-section,
.home-two-style .social-section,
.home-two-style .review-slider .owl-dots .owl-dot,
.home-two-style .site-btn,
.home-two-style .fact-box,
.home-two-style .social-links,
.home-two-style .social-section .social-link-warp h2 {
	background-color: transparent;
}

.home-two-style h1,
.home-two-style h2,
.home-two-style h3,
.home-two-style h4,
.home-two-style h5,
.home-two-style h6,
.home-two-style p,
.home-two-style .site-logo h2 a,
.home-two-style .site-logo p,
.home-two-style .hero-info ul li,
.home-two-style .hero-info ul li span,
.home-two-style .single-review .qut,
.home-two-style .site-btn,
.home-two-style .social-section .social-links a,
.home-two-style .contact-form input,
.home-two-style .contact-form textarea,
.home-two-style .circle-progress .prog-title p,
.home-two-style .circle-progress .prog-title h3,
.home-two-style .circle-progress .progress-info h2 {
	color: #fff !important;
}

.home-two-style .section-title h2:after,
.home-two-style .review-slider .owl-dots .owl-dot.active {
	background: #fff;
}

.home-two-style .resume-list,
.home-two-style .resume-list li:after,
.home-two-style .review-slider .owl-dots .owl-dot,
.home-two-style .site-btn,
.home-two-style .contact-form input,
.home-two-style .contact-form textarea {
	border-color: #fff;
}

.home-two-style .hero-image {
	padding-left: 0px;
	padding-top: 200px;
}

.home-two-style .hero-image img {
	-webkit-box-shadow: 6px 20px 50px rgba(0, 0, 0, 0.5294117647);
	        box-shadow: 6px 20px 50px rgba(0, 0, 0, 0.5294117647);
}

.home-two-style .resume-list li:after {
	background: #009fff;
}

.home-two-style .circle-progress .progress-info {
	background: #50bcfd;
}

.home-two-style .fact-box {
	border: 2px solid #fff;
}

.home-two-style .fact-box.trans {
	border: none;
}

.home-two-style .header-section {
	background: #3a4db4;
}

.home-two-style .contact-form ::-webkit-input-placeholder {
	color: #fff;
}

.home-two-style .contact-form :-ms-input-placeholder {
	color: #fff;
}

.home-two-style .contact-form ::-ms-input-placeholder {
	color: #fff;
}

.home-two-style .contact-form ::placeholder {
	color: #fff;
}

/*---------------------
	Home 3 Style
-----------------------*/
.home-three-style .main-left-area,
.home-four-style .main-left-area {
	background: #f2f7f8;
	padding-top: 200px;
	padding-right: 80px;
	padding-left: 80px;
}

.home-three-style .main-left-area .section-title h2,
.home-four-style .main-left-area .section-title h2 {
	margin-bottom: 130px;
}

.home-three-style .main-right-area,
.home-four-style .main-right-area {
	padding-top: 200px;
	padding-left: 110px;
}

.home-three-style .resume-list li,
.home-four-style .resume-list li {
	padding-left: 0;
}

.home-three-style .resume-list li:after,
.home-four-style .resume-list li:after {
	display: none;
}

.home-three-style .resume-list,
.home-four-style .resume-list {
	border-left: none;
	padding-left: 0;
	margin-left: 0;
}

.home-three-style .header-section,
.home-four-style .header-section {
	padding: 50px 80px;
	background: transparent;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.home-three-style .hero-image,
.home-four-style .hero-image {
	margin-bottom: 100px;
}

.home-three-style .hero-text h2,
.home-four-style .hero-text h2 {
	font-size: 72px;
	margin-bottom: 40px;
}

.home-three-style .review-slider,
.home-four-style .review-slider {
	padding-left: 0;
}

.home-three-style .review-slider .owl-dots,
.home-four-style .review-slider .owl-dots {
	position: relative;
	left: 0;
	top: 0;
	padding-top: 50px;
}

.home-three-style .review-slider .owl-dots .owl-dot,
.home-four-style .review-slider .owl-dots .owl-dot {
	display: inline-block;
	margin-right: 15px;
	background: #cacaca;
	border: none;
}

.home-three-style .review-slider .owl-dots .owl-dot.active,
.home-four-style .review-slider .owl-dots .owl-dot.active {
	background: #40424a;
}

.home-three-style .skills,
.home-four-style .skills {
	max-width: 555px;
}

.home-three-style .fact-box.trans,
.home-four-style .fact-box.trans {
	margin-bottom: 80px;
}

.home-three-style .social-links,
.home-four-style .social-links {
	text-align: center;
	padding-bottom: 70px;
	padding-top: 120px;
}

.home-three-style .social-links a,
.home-four-style .social-links a {
	font-size: 30px;
	margin-right: 40px;
	color: #b9b9b9;
}

.home-three-style .social-links a:hover,
.home-four-style .social-links a:hover {
	color: #484848;
}

/*---------------------
	Home 4 Style
-----------------------*/
.home-four-style .site-logo h2 a,
.home-four-style .site-logo p {
	color: #fff;
}

.home-four-style .main-left-area {
	position: relative;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#481340+0,ff0f3c+100,ff0f3c+100 */
	background: #481340;
	/* Old browsers */
	/* FF3.6-15 */
	background: -webkit-linear-gradient(top, #481340 0%, #ff0f3c 100%, #ff0f3c 100%);
	/* Chrome10-25,Safari5.1-6 */
	background: -webkit-gradient(linear, left top, left bottom, from(#481340), color-stop(100%, #ff0f3c), to(#ff0f3c));
	background: -o-linear-gradient(top, #481340 0%, #ff0f3c 100%, #ff0f3c 100%);
	background: linear-gradient(to bottom, #481340 0%, #ff0f3c 100%, #ff0f3c 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#481340', endColorstr='#ff0f3c', GradientType=0);
	/* IE6-9 */
}

.home-four-style .main-left-area:after {
	position: absolute;
	content: "";
	width: 100%;
	height: 800px;
	top: 0;
	left: 0;
	background-image: url("../img/home-4-bg.png");
	background-repeat: no-repeat;
	background-size: cover;
}

.home-four-style .main-left-area h1,
.home-four-style .main-left-area h2,
.home-four-style .main-left-area h3,
.home-four-style .main-left-area h4,
.home-four-style .main-left-area h5,
.home-four-style .main-left-area h6,
.home-four-style .main-left-area p,
.home-four-style .main-left-area .hero-info ul li,
.home-four-style .main-left-area .hero-info ul li span,
.home-four-style .main-left-area .site-btn,
.home-four-style .main-left-area .social-section,
.home-four-style .main-left-area .social-links a,
.home-four-style .main-left-area .contact-form input,
.home-four-style .main-left-area .contact-form textarea,
.home-four-style .main-left-area .circle-progress .prog-title p,
.home-four-style .main-left-area .circle-progress .prog-title h3,
.home-four-style .main-left-area .circle-progress .progress-info h2,
.home-four-style .main-left-area .language-progress li {
	color: #fff !important;
}

.home-four-style .main-left-area .circle-progress .progress-info {
	background: rgba(255, 255, 255, 0.29);
}

.home-four-style .main-left-area .section-title h2:after,
.home-four-style .main-left-area .language-progress .lan-prog span {
	background: #fff;
}

.home-four-style .main-left-area .language-progress .lan-prog span.fade-ele {
	background: rgba(255, 255, 255, 0.29);
}

.home-four-style .main-left-area .fact-box {
	background-color: transparent;
	border: 2px solid #fff;
}

.home-four-style .main-left-area .fact-box.trans {
	border: none;
}

.home-four-style .main-left-area .intro-section {
	position: relative;
	z-index: 2;
}

.home-four-style .main-right-area .section-title h2:after,
.home-four-style .main-right-area .review-slider .owl-dots .owl-dot.active {
	background: #ff0f3c;
}

.home-four-style .main-right-area .resume-list h2,
.home-four-style .main-right-area .single-review .qut {
	color: #ff0f3c;
}

/*---------------------
	Home 5 Style
-----------------------*/
.home-five-style .header-section {
	padding: 50px 80px;
	background: transparent;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.home-five-style .hero-section {
	padding-top: 70px;
}

.home-five-style .hero-section img {
	margin-bottom: 60px;
}

.home-five-style .hero-text h2 {
	font-size: 72px;
	margin-bottom: 40px;
}

.home-five-style .social-links {
	padding-top: 0px;
	text-align: center;
	padding-bottom: 70px;
}

.home-five-style .social-links a {
	font-size: 30px;
	margin-right: 40px;
	color: #b9b9b9;
}

.home-five-style .social-links a:hover {
	color: #484848;
}

.home-five-style .resume-list li {
	padding-left: 0;
}

.home-five-style .resume-list li:after {
	display: none;
}

.home-five-style .resume-list {
	border-left: none;
	padding-left: 0;
	margin-left: 0;
}

.home-five-style .review-slider {
	padding-left: 0;
}

.home-five-style .review-slider .owl-dots {
	position: relative;
	left: 0;
	top: 0;
	padding-top: 50px;
}

.home-five-style .review-slider .owl-dots .owl-dot {
	display: inline-block;
	margin-right: 15px;
	background: #cacaca;
	border: none;
}

.home-five-style .review-slider .owl-dots .owl-dot.active {
	background: #40424a;
}

.home-five-style .circle-progress {
	padding-top: 0;
}

/*---------------------
	Home 6 Style
-----------------------*/
.home-six-style .site-logo h2 a,
.home-six-style .site-logo p,
.home-six-style .hero-text h2,
.home-six-style .hero-text p,
.home-six-style .social-links a {
	color: #fff;
}

.home-six-style .resume-list h2,
.home-six-style .icon-box i,
.home-six-style .single-review .qut {
	color: #009fff;
}

.home-six-style .section-title h2:after,
.home-six-style .fact-box,
.home-six-style .review-slider .owl-dots .owl-dot.active,
.home-six-style .language-progress .lan-prog span {
	background: #009fff;
}

.home-six-style .language-progress .lan-prog span.fade-ele {
	background: #cacaca;
}

.home-six-style .header-section {
	padding: 50px 80px;
	background: transparent;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.home-six-style .hero-section {
	background: #009fff;
	padding-top: 70px;
}

.home-six-style .hero-section img {
	margin-bottom: 60px;
}

.home-six-style .hero-text h2 {
	font-size: 72px;
	margin-bottom: 40px;
}

.home-six-style .social-links {
	padding-top: 0px;
	text-align: center;
	padding-bottom: 70px;
}

.home-six-style .social-links a {
	font-size: 30px;
	margin-right: 40px;
	color: #b9b9b9;
}

.home-six-style .social-links a:hover {
	color: #484848;
}

.home-six-style .resume-list li {
	padding-left: 0;
}

.home-six-style .resume-list li:after {
	display: none;
}

.home-six-style .resume-list {
	border-left: none;
	padding-left: 0;
	margin-left: 0;
}

.home-six-style .review-slider {
	padding-left: 0;
}

.home-six-style .review-slider .owl-dots {
	position: relative;
	left: 0;
	top: 0;
	padding-top: 50px;
}

.home-six-style .review-slider .owl-dots .owl-dot {
	display: inline-block;
	margin-right: 15px;
	background: #cacaca;
	border: none;
}

.home-six-style .circle-progress {
	padding-top: 0;
}

.info-section {
	background: #40424a;
	padding: 60px 0;
}

.info-section .hero-info ul li {
	color: #fff;
}

.info-section .hero-info ul li span {
	color: #fff;
}

/* Estilos para las tarjetas de educación */
.education-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 0;
    margin: 0 -15px;
}

.education-card {
    border: none;
    border-radius: 20px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    background: rgba(255, 255, 255, 0.95);
    width: 100%;
    max-width: 350px;
    margin: 0 15px 30px;
}

.education-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.2);
}

.education-card .card-body {
    padding: 30px;
}

.education-card .card-icon {
    font-size: 36px;
    color: #741579;
    margin-bottom: 15px;
    text-align: center;
    display: block;
}

.education-card h3 {
    margin-bottom: 10px;
    color: #333;
    text-align: center;
    font-size: 20px;
}

.education-card .year {
    font-size: 16px;
    color: #666;
    margin-bottom: 10px;
    text-align: center;
    font-weight: 500;
}

.education-card .institution {
    color: #888;
    margin-bottom: 20px;
    text-align: center;
    font-size: 14px;
}

.education-card .btn {
    padding: 12px 25px;
    font-size: 14px;
    border-radius: 25px;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    display: block;
    margin: 0 auto;
    background: #741579;
    color: white;
    font-weight: 500;
}

.education-card .btn:hover {
    background: #5a1260;
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(116, 21, 121, 0.3);
}

/* Responsive design */
@media (max-width: 1199px) {
    .education-card {
        max-width: 320px;
    }
}

@media (max-width: 991px) {
    .education-card {
        max-width: 300px;
    }
}

@media (max-width: 767px) {
    .education-cards {
        justify-content: center;
    }
    
    .education-card {
        width: 100%;
        max-width: 100%;
        margin: 0 0 30px;
    }
}

/* Estilos para el carrusel de lenguajes */
.languages-carousel {
    padding: 30px 0;
    position: relative;
}

.languages-carousel .fact-box {
    background: #ffffff;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    padding: 30px;
    text-align: center;
    margin: 15px;
    height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, 0.05);
}

.languages-carousel .fact-box:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
    border-color: rgba(0, 0, 0, 0.1);
}

.languages-carousel .fact-box img {
    width: 120px;
    height: 120px;
    object-fit: contain;
    margin-bottom: 15px;
    border-radius: 15px;
    padding: 20px;
    background: #741579;
    box-shadow: 0 4px 15px rgba(116, 21, 121, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
}

.languages-carousel .fact-box img {
    background: none;
    border: none;
}

.languages-carousel .fact-box img {
    width: 120px;
    height: 120px;
    object-fit: contain;
    margin-bottom: 15px;
    border-radius: 15px;
    padding: 20px;
    background: #741579;
    box-shadow: 0 4px 15px rgba(116, 21, 121, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
}

.languages-carousel .fact-box img:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(116, 21, 121, 0.2);
}

.languages-carousel .fact-box h2 {
    font-size: 18px;
    color: #333;
    margin: 0;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1.4;
}

.languages-carousel .owl-nav {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    width: 100%;
    z-index: 10;
    padding: 0 30px;
}

.languages-carousel .owl-nav button {
    background: rgba(255, 255, 255, 0.95);
    border: none;
    color: #007bff;
    font-size: 20px;
    padding: 15px 25px;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
}

.languages-carousel .owl-nav button:hover {
    color: #0056b3;
    background: white;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    transform: scale(1.1);
}

.languages-carousel .owl-nav button i {
    font-size: 18px;
}

.languages-carousel .owl-nav .owl-prev {
    left: 0;
}

.languages-carousel .owl-nav .owl-next {
    right: 0;
}

.languages-carousel .owl-stage-outer {
    padding: 0 50px;
}

/* Responsive */
@media (max-width: 767px) {
    .languages-carousel .fact-box {
        height: 180px;
        padding: 20px;
    }
    
    .languages-carousel .fact-box img {
        width: 90px;
        height: 90px;
        padding: 15px;
    }
    
    .languages-carousel .fact-box h2 {
        font-size: 16px;
    }
    
    .languages-carousel .owl-nav button {
        padding: 10px 15px;
        font-size: 16px;
    }
    
    .languages-carousel .owl-nav button i {
        font-size: 14px;
    }
    
    .languages-carousel .owl-stage-outer {
        padding: 0 30px;
    }
}

/* Iconos de redes sociales */
.portfolio-section .social-icons {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 15px 0;
}

.portfolio-section .social-icons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #007bff;
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
    padding: 8px;
    cursor: default;
    pointer-events: none;
}

.portfolio-section .social-icons a:hover {
    background: #0056b3;
    transform: none;
}

.portfolio-section .social-icons i {
    font-size: 18px;
    line-height: 1;
    display: block;
    margin: 0;
    padding: 0;
}

/* Responsive para los iconos */
@media (max-width: 767px) {
    .portfolio-section .social-icons {
        gap: 15px;
    }
    
    .portfolio-section .social-icons a {
        width: 35px;
        height: 35px;
        padding: 6px;
    }
    
    .portfolio-section .social-icons i {
        font-size: 16px;
        line-height: 1;
        display: block;
        margin: 0;
        padding: 0;
    }
}

/* Sección de educación */
.education-section {
    padding: 80px 0;
}

.education-section .section-title {
    margin-bottom: 30px;
}

.education-section .section-title h2 {
    margin-bottom: 60px;
    padding-top: 0;
}

/* Responsive para la sección de educación */
@media (max-width: 767px) {
    .education-section {
        padding: 60px 0;
    }
    
    .education-section .section-title h2 {
        margin-bottom: 40px;
        padding-top: 0;
    }
}

/* Badge de estado activo */
.portfolio-section .badge-container {
    margin: 5px 0;
    text-align: center;
}

.portfolio-section .badge {
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 500;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
}

.portfolio-section .badge-success {
    background: #28a745;
    color: white;
}

.portfolio-section .badge-danger {
    background: #dc3545;
    color: white;
}

/* Responsive para el badge */
@media (max-width: 767px) {
    .portfolio-section .badge {
        padding: 3px 8px;
        font-size: 10px;
    }
}

/* Tarjetas de Community Manager */
.portfolio-section .portfolio-item {
    padding: 15px;
}

.portfolio-section .portfolio-item .port-pic {
    height: 200px;
    margin-bottom: 10px;
    border-radius: 10px;
}

.portfolio-section .portfolio-item h2 {
    margin: 5px 0;
    font-size: 18px;
}

.portfolio-section .badge-container {
    margin: 5px 0;
    text-align: center;
}

.portfolio-section .social-icons {
    margin-top: 5px;
    text-align: center;
}

.portfolio-section .social-icons i {
    font-size: 20px;
    margin: 0 8px;
    color: #40424a;
}

/* Responsive para las tarjetas de Community Manager */
@media (max-width: 767px) {
    .portfolio-section .portfolio-item .port-pic {
        height: 180px;
    }
    
    .portfolio-section .portfolio-item h2 {
        font-size: 16px;
    }
    
    .portfolio-section .social-icons i {
        font-size: 18px;
        margin: 0 6px;
    }
}

/* Estilos para iconos */
.fa,
.fas,
.fab,
.fa-solid,
.fa-brands,
.card-icon,
.social-links a i {
    color: #741579;
}

/* Asegurar que los iconos en botones mantengan el color blanco */
.btn i,
.site-btn i {
    color: #fff !important;
}

/* Mantener el color morado al hacer hover en los enlaces sociales */
.social-links a:hover i {
    color: #5a1260; /* Un tono más oscuro para el hover */
}

/* Estilos para enlaces */
a,
a:link,
a:visited,
.hero-info a,
.hero-info a:link,
.hero-info a:visited,
.hero-info a[href^="mailto:"],
.hero-info a[href^="tel:"],
a[href^="mailto:"],
a[href^="tel:"] {
    color: #741579;
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover,
a:active,
.hero-info a:hover,
.hero-info a:active,
a[href^="mailto:"]:hover,
a[href^="tel:"]:hover {
    color: #5a1260;
    text-decoration: none;
}

/* Mantener el estilo original para los botones */
.btn,
.site-btn,
.btn:hover,
.site-btn:hover {
    color: #fff !important;
}

/* ===========================
  Responsive
==============================*/
@media only screen and (max-width: 1730px) {
	.home-two-style .social-section .social-link-warp:after {
		display: none;
	}
}

@media only screen and (max-width: 1600px) {
	.hero-text h2 {
		font-size: 120px;
	}
}

@media only screen and (max-width: 1450px) {
	.home-five-style .header-section {
		position: relative;
		background: #f2f7f8;
	}
	.home-six-style .header-section {
		position: relative;
		background: #009fff;
	}
}

@media only screen and (max-width: 1366px) and (min-width: 1200px) {
	.home-five-style .header-section {
		position: relative;
		background: #f2f7f8;
	}
	.container-warp {
		min-width: 80%;
		margin-left: 10%;
	}
	.hero-info ul li span {
		min-width: 180px;
	}
	.portfolio-item .port-pic {
		height: auto;
	}
	.home-three-style .header-section {
		padding: 50px 30px;
	}
	.home-three-style .main-left-area {
		padding-right: 30px;
		padding-left: 30px;
	}
	.home-three-style .main-right-area {
		padding-left: 100px;
	}
}

/* Medium screen : 992px. */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.portfolio-warp {
		padding: 0;
	}
	.home-three-style .header-section {
		padding: 50px 15px;
	}
	.home-three-style .main-left-area {
		padding-right: 15px;
		padding-left: 15px;
	}
	.home-three-style .main-right-area {
		padding-left: 50px;
	}
	.portfolio-item .port-pic {
		height: auto;
	}
	.portfolio-item {
		margin-bottom: 30px;
	}
}

/* Tablet :768px. */
@media only screen and (min-width: 768px) and (max-width: 991px) {
	.portfolio-warp {
		padding: 0;
	}
	.hidden-md {
		display: none !important;
	}
	.icon-box {
		margin-right: 30px;
	}
	.social-section .social-links {
		display: block;
		text-align: center;
	}
	.social-link-warp:after {
		display: none;
	}
	.portfolio-item {
		margin-bottom: 30px;
	}
	.home-three-style .header-section {
		position: relative;
		background: #f2f7f8;
	}
	.home-three-style .main-left-area,
	.home-three-style .header-section,
	.home-three-style .main-right-area,
	.home-four-style .main-left-area,
	.home-four-style .header-section,
	.home-four-style .main-right-area {
		padding-right: 30px;
		padding-left: 30px;
	}
	.home-five-style .header-section,
	.home-six-style .header-section {
		padding: 50px 0;
	}
	.info-section .hero-info ul li {
		color: #9c9b9b;
	}
	.hero-info ul li {
		margin-bottom: 30px;
	}
	.hero-info ul li span {
		display: block;
	}
}

/* Large Mobile :480px. */
@media only screen and (max-width: 767px) {
	.icon-box {
		margin-right: 30px;
		text-align: left;
	}
	.hero-text h2 {
		font-size: 80px;
	}
	.portfolio-warp {
		padding: 0;
	}
	.hidden-md {
		display: none !important;
	}
	.resume-list {
		margin-left: 0;
		padding-left: 0;
		border-left: none;
	}
	.review-slider {
		padding-left: 0;
	}
	.review-slider .owl-dots {
		position: relative;
		left: 0;
		top: 70px;
	}
	.review-slider .owl-dots .owl-dot {
		display: inline-block;
		margin-right: 15px;
	}
	.portfolio-item {
		margin-bottom: 30px;
	}
	.fact-box {
		margin-bottom: 30px;
	}
	.header-section {
		padding: 50px 0;
	}
	.social-section .social-links {
		display: block;
		text-align: center;
	}
	.home-three-style .header-section {
		position: relative;
		background: #f2f7f8;
	}
	.home-three-style .main-left-area {
		padding-top: 0;
	}
	.home-three-style .main-left-area,
	.home-three-style .header-section,
	.home-three-style .main-right-area,
	.home-four-style .main-left-area,
	.home-four-style .header-section,
	.home-four-style .main-right-area {
		padding-right: 30px;
		padding-left: 30px;
	}
	.home-five-style .header-section,
	.home-six-style .header-section {
		padding: 50px 0;
	}
	.info-section .hero-info ul li span {
		color: #9c9b9b;
	}
}

/* small Mobile :320px. */
@media only screen and (max-width: 479px) {
	.hero-text h2 {
		font-size: 50px;
	}
	.hero-info ul li {
		font-size: 18px;
	}
	.hero-info ul li span {
		display: block;
	}
	.social-section .social-links a {
		margin-right: 30px;
	}
	.resume-list h2 {
		font-size: 50px;
	}
	.portfolio-item {
		margin-bottom: 30px;
	}
	.home-three-style .main-left-area,
	.home-three-style .header-section,
	.home-three-style .main-right-area,
	.home-four-style .main-left-area,
	.home-four-style .header-section,
	.home-four-style .main-right-area {
		padding-right: 15px;
		padding-left: 15px;
	}
	.home-four-style .main-left-area {
		padding-top: 250px;
	}
}

/* Ajuste adicional para pantallas pequeñas */
@media (max-width: 767px) {
    .hero-text h2 {
        font-size: 36px;
    }
    
    .typed {
        font-size: 16px;
    }
}

/* Colocar "Información General" justo debajo del párrafo del hero */
@media (min-width: 1200px) {
	.hero-info{
	  margin-top: -520px !important; /* Súbelo. Ajusta a -120 / -160 si hace falta */
	  padding-top: 0;
	}
  }
  
  @media (min-width: 992px) and (max-width: 1199px) {
	.hero-info{
	  margin-top: -280px !important; /* Un poco menos en pantallas medianas */
	}
  }
  
  @media (max-width: 991px) {
	.hero-info{
	  margin-top: 20px !important;  /* En tablet/móvil que fluya normal */
	}
  }
  
  /* Un poco de orden fino (opcional) */
  .hero-info h2 { margin-bottom: 10px; }
  .hero-info ul { margin: 0; }
  