/* =========================================================
   RUST DUBLIN - PARTNER PAGES STYLE
   Main colors:
   Rust Red: #3498D4
   Cream:    #F4FAFF
========================================================= */


/* ===== GENERAL ===== */

html,
body {
    min-height: 100%;
    margin: 0;
    padding: 0;
    background: #3498D4 !important;
    color: #F4FAFF !important;
    font-family: 'Lato', sans-serif;
    overflow-x: hidden;
}

body {
    position: relative !important;
    background: #3498D4 !important;
    background-image: none !important;
}


/* ===== MAIN PAGE STRUCTURE ===== */

.content {
    min-height: 100vh !important;
    height: auto !important;
    margin: 0 auto !important;
    padding-bottom: 120px !important;
    background: #3498D4 !important;
    background-image: none !important;
}

#cont {
    width: 90%;
    max-width: 1180px;
    margin: 0 auto;
    background: transparent !important;
    background-image: none !important;
}

.container,
.main,
.wrapper,
.footer,
section,
article,
main,
footer,
header {
    background-image: none !important;
}


/* ===== RUST DUBLIN HEADER TEXT ===== */

header,
.header,
#header {
    position: static !important;
    background: transparent !important;
}

header h1,
header a,
.header h1,
.header a,
#header h1,
#header a {
    position: absolute !important;
    top: 35px !important;
    left: 55px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #F4FAFF !important;
    background: transparent !important;

    font-family: 'Lato', sans-serif !important;
    font-size: 38px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    text-align: left !important;
    text-decoration: none !important;

    z-index: 50 !important;
}


/* ===== PAGE TITLE ===== */

h1.title {
    font-family: 'Lato', sans-serif;
    color: #F4FAFF !important;
    background: transparent !important;

    text-align: center;
    font-size: 38px;
    line-height: 1.2;
    font-weight: 900;

    margin: 0 auto 35px;
    padding-top: 95px;

    letter-spacing: 0.5px;
    text-shadow: none;
}


/* ===== MAIN TEXT ===== */

p.pre {
    font-family: 'Lato', sans-serif;
    color: #F4FAFF !important;
    background: transparent !important;

    text-align: center;
    font-size: 22px;
    line-height: 1.65;
    font-weight: 700;

    max-width: 1150px;
    margin: 0 auto 28px;
}


/* ===== PARTNER BLOCK ===== */

.partner {
    width: 90%;
    max-width: 1050px;

    margin: 35px auto 45px;
    padding: 0;

    background: transparent !important;
    background-image: none !important;

    border: none !important;
    box-shadow: none !important;
}


/* ===== PARTNER LOGO ===== */

.img_part {
    width: 100% !important;

    margin: 70px auto 35px !important;

    text-align: center !important;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    background: transparent !important;
    background-image: none !important;
}

.img_part img {
    display: block !important;

    margin: 0 auto !important;

    max-width: 280px !important;
    max-height: 135px !important;

    width: auto !important;
    height: auto !important;

    object-fit: contain !important;

    transform: none !important;
    rotate: 0deg !important;
    filter: none !important;
}


/* ===== PARTNER TEXT ===== */

.txt_part {
    font-family: 'Lato', sans-serif;
    color: #F4FAFF !important;
    background: transparent !important;
    background-image: none !important;

    text-align: center;

    font-size: 20px;
    line-height: 1.65;
    font-weight: 700;

    max-width: 1120px;
    margin: 0 auto 25px;
}


/* =========================================================
   IMPORTANT: CREAM INFO BOX / FORM
========================================================= */

/* prende il box vecchio con i bottoni */
div.speech-bubble,
.speech-bubble,
.partner div.speech-bubble,
#cont div.speech-bubble {
    width: 85% !important;
    max-width: 720px !important;

    margin: 70px auto 35px !important;
    padding: 40px 44px !important;

    background: #F4FAFF !important;
    background-color: #F4FAFF !important;
    background-image: none !important;

    color: #3498D4 !important;

    border: 3px solid #F4FAFF !important;
    border-radius: 34px !important;

    box-shadow: none !important;

    text-align: center !important;
    font-family: 'Lato', sans-serif !important;
}

/* forza tutto il testo dentro il box a rosso */
div.speech-bubble *,
.speech-bubble *,
.partner div.speech-bubble *,
#cont div.speech-bubble * {
    color: #3498D4 !important;
    background-color: transparent !important;
    background-image: none !important;
}

/* titoli dentro il box */
div.speech-bubble h1,
div.speech-bubble h2,
div.speech-bubble h3,
div.speech-bubble h4,
div.speech-bubble strong,
div.speech-bubble p,
div.speech-bubble span {
    color: #3498D4 !important;
    font-weight: 900 !important;
}

/* speaker/testi piccoli */
div.speech-bubble-speaker,
.speech-bubble-speaker {
    font-family: 'Lato', sans-serif;
    color: #3498D4 !important;
    font-size: 14px;
    font-weight: 900;
    margin-top: 10px;
}


/* =========================================================
   BUTTONS
========================================================= */

.link_part {
    text-align: center;
    font-family: 'Lato', sans-serif;

    margin-top: 18px;

    background: transparent !important;
    background-image: none !important;
}

/* bottoni normali + bottoni dentro il box */
.link_part a,
div.speech-bubble a,
.speech-bubble a,
.partner a,
#cont div.speech-bubble a {
    display: inline-block !important;

    min-width: 130px !important;

    margin: 8px 6px 18px !important;
    padding: 12px 22px !important;

    color: #F4FAFF !important;
    background: #3498D4 !important;
    background-color: #3498D4 !important;
    background-image: none !important;

    border: 2px solid #3498D4 !important;
    border-radius: 10px !important;

    font-family: 'Lato', sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;

    text-align: center !important;
    text-decoration: none !important;

    box-shadow: none !important;
    opacity: 1 !important;

    transition: 0.2s ease !important;
}

/* testo dentro bottoni */
.link_part a *,
div.speech-bubble a *,
.speech-bubble a *,
.partner a *,
#cont div.speech-bubble a * {
    color: #F4FAFF !important;
}

/* hover bottoni */
.link_part a:hover,
div.speech-bubble a:hover,
.speech-bubble a:hover,
.partner a:hover,
#cont div.speech-bubble a:hover {
    color: #3498D4 !important;
    background: #F4FAFF !important;
    background-color: #F4FAFF !important;

    border-color: #3498D4 !important;

    opacity: 1 !important;
    text-decoration: none !important;

    transform: translateY(-2px);
}

/* testo dentro bottoni in hover */
.link_part a:hover *,
div.speech-bubble a:hover *,
.speech-bubble a:hover *,
.partner a:hover *,
#cont div.speech-bubble a:hover * {
    color: #3498D4 !important;
}


/* ===== FOOTER PARTNER TEXT ===== */

.foot_part {
    font-family: 'Lato', sans-serif;
    color: #F4FAFF !important;

    text-align: center;
    font-size: 18px;
    font-weight: 900;

    margin: 40px auto 0;
    padding-bottom: 18px;

    background: transparent !important;
    background-image: none !important;
}

.foot_part a {
    color: #F4FAFF !important;
    text-decoration: none !important;
    border-bottom: 2px solid #F4FAFF;
    transition: 0.25s ease;
}

.foot_part a:hover {
    opacity: 0.75;
    text-decoration: none !important;
}


/* ===== FOOTER ===== */

.footer {
    position: relative;
    bottom: 0;

    background: transparent !important;
    background-image: none !important;
}


/* ===== GLOBAL LINKS SAFETY ===== */

a {
    color: #F4FAFF;
}

a:hover {
    opacity: 1;
}


/* ===== REMOVE OLD DIVIDERS / STRANGE LINES ===== */

hr,
.border,
.divider {
    display: none !important;
}


/* ===== MOBILE ===== */

@media (max-width: 768px) {
    #cont {
        width: 92%;
    }

    header h1,
    header a,
    .header h1,
    .header a,
    #header h1,
    #header a {
        top: 24px !important;
        left: 28px !important;
        font-size: 30px !important;
    }

    h1.title {
        font-size: 30px;
        padding-top: 85px;
        margin-bottom: 26px;
    }

    p.pre {
        font-size: 17px;
        line-height: 1.55;
    }

    .partner {
        width: 92%;
        margin-top: 28px;
    }

    .img_part {
        margin: 85px auto 24px !important;
    }

    .img_part img {
        max-width: 210px !important;
        max-height: 100px !important;
    }

    .txt_part {
        font-size: 16px;
        line-height: 1.55;
    }

    div.speech-bubble,
    .speech-bubble,
    .partner div.speech-bubble,
    #cont div.speech-bubble {
        width: 84% !important;
        padding: 28px 22px !important;
        border-radius: 24px !important;
    }

    .link_part a,
    div.speech-bubble a,
    .speech-bubble a,
    .partner a,
    #cont div.speech-bubble a {
        font-size: 14px !important;
        padding: 10px 16px !important;
        min-width: 110px !important;
    }

    .foot_part {
        font-size: 16px;
    }
}