/* VARIABLES */
:root{
    /* COLORS */
    --color-background: #ffffffb3;
    --color-gray: #666;
    --color-text: #000;
    --color-text-button: #fff;

    /* FONTS */
    --lato: 'Lato', sans-serif;
}

/* DARK MODE */
@media (prefers-color-scheme: dark) {
    :root{
        /* COLORS */
        --color-background: #000000b3;
        --color-text: #fff;
        --color-text-button: #000;
    }
}

/* GENERAL */
*{
    top: 0;
    margin: 0;
}

body{
    color: var(--color-text);
    font-family: var(--lato);
    font-size: 16px;
}

h1,h2,h3,h4,h5,h6,p,a{
    font-weight: 500;
    text-decoration: none;
}

a{
    display: inline-block;
    color: var(--color-text);
    transition: all .3s;
}

a:hover{
    opacity: 0.5;
}

*+h1,*+h2,*+h3,*+h4,*+h5,*+h6,*+p,*+a{
    margin-top: 1rem;
}

/* TYPOGRAPHY */
.title{
    font-size: 3rem;
    font-weight: 700;
}

.subtitle{
    font-size: 2rem;
    font-weight: 700;
}

.headline{
    font-size: 1rem;
    font-weight: 700;
}

.body{
    font-size: 1rem;
}

.footnote{
    font-size: 14px;
    color: #ffffff;
    text-shadow: 0 0 5px #000;
}

.button{
    margin: 0;
    padding: 10px 20px;
    background: var(--color-text);
    color: var(--color-text-button);
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 700;
}

*+.button{
    margin-left: 15px;
}

.icon{
    display: inline-block;
    vertical-align: middle;
    margin-right: 15px;
    font-size: 1.5rem;
}

/* CONTAINERS */
.full-height{
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 100vh;
}

.container-small{max-width: 600px}
.container-medium{max-width: 800px}
.container-large{max-width: 1200px}

[class*="container-"]{
    width: 90%;
    margin: auto;
    padding: 30px 0 0 0;
}

.align-left{text-align: left}
.align-center{text-align: center}
.align-right{text-align: right}

/* MAIN */
.main{
    background: url(../images/main-background.jpg);
    background-position: center;
    background-size: cover;
}

/* CARD */
.card{
    padding: 50px;
    background: var(--color-background);
    backdrop-filter: saturate(180%) blur(10px);
    -webkit-backdrop-filter: saturate(180%) blur(10px);
    border-radius: 20px;
}

.card-grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 50px;
}

.logo{
    display: block;
}

.logo img{
    width: auto;
    height: 200px;
}

.divider{
    display: inline-block;
    width: 150px;
    border-bottom: solid var(--color-gray) 3px;
}

*+.divider{
    margin-top: 2rem;
}

.address-grid{
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 50px;
    align-items: center;
    text-decoration: none;
}

.address-label{
    text-align: right;
}

.social-links{
    display: block;
}

.social-link{
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    padding: 10px;
}

.social-link i{
    font-size: 1.8rem;
}

/* FOOTER */
.inconnect-logo{
    position: fixed;
    top: calc(100vh - 85px);
    right: 0;
    padding: 15px;
    margin: 0;
}

.inconnect-logo img{
    height: 50px;
}

@media(max-width: 600px){
    .title{font-size: 2rem}

    .card{padding: 30px}
    .address-grid{grid-template-columns: 1fr; gap: 15px}
    .address-label{text-align: left}

    *+.button{margin: 15px 0 0 0}

    .social-link i{font-size: 1.5rem}
    .inconnect-logo{
        position: initial;
        display: block;
        text-align: center;
    }
}