body {
    margin: 0 auto
}

body, h1, h2, h3, h4, h5, h6 {
    font-family: Open Sans,sans-serif;
    color: #212121
}

blockquote, ol, p, pre, table, ul {
    margin: 0 0 1.5rem
}

p {
    font-size: 1rem;
    line-height: 1.5rem
}

blockquote {
    position: relative;
    line-height: 2.25rem;
    border-left: 4px solid #eee;
    padding: 0 1rem
}

    blockquote p {
        margin: 0;
        font-size: 1rem
    }

        blockquote p:not(:last-child) {
            margin-bottom: .75rem
        }

    blockquote pre {
        margin-bottom: 0
    }

    blockquote code {
        background-color: #eee;
        border-radius: 3px;
        line-height: 1;
        padding: 2px 4px;
        text-shadow: 1px 1px 0 hsla(0,0%,100%,.75)
    }

cite {
    display: block
}

small {
    font-size: .88887rem;
    line-height: 1
}

ol ol, ol ul, ul ol, ul ul {
    margin: 0
}

dd {
    margin: 0 0 .75rem
}

dt {
    font-weight: 700
}

sub, sup {
    position: relative;
    line-height: 0;
    vertical-align: baseline;
    font-size: .88887rem
}

sub {
    bottom: -.1875rem
}

sup {
    top: -.375rem
}

abbr[title] {
    border-bottom: .1em dotted;
    cursor: help
}

.button {
    background-color: #212121;
    border: 1px solid #212121
}

    .button i {
        margin-right: .1875rem
    }

form {
    font-family: Open Sans,sans-serif;
    letter-spacing: -.03125em;
    margin: 0 0 1.5rem
}

fieldset {
    position: relative;
    display: block;
    border: 0 solid;
    padding: 0;
    margin: 0
}

legend {
    position: absolute;
    top: -24px;
    left: -1px;
    font-weight: 400
}

label, legend {
    padding: 0;
    font-size: .88887rem
}

label {
    display: inline-block;
    vertical-align: top;
    cursor: pointer;
    line-height: 1.5rem
}

input, select, textarea {
    display: block;
    width: 100%;
    outline: none;
    background-color: transparent;
    border-radius: 3px;
    font-size: .88887rem;
    line-height: 1.5rem;
    padding: .375rem .75rem;
    border: 1px solid;
    margin-top: -.0625rem;
    margin-bottom: 1.4375rem
}

    input:-moz-placeholder, input::-moz-placeholder, select:-moz-placeholder, select::-moz-placeholder, textarea:-moz-placeholder, textarea::-moz-placeholder {
        color: rgba(0,0,0,.5)
    }

    input:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder {
        color: rgba(0,0,0,.5)
    }

    input::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
        color: rgba(0,0,0,.5)
    }

    input:active, input:focus, select:active, select:focus, textarea:active, textarea:focus {
        border-color: #212121
    }

select {
    height: 2.375rem
}

textarea {
    height: 6.875rem
}

input[type=date], input[type=number], input[type=search] {
    box-sizing: border-box;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield
}

input[type=checkbox], input[type=radio] {
    display: inline-block;
    position: relative;
    top: -1px;
    width: auto;
    padding: 0;
    margin: 0
}

    input[type=checkbox] + label, input[type=radio] + label {
        display: inline-block;
        width: auto;
        padding: 0;
        line-height: 1.5rem;
        margin: 0 1.5rem 1.5rem .1875rem
    }

a {
    color: #e91e63;
    text-decoration: none
}

    a:hover {
        text-decoration: underline
    }

.page-header {
    padding: 3rem 1.5rem;
    background-color: #fdd835;
    text-align: center
}

@media screen and (min-width:42em) {
    .page-header {
        padding: 3rem 4.5rem
    }
}

@media screen and (min-width:50em) {
    .page-header {
        padding: 6rem 4.5rem
    }
}

.page-header .button {
    font-size: 1rem;
    padding: .75rem 1.5rem;
    margin: 1.125rem 0 0
}

@media screen and (min-width:35em) {
    .page-header .button {
        margin: 1.125rem .375rem 0
    }
}

.page-footer {
    max-width: 52em;
    margin: 0 auto;
    padding: 1.5rem
}

    .page-footer p:first-child {
        position: relative;
        top: 1px;
        font-weight: 700;
        border-top: 1px solid #eee;
        margin: -2px 0 0;
        padding-top: 1.5rem
    }

.main-content {
    max-width: 52em;
    margin: 0 auto;
    padding: 2.25rem 1.5rem 0
}

.section ul {
    line-height: 1.875rem
}

.project-name, .section:not(:last-child) {
    margin-bottom: 3rem
}

.project-name {
    color: #212121;
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto
}

@media screen and (min-width:42em) {
    .project-name {
        font-size: 2.36856rem;
        line-height: 3rem
    }
}

@media screen and (min-width:50em) {
    .project-name {
        font-size: 3.15731rem
    }
}

.project-tagline {
    max-width: 52rem;
    margin-left: auto;
    margin-right: auto;
    color: #212121;
    font-weight: 400;
    font-size: 1rem;
    margin-bottom: 1.5rem
}

@media screen and (min-width:42em) {
    .project-tagline {
        font-size: 1.333rem;
        line-height: 3rem;
        line-height: 2.25rem
    }
}

.badge {
    display: inline-block;
    line-height: 2.25rem;
    margin-bottom: 1.5rem
}

    .badge img {
        height: 1.5rem
    }

.button {
    font-family: Open Sans,sans-serif;
    font-size: 1rem;
    line-height: 1.375rem;
    padding: .375rem 1.125rem;
    margin-bottom: 1.5rem;
    position: relative;
    display: inline-block;
    text-align: center;
    cursor: pointer;
    border-radius: 3px;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    vertical-align: top;
    color: #fff;
    background-color: #e91e63;
    border: 1px solid #e91e63;
    transition: color .125s ease-in-out,background-color .125s ease-in-out,border-color .125s ease-in-out;
    text-shadow: 0 -1px 0 rgba(173,20,87,.5)
}

    .button, .button:hover {
        text-decoration: none;
        outline: none
    }

        .button.disabled, .button[disabled] {
            opacity: .7;
            cursor: default
        }

.button-group {
    display: inline-block;
    vertical-align: bottom
}

    .button-group .button {
        float: left;
        z-index: 1
    }

        .button-group .button:focus, .button-group .button:hover {
            z-index: 2
        }

        .button-group .button.active, .button-group .button:active {
            z-index: 3
        }

        .button-group .button:first-child {
            border-radius: 3px 0 0 3px
        }

        .button-group .button:last-child {
            border-radius: 0 3px 3px 0
        }

        .button-group .button:not(:first-child):not(:last-child) {
            border-radius: 0
        }

        .button-group .button:not(:first-child) {
            margin-left: -1px
        }

.button:hover {
    background-color: #c1134e;
    border-color: #c1134e
}

.button.active, .button:active {
    background-color: #930e3b;
    border-color: #930e3b
}

.button.disabled, .button[disabled] {
    color: #fff;
    background-color: #e91e63;
    border-color: #e91e63
}

.button:not([disabled]):not(.disabled):active {
    transform: translate3d(0,1px,0)
}

.button.secondary {
    color: #fff;
    background-color: #424242;
    border-color: #424242;
    text-shadow: 0 -1px 0 rgba(33,33,33,.5)
}

    .button.secondary:hover {
        background-color: #292929;
        border-color: #292929
    }

    .button.secondary.active, .button.secondary:active {
        background-color: #0f0f0f;
        border-color: #0f0f0f
    }

    .button.secondary.disabled, .button.secondary[disabled] {
        color: #fff;
        background-color: #424242;
        border-color: #424242
    }

.button-group {
    display: block;
    margin-bottom: 1.5rem
}

    .button-group:after {
        content: "";
        display: table;
        clear: both
    }

:not(.button-group) > .button {
    width: 100%
}

@media screen and (min-width:35em) {
    :not(.button-group) > .button {
        width: auto
    }
}

form .button {
    display: block;
    margin: 0
}

label {
    font-size: 1rem;
    font-weight: 600
}

.form-field {
    margin-bottom: 1.5rem;
    border-radius: 3px;
    background-color: #fafafa;
    box-shadow: inset 0 0 8px #eee;
    padding: .75rem
}

@media screen and (min-width:42em) {
    .form-field {
        padding: 1.125rem
    }
}

select {
    background-color: #fff;
    border-color: #e0e0e0;
    height: 34px;
    margin: 0
}

.button-group .button:not(:first-child) {
    margin-left: 0
}

:root {
    --gl-star-size: 20px;
    --gl-tooltip-background: rgba(255,255,255,255);
}

@media screen and (min-width:35em) {
    .gl-star-rating .gl-star-rating--stars > span {
        --gl-star-size: 30px
    }

    .gl-star-rating .gl-star-rating--stars[aria-label]:after {
        --gl-tooltip-padding: .75em 1em
    }
}

@media screen and (min-width:42em) {
    .gl-star-rating .gl-star-rating--stars > span {
        --gl-star-size: 36px
    }
}

@media screen and (min-width:50em) {
    .gl-star-rating .gl-star-rating--stars > span {
        --gl-star-size: 42px
    }
}

.gl-star-rating .gl-emote-bg {
    transition: fill .15s ease-in-out
}

.gl-star-rating [data-value]:not(.gl-active) .gl-emote-bg {
    fill: #dcdce6
}

.gl-star-rating .gl-emote {
    transform: scale(.9);
    transition: transform .25s ease-in-out
}

.gl-star-rating .gl-selected .gl-emote {
    transform: scale(1.1)
}
