/*****************************
* fundamental site structure *
*****************************/

body {
    background-color: var(--bg1);

    padding:    0px;
    margin:     0px;
    border:     0px;
}

.page {
    padding:    0px;
    margin:     0px;
    border:     0px;

    max-width: 70rem;

    display:    flex;
    flex-flow:  row wrap;
}

/***************
* layout stuff *
***************/

article, aside {
    margin-top:     1.5rem;
    margin-left:    0px;
    margin-right:   0px;
    margin-bottom:  1.5rem;

    flex: 1 1 100%;
}

article {
    padding-top:    2.5rem;
    padding-left:   5.0rem;
    padding-right:  5.0rem;
    padding-bottom: 1.5rem;
}

aside {
    padding-top:    2.5rem;
    padding-left:   0.0rem;
    padding-right:  0.0rem;
    padding-bottom: 2.5rem;
}

@media (max-width: 1000px) {
    /* mobile version */
    article {
        /* less space left and right */
        padding-top:    2.5rem;
        padding-left:   1.0rem;
        padding-right:  1.0rem;
        padding-bottom: 2.5rem;
        margin: 0.0rem;
    }
    aside {
        padding: 0.0rem;
        margin: 0.0rem;
    }
}

aside img, article img {
    width:  100%;
    height: 100%;
    object-fit: cover;
    object-position: left top;
}

img {
    transition: transform 0.8s;
}

img:hover {
    transform: scale(1.05);
}

div.anchor {
    position: static;
    display: block;
    height: 5rem;
}

div.anchor.large {
    height: 5rem; /* mobile first: same as normal anchor */
}

/******************
* for big screens *
******************/
@media (min-width: 1000px) {
    article {
        flex: 1 1 45%;
    }
    aside {
        flex: 1 1 35%;
    }
    .fullwidth {
        flex: 1 1 100%;
    }
    div.anchor.large {
        height: 15rem;
    }
}

/*****************
* little helpers *
*****************/

.hidden {
    display: none;
}

.hiddenOnMobile {}

@media (max-width: 1000px) {
    /* mobile version */
    .hiddenOnMobile {
        display: none;
    }
}
