/* -- CORE STYLES & FONTS & VARIABLES ------ */

@import url('./core.css');
@import url('./responsive.css');

:root {
    --color-primary: #1a5891;
    --color-secondary: #77a2cc;
}


/* -- GENERAL STYLES ----------------------- */

body {
    color: #666;
    background: #eee;
    font-family: sans-serif;
}

img {
    max-width: 100%;
}

.container {
    max-width: 1100px;
}

.button {
    color: #fff;
    display: inline-block;
    font-weight: bold;
    background: var(--color-primary);
    padding: .8em 3.5em;
    border-radius: 3px;
    box-shadow: 0 .1em .4em 0 rgba(0,0,0,.1);

    &.white {
        color: var(--color-primary);
        background: #fff;
    }
}

/* -- SITE HEADER -------------------------- */

.logo {
    color: var(--color-primary);
}

.menu-bar {
    background: #fff;
    height: 4.5em;

    .menu {
        color: var(--color-primary);
        font-weight: bold;
        gap: var(--gap-big);
    }
}

.banner {
    color: #fff;
    height: 400px;
    background: linear-gradient(to right, rgba(26, 88, 145, .85) 0%, rgba(26, 88, 145, .85) 40%, rgba(26, 88, 145, 0) 60%), url('../img/banner.webp') center/cover no-repeat;

    .container {
        gap: 1.5em;
    }

    h1 {
        width: 60%;
        font-size: 2.5em;
        line-height: 1.3em;
    }

    &.text-banner {
        height: 200px;
        /* background: linear-gradient(var(--color-primary), var(--color-secondary)); */
        background: var(--color-primary);

        h1 {
            width: 100%;
            text-align: center;
        }
    }
}

/* -- MAIN CONTENT ------------------------- */

section {
    padding: 2.5em 0;
    background: #fff;

    h2 {
        color: var(--color-primary);
        line-height: 1.3em;
        margin-bottom: .5em;
        font-size: 2em;

        &.bottom-border {
            border-bottom: 1px solid #ddd;
        }
    }

    p {
        line-height: 1.6em;
        font-size: 1.1em;

        &:not(:last-child) {
            margin-bottom: var(--gap-base);
        }
    }

    &.gray,
    &.grey {
        background: #eee;
    }

    &.border-bottom {
        padding-bottom: 0;

        .container {
            border-bottom: 1px solid #eee;
            padding-bottom: 2.5em;
        }
    }

    &.two-col {
        .container {
            gap: 4em;
        }

        article,
        aside {
            flex: 1;
        }
    }

    &.no-top-padding {
        padding-top: 0;
    }
}

.services {
    article {
        color: var(--color-primary);
        background: #eee;
        padding: 2em;
        text-align: center;

        h3 {
            font-size: 1.3em;
            margin-bottom: .8em;
        }
    }
}

.references-projects {
    .grid {
        margin-top: 2em;
        gap: 1.5em;
    }

    article {
        border: 1px solid #ddd;

        img {
            width: 100%;
            height: 200px;
            object-fit: cover;
        }

        h3,
        p {
            color: var(--color-primary);
            padding: 0 2em;
        }

        h3 {
            margin: 1em 0 .3em;
        }

        p {
            margin-bottom: 1em;
        }
    }
}

.jar-gallery {
    img {
        width: 100%;
        height: 220px;
        object-fit: cover;
    }
}

#kontakt {
    article { 
        gap: var(--gap-big);

        & > *:not(:last-child) {
            width: 100%;
            padding-bottom: var(--gap-big);
            border-bottom: 1px solid #ddd;
        }

        h3 {
            color: var(--color-primary);
            font-size: var(--font-size-5);
        }

        h4 {
            font-size: var(--font-size-2);
            margin-top: var(--gap-big);
        }

        p.bottom-margin {
            margin-bottom: var(--gap-base);
        }

        .menu {
            color: var(--color-primary);
            font-size: var(--font-size-2);

            li:not(:last-child) {
                margin-bottom: var(--gap-small);
            }

            i {
                color: var(--color-white);
                background: var(--color-primary);
                display: inline-block;
                line-height: 2em;
                width: 2em;
                border-radius: 100%;
            }
        }

        footer p {
            font-size: var(--font-size-1);
        }

        .addresses {
            p {
                width: 50%;
            }
        }
    }

    aside {
        gap: var(--gap-big);

        form {
            width: 100%;

            input, 
            textarea,
            button {
                width: 100%;
                font-size: var(--font-size-1);
                font-family: inherit;
                padding: .8em 1em .65em;
            }

            button {
                border: none;
                cursor: pointer;
                font-size: var(--font-size-small);
                padding: 1.1em 1em 1em;
            }

            .form-feedback {
                width: 100%;

                li {
                    list-style: none;
                    padding: .5em .5em .4em;
                }

                li:not(:last-child) {
                    margin-bottom: .3em;
                }

                &.error li {
                    color: var(--color-white);
                    background: #f66;
                }

                &.success li {
                    color: var(--color-white);
                    background: #5a5;
                }
            }
        }
    }
}

#domov {
    .grid.cols-4 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .two-col aside img {
        width: 100%;
        height: 260px;
        object-fit: cover;
    }
}