/*
Theme Name: MDM2
Theme URI: https://www.mdm2.it
Author: MDM2
Author URI: https://www.mdm2.it
Description: Tema personalizzato per lo studio dell'Architetto Maria Di Marco.
Version: 1.0
Text Domain: mdm2
*/


/* =========================================================
   RESET
   ========================================================= */

* {
    box-sizing: border-box;
}

html {
    margin: 0;
    padding: 0;
}

body {
    margin: 0;
    padding: 0;

    background: #f8f8f8;
    color: #3b3b3b;

    font-family: glacial-indifference-webfont, Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.6;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
}


/* =========================================================
   HEADER
   ========================================================= */

.site-header {
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 150px;

    z-index: 1000;

    background: #f8f8f8;

    padding: 0 7.5vw;

    display: flex;
    align-items: center;
}


/* ---------------------------------------------------------
   Nome dello studio
   --------------------------------------------------------- */

.site-name {
    position: absolute;

    left: 7.5vw;
    bottom: 30px;

    font-size: 18px;
    font-style: italic;
    line-height: 1;
}

.site-name a {
    display: block;
}


/* ---------------------------------------------------------
   Logo
   --------------------------------------------------------- */

.site-logo {
    position: absolute;

    right: 7.5vw;
    top: 50%;

    width: 90px;

    transform: translateY(-50%);
}

.site-logo a {
    display: block;
}

.site-logo img {
    display: block;

    width: 100%;
    height: auto;
}


/* =========================================================
   NAVIGAZIONE
   ========================================================= */

.site-navigation {
    position: fixed;

    right: 7.5vw;
    bottom: 55px;

    z-index: 1001;
}

.primary-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-end;

    margin: 0;
    padding: 0;

    list-style: none;
}

.primary-menu li {
    margin: 0;
    padding: 0;
}

.primary-menu a {
    display: block;

    font-size: 15px;
    line-height: 1.4;

    transition: opacity 0.25s ease;
}

.primary-menu a:hover,
.primary-menu a:focus {
    opacity: 0.55;
}


/* =========================================================
   CONTENUTO GENERALE
   ========================================================= */

.site-main {
    position: relative;
}


/* =========================================================
   HOME — HERO
   ========================================================= */

.home-hero {
    min-height: auto;

    padding: 210px 7.5vw 60px;
}

.home-hero-inner {
    width: 100%;
    max-width: none;
}

.home-hero h1 {
    width:100%;
    max-width:none;
    margin:0;

    font-size:38px;
    font-weight:700;
    font-style:italic;
    line-height:1.1;

    text-transform:uppercase;
    letter-spacing:.06em;
    color:#666;
}

/* =========================================================
   HOME — INTRODUZIONE
   ========================================================= */

.home-intro {
    padding: 0 7.5vw 100px;
}

.home-intro-inner {
    width: 100%;
    max-width: none;
}

.home-intro p {
    width: 100%;
    max-width: none;

    margin: 0 0 28px;

    font-size: 21px;
    line-height: 1.45;
}

.home-intro p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   HOME — SERVIZI
   ========================================================= */

.home-services {
    /*
     * Ridotto lo spazio inferiore:
     * il blocco Contatti segue ora i Servizi
     * con una distanza più equilibrata.
     */
    padding: 40px 7.5vw 40px;
}

.home-services-inner {
    width: 100%;
    max-width: none;
}


/* ---------------------------------------------------------
   Titolo della sezione
   --------------------------------------------------------- */

.section-heading {
    margin-bottom: 28px;
}

.section-heading h2 {
    margin: 0;

    font-size: 27px;
    font-weight: 700;
    font-style: italic;

    text-transform: uppercase;
    letter-spacing: 0.06em;

    color: #666666;
}


/* ---------------------------------------------------------
   Elenco macro-servizi
   --------------------------------------------------------- */

.services-list {
    display: flex;
    flex-direction: column;

    width: 100%;
}

.service-item {
    position: relative;

    display: block;

    width: 100%;

    padding: 28px 50px 28px 0;

    border-top: 1px solid #b4b4b4;
}

.service-item:last-child {
    border-bottom: 1px solid #b4b4b4;
}


/* ---------------------------------------------------------
   Titolo macro-servizio
   --------------------------------------------------------- */

.service-item h3 {
    margin: 0;

    font-size: clamp(28px, 3.5vw, 48px);
    font-weight: 400;

    line-height: 1.05;

    color: #3b3b3b;

    transition: opacity 0.25s ease;
}


/* ---------------------------------------------------------
   Specifiche del macro-servizio
   --------------------------------------------------------- */

.service-item p,
.service-subitems {
    margin: 6px 0 0;

    font-size: 21px;
    line-height: 1.45;

    color: #3b3b3b;
}


/* ---------------------------------------------------------
   Hover
   --------------------------------------------------------- */

.service-item:hover h3,
.service-item:focus h3 {
    opacity: 0.55;
}


/* ---------------------------------------------------------
   Freccia
   --------------------------------------------------------- */

.service-arrow {
    position: absolute;

    top: 50%;
    right: 0;

    transform: translateY(-50%);

    font-size: 24px;
    line-height: 1;
}


/* =========================================================
   HOME — CONTATTI
   ========================================================= */

.home-contact {
    padding: 100px 7.5vw 180px;
}

.home-contact-inner {
    width: 100%;
    max-width: none;
}

.home-contact h2 {
    width: 100%;
    max-width: none;

    margin-bottom: 30px;

    font-size: clamp(28px, 3.2vw, 42px);
    font-weight: 400;

    line-height: 1.05;
}

.home-contact p {
    width: 100%;
    max-width: none;

    margin-bottom: 35px;

    font-size: 21px;
    line-height: 1.45;
}

.contact-link {
    display: inline-block;

    padding-bottom: 4px;

    border-bottom: 1px solid #3b3b3b;

    font-size: 16px;
}


/* =========================================================
   PAGINE INTERNE
   ========================================================= */

.page-content {
    width: 100%;

    padding: 210px 7.5vw 180px;
}

.page-header {
    width: 100%;
    max-width: none;

    margin-bottom: 90px;
}

.page-title {
    width:100%;
    max-width:none;
    margin:0;

    font-size:38px;
    font-weight:700;
    font-style:italic;
    line-height:1.1;

    text-transform:uppercase;
    letter-spacing:.06em;
    color:#666;
}

.page-body {
    width: 100%;
    max-width: none;

    font-size: 19px;
    line-height: 1.55;
}

.page-body h2 {
    width:100%;
    max-width:none;
    margin-top:90px;
    margin-bottom:25px;

    font-size:27px;
    font-weight:700;
    font-style:italic;
    line-height:1.1;

    text-transform:uppercase;
    letter-spacing:.06em;
    color:#666;
}

.page-body > h2:first-child {
    margin-top:40px;
}

.page-body h3 {
    margin-top: 60px;
    margin-bottom: 20px;

    font-size: 25px;
    font-weight: 400;

    line-height: 1.2;

    color: #3b3b3b;
}

.page-body p {
    width: 100%;
    max-width: none;

    margin-bottom: 28px;
}

.page-body ul,
.page-body ol {
    margin-bottom: 35px;
    padding-left: 25px;
}

.page-body li {
    margin-bottom: 8px;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
    position: relative;

    padding: 70px 7.5vw 50px;

    background: #f6f6f6;
}

.site-footer-inner {
    width: 100%;
    max-width: none;
}

.site-footer p {
    margin: 0;

    font-size: 14px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {

    .site-header {
        height: 140px;
    }

    .site-name {
        left: 7.5vw;
        bottom: 30px;
    }

    .site-logo {
        right: 7.5vw;
        width: 85px;
    }

    .site-navigation {
        right: 7.5vw;
    }

    .home-hero {
        padding-top: 180px;
        padding-bottom: 60px;
    }

    .page-content {
        padding-top: 200px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .site-header {
        height: 120px;
        padding: 0 6vw;
    }

    .site-name {
        left: 6vw;
        bottom: 25px;

        font-size: 16px;
    }

    .site-logo {
        right: 6vw;
        width: 72px;
    }

    .site-navigation {
        right: 6vw;
        bottom: 35px;
    }

    .primary-menu a {
        font-size: 14px;
    }


    /* -----------------------------------------------------
       Home
       ----------------------------------------------------- */

    .home-hero {
        min-height: auto;

        padding: 160px 6vw 60px;
    }

    .home-hero h1 {
        font-size: clamp(34px, 9vw, 52px);
    }

    .home-intro {
        padding: 0 6vw 90px;
    }

    .home-intro p {
        font-size: 18px;
    }

    .home-services {
        padding: 40px 6vw 40px;
    }

    .section-heading {
        margin-bottom: 22px;
    }

    .section-heading h2 {
        font-size: 22px;
    }

    .service-item {
        padding: 22px 40px 22px 0;
    }

    .service-item h3 {
        font-size: 30px;
    }

    .service-item p,
    .service-subitems {
        font-size: 18px;
    }

    .service-arrow {
        font-size: 20px;
    }

    .home-contact {
        padding: 100px 6vw 120px;
    }

    .home-contact p {
        font-size: 18px;
    }


    /* -----------------------------------------------------
       Pagine interne
       ----------------------------------------------------- */

    .page-content {
        padding: 170px 6vw 120px;
    }

    .page-header {
        margin-bottom: 60px;
    }

    .page-title {
        font-size: clamp(34px, 9vw, 52px);
    }

    .page-body {
        font-size: 17px;
    }

    .page-body h2 {
        margin-top: 65px;
        font-size: 28px;
    }

    .page-body h3 {
        margin-top: 45px;
        font-size: 23px;
    }


    /* -----------------------------------------------------
       Footer
       ----------------------------------------------------- */

    .site-footer {
        padding: 55px 6vw 40px;
    }
}