@use 'styles/settings'as s;
@use 'styles/mixins'as mx;
@use 'styles/functions'as fn;

* {
    transition: s.$transition;
    font-family: s.$body-font;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    color: s.$body-color;
    position: relative;
    background: #fff;

}

a {
    font-weight: s.$weight-bold;
    color: s.$primary;
    text-decoration: none;

    &:hover {
        color: rgba(s.$primary, 0.5);
    }
}

.content-container {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 30px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: s.$weight-bold;
}

h1 {
    font-size: fn.toRem(36);
    margin-bottom: fn.toRem(20);
    font-weight: s.$weight-xbold;

    &.underlined {
        position: relative;
        display: inline-block;

        &:after {
            content: ' ';
            position: absolute;
            right: -7px;
            bottom: 5px;
            width: 90px;
            background: rgba(s.$accent, .5);
            height: 20px;
            z-index: -1;

            @include mx.breakpoint(large) {
                height: 24px;
                width: 120px;
                bottom: 10px;
            }

        }
    }

    @include mx.breakpoint(large) {
        font-size: fn.toRem(48);
        margin-bottom: fn.toRem(28);
    }
}

h2 {
    font-size: fn.toRem(24);
    margin-bottom: fn.toRem(16);

    @include mx.breakpoint(large) {
        font-size: fn.toRem(36);
        margin-bottom: fn.toRem(24);
    }

    &.left {
        text-align: left;
        max-width: none;
    }
}

h3 {
    font-size: fn.toRem(18);
    margin-bottom: fn.toRem(12);
    font-weight: s.$weight-semi-bold;

    @include mx.breakpoint(large) {
        font-size: fn.toRem(24);
        margin-bottom: fn.toRem(16);
    }
}

h4 {
    font-size: fn.toRem(16);
    margin-bottom: fn.toRem(10);

    @include mx.breakpoint(large) {
        font-size: fn.toRem(20);
        margin-bottom: fn.toRem(16);
    }
}


.background-container {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    z-index: -1;
    overflow: hidden;

    .bubble {
        width: 300px;
        height: 300px;
        position: absolute;
        filter: blur(150px);
        opacity: 0.6;

        @include mx.breakpoint(medium) {
            width: 400px;
            height: 400px;
            filter: blur(300px);
            opacity: 0.75;
        }
        
        @include mx.breakpoint(large) {
            width: 500px;
            height: 500px;
        }

        &.secondary {
            background: s.$secondary;
        }

        &.primary {
            background: s.$primary;
        }

        &.accent {
            background: s.$accent;
        }
    }
}