
@import url('https://fonts.googleapis.com/css?family=Hind:300,400&display=swap');

$bg: #fff;
$text: #7288a2;
$gray: #4d5974;
$lightgray: #e5e5e5;
$blue: #03b5d2;

* {
    box-sizing: border-box;
    &::before, &::after {
        box-sizing: border-box;
    }
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Hind', sans-serif;
    background: $bg;
    color: $gray;
    display: flex;
    min-height: 100vh;
}

.container {
    margin: 0 auto;
    padding: 4rem;
    width: 48rem;
}

.accordion {
    .accordion-item {
        border-bottom: 1px solid $lightgray;
        button[aria-expanded='true'] {
            border-bottom: 1px solid $blue;
        }
    }
    button {
        position: relative;
        display: block;
        text-align: left;
        width: 100%;
        padding: 1em 0;
        color: $text;
        font-size: 1.15rem;
        font-weight: 400;
        border: none;
        background: none;
        outline: none;
        &:hover, &:focus {
            cursor: pointer;
            color: $blue;
            &::after {
                cursor: pointer;
                color: $blue;
                border: 1px solid $blue;
            }
        }
        .accordion-title {
            padding: 1em 1.5em 1em 0;
        }
        .icon {
            display: inline-block;
            position: absolute;
            top: 18px;
            right: 0;
            width: 22px;
            height: 22px;
            border: 1px solid;
            border-radius: 22px;
            &::before {
                display: block;
                position: absolute;
                content: '';
                top: 9px;
                left: 5px;
                width: 10px;
                height: 2px;
                background: currentColor;
            }
            &::after {
                display: block;
                position: absolute;
                content: '';
                top: 5px;
                left: 9px;
                width: 2px;
                height: 10px;
                background: currentColor;
            }
        }
    }
    button[aria-expanded='true'] {
        color: $blue;
        .icon {
            &::after {
                width: 0;
            }
        }
        + .accordion-content {
            opacity: 1;
            max-height: 209em;
            transition: all 500ms linear;
            will-change: opacity, max-height;
        }
    }
    .accordion-content {
        background-color: #6c6753;
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        transition: opacity 500ms linear, max-height 200ms linear;
        will-change: opacity, max-height;
        p {
            padding: 1em;
            font-size: 1rem;
            font-weight: 300;
            margin: 1em 0;
            color: #ffffff;
        }
    }
}

