div.section.header {
    div.wrapper {
        display: flex;
        align-items: center;

        div.left {
            text-align: center;
            flex: 1;

            h1 {
                font-size: 4rem;
            }
    
            p.subtitle {
                font-size: 2rem;
            }
        }
    
        img {
            max-width: 400px;
            width: 100%;
            filter: drop-shadow(var(--big-shadow));
        }

        @media (max-width: 830px) {
            img {
                display: none;
            }
        }
    }
}

div.section.why-book {
    > div.wrapper {
        padding-top: 72px;
        padding-bottom: 36px;
        display: flex;
        gap: 72px;
        flex-wrap: wrap;
        justify-content: center;

        div.why {
            text-align: center;
            max-width: 350px;
            width: 100%;

            h2 {
                font-size: 2.2rem;
            }

            svg {
                margin-left: auto;
                margin-right: auto;
                fill: white;
                filter: drop-shadow(var(--big-shadow));
                width: 100px;
                height: 100px;
                margin-bottom: 18px;
            }
        }
    }   
}

div.section.journey-selection {
    > div.wrapper {
        h2 {
            font-size: 3.8rem;
            text-align: center;
        }
    }
}

div.section.journey {
    > div.wrapper {
        h2 {
            font-size: 3.8rem;
            text-align: center;
        }

        p.help-text {
            max-width: 550px;
            text-align: center;
            font-size: 0.8rem;
            margin-left: auto;
            margin-right: auto;
            margin-top: 18px;
        }

        div.card[data-endpoint] {
            margin-top: 18px;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;

            position: relative;

            img.monster {
                position: absolute;
                width: 180px;
                top: -25px;
                right: -143px;

                &.phoebe {
                    right: -149px;
                }
            }
        
            @media (max-width: 500px) {
                max-width: 90%;
            }
        
            svg.spinner {
                margin-left: auto;
                margin-right: auto;
                margin-top: 18px;
                margin-bottom: 18px;
                fill: white;
                max-width: 100px;
        
                &.hidden {
                    display: none;
                }
            }
        
            form {
                display: none;
                position: relative;
        
                &.active {
                    display: block;
                }
        
                p.headline {
                    font-weight: bold;
                    font-size: 1.8rem;
                    text-align: center;
                }
        
                p.description {
                    text-align: center;
                }
        
                p.help {
                    text-align: center;
                    margin-top: 18px;
                    font-size: 1rem;
                    max-width: 80%;
                    margin-left: auto;
                    margin-right: auto;
                }
        
                div.input {
                    max-width: 90%;
                    margin-top: 18px;
                    margin-left: auto;
                    margin-right: auto;
                }
        
                button {
                    margin-top: 18px;
                    display: block;
                    margin-left: auto;
                    margin-right: auto;
                }
        
                button[data-back-button],button.next {
                    display: flex !important;
                    gap: 12px;
                    
                    img {
                        height: 40px;
                        margin-bottom: -6px;
                    }
        
                    &[data-back-button] {
                        position: absolute;
                        margin-top: 0;
                        top: 0;
                        left: 0;
                        
                        img {
                            height: 30px;
                        }
                    }
        
                    &.next {
                        margin-right: 0;
                    }
                }
            }
        
            button[data-reset-button] {
                margin-left: auto;
                margin-right: auto;
            }
        
            div.success, div.error {
                text-align: center;
                display: none;
        
                &.active {
                    display: block;
                }
        
                p.title {
                    font-weight: bold;
                }
        
                p.description {
                    margin-top: 18px;
                    margin-bottom: 18px;
                }
            }

            [data-for-day] {
                display: flex;
                flex-wrap: wrap;
                justify-content: center;
                gap: 36px;
                margin-top: 18px;

                [data-time] {
                    border-radius: 6px;
                    border: solid 3px var(--colour-clara);
                    padding: 6px;

                    input {
                        margin-right: 9px;
                    }

                    &[data-type="exclusive"] {
                        border-color: var(--colour-maya);
                    }

                    &.checking {
                        opacity: 0.7;
                        input {
                            display: none;
                        }
                    }

                    svg.loader {
                        display: inline;
                        width: 20px;
                        height: 20px;
                        margin: 0 !important;
                    }

                    &:not(.checking) {
                        svg.loader {
                            display: none;
                        }
                    }

                    &.not-available {
                        display: none;
                    }
                }
            }

            [data-for-slot-type] {
                display: none;
                margin-top: 18px;
                width: 90%;
                padding: 18px;
                margin-left: auto;
                margin-right: auto;

                border: solid 3px var(--colour-clara);

                &[data-for-slot-type="exclusive"] {
                    border-color: var(--colour-maya);
                }

                h5 {
                    text-align: center;
                    font-size: 2rem;
                }
            }
        }
    }
}