/* ******************** Fonts ******************** */
@font-face {
    font-family: 'Ubuntu';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/fonts/Ubuntu-Regular.woff2') format('woff2');
}  
@font-face {
    font-family: 'Ubuntu-Bold';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('/fonts/Ubuntu-Bold.woff2') format('woff2');
}  
/* ******************** Custom Properties ******************** */
:root {
    --section-sm: 760px;
    --section-md: 992px;
    --section-lg: 1280px;
    --main-top: 0rem;
    --main-bottom: 1rem;
    --font-family: 'Ubuntu', sans-serif;
    --font-family-bold: 'Ubuntu-Bold', sans-serif;
    --color1: #000000;
    --color2: #ff8830;
    --color3: #20130a;
    --color4: #142026;
    --color5: #123142;
    --color6: #3b657a;
    --color9: #94bdcc;
    --color7: #e9f0c9;
    --color8: #ededed;
    --color-background: #ffffff;
    --transition: all 300ms ease-in-out;
    --nav-height: 80px;
    --top: 112px;
    --animation-delay: 2s;
    --animation-duration: 10s;
    /*--color-light-bg: #f5f5f7;
    --color-light-bg-alt: #f7f7f7;
    --color-light-bg-opacity: rgba(255, 255, 255, 0.85);
    --color-light-text: #202225;
    --color-light-link: #08c;
    --color-light-contrast: #ffffff;*/
  
    /*--color-dark-bg: #202225;
    --color-dark-bg-alt: #202b38;
    --color-dark-bg-opacity: rgba(0, 0, 0, 0.7);
    --color-dark-text: #fcfcfc;
    --color-dark-link: #73cffa;
    --color-dark-contrast: #2f2f2f;*/

    /*filter: grayscale(100%);
    filter: hue-rotate(90deg);*/
}
/* ******************** Keyframes ******************** */
@keyframes anim-text {
    0%, 7% { transform: rotateZ(0); } 
    15% { transform: rotateZ(-12deg); } 
    20% { transform: rotateZ(7deg); } 
    25% { transform: rotateZ(-7deg); } 
    30% { transform: rotateZ(3deg); } 
    35% { transform: rotateZ(-1deg); } 
    40%, 100% { transform: rotateZ(0); }
}
@keyframes change-text {
    50% { content: 'Hola, Soy Victor.'; }
}
@keyframes anim-cover {
    0% { background-position: 0% 50% }
    50% { background-position: 100% 50% }
    100% { background-position: 0% 50% }
}
@keyframes mouse-scroll {
    100% { opacity: 0; top: 26px; }
}
@keyframes anim-icon {
    0%, 7% { transform: rotateZ(0); }
    15% { transform: rotateZ(-15deg); }
    20% { transform: rotateZ(10deg); }
    25% { transform: rotateZ(-10deg); }
    30% { transform: rotateZ(6deg); }
    35% { transform: rotateZ(-4deg); }
    40%, 100% { transform: rotateZ(0); }
}
@keyframes float-scroll {
	0% { box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6); transform: translatey(0px); }
	50% { box-shadow: 0 25px 15px 0px rgba(0,0,0,0.2); transform: translatey(-15px); }
	100% { box-shadow: 0 5px 15px 0px rgba(0,0,0,0.6); transform: translatey(0px); }
}
@keyframes comet-animate {
    0% { opacity: .1; transform: translate(0); }
    70% { opacity: .4; }
    90% { opacity: .1; }
    to { opacity: 0; transform: translate(calc(100vw - 120px)); }
}
/* ******************** Reset CSS ******************** */
*,
*::before,
*::after {
    box-sizing: border-box;
}
html {
    margin: 0;
    font-size: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
}
body {
    margin: 0;
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    cursor: none;
  
    font-family: var(--font-family);
    font-size: clamp(1rem, calc(1rem + 0.5vw), 1.25rem);
    line-height: 1.5;
  
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  
    background-color: var(--color-background);
    color: var(--color1);
}
.cursor-page {
    width: 10px;
	height: 10px;
	border-radius: 50%;
	position: fixed;
	left: 0;
	top: 0;
    z-index: 99999;
    background-color: var(--color8);
    transition: ease 100ms ease-out !important;
	pointer-events: none !important;
	transform: translate(calc(-0%), -0%);
	mix-blend-mode: exclusion; /* difference - luminosity */
}
.cursor-action {
	width: 20px;
	height: 20px;
	opacity: 0.6;
	transition: width .3s, height .3s, opacity .3s;
}
.cursor-hover {
	opacity: 1;
	width: 12px;
	height: 12px;
    background-color: var(--color1);
	mix-blend-mode: multiply;
}
@media screen and (max-width: 1024px) {
	body {
		cursor: default;
	}
	.cursor-page {
		visibility: hidden;
		display: none;
	}
}
article {
    overflow: hidden;
    margin-bottom: 38px;
}
a {
    transition: all 0.3s ease-out;
    text-decoration: none;
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent; 
} 
a:focus {
    outline: none !important;
    box-shadow: none !important;
}
a:hover {
    color: var(--color6) !important;
}
img,
picture,
video,
canvas,
svg {
    max-width: 100%;
    height: auto;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 28px;
    margin-bottom: 26px;
    font-family: var(--font-family-bold);
    line-height: 1.2;
    overflow-wrap: break-word;
}
h1 {
    font-size: 34px;
} 
h2 {
    font-size: 30px;
    text-align: center;
} 
h3 {
    font-size: 24px;
} 
h4 {
    font-size: 20px;
} 
h5 {
    font-size: 18px;
} 
h6,
small {
    font-size: 14px;
}
p {
    font-family: var(--font-family);
    font-size: 16px;
    overflow-wrap: break-word;
    padding-bottom: 8px;
} 
@media screen and (max-width: 750px) {
    h1 {
        font-size: 30px;
    } 
    h2 {
        font-size: 26px;
    } 
    h3 {
        font-size: 20px;
    } 
    h4 {
        font-size: 18px;
    } 
    h5 {
        font-size: 17px;
    } 
    p {
        font-size: 15px;
    }
}
ul {
    list-style: none;
    margin-bottom: 0;
}
nav {
    display: block; 
}
nav ul {
    list-style: none; 
}
main {
    margin-top: var(--main-top);
    margin-bottom: calc(2 * var(--main-bottom));
}
span {
    color: var(--color6);
}
strong {
    font-family: var(--font-family-bold);
    font-weight: 600;
}
.highlight {
    font-family: var(--font-family-bold);
    font-weight: 800;
    font-style: italic;
    color: var(--color4) !important;
}
.textBox {
    margin: 0;
    padding: 0;
}
.textBox p {
    font-family: var(--font-family);
    font-weight: 600;
    color: var(--color1);
    margin: 0;
    padding: 0;
}
.textBox p::after {
    content: 'Bienvenido, Soy Victor.';
    animation: change-text linear 12s infinite;
}
.addcover p {
    font-size: 40px;
    color: var(--color8);
    padding-bottom: 20px;
}
@media screen and (max-width: 750px) {
    .addcover p {
        font-size: 30px;
    }   
    .section-lg,
    .section-md,
    .section-sm {
        padding-right: 0px;
        padding-left: 0px;
    }
}
/* ******************** Button CSS ******************** */
.button,
.button-modal {
    display: inline-flex;
    font-family: var(--font-family-bold);
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0px;
    line-height: 16px;
    letter-spacing: 2px;
    text-decoration: none !important;
    text-transform: uppercase;
    border-radius: 100px;
    cursor: pointer;
    justify-content: center;
    padding: 16px 32px;
    height: 48px;
    text-align: center;
    white-space: nowrap;
    -webkit-transition: all 0.3s ease-in;
    -moz-transition: all 0.3s ease-in;
    -ms-transition: all 0.3s ease-in;
    -o-transition: all 0.3s ease-in;
    transition: all 0.3s ease-in;
}
.button {
    margin: 15px auto;
    width: 188px;
    border: 1px solid var(--color2);
    color: var(--color8);
}
.button-modal {
    background-color: transparent;
    color: var(--color4) !important;
    border: var(--color6) solid 2px;
    margin: 0 8px;
}
.button:hover {
    background-color: var(--color8);
    color: var(--color3) !important;
    transform: scale(1.06);
    box-shadow: 0px 8px 48px var(--color5);
}
.button-modal:hover {
    background-color: var(--color4);
    color: var(--color8) !important;
    transform: scale(1.06);
}
/* ******************** Container ******************** */
.section-lg,
.section-md,
.section-sm {
    margin-right: auto;
    margin-left: auto;
    padding-right: 5px;
    padding-left: 5px;
    width: var(--section-sm);
    max-width: 96%;
}
.section-md {
    width: var(--section-md);
}
.section-lg {
    width: var(--section-lg);
}
.section-full {
    width: 100%;
}
.space {
    margin-top: 3rem;
    margin-bottom: 3rem;
}
.full {
    width: 100%;
}
.full-80 {
    width: 80%;
}
.full-60 {
    width: 60%;
}
.full-50 {
    width: 50%;
}
.full-45 {
    width: 45%;
}
.full-40 {
    width: 40%;
}
.full-30 {
    width: 30%;
}
.full-20 {
    width: 20%;
}
.flex {
    display: flex;
    flex-direction: row;
}
/* ******************** Menú Mobile ******************** */
header {
    position: fixed;
    z-index: 999;
    width: 100%;
    background: 0 0;
}
.top-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--nav-height);
    padding: 0 50px;
    background: var(--color-background);
    margin-right: auto;
    margin-left: auto;
    background: 0 0;
}
.top-nav-collapse {
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
    background-color: var(--color-background);
}
.logo {
    font-family: var(--font-family-bold);
    font-weight: bold;
    font-style: italic;
    font-size: 34px;
    display: block;
    visibility: visible;
    color: var(--color8);
    line-height: 1.5;
}
.logo:hover {
    animation: anim-text 1.5s infinite;
    animation-delay: calc(.2s * 2);
    color: var(--color6);
}
.logo-nav-collapse {
    color: var(--color5);
}
.logo-mobile {
    font-family: var(--font-family-bold);
    font-weight: bold;
    font-style: italic;
    font-size: 34px;
    display: none;
    visibility: hidden;
    color: var(--color5);
}
.lists-container {
    display: flex;
    align-items: baseline;
    transition: var(--transition);
}
.link-list {
    display: flex;
    gap: 35px;
    margin: auto 0;
    padding: 0 60px;
}
.link-list .nav-link {
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 1.2px;
    transition: all 0.3s ease-in;
    color: var(--color8);
}
.link-nav-collapse {
    color: var(--color5) !important;
}
.link-list .active,
.link-list a:hover {
    color: var(--color5) !important;
    box-shadow: inset 0 -1px 0 var(--color2);
}
.btn {
    display: none;
    background: transparent;
    border: none;
}
.social-list {
    display: flex;
    padding: 0 10px;
    margin-left: 40px;
    margin: auto 0px;
    visibility: hidden;
    opacity: 0;
}
.social-nav-collapse {
    display: flex;
    visibility: visible;
    opacity: 1;
}
.social-list a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-background);
    border-radius: 2px;
    width: 26px;
    height: 26px;
    transition: var(--transition);
    margin: 0 8px;
    padding: 0 2px;
}
.social-list a:hover {
    background-color: var(--color-background);
    transform: translateY(-3px);
}
.social-list a img {
    width: 100%;
    height: auto;
}
.menu-btn img,
.close-btn img {
    width: 100%;
    height: auto;
}
@media screen and (max-width: 992px) {
    .top-nav {
        justify-content: flex-start;
        padding: 0 20px;
    }
    .logo {
        font-size: 2.4rem;
        margin-right: auto;
    }
    .link-list {
        gap: 25px;
        padding: 0 16px;
    }
}
@media screen and (max-width: 750px) {
    header {
        background-color: var(--color-background);
    }
    .top-nav {
        justify-content: flex-start;
        padding: 0 20px;
    }
    .logo {
        margin-right: auto;
        display: none;
        visibility: hidden;
    }
    .logo-mobile {
        margin-right: auto;
        display: block;
        visibility: visible;
    }
    .lists-container {
        position: absolute;
        top: var(--nav-height);
        right: 0;
        flex-direction: column;
        align-items: center;
        height: calc(100vh - var(--nav-height));
        width: 0;
        opacity: 1;
        background: var(--color-background);
        overflow: hidden;
    }
    .link-list {
        flex-direction: column;
        opacity: 1;
        padding: 10px 20px;
        margin: 0;
        padding: 0 20px
    }
    .link-list .nav-link {
        font-family: var(--font-family);
        font-size: 24px;
        letter-spacing: 1.2px;
        color: var(--color6);
        text-decoration: none;
        transition: all 0.3s ease-in;
    }
    .link-list a:active,
    .link-list a:hover {
        color: var(--color6);
        box-shadow: inset 0 -1px 0 var(--color6);
    }
    .social-list {
        margin-left: 0px;
        margin-top: 35px;
        visibility: visible; 
        opacity: 1;
    }
    .social-list a {
        width: 36px;
        height: 36px;
    }
    .menu-btn {
        display: block;
    }
    .visible {
        display: block;
    }
    .hidden {
        display: none;
    }
    .open { 
        width: 100%;
        opacity: initial;
    }
}
/* ******************** Footer ******************** */
.footer-site {
    padding-top: 4.2rem;
    position: relative;
    overflow: hidden;
}
.footer-site .container {
    display: flex;
    justify-content: space-between;
    border-top: 0.1rem solid var(--color9);
    margin-bottom: 35px;
    padding-top: 25px;
}
.footer-site .container .footer-copy,
.footer-site .container .footer-links {
    margin: auto 0;
}
.footer-site .container .footer-version {
    width: auto;
    margin: 0 auto;
    text-align: center;
}
.footer-site .container .version {
    font-family: var(--font-family);
    font-weight:500;
    font-size: 14px;
    padding-top: 22px;
    letter-spacing: 1.2px;
    transition: all 0.3s ease-in;
    color: var(--color1);
}
.footer-site .container p,
.footer-site .container a {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 14px;
    margin: 0;
    padding: 0;
}
.footer-site .container .list-footer {
    display: flex;
    justify-content: flex-end;
    margin: 0;
}
.footer-site .container .list-footer li {
    display: inline;
    padding: 0 16px;
}
.footer-site .container .list-footer a {
    font-family: var(--font-family);
    text-decoration: none;
    color: var(--color6);
}
.footer-site .container .list-footer a:visited {
    color: var(--color6);
}
.footer-site .container .list-footer a:hover {
    color: var(--color6);
    box-shadow: inset 0 -1px 0 var(--color6);
}
.footer-site .wave {
    margin-bottom: -10px;
}
@media screen and (max-width: 750px) {
    .footer-site .container {
        flex-direction: column-reverse;
        justify-content: center;
    }
    .footer-site .container .footer-copy {
        width: 100%;
        padding-top: 28px;
    }
    .footer-site .container .footer-version {
        padding-top: 20px;
    }
    .footer-site .container .footer-links {
        width: 100%;
    }
    .footer-site .container p {
        text-align: center;    
    }
    .footer-site .container .list-footer {
        text-align: center;
        padding: 0;
        justify-content: center;
    }
    .footer-site .container .list-footer li {
        display: inline;
        padding: 0 15px;
    }
}
/* ******************** Header ******************** */
.header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: auto;
    text-align: center;
    position: relative;
}
.canvas {
    width: 100vw;
    height: 100vh;
    /*height: 100dvb;*/
    background: linear-gradient(25deg, #0f132e 10%, #19274e 47%, #536d88 85%);
    background: linear-gradient(18deg, var(--color3) 6%, var(--color4) 27%, var(--color6) 83%);
    /*background-size: 800% 800%;*/
    /*animation: anim-cover 6s ease infinite;*/
}
.header-text {
    position: absolute;
    top: 40%;
    text-align: start;
    z-index: 2;
}
.header-text .subtitle {
    font-family: var(--font-family);
    font-weight: 600;
    font-size: 30px;
    margin: 0;
    padding: 0;
    color: var(--color8);
	overflow: hidden;
}
.header-text .action {
    text-align: center;
    padding-top: 28px;
}
@media screen and (min-width: 1024px) {
    .header-star {
        position: absolute;
        top: 5%;
        height: 90%;
    }
    .header-star .comet {
        animation: comet-animate var(--animation-duration) infinite ease-in-out;
        animation-delay: var(--animation-delay);
        opacity: 0;
        top: var(--top);
        left: 0%;
        z-index: 0;
    }
    .header-star .comet,
    .header-star .comet::before {
        position: absolute;
    }
    .header-star .comet::before {
        background: linear-gradient(-45deg, var(--color7), transparent);
        content: "";
        height: 1px;
        top: 50%;
        transform: translateY(-50%);
        width: 220px;
    }
}
.header-mouse {
    position: absolute;
    bottom: 3%;
    left: 50%;
    transform: translateX(-50%);
}
.mouse {
    width: 26px;
    height: 42px;
    border: 1.5px solid var(--color8);
    border-radius: 40px;
    position: relative;
    overflow: hidden;
}
.mouse::before {
    content: '';
    width: 4px;
    height: 4px;
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--color8);
    border-radius: 50%;
    opacity: 1;
    animation: mouse-scroll 2.2s infinite;
    -webkit-animation: mouse-scroll 2.2s infinite;
}
@media screen and (max-width: 750px) {
    .header-text {
        top: 30%;
        padding: 0 15px;
        text-align: center;
    }
    .header-text .subtitle {
        font-size: 18px;
    }
    .header-mouse {
        display: none;
        visibility: hidden;
    }
}
/* ******************** Index Init ******************** */
.init {
    padding-top: 50px;
}
.title {
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 0 32px;
}
.init .init-about,
.init .init-blog-content,
.init .init-works-content {
    display: flex;
    flex-direction: row;
    padding-top: 8px;
    padding-bottom: 25px;
}
.init .init-welcome,
.init .init-works {
    padding: 0 32px;
}
.init .init-welcome p {
    text-align: justify;
    font-size: 18px;
}
.init .init-image {
    display: flex;
    justify-content: center;
    max-width: 40%;
    margin: auto;
    transition: transform 0.1s ease;
    margin-top: 25px;
}
.init .init-image img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0 30px;
    filter: grayscale(5%);
}
.section-experience {
    background-color: var(--color8);
}
.init .init-experience {
    display: flex;
    flex-direction: row;
}
.init .subtitle {
    padding: 0 32px; 
    margin-top: 30px; 
    padding-bottom: 30px
}
.init .subtitle p {
    font-size: 17px;
}
.init .init-experience-logos {
    margin: 0 35px;
    margin-bottom: 38px;
}
.init .init-experience-logos .item {
    padding: 0 38px;
}
.init .init-experience-logos .image-carousel {
    width: 256px;
    height: auto;
}
.init .experience-web {
    padding: 0 32px;
}
.init .experience-web img,
.init .experience-mobile img {
    cursor: pointer;
    width: 60px;
    margin: 0 auto;
    padding-top: 14px;
}
.init .experience-web p,
.init .experience-mobile p {
    text-align: justify;
    font-size: 17px;
}
.init .experience-title {
    padding: 0 10px;
}
.init .experience-title h3 {
    color: var(--color5);
}
.init .experience-mobile {
    padding: 0 32px;
}
.init .init-description {
    animation: anim-icon 3s infinite;
    animation-delay: 4s;
}
.init-resume {
    display: flex;
    margin-top: 80px;
    margin-bottom: 36px;
    padding-top: 30px;
    border-top: 0.1rem solid var(--color9);
}
.init-resume a {
    color: var(--color5);
    margin: 0 auto;
}
.init-resume a p {
    margin: 0;
    font-size: 16px;
}
.init-resume a p:hover img {
    transform: scale(1.08);
}
@media screen and (max-width: 750px) {
    .init {
        padding-top: 45px;
    }
    .init .init-about,
    .init .init-experience {
        flex-direction: column;
        padding-top: 5px;
    }
    .init .init-welcome {
        width: 100%;
    }
    .init .init-image {
        width: 100%;
        max-width: 95%;
    }
    .init .init-image img {
        padding: 0 52px;
    }
    .init .init-experience-logos .item {
        padding: 0 8px;
    }
    .init .experience-web,
    .init .experience-mobile { 
        width: 100%;
    }
    .init .experience-web img,
    .init .experience-mobile img {
        width: 52px;
        padding-top: 28px;
    }
}
/* ******************** Blog ******************** */
.section-blog {
    background-color: var(--color8);
}
.init-blog-content {
    flex-flow: row wrap;
    justify-content: space-around;
    padding: 0;
    margin: 0;
    list-style: none;
    margin-bottom: 30px;
    padding: 0 32px;
}
.init-blog-content .card-blog {
    font-family: var(--font-family);
    color: var(--color8);
    margin: 12px;
    overflow: hidden;
    position: relative;
    text-align: left;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
}
.init-blog-content .card-blog * {
    -webkit-transition: all 0.20s ease;
    transition: all 0.20s ease;
}
.init-blog-content .card-blog img {
    vertical-align: top;
    position: relative;
    width: auto;
    height: auto;
}
.init-blog-content .card-blog figcaption {
    width: 100%;
    padding: 20px 12px;
    position: absolute;
    bottom: 0;
    z-index: 1;
}
.init-blog-content .card-blog figcaption::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    background: var(--color5);
    opacity: 0.8;
    z-index: -1;
}
.init-blog-content .card-blog .date {
    font-family: var(--font-family);
    font-weight: 700;
    font-size: 18px;
    background-color: var(--color2);
    border-radius: 8%;
    min-width: 48px;
    min-height: 48px;
    padding: 10px 0;
    position: absolute;
    left: 20px;
    text-align: center;
    text-transform: uppercase;
    top: -36px;
}
.init-blog-content .card-blog .date span {
    display: block;
    line-height: 14px;
    color: var(--color1);
}
.init-blog-content .card-blog .date .month {
    font-size: 11px;
    color: var(--color1);
}
.init-blog-content .card-blog h3,
.init-blog-content .card-blog p {
    margin: 0;
    padding: 0;
}
.init-blog-content .card-blog h3 {
    font-weight: 700;
    display: inline-block;
    margin-bottom: 5px;
}
.init-blog-content .card-blog p {
    line-height: 1.6em;
    margin-bottom: 0px;
}
.init-blog-content .card-blog a {
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    position: absolute;
    z-index: 1;
}
.init-blog-content .card-blog:hover img,
.init-blog-content .card-blog.hover img {
    -webkit-transform: scale(1.25);
    transform: scale(1.25);
    -webkit-transform: scale(1.3) rotate(5deg);
    transform: scale(1.3) rotate(5deg);
}
@media screen and (max-width: 992px) {
    .init-blog-content .card-blog {
        width: 45%;
    }
}
@media screen and (max-width: 750px) {
    .init-blog-content .card-blog {
        width: 100%;
        max-width: 440px;
    }
}
/* ******************** Scroll Top ******************** */
.scroll-top { 
    background-color: var(--color5);
    width: 46px; 
    height: 46px; 
    text-align: center;  
    position: fixed; 
    bottom: 34px; 
    right: 36px; 
    display: none; 
    z-index: 99; 
    border-radius: 100%; 
    -webkit-border-radius: 100%; 
    -moz-border-radius: 100%;
    animation: float-scroll 6s ease-in-out infinite;
    padding: 10px;
}
.scroll-top:hover { 
    text-decoration: none; 
    opacity:0.9;
}
.scroll-top img {
    padding-bottom: 10px;
}
/* ******************** Works ******************** */
.init-works .accordion-item {
    margin-bottom: 10px;
}
.accordion {
    --bs-accordion-active-bg: var(--color9);
    --bs-accordion-btn-focus-border-color: none !important;
    --bs-accordion-btn-focus-box-shadow: none !important;
}
.accordion-button {
    font-family: var(--font-family);
    font-weight: 600;
    background-color: var(--color8);
    color: var(--color1);
}
.accordion-body small {
    font-family: var(--font-family);
    font-style: italic;
    font-size: 13px;
}
.accordion-body p {
    font-size: 16px;
    margin: 0;
    color: var(--color1);
}
.accordion-body ul {
    list-style: disc;
}
.accordion-body .list-item {
    font-family: var(--font-family);
    font-size: 15px;
}
/* ******************** Proyectos ******************** */
.init-projects-content {
    display: flex;
    flex-direction: row;
    flex-flow: row wrap;
    justify-content: space-around;
    padding: 0;
    margin: 0;
    list-style: none;
    margin-bottom: 30px;
    padding: 0 32px;
}
.init-projects-content .portfolio-item-wrapper {
    overflow: hidden;
    margin: 12px;
}
.init-projects-content .portfolio-item-wrapper .portfolio-item {
    display: block;
    -webkit-box-shadow: rgba(0, 0, 0, 0.148438) 0 1px 2px;
    box-shadow: rgba(0, 0, 0, 0.148438) 0 1px 2px;
    padding: 0;
    margin-bottom: 10px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}
.init-projects-content .portfolio-item-wrapper .portfolio-item figure {
    margin: 0;
} 
.init-projects-content .portfolio-item-wrapper .portfolio-item img {
    max-width: 100%;
    width: 100%;
    height: auto;
    opacity: 1.0;
    transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
}
.init-projects-content .portfolio-item-wrapper .portfolio-item figcaption {
    width: 100%;
    font-family: var(--font-family-bold);
    font-size: 24px;
}
.init-projects-content .portfolio-item-wrapper .portfolio-item:hover .portfolio-overlay {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
}
.portfolio-overlay {
    position: absolute;
    background: rgba(0, 0, 0, 0.25);
    width: 100%;
    height: 100%;
    opacity: 0;
}
.portfolio-info,
.portfolio-overlay {
    -webkit-transition: all 400ms;
    -moz-transition: all 400ms;
    -o-transition: all 400ms;
    transition: all 400ms;
}
.portfolio-info {
    position: absolute;
    bottom: -100%;
    left: 0;
    background: var(--color5);
    color: var(--color8);
    height: auto;
    width: 100%;
    text-align: center;
    opacity: 0.8;
}
.init-projects-content .portfolio-item-wrapper .portfolio-item:hover .portfolio-info {
    bottom: 0;
}
@media screen and (max-width: 992px) {
    .init-projects-content .portfolio-item-wrapper {
        width: 45%;
    }
}
@media screen and (max-width: 750px) {
    .init-projects-content .portfolio-item-wrapper {
        width: 100%;
        max-width: 480px;
    }
    .portfolio-info {
        bottom: 0;
    }
}
/* ******************** Modal ******************** */
.modal-header {
    padding: 0 26px;
}
.modal-header .header-title {
    width: 90%;
}
.modal-body {
    padding: 0 36px;
}
.modal-body .body-img {
    max-width: 68%;
    margin: 0 auto;
    padding-top: 20px;
}
.modal-body .body-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;   
    margin: 0;
    padding: 0;
    margin-top: 20px;
    padding-bottom: 30px;
}
.modal-body .body-items .li-items {
    display: list-item;
    margin: 3px 2px;
}
.li-items .item-content {
    display: flex;
    align-items: center;
    font-family: var(--font-family);
    font-size: 11px;
    border-radius: 2px;
    background-color: var(--color5);
    padding: 4px 10px;
    line-height: 1.25rem;
    color: var(--color8);
}
.modal-body ul {
    list-style: disc;
}
.modal-body .body-list-item {
    font-family: var(--font-family);
    font-size: 16px;
}
.modal-body .body-action { 
    text-align: center;
    padding-top: 18px;
    padding-bottom: 42px;
}

/* ******************** Work experience ******************** */
.section-works {
    background-color: var(--color8);
}
.init-works-content {
    flex-flow: row wrap;
    justify-content: space-around;
    padding: 0;
    margin: 0;
    list-style: none;
    margin-bottom: 30px;
    padding: 0 32px;
}
.init-works-content .card {
    margin: 20px 0;
    height: auto;
}
.init-works-content .card img {
    max-height: 80%;
    object-fit: scale-down;
}
.init-works-content .card .card-body {
    height: auto !important;
}
.init-works-content .card .card-body .card-subtitle {
    padding: 10px 0;
    margin-top: 26px;
    margin-bottom: 0px;
}
.init-works-content .card .card-body .card-text {
    font-family: var(--font-family);
    font-size: 14px;
    margin-bottom: 8px;
}
.init-works-content .card .card-body .card-text-subtitle {
    font-family: var(--font-family);
    font-size: 12px;
    padding: 4px 0;
    margin-bottom: 2px;
    margin-top: 1px;
}
.init-works-content .card .card-body ul {
    list-style: disc;
    display: flex;
    flex-direction: column;
}
.init-works-content .card .card-body .card-list-item {
    font-family: var(--font-family);
    font-size: 14px;
}
.init-works-content .card .card-body .action { 
    text-align: center;
    padding-top: 26px;
    padding-bottom: 22px;
}

/* ******************** Message ******************** */
.init-message p {
    font-family: var(--font-family);
    font-size: 14px;
}
.init-message p a {
    font-weight: 800;
    color: var(--color3);
}
.init-message p a:hover {
    color: var(--color5);
}