@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/*font-family: 'Crimson Pro', serif;*/
@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Text:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');
/*font-family: 'Red Hat Text', sans-serif;*/

/* General Style */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    /* Handling the scroll in index.html */
    scroll-behavior: smooth;
}

body {
    /* Text */
    font-family: 'Red Hat Text', sans-serif;
    font-size: 15px;
    line-height: 150%;
    color: #161516;
    background-color: #F8F8F8;
}

h1, h2, h3, h4, h5, h6, p {
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
    color: currentColor;
}

.button-primary {
    background-color: #FAFAFA;
    border: none;
    border-radius: 30px;
    font-family: 'Red Hat Text', sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 3px 15px;
    color: #468D8B;
    opacity: 100%;
    box-shadow: 0 1px 2px rgba(54, 53, 55, 0.5);
}

.button-primary:hover {
    color: #3B6571;
    background-color: #ffffff;
}

.button-primary:active {
    color: #82C4BF;
    box-shadow: inset 1px 1px 2px rgba(54, 53, 55, 0.5), inset -2px -2px 2px rgba(255, 255, 255, 1);
}


/* Typography */
h1 {
    font-family: 'Crimson Pro', serif;
    font-size: 40px;
    font-weight: 500;
    letter-spacing: -1px;
}

h2 {
    font-family: 'Crimson Pro', serif;
    font-size: 32px;
    font-weight: 500;
    letter-spacing: -1px;
}

h3 {
    font-family: 'Crimson Pro', serif;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: -1px;
}

.text-subtitle {
    font-family: 'Crimson Pro', serif;
    font-size: 20px;
    font-weight: 400;
}

.text-pretitle {
    font-family: 'Crimson Pro', serif;
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0;
}

.text-strong {
    font-family: 'Red Hat Text', sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 150%;
}

.text-small {
    font-family: 'Red Hat Text', sans-serif;
    font-size: 12px;
    line-height: 120%;
}

.text-button {
    font-family: 'Red Hat Text', sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
}

/* Colors */
.color-neve {
    color: #F8F8F8;
}

.color-carbone {
    color: #363537;
}

.color-acqua {
    color: #59B1A9;
}

.color-acqua-1st {
    color: #5EAEA7;
}

.color-text-dark {
    color: #161516;
}

.color-text-light {
    color: #F1F1F1;
}


/* Navbar */
#menu-bar {
    height: 10vh;
    z-index: 1;
    position: fixed;
    top: 0;
    width: 100%;
}

.menu-bar-bg {
    background-color: rgba(250, 250, 250, 0.3);
    backdrop-filter: blur(4px);
}

.menu-bar-bg-hover:hover {
    box-shadow:  0 2px 3px rgba(54, 53, 55, 0.3);
    background-color: rgba(250, 250, 250, 0.7);
    backdrop-filter: blur(4px);
}

/* Used for handle the change of background when menu is open*/
.bg_carbone_menu {
    background-color: rgba(54, 53, 55, 0.9);
    backdrop-filter: blur(4px);
}

/* Logo height */
#logoMatteo {
    height: 6vh;
    fill: #39566A;
}

#logoMatteo:hover {
    fill: #59B1A9;
}

#logoMatteo:active {
    fill: #82C4BF;
}

#logoMatteo:active circle {
    fill: #82C4BF;
}

/* Styling the menu button */
.menu-btn {
    cursor: pointer;
    transition: all 0.5s ease-out;
}

/* Styling the hamburger lines */
.menu-btn .btn-line {
    width: 25px;
    height: 3px;
    background: #39566A;
    transition: all 0.5s ease-out;
    border-radius: 50px;
}

/* Margin top and bottom of the center line of the hamburger menu*/
.btn-line-middle {
    margin: 5px 0 5px 0;
}

/* Adding transform to the X */
.menu-btn.close {
    transform: rotate(180deg);
    opacity: 1;
}

/* Styling the three lines to make it an X */
.menu-btn.close .btn-line:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
    background: #FAFAFA;
}

.menu-btn.close .btn-line:nth-child(2) {
    opacity: 0;
}

.menu-btn.close .btn-line:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
    background: #FAFAFA;
}

/* Styling the position of the menu icon */
#menu {
    position: fixed;
    top: 10vh;
    width: 100%;
    height: 90vh;
    visibility: hidden;
    background-color: rgba(54, 53, 55, 0.9);
    backdrop-filter: blur(4px);
    z-index: 1;
    color: #ffffff;
}

#menu h2 {
    color: #ffffff;
}

#logoMatteo-menu {
    fill: #ffffff;
    max-width: 30px;
}

#menu.show {
    visibility: visible;
}

.nav-link {
    padding: 0;
}

.nav-item {
    list-style: none;
}

/* colors and opacity of menu items (rules for h3-color and svg-fill)*/
.nav-item h3 {
    color: #F1F1F1;
    opacity: 0.7;
}

.nav-item svg {
    fill: #F1F1F1;
    opacity: 0.7;
}

.nav-item.current h3, .nav-item.current:hover h3 {
    color: #FAD082;
    opacity: 1;
}

.nav-item.current svg, .nav-item.current:hover svg {
    fill: #FAD082;
    opacity: 1;
}

.nav-item:active h3, .nav-item:hover h3 {
    color: #F1F1F1;
    opacity: 1;
}

.nav-item:active svg, .nav-item:hover svg {
    fill: #F1F1F1;
    opacity: 1;
}

/* colors and opacity of language change in menu */
#lang-menu {
    color: #F1F1F1;
    opacity: 0.7;
}

#lang-menu:active, #lang-menu:hover {
    color: #F1F1F1;
    opacity: 1;
}

/* line separator between project and personal projects */
.menu-hr-divider {
    width: 80%;
    color: #F1F1F1;
    background-color: #F1F1F1;
    opacity: 0.7;
}

.social_icon_menu {
    fill: #F1F1F1;
    opacity: 0.7;
}

.social_icon_menu:active, .social_icon_menu:hover {
    fill: #F1F1F1;
    opacity: 1;
}

.social_icon_about {
    fill: #161516;
    opacity: 1;
}

.social_icon_about:active, .social_icon_about:hover {
    fill: #161516;
    opacity: 0.6;
}

/* margin top for giving space to the menu*/
.margin-top-mobile {
    margin-top: 10vh;
}

/* Return to top arrow */
.return-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: transparent;
    transform: rotate(270deg);
    fill: #418B85;
    opacity: 0;
    z-index: 1;
}

.return-to-top:hover {
    fill: #0D1C1B;
    cursor: pointer;
}

/* Home Content */
#cover-home {
    height: 80vh;
    position: relative;
}

#arrow-home {
    position: absolute;
    bottom: 0;
    left: 50vw;
    right: 50vw;
}

#arrow-home:hover svg {
    cursor: pointer;
    width: 40px;
    height: 40px;
}

#arrow-home:active svg {
    width: 40px;
    height: 40px;
}

/* handle hover on svg image of pc and phone in home */
.img-svg-draw {
    max-height: 45vh;
    min-height: 30vh;
}

/* Colors for svg in home, pc and smartphone */
.cls-1{fill:#feff9c;}

.cls-2{fill:transparent;}
.img-svg-draw:hover .cls-2{fill:#f06543;}

.cls-3{fill:transparent;}
.img-svg-draw:hover .cls-3{fill:#1273aa;}

.cls-4{fill:transparent;}
.img-svg-draw:hover .cls-4{fill:#acd8d4;}

.cls-5{fill:#030303;}

.cls-6{fill:#39566a;}

.cls-7{opacity:0;}
.img-svg-draw:hover .cls-7{opacity:1;}

.cls-8{fill:transparent;}
.img-svg-draw:hover .cls-8{fill:#ffffff;}

.cls-9{fill:#f5e900;}

/* Colors for svg in about, heads of Matteo */
.cls-about-1{fill:#030303;}
.img-svg-draw:hover .cls-about-1{
    transition: transform ease-in .15s;
    transform: translate(10px);
    fill:#59b1a9;
}

.cls-about-2{fill:#030303;}
.img-svg-draw:hover .cls-about-2{
    transition: transform ease-in .15s;
    transform: translate(-10px);
    fill:#59b1a9;
}

.cls-about-3{fill:#030303;}
.img-svg-draw:hover .cls-about-3{fill:#2e7775;}

.cls-about-4{fill:#030303;opacity:0;isolation:isolate;}
.img-svg-draw:hover .cls-about-4{
    fill:#FAD082;
    opacity:1;
    isolation:isolate;
}

.img-home {
    object-fit: contain;
    object-position: center center;
    min-height: 220px;
    height: 45vw;
    /*box-shadow:  0 2px 3px rgba(54, 53, 55, 0.5);*/
}

.project-section:hover .img-home {
    transition: transform .2s ease-out;
    transform: scale(1.2);
}

.project-section:hover .img-home-sideproject {
    transition: transform .2s ease-out;
    transform: scale(0.9);
}

.bg_color_home {
    background: linear-gradient(45deg, rgba(57,86,106,1) 0%, rgba(57,86,106,1) 10%, rgba(89,177,169,1) 90%, rgba(89,177,169,1) 100%);
}

.bg_color_home_behind_first {
    background: linear-gradient(135deg, rgba(248,248,248,0) 90%, rgba(89,177,169,1) 90%);
}
.bg_color_home_behind_third {
    background: linear-gradient(135deg, rgba(57,86,106,1) 10%, rgba(248,248,248,0) 10%, rgba(248,248,248,0) 90%, rgba(89,177,169,1) 90%);
}
.bg_color_home_behind_fifth {
    background: linear-gradient(135deg, rgba(57,86,106,1) 17%, rgba(248,248,248,0) 17%);
}

/*.bg_color_home {*/
/*    background-color: #59b1a9;*/
/*}*/

/*.bg_color_home_behind {*/
/*    background-color: #59b1a9;*/
/*}*/

.bg_white_home {
    background-color: #f8f8f8;
}

.border_radius_home_third_right {
    border-radius: 0 0 70px 0;
}

.border_radius_home_diagonal {
    border-radius: 70px 0 70px 0;
}

.border_radius_home_first_left {
    border-radius: 70px 0 0 0;
}

.height_fifth_section {
    height: 70px;
}

/* Project Content */
.list-style-none {
    list-style: none;
}

.block-quote {
    display: block;
    border-left: 3px solid #68B8B1;
    background-color: transparent;
    color: #68B8B1;
    /* similar to H2 font style */
    font-family: 'Crimson Pro', serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 100%;
}

.image-product {
    margin: auto;
    width: 100%;
    /*height: 275px;*/
    object-fit: cover;
    object-position: center top;
    /*box-shadow: 0 4px 4px rgba(54, 53, 55, 0.5);*/
}

.image-product-logo-botia {
    margin: auto;
    width: 80%;
    /*height: 275px;*/
    object-fit: cover;
    object-position: center top;
    /*box-shadow: 0 4px 4px rgba(54, 53, 55, 0.5);*/
}

.bg_next_case {
    background-color: #d7e7e9;
}

.bg_next_case > a:hover h2 {
    color: #468D8B;
}

.bg_next_case > a:hover svg {
    fill: #468D8B;
}

.bg_next_case > a:active h2 {
    color: #68B8B1;
}

.bg_next_case > a:active svg {
    fill: #68B8B1;
}

/* hover per la mail in about*/
#about-mail:hover {
    opacity: 0.6;
}

.link-color {
    color: #3B6571;
}

.link-color:hover {
    color: #59B1A9;
}

.link-color:active {
    color: #68B8B1;
}

/* Page Personal projects */
#logoMatteo-personalProjects {
    fill: #59B1A9;
    max-width: 20px;
}



/* Media Queries */
@media screen and (min-width: 576px){
    #cover-home {
        height: 90vh;
        box-shadow: 0 10px 10px -1px rgba(57,86,106,0.1);
    }

    /* Home images */
    .img-home {
        height: 40vw;
    }

    /* Project images */
    .image-product {
        /*height: 330px;*/
    }
    .image-product-logo-botia {
        width: 70%;
    }

    /* Separator in menu */
    .menu-hr-divider {
        width: 60%;
    }

    /* Block quote in project explanation*/
    .block-quote {
        /* similar to H2 font style */
        font-family: 'Crimson Pro', serif;
        font-size: 22px;
    }
}


@media screen and (min-width: 768px){
    /* Menu style */
    #menu {
        height: auto;
    }

    /* Home images */
    .img-home {
        height: 35vw;
    }

    /* Project images */
    .image-product {
        /*height: 570px;*/
        width: 90%;
    }
    .image-product-logo-botia {
        width: 60%;
    }

    /* Block quote in project explanation*/
    .block-quote {
        /* similar to H2 font style */
        font-family: 'Crimson Pro', serif;
        font-size: 24px;
    }
}

@media screen and (min-width: 992px){
    body {
        font-size: 20px;
    }

    h1 {
        font-size: 60px;
    }

    h2 {
        font-size: 44px;
    }

    h3 {
        font-size: 34px;
    }

    .text-subtitle {
        font-size: 26px;
    }

    .text-pretitle {
        font-size: 20px;
    }

    .text-strong {
        font-size: 20px;
    }

    .text-small {
        font-size: 14px;
    }

    .text-button {
        font-size: 18px;
    }

    /* Home images */
    .img-home {
        height: 30vw;
    }

    /* Block quote in project explanation*/
    .block-quote {
        /* similar to H2 font style */
        font-family: 'Crimson Pro', serif;
        font-size: 24px;
    }
}

@media screen and (min-width: 1200px){
    /* Home images */
    .img-home {
        height: 25vw;
    }

    /*queste due regole servono per ruotare le immagini, per ora è utilizzata solo una per il secondo progetto*/
    .img-home-rotate-positive {
        transform: rotate(5deg);
    }

    .img-home-rotate-negative {
        transform: rotate(-5deg);
    }

    .img-home-sideproject {
        transform: scale(0.7) rotate(5deg);
    }

    /* Project images */
    .image-product {
        width: 80%;
        /*height: 725px;*/
    }
    .image-product-logo-botia {
        width: 50%;
    }

    /* Block quote in project explanation*/
    .block-quote {
        /* similar to H2 font style */
        font-family: 'Crimson Pro', serif;
        font-size: 26px;
    }
}