/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 100 version
*/

:root {
    /* Image paths */
    --img-intro: url(../etc/sections/introduction-section.jpg);
    --img-intro-medium: url(../etc/sections/introduction-section-medium.jpg);
    --img-intro-small: url(../etc/sections/introduction-section-small.jpg);

    --img-skills: url(../etc/sections/skills-section.jpg);
    --img-skills-medium: url(../etc/sections/skills-section-medium.jpg);
    --img-skills-small: url(../etc/sections/skills-section-small.jpg);

    --img-experience: url(../etc/sections/experience-section.jpg);
    --img-experience-medium: url(../etc/sections/experience-section-medium.jpg);
    --img-experience-small: url(../etc/sections/experience-section-small.jpg);

    --img-projects: url(../etc/sections/projects-section.jpg);
    --img-projects-medium: url(../etc/sections/projects-section-medium.jpg);
    --img-projects-small: url(../etc/sections/projects-section-small.jpg);

    --img-photos: url(../etc/sections/photos-section.jpg);
    --img-photos-medium: url(../etc/sections/photos-section-medium.jpg);
    --img-photos-small: url(../etc/sections/photos-section-small.jpg);

    --img-footer: url(../etc/sections/footer-section.jpg);
    --img-profile: url(../etc/profile.jpg);

    /* Overlay colors */
    --overlay-dark: rgba(4, 14, 17, 0.66);
    --overlay-medium: rgba(4, 14, 17, 0.5);
    --overlay-light: rgba(4, 14, 17, 0.4);
    --overlay-lighter: rgba(4, 14, 17, 0.3);
    --overlay-lightest: rgba(4, 14, 17, 0.2);

    /* Colors */
    --color-primary: #3BB3E0;
    --color-primary-dark: #2D8AAD;
    --color-secondary: #009bd389;
    --color-secondary-dark: #194f63;
    --color-bg: #000f2c;
    --color-text: #fff;
    --color-link: #3CC;
    --color-link-hover: #FF0;
}

body {
    font-family: "Open Sans", sans-serif;
    letter-spacing: 0.4px;
    font-size: 14px;
    font-weight: 400;
    position: relative;
    background-color: var(--color-bg);
}

/* Links */

a {
    color: var(--color-link);
    text-decoration: none;
}

a:hover {
    color: var(--color-link-hover);
}

/* navbar to the right */

#fixed-side-navbar {
    position: fixed;
    top: 50%;
    right: -0.5em;
    z-index: 99999;
    margin-top: -100px;
    text-align: right;
    padding: 10px 0;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
}

#fixed-side-navbar:hover {
    background: transparent;
}

#fixed-side-navbar:hover .nav>li>a>span {
    color: rgba(0, 0, 0, 0.5);
    display: block;
    background-color: #fff;
    text-align: center;
    text-transform: uppercase;
    font-size: 12px;
    padding: 2px 12px;
    border-radius: 30px;
}

#fixed-side-navbar .nav>li a.active {
    background-color: transparent;
    color: black;
}

#fixed-side-navbar .nav>li a.active:after {
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -o-transform: scale(0.9);
    transform: scale(0.9);
}

#fixed-side-navbar .nav>li a.active:before {
    content: '';
    position: absolute;
    top: 50%;
    right: 17px;
    margin-top: -8px;
    width: 16px;
    height: 16px;
    background: transparent;
    border: 2px solid #fff;
    border-radius: 30px;
}

.nav>li {
    position: relative;
    display: block;
}

#fixed-side-navbar .nav>li a {
    color: #fff;
    min-height: 32px;
    background: transparent;
    padding: 5px 45px 5px 25px;
    border-right: none;
}

#fixed-side-navbar .nav>li a span {
    display: none;
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    -moz-transition: all .2s;
    transition: all .2s;
}

#fixed-side-navbar .nav>li a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -5px;
    width: 10px;
    height: 10px;
    border-radius: 30px;
    background: rgba(250, 250, 250, 0.75);
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
    -webkit-transform: scale(0.6);
    -ms-transform: scale(0.6);
    -moz-transform: scale(0.6);
    -o-transform: scale(0.6);
    transform: scale(0.6);
}

#fixed-side-navbar .nav>li a:hover {
    background-color: transparent;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    border-color: black;
    border-right: 0;
}

#fixed-side-navbar .nav>li a:hover>span {
    color: black;
    display: block;
}

/* buttons: blue actions and back to top button */

.btn-filter {
    background-color: var(--color-secondary) !important;
    backdrop-filter: blur(10px);
    font-size: 16px;
    font-weight: 400;
    border-radius: 30px;
    color: var(--color-text);
}

.btn-filter.active {
    background-color: var(--color-secondary-dark) !important;
    color: var(--color-text);
    font-weight: 800;
}

.primary-button a {
    display: inline-block;
    background-color: var(--color-secondary) !important;
    padding: 12px 18px;
    border-radius: 30px;
    text-transform: uppercase;
    font-size: 13px;
    color: var(--color-text);
    font-weight: 600;
    text-decoration: none;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.primary-button>a:hover {
    background-color: var(--color-secondary-dark);
    color: var(--color-text);
}

#btn-back-to-top {
    z-index: 99998;
    position: fixed;
    bottom: 15px;
    right: 15px;
    display: none;
}

#btn-previous-page {
    z-index: 99998;
    position: fixed;
    bottom: 15px;
    left: 15px;
}

.btn-custom {
    background-color: var(--color-secondary) !important;
    border-color: var(--color-secondary-dark) !important;
    color: var(--color-text);
    border-radius: 30px;
}

.btn-custom:hover {
    background-color: var(--color-secondary-dark) !important;
    color: var(--color-text);
}

/* End of page disclaimer */

.eop {
    text-align: center;
    margin: 0 auto;
    border-radius: 30px;
    backdrop-filter: blur(20px);
    max-width: 600px;
    padding: 15px;
    margin: auto
}

.eop p {
    color: var(--color-text);
    font-size: 14px;
    font-weight: 400;
}

@media (max-width: 767px) {
    .eop p {
        width: 250px;
        margin: auto !important;
    }
}

/* Common stuff */

.clearfix:after {
    content: "";
    display: table;
    clear: both;
}

.flexi-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    height: 100%;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    -webkit-align-self: center;
    align-self: center;
}

.introduction-content.parallax-content {
    background-size: cover;
}

.parallax-content {
    width: 100%;
    min-height: 100vh;
    background-size: auto;
    background-attachment: local;
}

::-webkit-scrollbar {
    width: 0px;
}

/*
@media (min-width: 576px) {
    .looping-background {
        -webkit-background-size: auto 200%;
        -moz-background-size: auto 200%;
        -o-background-size: auto 200%;
        background-size: auto 200%;
    }
}

@media (min-width: 768px) {
    .looping-background {
        -webkit-background-size: auto 225%;
        -moz-background-size: auto 225%;
        -o-background-size: auto 225%;
        background-size: auto 225%;
    }
}

@media (min-width: 992px) {
    .looping-background {
        -webkit-background-size: auto 250%;
        -moz-background-size: auto 250%;
        -o-background-size: auto 250%;
        background-size: auto 250%;
    }
}

@media (min-width: 1200px) {
    .looping-background {
        -webkit-background-size: auto 300%;
        -moz-background-size: auto 300%;
        -o-background-size: auto 300%;
        background-size: auto 300%;
    }
}
*/
.frosted {
    -webkit-backdrop-filter: blur(30px);
    backdrop-filter: blur(30px);
    border-radius: 30px;
    background-color: rgba(0, 0, 0, 0.25);
}

/* First part: introduction */

.introduction-content {
    padding-top: 25vh;
    text-align: left;
    background-image: -o-linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-intro);
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-dark)), to(var(--overlay-dark))), var(--img-intro);
    background-image: -webkit-linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-intro);
    background-image: -moz-linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-intro);
    background-image: linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-intro);
}

/* Responsive images for mobile devices (up to 767px) */
@media (max-width: 767px) {
    .introduction-content {
        background-image: -o-linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-intro-small);
        background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-dark)), to(var(--overlay-dark))), var(--img-intro-small);
        background-image: -webkit-linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-intro-small);
        background-image: -moz-linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-intro-small);
        background-image: linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-intro-small);
    }
}

/* Responsive images for tablets (768px to 1199px) */
@media (min-width: 768px) and (max-width: 1199px) {
    .introduction-content {
        background-image: -o-linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-intro-medium);
        background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-dark)), to(var(--overlay-dark))), var(--img-intro-medium);
        background-image: -webkit-linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-intro-medium);
        background-image: -moz-linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-intro-medium);
        background-image: linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-intro-medium);
    }
}

@media (max-width: 767px) {
    .introduction-content {
        padding-top: 45vh;
    }
}

/* Add blur overlay and disable parallax on very small mobile devices
@media (max-width: 576px) {
    .introduction-content {
        background-attachment: scroll !important;
        position: relative;
    }
    
    .introduction-content::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter: blur(20px);
        pointer-events: none;
        z-index: 1;
    }
    
    .introduction-content > * {
        position: relative;
        z-index: 2;
    }
} */

.introduction-box {
    padding-left: 2vmin;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    flex-direction: column;
}

.introduction-content h1 {
    margin-top: 0px;
    font-size: 6vmax;
    color: var(--color-text);
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 0px;
}

.introduction-content h2 {
    margin-top: 0px;
    font-size: 5vmax;
    color: var(--color-text);
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 0px;
}

.introduction-content h3 {
    margin-top: 0px;
    font-size: 3vmax;
    color: var(--color-text);
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 0px;
}

.introduction-content em {
    color: var(--color-primary);
    font-weight: 600;
    font-style: normal;
}

.introduction-content em.more {
    color: var(--color-text);
    font-weight: 400;
}

.introduction-content span {
    display: inline-block;
    margin-top: -20px;
    font-weight: 400;
    font-size: 4vmax;
    color: var(--color-text);
}

.introduction-content div {
    margin-top: -10px;
    font-weight: 400;
    font-size: 4vmax;
    color: var(--color-text);
}

/* Second part: resume, skilss and main information */

.skills-content {
    background-image: linear-gradient(var(--overlay-dark), var(--overlay-dark)), var(--img-skills);
    background-attachment: fixed;
    min-height: 100vh;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-position: center center;
}


.initial-heading {
    padding: 2vmin 5vmin;
}

.skills-container {
    align-self: center;
    width: 100%;
}

.skills-content .cert-text {
    color: var(--color-text);
    margin: 30px 0;
}

.skills-content .skills-item {
    font-size: 13px;
    padding: 20px 25px;
    text-align: left;
    color: var(--color-text);
    margin-bottom: 25px;
    width: 350px;
    min-height: 350px;
}

.skills-content .skills-item .line-dec {
    width: 45px;
    height: 3px;
    background-color: var(--color-primary);
    margin: 20px auto 15px 0px;
}

.skills-item-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    justify-content: center;
    margin-bottom: 5px
}

.skills-item-container .skills-image {
    font-size: 20px;
    width: 20px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20px;
    -webkit-flex: 0 0 20px;
    -moz-box-flex: 0;
    flex: 0 0 20px;
}

.skills-image>img {
    width: 22px;
}

.skills-item-container .skills-description {
    padding-left: 15px;
    -ms-flex-preferred-size: 90%;
    -webkit-flex-basis: 90%;
    flex-basis: 90%;
}

ul li {
    color: var(--color-text);
}

/* From third part: owl content, in common */

/* Introduction to section */
div.owl-intro {
    color: var(--color-text);
    padding: 10px 5vmin 10px 5vmin;
    width: auto;
    margin: 40px auto 40px auto;
    text-align: center;
    font-weight: 600;
    font-size: 16pt;
    -ms-flex-preferred-size: 5vh;
    -webkit-flex-basis: 5vh;
    flex-basis: 5vh;
}

div.owl-intro>*>p {
    margin-top: 5pt;
    margin-bottom: 5pt;
}

#footer-row {
    margin-bottom: 30px;
}

.owl-content {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-box-pack: justify;
    justify-content: space-between;
    padding: 3vmin;
    min-height: 100vh;
}

.owl-content span {
    font-style: normal;
    font-size: 13px;
    font-weight: 300;
    color: var(--color-text);
}

.owl-content p {
    color: var(--color-text);
}

.owl-content h4 {
    font-style: normal;
    font-size: 16px;
    font-weight: 500;
    color: var(--color-primary);
}

.owl-content h3 {
    margin-top: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--color-text);
}

.owl-content h2 {
    margin-top: 0;
    font-size: 20px;
    font-weight: 700;
    color: var(--color-text);
}

.owl-content h1, .owl-content h2, .owl-content h3, .owl-content h4, .owl-content h5, .owl-content h6, .owl-content p, .owl-content span {
    margin: .2rem 2px 2px;
}

.owl-content ul {
    padding-top: 5px;
}

.owl-cards {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    -moz-box-orient: horizontal;
    -moz-box-direction: normal;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.owl-content .owl-entry {
    max-width: 100%;
    padding: -webkit-calc(var(--bs-gutter-x) * .5);
    padding: -moz-calc(var(--bs-gutter-x) * .5);
    padding: calc(var(--bs-gutter-x) * .5);
}

.force-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.row {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.owl-work-type {
    font-size: 22px !important;
    margin-bottom: 16px !important;
}

.owl-work-subtype {
    margin-bottom: 8px !important;
}

.owl-content .owl-entry img {
    width: 100%;
}

.owl-icon-picture {
    width: 35px !important;
    margin-left: auto;
    margin-right: auto;
    margin-top: 10px;
    margin-bottom: 10px;
}

.owl-icon {
    text-align: center;
    color: var(--color-primary);
    width: 30px;
    font-size: 26px;
}

.owl-project-desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    flex-direction: column;
    padding-left: 20px;
    padding-right: 20px;
}

.owl-content .project-text {
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    align-items: center;
    padding: 15px 20px 15px 20px;
    margin: 10px;
    position: relative;
}

.owl-content .project-text::after {
    content: '\f054';
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.3s ease;
    color: var(--color-primary);
    font-size: 14px;
}

.owl-content .project-text.expanded::after {
    transform: translateY(-50%) rotate(90deg);
}

.owl-content .project-text .owl-showover {
    display: none;
    margin-top: 10px;
}

.owl-content .project-text.expanded .owl-showover {
    display: block;
}


@media (max-width: 991px) {
    .owl-content .project-text {
        min-width: 80%;
    }
}


@media (min-width: 992px) {
    .owl-content .project-text {
        min-width: 40%;
    }
}


.owl-content .generic-text {
    padding: 20px;
}

.generic-text-photo {
    -webkit-backdrop-filter: blur(30px);
    backdrop-filter: blur(30px);
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    background-color: rgba(0, 0, 0, 0.25);
    padding: 20px;
    margin-top: 5px;
}

.gallery-image {
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
}

.owl-nav {
    margin-top: -15px !important;
}

.owl-dots {
    margin-bottom: 20px;
}

.owl-carousel {
    padding-top: 20px;
}

/* Third part: education and experience */

.experience-content {
    background-image: -o-linear-gradient(var(--overlay-lightest), var(--overlay-lightest)), var(--img-experience);
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-lightest)), to(var(--overlay-lightest))), var(--img-experience);
    background-image: -webkit-linear-gradient(var(--overlay-lightest), var(--overlay-lightest)), var(--img-experience);
    background-image: -moz-linear-gradient(var(--overlay-lightest), var(--overlay-lightest)), var(--img-experience);
    background-image: linear-gradient(var(--overlay-lightest), var(--overlay-lightest)), var(--img-experience);
}

@media (max-width: 767px) {
    .experience-content {
        background-image: -o-linear-gradient(var(--overlay-lightest), var(--overlay-lightest)), var(--img-experience-small);
        background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-lightest)), to(var(--overlay-lightest))), var(--img-experience-small);
        background-image: -webkit-linear-gradient(var(--overlay-lightest), var(--overlay-lightest)), var(--img-experience-small);
        background-image: -moz-linear-gradient(var(--overlay-lightest), var(--overlay-lightest)), var(--img-experience-small);
        background-image: linear-gradient(var(--overlay-lightest), var(--overlay-lightest)), var(--img-experience-small);
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .experience-content {
        background-image: -o-linear-gradient(var(--overlay-lightest), var(--overlay-lightest)), var(--img-experience-medium);
        background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-lightest)), to(var(--overlay-lightest))), var(--img-experience-medium);
        background-image: -webkit-linear-gradient(var(--overlay-lightest), var(--overlay-lightest)), var(--img-experience-medium);
        background-image: -moz-linear-gradient(var(--overlay-lightest), var(--overlay-lightest)), var(--img-experience-medium);
        background-image: linear-gradient(var(--overlay-lightest), var(--overlay-lightest)), var(--img-experience-medium);
    }
}

/* Add blur overlay on very small mobile devices */
@media (max-width: 576px) {
    .experience-content {
        position: relative;
    }

    .experience-content::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        -webkit-backdrop-filter: blur(40px);
        backdrop-filter: blur(40px);
        pointer-events: none;
        z-index: 1;
    }

    .experience-content>* {
        position: relative;
        z-index: 2;
    }
}

/* Fourth part: projects */

.projects-content {
    background-image: -o-linear-gradient(var(--overlay-medium), var(--overlay-medium)), var(--img-projects);
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-medium)), to(var(--overlay-medium))), var(--img-projects);
    background-image: -webkit-linear-gradient(var(--overlay-medium), var(--overlay-medium)), var(--img-projects);
    background-image: -moz-linear-gradient(var(--overlay-medium), var(--overlay-medium)), var(--img-projects);
    background-image: linear-gradient(var(--overlay-medium), var(--overlay-medium)), var(--img-projects);
    background-attachment: fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-position: center center;
}

@media (max-width: 767px) {
    .projects-content {
        background-image: -o-linear-gradient(var(--overlay-medium), var(--overlay-medium)), var(--img-projects-small);
        background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-medium)), to(var(--overlay-medium))), var(--img-projects-small);
        background-image: -webkit-linear-gradient(var(--overlay-medium), var(--overlay-medium)), var(--img-projects-small);
        background-image: -moz-linear-gradient(var(--overlay-medium), var(--overlay-medium)), var(--img-projects-small);
        background-image: linear-gradient(var(--overlay-medium), var(--overlay-medium)), var(--img-projects-small);
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .projects-content {
        background-image: -o-linear-gradient(var(--overlay-medium), var(--overlay-medium)), var(--img-projects-medium);
        background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-medium)), to(var(--overlay-medium))), var(--img-projects-medium);
        background-image: -webkit-linear-gradient(var(--overlay-medium), var(--overlay-medium)), var(--img-projects-medium);
        background-image: -moz-linear-gradient(var(--overlay-medium), var(--overlay-medium)), var(--img-projects-medium);
        background-image: linear-gradient(var(--overlay-medium), var(--overlay-medium)), var(--img-projects-medium);
    }
}

.projects-content h5 {
    font-size: 20px;
    font-weight: 600;
    color: var(--color-text);
    margin-bottom: 20px !important;
}

.projects-content .left-text .line-dec {
    width: 45px;
    height: 3px;
    background-color: var(--color-primary);
    margin: 20px auto 20px auto;
}

.projects-content .left-text .line-dec-left {
    width: 45px;
    height: 3px;
    background-color: var(--color-primary);
    margin: 20px auto 20px 0;
}

@media (max-width: 767px) {
    .projects-content .left-text .line-dec-left {
        margin: 20px auto 20px auto;
    }
}

.projects-content .left-text p {
    color: var(--color-text);
}

.projects-content .left-text ul {
    padding: 0;
    margin-top: 30px;
    list-style: none;
}

.projects-content .left-text ul li {
    margin: 15px 0px;
    font-weight: 600;
    color: var(--color-text);
}

.projects-content .left-text .primary-button {
    margin: 20px 0px;
}

.projects-content.owl-content .owl-entry {
    max-width: 100%;
    padding: 0 !important;
    margin-right: 10px;
}

/* Fifth part: gallery of photos */

.photos-content {
    background-image: -o-linear-gradient(var(--overlay-lighter), var(--overlay-lighter)), var(--img-photos);
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-lighter)), to(var(--overlay-lighter))), var(--img-photos);
    background-image: -webkit-linear-gradient(var(--overlay-lighter), var(--overlay-lighter)), var(--img-photos);
    background-image: -moz-linear-gradient(var(--overlay-lighter), var(--overlay-lighter)), var(--img-photos);
    background-image: linear-gradient(var(--overlay-lighter), var(--overlay-lighter)), var(--img-photos);
}

@media (max-width: 767px) {
    .photos-content {
        background-image: -o-linear-gradient(var(--overlay-lighter), var(--overlay-lighter)), var(--img-photos-small);
        background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-lighter)), to(var(--overlay-lighter))), var(--img-photos-small);
        background-image: -webkit-linear-gradient(var(--overlay-lighter), var(--overlay-lighter)), var(--img-photos-small);
        background-image: -moz-linear-gradient(var(--overlay-lighter), var(--overlay-lighter)), var(--img-photos-small);
        background-image: linear-gradient(var(--overlay-lighter), var(--overlay-lighter)), var(--img-photos-small);
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .photos-content {
        background-image: -o-linear-gradient(var(--overlay-lighter), var(--overlay-lighter)), var(--img-photos-medium);
        background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-lighter)), to(var(--overlay-lighter))), var(--img-photos-medium);
        background-image: -webkit-linear-gradient(var(--overlay-lighter), var(--overlay-lighter)), var(--img-photos-medium);
        background-image: -moz-linear-gradient(var(--overlay-lighter), var(--overlay-lighter)), var(--img-photos-medium);
        background-image: linear-gradient(var(--overlay-lighter), var(--overlay-lighter)), var(--img-photos-medium);
    }
}

/* Add blur overlay on very small mobile devices */
@media (max-width: 576px) {
    .photos-content {
        position: relative;
    }

    .photos-content::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        -webkit-backdrop-filter: blur(40px);
        backdrop-filter: blur(40px);
        pointer-events: none;
        z-index: 1;
    }

    .photos-content>* {
        position: relative;
        z-index: 2;
    }
}

/* Final part: footer */

footer {
    background-image: -o-linear-gradient(var(--overlay-light), var(--overlay-light)), var(--img-footer);
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--overlay-light)), to(var(--overlay-light))), var(--img-footer);
    background-image: -webkit-linear-gradient(var(--overlay-light), var(--overlay-light)), var(--img-footer);
    background-image: -moz-linear-gradient(var(--overlay-light), var(--overlay-light)), var(--img-footer);
    background-image: linear-gradient(var(--overlay-light), var(--overlay-light)), var(--img-footer);
    background-attachment: fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-position: center center;
    min-height: 100vh;
    text-align: center;
}

/* Add blur overlay and disable parallax on very small mobile devices 
@media (max-width: 576px) {
    footer {
        background-attachment: scroll !important;
        position: relative;
    }
    
    footer::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        -webkit-backdrop-filter: blur(20px);
        backdrop-filter: blur(20px);
        pointer-events: none;
        z-index: 1;
    }
    
    footer > * {
        position: relative;
        z-index: 2;
    }
}*/

#contacts>div.container {
    margin-top: 250px;
}

footer .footer-intro {
    padding-left: 15px;
    padding-right: 15px;
    color: var(--color-text);
    text-align: center;
    padding-top: 0;
}

footer .primary-button {
    margin-bottom: 30px;
}

footer ul {
    padding: 5px;
    margin-top: 15px;
    list-style: none;
}

footer ul li {
    display: inline-block;
    margin: 0px 4px;
}

footer ul li a {
    width: 44pt;
    height: 44pt;
    line-height: 44pt;
    text-align: center;
    display: inline-block;
    color: #e4e4e4;
    background-color: #282b2f8c;
    backdrop-filter: blur(10px);
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    text-decoration: none;
    -webkit-transition: all 0.5s;
    -o-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
    font-size: 18pt;
    margin: 2px;
}

footer ul li a:hover {
    color: #282b2f;
    background-color: #f9f9f98c;
}

footer p {
    font-size: 14px;
    color: var(--color-text);
    margin-top: 15px;
    margin: 15px;
}

footer em {
    color: var(--color-primary-dark);
    font-weight: 600;
    font-style: normal;
}

/* Profile picture at the end */

.profile-pic {
    background-image: var(--img-profile);
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-position: center;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    border-radius: 50%;
}

@media (max-width: 575px) {
    .profile-pic {
        height: 110px;
        width: 110px;
        margin-top: 100px;
    }
}

@media (min-width: 576px) {
    .profile-pic {
        height: 135px;
        width: 135px;
    }
}

@media (min-width: 768px) {
    .profile-pic {
        height: 170px;
        width: 170px;
    }
}

@media (min-width: 992px) {
    .profile-pic {
        height: 200px;
        width: 200px;
    }
}

@media (min-width: 1200px) {
    .profile-pic {
        height: 250px;
        width: 250px;
    }
}

/* vertical flip for title card */

.vertical-flip em {
    -webkit-animation: vertical 8.5s linear infinite 0s;
    -moz-animation: vertical 8.5s linear infinite 0s;
    -o-animation: vertical 8.5s linear infinite 0s;
    animation: vertical 8.5s linear infinite 0s;
    color: var(--color-primary);
    opacity: 0;
    overflow: hidden;
    position: absolute;
}

.vertical-flip em:nth-child(2) {
    -webkit-animation-delay: 1.5s;
    -moz-animation-delay: 1.5s;
    -o-animation-delay: 1.5s;
    animation-delay: 1.5s;
}

.vertical-flip em:nth-child(3) {
    -webkit-animation-delay: 3s;
    -moz-animation-delay: 3s;
    -o-animation-delay: 3s;
    animation-delay: 3s;
}

.vertical-flip em:nth-child(4) {
    -webkit-animation-delay: 4.5s;
    -moz-animation-delay: 4.5s;
    -o-animation-delay: 4.5s;
    animation-delay: 4.5s;
}

.vertical-flip em:nth-child(5) {
    -webkit-animation-delay: 6s;
    -moz-animation-delay: 6s;
    -o-animation-delay: 6s;
    animation-delay: 6s;
}

/* vertical flip animation */

@-webkit-keyframes vertical {
    0% {
        opacity: 0;
    }

    5% {
        opacity: 0;
        -webkit-transform: rotateX(180deg);
    }

    10% {
        opacity: 1;
        -webkit-transform: translateY(0px);
    }

    25% {
        opacity: 1;
        -webkit-transform: translateY(0px);
    }

    30% {
        opacity: 0;
        -webkit-transform: translateY(0px);
    }

    80% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

@-moz-keyframes vertical {
    0% {
        opacity: 0;
    }

    5% {
        opacity: 0;
        -webkit-transform: rotateX(180deg);
    }

    10% {
        opacity: 1;
        -webkit-transform: translateY(0px);
    }

    25% {
        opacity: 1;
        -webkit-transform: translateY(0px);
    }

    30% {
        opacity: 0;
        -webkit-transform: translateY(0px);
    }

    80% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

@-o-keyframes vertical {
    0% {
        opacity: 0;
    }

    5% {
        opacity: 0;
        -webkit-transform: rotateX(180deg);
    }

    10% {
        opacity: 1;
        -webkit-transform: translateY(0px);
    }

    25% {
        opacity: 1;
        -webkit-transform: translateY(0px);
    }

    30% {
        opacity: 0;
        -webkit-transform: translateY(0px);
    }

    80% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

@keyframes vertical {
    0% {
        opacity: 0;
    }

    5% {
        opacity: 0;
        -webkit-transform: rotateX(180deg);
    }

    10% {
        opacity: 1;
        -webkit-transform: translateY(0px);
    }

    25% {
        opacity: 1;
        -webkit-transform: translateY(0px);
    }

    30% {
        opacity: 0;
        -webkit-transform: translateY(0px);
    }

    80% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

#course-hider {
    color: white;
    border: none;
    padding: 5px 10px;
    font-weight: bold;
    cursor: pointer;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-transition: background-color 0.3s ease;
    -o-transition: background-color 0.3s ease;
    -moz-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}

#course-hider:hover {
    background-color: #0056b3;
}

#course-hider:focus {
    outline: none;
    -webkit-box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
    -moz-box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
}

/* Filter buttons for content filtering */

@media (max-width: 767px) {
    .left-text {
        text-align: center;
        margin-bottom: 2em;
    }
}

@media (min-width: 768px) {
    .left-text {
        text-align: left;
        margin-right: 2em;
        position: -webkit-sticky;
        position: sticky;
        top: 20px;
        align-self: flex-start;
    }
}

.filter-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    flex-wrap: wrap;
    align-items: center;
}



.filter-label {
    color: var(--color-primary);
    font-weight: bold;
    font-size: 16px;
    margin-left: 15px;
}

.content-area {
    margin-top: 20px;
}

.content-section-title {
    color: var(--color-primary);
    margin-top: 20px;
    margin-bottom: 15px;
    font-weight: bold;
}

h2.main-content-title {
    font-weight: bold;
    margin-top: 15px;
    margin-bottom: 15px;
    font-size: 24px;
}

@media (max-width: 767px) {

    .content-section-title,
    h2.main-content-title {
        text-align: center;
    }

    .filter-buttons {
        justify-content: center;
    }
}

.skills-blocks-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin: 12px;
}

.skills-blocks-row>.col-md-6:last-child:nth-child(odd) {
    margin-left: auto;
    margin-right: auto;
}

.explainer-row {
    text-align: center;
    margin: auto;
    width: auto;
    backdrop-filter: blur(20px);
    border-radius: 30px;
    padding: 15px;
}

.title-row {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 15px;
    padding-right: 15px;
}