@charset "UTF-8";

@-webkit-keyframes fadein {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadein {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes spinner {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes spinner {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, mark, menu, nav, object, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, summary, time, tt, u, var, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

li, ol, ul {
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
    display: block
}

blockquote, q {
    quotes: none
}

    blockquote:after, blockquote:before, q:after, q:before {
        content: '';
        content: none
    }

table {
    border-collapse: collapse;
    border-spacing: 0
}

*, :after, :before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

body, html {
    height: 100%;
    margin: 0;
    padding: 0;
    width: 100%
}

html {
    font-size: 62.5%
}

body {
    min-width: 32rem;
    -webkit-animation: fadein 1.5s;
    animation: fadein 1.5s
}

hr {
    background-color: #d6d6d6;
    border: none;
    clear: both;
    height: 1px;
    margin: 4rem 0 2rem;
    width: 100%
}

    hr:after, hr:before {
        clear: both;
        content: "";
        display: table
    }

template {
    display: none
}

.limiter {
    margin-left: auto;
    margin-right: auto;
    max-width: 128rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem
}

    .limiter:after, .limiter:before {
        clear: both;
        content: "";
        display: table
    }

.primary-border {
    border-color: #6c6c6c
}

.primary-background {
    background-color: #6c6c6c
}

.primary-color {
    color: #6c6c6c;
    fill: #6c6c6c
}

.default .primary-border {
    border-color: #6c6c6c
}

.default .list-item.primary-background, .default .primary-background, .default.primary-background {
    background-color: #6c6c6c
}

.default .primary-color {
    color: #6c6c6c;
    fill: #6c6c6c
}

.resources .primary-border, .resources.primary-border {
    border-color: #eb0029
}

.resources .list-item.primary-background, .resources .primary-background, .resources.primary-background {
    background-color: #eb0029
}

.resources .primary-color, .resources.primary-color {
    color: #eb0029;
    fill: #eb0029
}

.resources article a:not(.btn) {
    color: #eb0029
}

.education .primary-border, .education.primary-border {
    border-color: #2f7de1
}

.education .list-item.primary-background, .education .primary-background, .education.primary-background {
    background-color: #2f7de1
}

.education .primary-color, .education.primary-color {
    color: #2f7de1;
    fill: #2f7de1
}

.education article a:not(.btn) {
    color: #2f7de1
}

.careers .primary-border, .careers.primary-border {
    border-color: #675dc6
}

.careers .list-item.primary-background, .careers .primary-background, .careers.primary-background {
    background-color: #675dc6
}

.careers .primary-color, .careers.primary-color {
    color: #675dc6;
    fill: #675dc6
}

.careers article a:not(.btn) {
    color: #675dc6
}

.advocacy .primary-border, .advocacy.primary-border {
    border-color: #ff6b00
}

.advocacy .list-item.primary-background, .advocacy .primary-background, .advocacy.primary-background {
    background-color: #ff6b00
}

.advocacy .primary-color, .advocacy.primary-color {
    color: #ff6b00;
    fill: #ff6b00
}

.advocacy article a:not(.btn) {
    color: #ff6b00
}

.membership .primary-border, .membership.primary-border {
    border-color: #218649
}

.membership .list-item.primary-background, .membership .primary-background, .membership.primary-background {
    background-color: #218649
}

.membership .primary-color, .membership.primary-color {
    color: #218649;
    fill: #218649
}

.membership article a:not(.btn) {
    color: #218649
}

.primary-background.default {
    background-color: #6c6c6c
}

.primary-border.resources {
    border-color: #eb0029
}

.primary-color.resources, .resources .breadcrumbs a {
    color: #eb0029;
    fill: #eb0029
}

.primary-border.education {
    border-color: #2f7de1
}

.education .breadcrumbs a, .primary-color.education {
    color: #2f7de1;
    fill: #2f7de1
}

.primary-border.careers {
    border-color: #675dc6
}

.careers .breadcrumbs a, .primary-color.careers {
    color: #675dc6;
    fill: #675dc6
}

.primary-border.advocacy {
    border-color: #ff6b00
}

.advocacy .breadcrumbs a, .primary-color.advocacy {
    color: #ff6b00;
    fill: #ff6b00
}

.primary-border.membership {
    border-color: #218649
}

.membership .breadcrumbs a, .primary-color.membership {
    color: #218649;
    fill: #218649
}

.consulting .primary-border, .consulting.primary-border {
    border-color: #F1D92F
}


.consulting .list-item.primary-background, .consulting .primary-background, .consulting.primary-background {
    background-color: #F1D92F;
    color: black !important
}


.consulting .primary-color, .consulting.primary-color {
    color: #F1D92F;
    fill: #F1D92F
}



article iframe.audio-embed {
    width: 100%
}

article.resources a:not(.btn) {
    color: #eb0029
}

article.education a:not(.btn) {
    color: #2f7de1
}

article.careers a:not(.btn) {
    color: #675dc6
}

article.advocacy a:not(.btn) {
    color: #ff6b00
}

article.membership a:not(.btn) {
    color: #218649
}

.tags a, .tags h3 {
    text-transform: uppercase;
    color: #4a4a4a;
    opacity: .6;
    display: block;
    font-size: 1.2rem;
    line-height: 2rem
}

@media only screen and (min-width:576px) {
    .tags a, .tags h3 {
        display: inline-block;
        line-height: inherit
    }
}

@media only screen and (min-width:576px) {
    .tags a:after, .tags h3:after {
        content: " \002d";
        color: #4a4a4a;
        opacity: .6;
        padding-left: .25rem
    }
}

.tags a:last-child:after, .tags h3:last-child:after {
    content: ''
}

.visible-lg, .visible-md, .visible-sm, .visible-xs {
    display: none !important
}

.visible-lg-block, .visible-lg-inline, .visible-lg-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block {
    display: none !important
}

@media (max-width:767px) {
    .visible-xs {
        display: block !important
    }

    table.visible-xs {
        display: table
    }

    tr.visible-xs {
        display: table-row !important
    }

    td.visible-xs, th.visible-xs {
        display: table-cell !important
    }
}

@media (max-width:767px) {
    .visible-xs-block {
        display: block !important
    }
}

@media (max-width:767px) {
    .visible-xs-inline {
        display: inline !important
    }
}

@media (max-width:767px) {
    .visible-xs-inline-block {
        display: inline-block !important
    }
}

@media (min-width:768px) and (max-width:991px) {
    .visible-sm {
        display: block !important
    }

    table.visible-sm {
        display: table
    }

    tr.visible-sm {
        display: table-row !important
    }

    td.visible-sm, th.visible-sm {
        display: table-cell !important
    }
}

@media (min-width:768px) and (max-width:991px) {
    .visible-sm-block {
        display: block !important
    }
}

@media (min-width:768px) and (max-width:991px) {
    .visible-sm-inline {
        display: inline !important
    }
}

@media (min-width:768px) and (max-width:991px) {
    .visible-sm-inline-block {
        display: inline-block !important
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .visible-md {
        display: block !important
    }

    table.visible-md {
        display: table
    }

    tr.visible-md {
        display: table-row !important
    }

    td.visible-md, th.visible-md {
        display: table-cell !important
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .visible-md-block {
        display: block !important
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .visible-md-inline {
        display: inline !important
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .visible-md-inline-block {
        display: inline-block !important
    }
}

@media (min-width:1200px) {
    .visible-lg {
        display: block !important
    }

    table.visible-lg {
        display: table
    }

    tr.visible-lg {
        display: table-row !important
    }

    td.visible-lg, th.visible-lg {
        display: table-cell !important
    }
}

@media (min-width:1200px) {
    .visible-lg-block {
        display: block !important
    }
}

@media (min-width:1200px) {
    .visible-lg-inline {
        display: inline !important
    }
}

@media (min-width:1200px) {
    .visible-lg-inline-block {
        display: inline-block !important
    }
}

@media (max-width:767px) {
    .hidden-xs {
        display: none !important
    }
}

@media (min-width:768px) and (max-width:991px) {
    .hidden-sm {
        display: none !important
    }
}

@media (min-width:992px) and (max-width:1199px) {
    .hidden-md {
        display: none !important
    }
}

@media (min-width:1200px) {
    .hidden-lg {
        display: none !important
    }
}

.visible-print {
    display: none !important
}

@media print {
    .visible-print {
        display: block !important
    }

    table.visible-print {
        display: table
    }

    tr.visible-print {
        display: table-row !important
    }

    td.visible-print, th.visible-print {
        display: table-cell !important
    }
}

.visible-print-block {
    display: none !important
}

@media print {
    .visible-print-block {
        display: block !important
    }
}

.visible-print-inline {
    display: none !important
}

@media print {
    .visible-print-inline {
        display: inline !important
    }
}

.visible-print-inline-block {
    display: none !important
}

@media print {
    .visible-print-inline-block {
        display: inline-block !important
    }
}

@media print {
    .hidden-print {
        display: none !important
    }
}

.container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px
}

@media (min-width:768px) {
    .container {
        width: 750px
    }
}

@media (min-width:992px) {
    .container {
        width: 970px
    }
}

@media (min-width:1200px) {
    .container {
        width: 1170px
    }
}

.container-fluid {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px
}

.row {
    margin-left: -15px;
    margin-right: -15px
}

.col, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px
}

.col, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    float: left
}

.col-xs-12 {
    width: 100%
}

.col-xs-11 {
    width: 91.66666667%
}

.col-xs-10 {
    width: 83.33333333%
}

.col-xs-9 {
    width: 75%
}

.col-xs-8 {
    width: 66.66666667%
}

.col-xs-7 {
    width: 58.33333333%
}

.col-xs-6 {
    width: 50%
}

.col-xs-5 {
    width: 41.66666667%
}

.col-xs-4 {
    width: 33.33333333%
}

.col-xs-3 {
    width: 25%
}

.col-xs-2 {
    width: 16.66666667%
}

.col-xs-1 {
    width: 8.33333333%
}

.col-xs-pull-12 {
    right: 100%
}

.col-xs-pull-11 {
    right: 91.66666667%
}

.col-xs-pull-10 {
    right: 83.33333333%
}

.col-xs-pull-9 {
    right: 75%
}

.col-xs-pull-8 {
    right: 66.66666667%
}

.col-xs-pull-7 {
    right: 58.33333333%
}

.col-xs-pull-6 {
    right: 50%
}

.col-xs-pull-5 {
    right: 41.66666667%
}

.col-xs-pull-4 {
    right: 33.33333333%
}

.col-xs-pull-3 {
    right: 25%
}

.col-xs-pull-2 {
    right: 16.66666667%
}

.col-xs-pull-1 {
    right: 8.33333333%
}

.col-xs-pull-0 {
    right: auto
}

.col-xs-push-12 {
    left: 100%
}

.col-xs-push-11 {
    left: 91.66666667%
}

.col-xs-push-10 {
    left: 83.33333333%
}

.col-xs-push-9 {
    left: 75%
}

.col-xs-push-8 {
    left: 66.66666667%
}

.col-xs-push-7 {
    left: 58.33333333%
}

.col-xs-push-6 {
    left: 50%
}

.col-xs-push-5 {
    left: 41.66666667%
}

.col-xs-push-4 {
    left: 33.33333333%
}

.col-xs-push-3 {
    left: 25%
}

.col-xs-push-2 {
    left: 16.66666667%
}

.col-xs-push-1 {
    left: 8.33333333%
}

.col-xs-push-0 {
    left: auto
}

.col-xs-offset-12 {
    margin-left: 100%
}

.col-xs-offset-11 {
    margin-left: 91.66666667%
}

.col-xs-offset-10 {
    margin-left: 83.33333333%
}

.col-xs-offset-9 {
    margin-left: 75%
}

.col-xs-offset-8 {
    margin-left: 66.66666667%
}

.col-xs-offset-7 {
    margin-left: 58.33333333%
}

.col-xs-offset-6 {
    margin-left: 50%
}

.col-xs-offset-5 {
    margin-left: 41.66666667%
}

.col-xs-offset-4 {
    margin-left: 33.33333333%
}

.col-xs-offset-3 {
    margin-left: 25%
}

.col-xs-offset-2 {
    margin-left: 16.66666667%
}

.col-xs-offset-1 {
    margin-left: 8.33333333%
}

.col-xs-offset-0 {
    margin-left: 0
}

@media (min-width:768px) {
    .col, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9 {
        float: left
    }

    .col-sm-12 {
        width: 100%
    }

    .col-sm-11 {
        width: 91.66666667%
    }

    .col-sm-10 {
        width: 83.33333333%
    }

    .col-sm-9 {
        width: 75%
    }

    .col-sm-8 {
        width: 66.66666667%
    }

    .col-sm-7 {
        width: 58.33333333%
    }

    .col-sm-6 {
        width: 50%
    }

    .col-sm-5 {
        width: 41.66666667%
    }

    .col-sm-4 {
        width: 33.33333333%
    }

    .col-sm-3 {
        width: 25%
    }

    .col-sm-2 {
        width: 16.66666667%
    }

    .col-sm-1 {
        width: 8.33333333%
    }

    .col-sm-pull-12 {
        right: 100%
    }

    .col-sm-pull-11 {
        right: 91.66666667%
    }

    .col-sm-pull-10 {
        right: 83.33333333%
    }

    .col-sm-pull-9 {
        right: 75%
    }

    .col-sm-pull-8 {
        right: 66.66666667%
    }

    .col-sm-pull-7 {
        right: 58.33333333%
    }

    .col-sm-pull-6 {
        right: 50%
    }

    .col-sm-pull-5 {
        right: 41.66666667%
    }

    .col-sm-pull-4 {
        right: 33.33333333%
    }

    .col-sm-pull-3 {
        right: 25%
    }

    .col-sm-pull-2 {
        right: 16.66666667%
    }

    .col-sm-pull-1 {
        right: 8.33333333%
    }

    .col-sm-pull-0 {
        right: auto
    }

    .col-sm-push-12 {
        left: 100%
    }

    .col-sm-push-11 {
        left: 91.66666667%
    }

    .col-sm-push-10 {
        left: 83.33333333%
    }

    .col-sm-push-9 {
        left: 75%
    }

    .col-sm-push-8 {
        left: 66.66666667%
    }

    .col-sm-push-7 {
        left: 58.33333333%
    }

    .col-sm-push-6 {
        left: 50%
    }

    .col-sm-push-5 {
        left: 41.66666667%
    }

    .col-sm-push-4 {
        left: 33.33333333%
    }

    .col-sm-push-3 {
        left: 25%
    }

    .col-sm-push-2 {
        left: 16.66666667%
    }

    .col-sm-push-1 {
        left: 8.33333333%
    }

    .col-sm-push-0 {
        left: auto
    }

    .col-sm-offset-12 {
        margin-left: 100%
    }

    .col-sm-offset-11 {
        margin-left: 91.66666667%
    }

    .col-sm-offset-10 {
        margin-left: 83.33333333%
    }

    .col-sm-offset-9 {
        margin-left: 75%
    }

    .col-sm-offset-8 {
        margin-left: 66.66666667%
    }

    .col-sm-offset-7 {
        margin-left: 58.33333333%
    }

    .col-sm-offset-6 {
        margin-left: 50%
    }

    .col-sm-offset-5 {
        margin-left: 41.66666667%
    }

    .col-sm-offset-4 {
        margin-left: 33.33333333%
    }

    .col-sm-offset-3 {
        margin-left: 25%
    }

    .col-sm-offset-2 {
        margin-left: 16.66666667%
    }

    .col-sm-offset-1 {
        margin-left: 8.33333333%
    }

    .col-sm-offset-0 {
        margin-left: 0
    }
}

@media (min-width:992px) {
    .col, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9 {
        float: left
    }

    .col-md-12 {
        width: 100%
    }

    .col-md-11 {
        width: 91.66666667%
    }

    .col-md-10 {
        width: 83.33333333%
    }

    .col-md-9 {
        width: 75%
    }

    .col-md-8 {
        width: 66.66666667%
    }

    .col-md-7 {
        width: 58.33333333%
    }

    .col-md-6 {
        width: 50%
    }

    .col-md-5 {
        width: 41.66666667%
    }

    .col-md-4 {
        width: 33.33333333%
    }

    .col-md-3 {
        width: 25%
    }

    .col-md-2 {
        width: 16.66666667%
    }

    .col-md-1 {
        width: 8.33333333%
    }

    .col-md-pull-12 {
        right: 100%
    }

    .col-md-pull-11 {
        right: 91.66666667%
    }

    .col-md-pull-10 {
        right: 83.33333333%
    }

    .col-md-pull-9 {
        right: 75%
    }

    .col-md-pull-8 {
        right: 66.66666667%
    }

    .col-md-pull-7 {
        right: 58.33333333%
    }

    .col-md-pull-6 {
        right: 50%
    }

    .col-md-pull-5 {
        right: 41.66666667%
    }

    .col-md-pull-4 {
        right: 33.33333333%
    }

    .col-md-pull-3 {
        right: 25%
    }

    .col-md-pull-2 {
        right: 16.66666667%
    }

    .col-md-pull-1 {
        right: 8.33333333%
    }

    .col-md-pull-0 {
        right: auto
    }

    .col-md-push-12 {
        left: 100%
    }

    .col-md-push-11 {
        left: 91.66666667%
    }

    .col-md-push-10 {
        left: 83.33333333%
    }

    .col-md-push-9 {
        left: 75%
    }

    .col-md-push-8 {
        left: 66.66666667%
    }

    .col-md-push-7 {
        left: 58.33333333%
    }

    .col-md-push-6 {
        left: 50%
    }

    .col-md-push-5 {
        left: 41.66666667%
    }

    .col-md-push-4 {
        left: 33.33333333%
    }

    .col-md-push-3 {
        left: 25%
    }

    .col-md-push-2 {
        left: 16.66666667%
    }

    .col-md-push-1 {
        left: 8.33333333%
    }

    .col-md-push-0 {
        left: auto
    }

    .col-md-offset-12 {
        margin-left: 100%
    }

    .col-md-offset-11 {
        margin-left: 91.66666667%
    }

    .col-md-offset-10 {
        margin-left: 83.33333333%
    }

    .col-md-offset-9 {
        margin-left: 75%
    }

    .col-md-offset-8 {
        margin-left: 66.66666667%
    }

    .col-md-offset-7 {
        margin-left: 58.33333333%
    }

    .col-md-offset-6 {
        margin-left: 50%
    }

    .col-md-offset-5 {
        margin-left: 41.66666667%
    }

    .col-md-offset-4 {
        margin-left: 33.33333333%
    }

    .col-md-offset-3 {
        margin-left: 25%
    }

    .col-md-offset-2 {
        margin-left: 16.66666667%
    }

    .col-md-offset-1 {
        margin-left: 8.33333333%
    }

    .col-md-offset-0 {
        margin-left: 0
    }
}

@media (min-width:1200px) {
    .col, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9 {
        float: left
    }

    .col-lg-12 {
        width: 100%
    }

    .col-lg-11 {
        width: 91.66666667%
    }

    .col-lg-10 {
        width: 83.33333333%
    }

    .col-lg-9 {
        width: 75%
    }

    .col-lg-8 {
        width: 66.66666667%
    }

    .col-lg-7 {
        width: 58.33333333%
    }

    .col-lg-6 {
        width: 50%
    }

    .col-lg-5 {
        width: 41.66666667%
    }

    .col-lg-4 {
        width: 33.33333333%
    }

    .col-lg-3 {
        width: 25%
    }

    .col-lg-2 {
        width: 16.66666667%
    }

    .col-lg-1 {
        width: 8.33333333%
    }

    .col-lg-pull-12 {
        right: 100%
    }

    .col-lg-pull-11 {
        right: 91.66666667%
    }

    .col-lg-pull-10 {
        right: 83.33333333%
    }

    .col-lg-pull-9 {
        right: 75%
    }

    .col-lg-pull-8 {
        right: 66.66666667%
    }

    .col-lg-pull-7 {
        right: 58.33333333%
    }

    .col-lg-pull-6 {
        right: 50%
    }

    .col-lg-pull-5 {
        right: 41.66666667%
    }

    .col-lg-pull-4 {
        right: 33.33333333%
    }

    .col-lg-pull-3 {
        right: 25%
    }

    .col-lg-pull-2 {
        right: 16.66666667%
    }

    .col-lg-pull-1 {
        right: 8.33333333%
    }

    .col-lg-pull-0 {
        right: auto
    }

    .col-lg-push-12 {
        left: 100%
    }

    .col-lg-push-11 {
        left: 91.66666667%
    }

    .col-lg-push-10 {
        left: 83.33333333%
    }

    .col-lg-push-9 {
        left: 75%
    }

    .col-lg-push-8 {
        left: 66.66666667%
    }

    .col-lg-push-7 {
        left: 58.33333333%
    }

    .col-lg-push-6 {
        left: 50%
    }

    .col-lg-push-5 {
        left: 41.66666667%
    }

    .col-lg-push-4 {
        left: 33.33333333%
    }

    .col-lg-push-3 {
        left: 25%
    }

    .col-lg-push-2 {
        left: 16.66666667%
    }

    .col-lg-push-1 {
        left: 8.33333333%
    }

    .col-lg-push-0 {
        left: auto
    }

    .col-lg-offset-12 {
        margin-left: 100%
    }

    .col-lg-offset-11 {
        margin-left: 91.66666667%
    }

    .col-lg-offset-10 {
        margin-left: 83.33333333%
    }

    .col-lg-offset-9 {
        margin-left: 75%
    }

    .col-lg-offset-8 {
        margin-left: 66.66666667%
    }

    .col-lg-offset-7 {
        margin-left: 58.33333333%
    }

    .col-lg-offset-6 {
        margin-left: 50%
    }

    .col-lg-offset-5 {
        margin-left: 41.66666667%
    }

    .col-lg-offset-4 {
        margin-left: 33.33333333%
    }

    .col-lg-offset-3 {
        margin-left: 25%
    }

    .col-lg-offset-2 {
        margin-left: 16.66666667%
    }

    .col-lg-offset-1 {
        margin-left: 8.33333333%
    }

    .col-lg-offset-0 {
        margin-left: 0
    }
}

.clearfix, .clearfix:after, .clearfix:before, .container-fluid:after, .container-fluid:before, .container:after, .container:before, .row:after, .row:before {
    content: " ";
    display: table
}

    .clearfix:after, .container-fluid:after, .container:after, .row:after {
        clear: both
    }

.center-block {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.pull-right {
    float: right !important
}

.pull-left {
    float: left !important
}

body > form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    max-width: 100vw;
    overflow-x: hidden;
    padding: 0;
    width: 100%
}

body.no-scroll {
    overflow: hidden;
    position: relative
}

#fixed-icons {
    position: fixed;
    bottom: 5rem;
    right: 2.5rem;
    width: 60px;
    height: 255px;
    -webkit-transition: all,.3s;
    -o-transition: all,.3s;
    transition: all,.3s
}

    #fixed-icons a#back-to-top-icon {
        background: #333;
        border-radius: 50%;
        display: block;
        margin: 0;
        padding: 1.5rem 1.3rem 1.5rem 1.5rem;
        transition: opacity .5s ease-out;
        -moz-transition: opacity .5s ease-out;
        -webkit-transition: opacity .5s ease-out;
        -o-transition: opacity .5s ease-out;
        height: 60px;
        width: 60px
    }

        #fixed-icons a:hover {
            cursor: pointer;
            opacity: .6
        }

        #fixed-icons a#chat-icon {
            display: none
        }

    #fixed-icons a#back-to-top-icon svg {
        height: 2rem;
        margin: .5rem auto;
        width: auto
    }

    #fixed-icons a#back-to-top-icon svg path {
        fill: #fff
    }

/*#cartWrapper > a {
	background: #218649;
	border-radius: 50%;
	border-color: #218649;
	display: block;
	margin: 1rem 0;
	padding: 2rem;
	transition: opacity .5s ease-out;
	-moz-transition: opacity .5s ease-out;
	-webkit-transition: opacity .5s ease-out;
	-o-transition: opacity .5s ease-out;
	height: 60px;
	width: 60px;
	opacity: 0.8;
}

		#cartWrapper > a:hover {
			cursor: pointer;
			opacity: 1;
		}*/

#back-to-top-icon svg {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

#chat-icon {
    padding: 1.5rem 0
}

[role=banner], [role=contentinfo], main {
    width: 100%
}

[role=banner] {
    height: 6rem;
    left: 0;
    position: fixed;
    top: 0;
    z-index: 99
}

@media only screen and (min-width:992px) {
    [role=banner] {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        height: 11rem;
        left: auto;
        position: relative;
        top: auto;
        z-index: auto
    }
}

[role=contentinfo] {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto
}

    [role=contentinfo] aside, [role=contentinfo] > div {
        width: 100%
    }

    [role=contentinfo] aside {
        margin-top: 3rem
    }

main {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    margin: 0 auto;
    padding: 6rem 0 0
}

    main:after, main:before {
        clear: both;
        content: "";
        display: table
    }

    main .two-column {
        margin: 4rem auto;
        max-width: 128rem
    }

        main .two-column:after, main .two-column:before {
            clear: both;
            content: "";
            display: table
        }

        main .two-column > * {
            float: left
        }

        main .two-column + section {
            margin-top: 8rem
        }

        main .two-column .sidebar {
            border-bottom: 1px solid #d6d6d6;
            margin: 0 2.5rem 2rem;
            padding-bottom: 2rem;
            width: calc(100% - 5rem)
        }

            main .two-column .sidebar:after, main .two-column .sidebar:before {
                clear: both;
                content: "";
                display: table
            }

@media only screen and (min-width:768px) {
    main .two-column .sidebar {
        margin: 0 4rem 2rem;
        width: calc(100% - 8rem)
    }
}

@media only screen and (min-width:992px) {
    main .two-column .sidebar {
        border: none;
        margin: 0;
        padding: 0 4rem;
        width: 30%
    }
}

main .two-column .content {
    padding: 0 2.5rem;
    width: 100%
}

    main .two-column .content:after, main .two-column .content:before {
        clear: both;
        content: "";
        display: table
    }

@media only screen and (min-width:768px) {
    main .two-column .content {
        padding: 0 4rem
    }
}

@media only screen and (min-width:992px) {
    main .two-column .content {
        width: 70%
    }
}

main button:active, main button:focus {
    border: none
}

main button.btn {
    background: 0 0;
    display: block;
    padding: 0
}

main .btn {
    border-radius: 1px;
    margin: 1.5rem auto
}

@media only screen and (min-width:992px) {
    main {
        padding: 11rem 0 0;
    }

        main .hide-desktop {
            display: none !important
        }

        main .show-desktop {
            display: block !important
        }
}

@media only screen and (max-width:991px) {
    main .hide-mobile {
        display: none !important
    }

    main .show-mobile {
        display: block !important
    }

    main .two-column .content {
        width: 100%
    }
}

body {
    font-family: proxima-nova,Helvetica,Calibri,Arial,sans-serif;
    font-size: 1.6rem
}

h1 {
    font-size: 3rem;
    font-weight: 800;
    margin: 1em 0 .5em
}

h2 {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 1em 0 .5em
}

h3 {
    font-weight: 700;
    margin: 1em 0 .5em;
    text-transform: uppercase
}

h4 {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 1em 0 .5em
}

h5 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 1em 0 .5em
}

h6 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 1em 0 .5em
}

p {
    margin: 1em 0 .5em
}

a {
    color: #218649;
    font-weight: 400;
    text-decoration: none
}

    a.btn {
        color: #6c6c6c
    }

    a.nowrap {
        display: block;
        margin-top: 2rem
    }

@media only screen and (min-width:576px) {
    a.nowrap {
        display: inline-block;
        margin-top: 0
    }
}

a:active, a:hover, a:link, a:visited {
    text-decoration: none
}

a + .btn {
    clear: both;
    display: block;
    white-space: nowrap
}

@media only screen and (min-width:576px) {
    a + .btn {
        clear: none;
        display: inline-block;
        margin-left: 1em;
        white-space: normal
    }
}

a.more {
    color: #6c6c6c;
    display: block;
    font-size: 1.2rem;
    line-height: 1.5rem;
    margin-top: 5rem;
    text-decoration: none;
    text-transform: uppercase
}

    a.more:after {
        background-image: url(/mgma/media/images/design/icon-arrow-gray.png);
        background-position: right top;
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: inline-block;
        height: 1rem;
        margin-left: 1.5rem;
        margin-top: 0;
        vertical-align: middle;
        width: 1.4rem
    }

    a.more#apply-filters:after, a.more.white:after {
        background-image: url(/mgma/media/images/design/icon-arrow-white.png)
    }

    a.more.green:after {
        background-image: url(/mgma/media/images/design/icon-arrow-green.png)
    }

.disclaimer {
    font-style: italic;
    margin: 5rem auto 2rem;
    max-width: 80rem
}

b, strong {
    font-weight: 700
}

em {
    font-style: italic
}

img {
    border: 0;
    display: block;
    height: auto;
    margin: 0;
    max-height: 100%;
    max-width: 100%;
    width: auto
}

figure {
    margin-bottom: 3rem;
    margin-top: 3rem
}

    figure.float-left {
        float: left;
        margin: 1em 6rem 3rem 0
    }

    figure.float-right {
        float: right;
        margin: 1em 0 3rem 6rem
    }

figcaption {
    font-style: italic;
    margin: 1rem 0 2rem
}

svg {
    display: block;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    -webkit-transition: opacity .3s;
    -o-transition: opacity .3s;
    transition: opacity .3s;
    width: 100%
}

    svg path {
        fill: inherit;
        -webkit-transition: fill .3s;
        -o-transition: fill .3s;
        transition: fill .3s
    }

.icon {
    position: relative;
    display: inline-block;
    fill: #6c6c6c;
    line-height: 2rem;
    margin: 0 .5em 0 0;
    width: 2rem
}

    .icon:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 100%
    }

    .icon > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1
    }

    .icon:before {
        content: "";
        display: inline-block;
        vertical-align: middle;
        height: 100%
    }

.audio-embed, .video-wrapper {
    margin: 2rem 0 4rem 0
}

.video-wrapper {
    display: block;
    position: relative;
    width: 100%
}

.video-container {
    height: 0;
    padding-top: 56.25%;
    width: 100%
}

    .video-container iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0
    }

[type=button], [type=reset], [type=submit], a.btn, button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #6c6c6c;
    border-radius: 1px;
    cursor: pointer;
    display: inline-block;
    font-family: proxima-nova,Helvetica,Calibri,Arial,sans-serif;
    font-size: 1.4rem;
    height: 3.5rem;
    margin: 0;
    min-width: 12rem;
    opacity: 1;
    padding: .8rem 2rem 0;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    width: auto
}

@media only screen and (min-width:992px) {
    [type=button], [type=reset], [type=submit], a.btn, button {
        opacity: .8;
        -webkit-transition: all,.3s;
        -o-transition: all,.3s;
        transition: all,.3s
    }

        [type=button]:hover, [type=reset]:hover, [type=submit]:hover, a.btn:hover, button:hover {
            opacity: 1
        }
}

[type=button] svg path, [type=reset] svg path, [type=submit] svg path, a.btn svg path, button svg path {
    fill: #6c6c6c
}

[type=button]:active, [type=button]:focus, [type=reset]:active, [type=reset]:focus, [type=submit]:active, [type=submit]:focus, a.btn:active, a.btn:focus, button:active, button:focus {
    border-color: inherit;
    outline: 0
}

[type=button].square, [type=reset].square, [type=submit].square, a.btn.square, button.square {
    min-width: 0;
    padding: .8rem;
    width: 3.5rem
}

[type=button].add-to-cart, [type=reset].add-to-cart, [type=submit].add-to-cart, a.btn.add-to-cart, button.add-to-cart {
    color: #6c6c6c
}

    [type=button].add-to-cart:before, [type=reset].add-to-cart:before, [type=submit].add-to-cart:before, a.btn.add-to-cart:before, button.add-to-cart:before {
        content: " \002b";
        padding-right: .5rem
    }

[type=button].download, [type=reset].download, [type=submit].download, a.btn.download, button.download {
    color: #6c6c6c
}

#apply-filters[type=button], #apply-filters[type=reset], #apply-filters[type=submit], [type=button].white, [type=reset].white, [type=submit].white, a.btn#apply-filters, a.btn.white, button#apply-filters, button.white {
    border-color: #fff;
    color: #fff
}

[type=button].with-space, [type=reset].with-space, [type=submit].with-space, a.btn.with-space, button.with-space {
    min-width: 27rem;
    margin: 0 2rem
}

button.close {
    background-color: transparent;
    height: 3rem;
    min-width: 0;
    padding: 0;
    position: relative;
    width: 3rem
}

    button.close svg {
        height: 1.5rem;
        left: 7px;
        position: absolute;
        top: 7px;
        width: 1.5rem;
        z-index: 1
    }

        button.close svg path {
            fill: #fff
        }

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #4a4a4a;
    border-radius: 1px;
    color: #4a4a4a;
    font-family: proxima-nova,Helvetica,Calibri,Arial,sans-serif;
    font-size: 1.4rem;
    opacity: .6;
    padding: .8rem 3.5rem .8rem 1.5rem;
    position: relative;
    text-indent: 1px;
    -o-text-overflow: '';
    text-overflow: ''
}

    select:hover {
        cursor: pointer
    }

    select:active, select:focus {
        border: 1px solid #000;
        outline: 0
    }

[type=tel], [type=email], [type=number], [type=password], [type=search], [type=text], textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: 1px solid #4a4a4a;
    border-radius: 1px;
    color: inherit;
    font-family: proxima-nova,Helvetica,Calibri,Arial,sans-serif;
    font-size: 1.5rem;
    outline: 0
}

    [type=email]:active, [type=email]:focus, [type=number]:active, [type=number]:focus, [type=password]:active, [type=password]:focus, [type=search]:active, [type=search]:focus, [type=text]:active, [type=text]:focus, textarea:active, textarea:focus {
        border: none;
        outline: 0
    }

    [type=email]:placeholder-shown, [type=number]:placeholder-shown, [type=password]:placeholder-shown, [type=search]:placeholder-shown, [type=text]:placeholder-shown, textarea:placeholder-shown {
        font-size: 1.3rem
    }

    [type=email] ::-webkit-input-placeholder, [type=number] ::-webkit-input-placeholder, [type=password] ::-webkit-input-placeholder, [type=search] ::-webkit-input-placeholder, [type=text] ::-webkit-input-placeholder, textarea ::-webkit-input-placeholder {
        color: #6c6c6c
    }

    [type=email] ::-moz-placeholder, [type=number] ::-moz-placeholder, [type=password] ::-moz-placeholder, [type=search] ::-moz-placeholder, [type=text] ::-moz-placeholder, textarea ::-moz-placeholder {
        color: #6c6c6c
    }

    [type=email] :-ms-input-placeholder, [type=number] :-ms-input-placeholder, [type=password] :-ms-input-placeholder, [type=search] :-ms-input-placeholder, [type=text] :-ms-input-placeholder, textarea :-ms-input-placeholder {
        color: #6c6c6c
    }

    [type=email] :-moz-placeholder, [type=number] :-moz-placeholder, [type=password] :-moz-placeholder, [type=search] :-moz-placeholder, [type=text] :-moz-placeholder, textarea :-moz-placeholder {
        color: #6c6c6c
    }

.input {
    color: inherit;
    position: relative
}

    .input:after, .input:before {
        clear: both;
        content: "";
        display: table
    }

    .input label {
        color: inherit;
        display: block;
        font-size: 1.5rem;
        line-height: 1.5;
        margin: 1.5rem 0 1rem;
        text-transform: uppercase
    }

    .input svg path {
        fill: #000
    }

    .input .status {
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain;
        bottom: .75rem;
        display: none;
        height: 2rem;
        position: absolute;
        right: 1rem;
        width: 2rem;
        z-index: 10
    }

        .input .status .msg {
            border-radius: 1px;
            bottom: 3rem;
            color: #fff;
            font-size: 1.2rem;
            padding: .8rem 1rem;
            position: absolute;
            right: -1rem;
            white-space: nowrap;
            z-index: 11
        }

            .input .status .msg:after {
                background-position: center top;
                background-repeat: no-repeat;
                background-size: contain;
                content: "";
                display: block;
                height: 1rem;
                position: absolute;
                right: 1rem;
                top: 100%;
                width: 2rem;
                z-index: 10
            }

        .input .status.error {
            background-image: url(/mgma/media/images/design/icon-error.png);
            display: block
        }

            .input .status.error .msg {
                background-color: #eb0029
            }

                .input .status.error .msg:after {
                    background-image: url(/mgma/media/images/design/img-tail-error.png)
                }

        .input .status.success {
            background-image: url(/mgma/media/images/design/icon-success.png);
            display: block
        }

            .input .status.success .msg {
                background-color: #218649;
                display: none
            }

                .input .status.success .msg:after {
                    background-image: url(/mgma/media/images/design/img-tail-success.png)
                }

    .input.inline {
        margin: 0 auto;
        padding: 0 4rem 0 0
    }

        .input.inline button {
            background: 0 0;
            border: none;
            bottom: 0;
            color: inherit;
            display: block;
            height: 3.5rem;
            min-width: 0;
            padding: .8rem;
            position: absolute;
            right: 4rem;
            width: 3.5rem;
            z-index: 5
        }

        .input.inline input {
            background-color: rgba(108,108,108,.8);
            border: none;
            border-radius: 1px;
            color: inherit;
            height: 3.5rem;
            padding: 0 4rem 0 1rem;
            width: 100%
        }

            .input.inline input:focus ~ button svg {
                opacity: 1
            }

a.gray {
    border-color: #6c6c6c;
    color: gray
}

    a.gray:active, a.gray:focus {
        border-color: #6c6c6c
    }

    a.gray [type=email], a.gray [type=number], a.gray [type=password], a.gray [type=search], a.gray [type=text], a.gray textarea {
        color: inherit
    }

    a.gray svg path {
        fill: #6c6c6c
    }

    a.gray ::-webkit-input-placeholder {
        color: rgba(108,108,108,.7)
    }

    a.gray ::-moz-placeholder {
        color: rgba(108,108,108,.7)
    }

    a.gray :-ms-input-placeholder {
        color: rgba(108,108,108,.7)
    }

    a.gray :-moz-placeholder {
        color: rgba(108,108,108,.7)
    }

a#apply-filters, a.white {
    border-color: #fff;
    color: #fff
}

    a#apply-filters:active, a#apply-filters:focus, a.white:active, a.white:focus {
        border-color: #fff
    }

    a#apply-filters [type=email], a#apply-filters [type=number], a#apply-filters [type=password], a#apply-filters [type=search], a#apply-filters [type=text], a#apply-filters textarea, a.white [type=email], a.white [type=number], a.white [type=password], a.white [type=search], a.white [type=text], a.white textarea {
        color: inherit
    }

    a#apply-filters svg path, a.white svg path {
        fill: #fff
    }

    a#apply-filters ::-webkit-input-placeholder, a.white ::-webkit-input-placeholder {
        color: rgba(255,255,255,.7)
    }

    a#apply-filters ::-moz-placeholder, a.white ::-moz-placeholder {
        color: rgba(255,255,255,.7)
    }

    a#apply-filters :-ms-input-placeholder, a.white :-ms-input-placeholder {
        color: rgba(255,255,255,.7)
    }

    a#apply-filters :-moz-placeholder, a.white :-moz-placeholder {
        color: rgba(255,255,255,.7)
    }

    a.nav#apply-filters, a.white.nav, a.white.with-space, a.with-space#apply-filters {
        width: 85%;
        display: block;
        margin-left: auto;
        margin-right: auto
    }

        a.nav#apply-filters:not(:first-of-type), a.white.nav:not(:first-of-type), a.white.with-space:not(:first-of-type), a.with-space#apply-filters:not(:first-of-type) {
            margin-top: 2rem
        }

@media only screen and (min-width:768px) {
    a.nav#apply-filters, a.white.nav, a.white.with-space, a.with-space#apply-filters {
        width: auto;
        min-width: 20rem;
        display: inline-block;
        margin-left: 1rem;
        margin-right: 1rem
    }

        a.nav#apply-filters:not(:first-of-type), a.white.nav:not(:first-of-type), a.white.with-space:not(:first-of-type), a.with-space#apply-filters:not(:first-of-type) {
            margin-top: 0
        }
}

a.nav#apply-filters, a.white.nav {
    border: none;
    font-weight: 700;
    font-size: 1.6rem
}

    a.nav#apply-filters:focus, a.nav#apply-filters:hover, a.nav.active#apply-filters, a.white.nav.active, a.white.nav:focus, a.white.nav:hover {
        background-color: rgba(0,0,0,.4)
    }

.searchBox [type=submit] {
    margin: 0
}

.no-results {
    border: 1px solid #6c6c6c;
    border-radius: 1px;
    margin: 2rem auto;
    max-width: 64rem;
    padding: 1rem;
    width: 100%
}

    .no-results:after, .no-results:before {
        clear: both;
        content: "";
        display: table
    }

    .no-results h2 {
        text-align: center;
        margin: 1rem 0
    }

button.load-more:active, button.load-more:focus {
    border: 1px solid #6c6c6c
}

#loading-overlay {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: rgba(0,0,0,.6);
    z-index: 1
}

    #loading-overlay > span {
        background: #fff;
        border-radius: 1px;
        width: 220px;
        height: 60px;
        position: absolute;
        top: 50%;
        left: 50%;
        padding-left: 85px;
        padding-right: 65px;
        margin-left: -125px;
        line-height: 60px;
        font-weight: 700;
        color: #6c6c6c
    }

        #loading-overlay > span:before {
            content: '';
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            position: absolute;
            width: 20px;
            height: 20px;
            margin-left: -3.5rem;
            border-radius: 50%;
            border: 2px solid #ccc;
            border-top-color: #333;
            -webkit-animation: spinner .8s linear infinite;
            animation: spinner .8s linear infinite;
            margin-top: 20px
        }

.logo {
    display: block;
    height: 3.5rem;
    width: 14rem
}

    .logo a {
        display: block;
        height: 100%
    }

    .logo svg {
        path-fill: #000
    }

[role=banner] {
    background-color: #000;
    border-bottom: 2px solid #6c6c6c;
    color: #fff;
    padding-top: 1.2rem
}

@media only screen and (min-width:992px) {
    [role=banner] {
        padding-top: 1.5rem;
        position: fixed;
        z-index: 99;
    }
}

[role=banner] a {
    font-size: 1.4rem;
    text-decoration: none
}

[role=banner] .limiter {
    height: 100%;
    position: relative
}

[role=banner] #nav-toggle {
    display: none
}

    [role=banner] #nav-toggle ~ label {
        border: 1px solid #fff;
        border-radius: 1px;
        display: block;
        height: 3rem;
        padding: 0;
        position: absolute;
        right: 2.5rem;
        top: .3rem;
        width: 3rem;
        z-index: 2
    }

@media only screen and (min-width:992px) {
    [role=banner] #nav-toggle ~ label {
        display: none
    }
}

[role=banner] #nav-toggle ~ label svg {
    height: 1.5rem;
    left: 7px;
    position: absolute;
    top: 7px;
    width: 1.5rem;
    z-index: 1
}

    [role=banner] #nav-toggle ~ label svg path {
        fill: #fff
    }

[role=banner] #nav-toggle ~ label #nav-toggle-open {
    opacity: 1
}

[role=banner] #nav-toggle ~ label #nav-toggle-close {
    opacity: 0
}

[role=banner] #nav-toggle:checked ~ label #nav-toggle-open {
    opacity: 0
}

[role=banner] #nav-toggle:checked ~ label #nav-toggle-close {
    opacity: 1
}

@media only screen and (max-width:991px) {
    [role=banner] #nav-toggle:checked ~ nav {
        left: 0
    }
}

#global-search + button svg {
    height: 80%;
    width: 80%
}

#primary-navigation {
    background-color: #000;
    height: calc(100vh - 5.8rem);
    left: 100%;
    max-width: 100vw;
    overflow: hidden;
    padding: 2rem 2.5rem;
    position: absolute;
    top: 4.6rem;
    -webkit-transition: left .3s;
    -o-transition: left .3s;
    transition: left .3s;
    width: 100%;
    z-index: 90
}

    #primary-navigation a {
        color: #fff
    }

@media only screen and (min-width:992px) {
    #primary-navigation {
        bottom: 0;
        height: auto;
        left: auto;
        opacity: 1;
        overflow: visible;
        padding: 0;
        right: 2.5rem;
        top: auto;
        -webkit-transition: none;
        -o-transition: none;
        transition: none;
        width: auto;
        z-index: 1
    }

        #primary-navigation a {
            color: rgba(255,255,255,.8);
            -webkit-transition: all .3s;
            -o-transition: all .3s;
            transition: all .3s
        }

            #primary-navigation a:hover {
                color: #fff
            }
}

#logo-main {
    clear: both;
    height: 3rem;
    width: auto
}

@media only screen and (min-width:992px) {
    #logo-main {
        clear: none;
        float: left;
        height: auto;
        margin-top: 2rem
    }
}

#logo-main .logo svg path {
    fill: #fff
}

#admin-menu {
    background-color: #000;
    border-top: solid 1px rgba(108,108,108,.5);
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 99
}

    #admin-menu a {
        display: block;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        padding: 3rem 1rem;
        text-align: center
    }

@media only screen and (min-width:992px) {
    #admin-menu {
        border: none;
        float: right;
        margin-top: 6px;
        position: static;
        width: auto
    }

        #admin-menu a {
            margin-left: 0;
            margin-right: 1rem;
            padding: .5rem .8rem
        }
}

#action-menu {
    padding: 1rem 0;
    text-align: right
}

    #action-menu:after, #action-menu:before {
        clear: both;
        content: "";
        display: table
    }

    #action-menu > div {
        display: inline-block;
        margin-left: 1rem
    }

        #action-menu > div:first-of-type {
            margin-bottom: 1rem;
            margin-left: 0;
            width: 100%
        }

    #action-menu label {
        display: none
    }

    #action-menu .input.inline {
        margin: 0;
        max-width: none;
        padding-right: 0
    }

        #action-menu .input.inline button {
            right: 0
        }

@media only screen and (min-width:576px) {
    #action-menu > div {
        display: inline-block;
        margin: 0;
        text-align: right;
        vertical-align: top
    }

        #action-menu > div:first-of-type {
            float: left;
            margin-bottom: 0;
            text-align: left;
            width: 60%
        }
}

@media only screen and (min-width:992px) {
    #action-menu {
        display: table;
        float: right;
        padding: 0
    }

        #action-menu > div {
            display: table-cell;
            float: none;
            margin: 0;
            padding: 0 .5rem;
            vertical-align: top
        }

            #action-menu > div:first-of-type {
                float: none;
                width: auto
            }
}

#primary-menu {
    height: calc(100% - 16rem);
    margin: 0 -2.5rem;
    overflow: hidden;
    overflow-y: auto
}

@media only screen and (min-width:576px) {
    #primary-menu {
        height: calc(100% - 11.5rem)
    }
}

@media only screen and (min-width:992px) {
    #primary-menu {
        clear: both;
        display: table;
        height: auto;
        float: right;
        margin: 1rem 0 0;
        overflow: visible
    }
}

#primary-menu a {
    display: block;
    font-size: 1.2rem;
    letter-spacing: 1px;
    margin: 0;
    padding: 1.5rem 1.5rem 1.5rem 2.7rem;
    position: relative;
    text-transform: uppercase
}

    #primary-menu a:after {
        background-color: #6c6c6c;
        content: "";
        display: block;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s;
        width: 2px;
        z-index: 2
    }

    #primary-menu a.events:after {
        background-color: #fff
    }

    #primary-menu a.resources:after {
        background-color: #eb0029
    }

    #primary-menu a.education:after {
        background-color: #2f7de1
    }

    #primary-menu a.careers:after {
        background-color: #675dc6
    }

    #primary-menu a.advocacy:after {
        background-color: #ff6b00
    }

    #primary-menu a.membership:after {
        background-color: #218649
    }

    #primary-menu a.consulting:after {
        background-color: #F1D92F;
        color: black !important
    }

@media only screen and (max-width:991px) {
    #primary-menu a {
        font-size: 1.5rem
    }

        #primary-menu a.active:after, #primary-menu a:hover:after {
            width: 5px
        }

        #primary-menu a.active {
            background-color: #6c6c6c
        }

            #primary-menu a.active.events {
                background-color: #fff
            }

            #primary-menu a.active.resources {
                background-color: #eb0029
            }

            #primary-menu a.active.education {
                background-color: #2f7de1
            }

            #primary-menu a.active.careers {
                background-color: #675dc6
            }

            #primary-menu a.active.advocacy {
                background-color: #ff6b00
            }

            #primary-menu a.active.consulting {
                background-color: #F1D92F
            }

            #primary-menu a.active.membership {
                background-color: #218649
            }
}

@media only screen and (min-width:992px) {
    #primary-menu a {
        display: table-cell;
        padding: .7rem 1rem 2.5rem;
        vertical-align: middle
    }

        #primary-menu a:after {
            bottom: -2px;
            height: 2px;
            top: auto;
            width: 100%
        }

        #primary-menu a.active:after, #primary-menu a:hover:after {
            height: 5px;
            width: 100%
        }
}

.logo.footer, .logo.footer a svg {
    height: 5rem;
    width: 19rem;
    display: table
}

.copyright {
    font-size: 1.2rem
}

[role=contentinfo] {
    border-top: 1px solid #d6d6d6;
    padding: 5rem 0 0
}

    [role=contentinfo]:after, [role=contentinfo]:before {
        clear: both;
        content: "";
        display: table
    }

    [role=contentinfo] a {
        color: #6c6c6c;
        display: table;
        font-size: 1.4rem;
        margin: .8rem 0;
        padding: 2px;
        text-decoration: none
    }

    [role=contentinfo] h3, [role=contentinfo] p {
        margin-top: 0
    }

    [role=contentinfo] h3 {
        font-weight: 700;
        letter-spacing: 1px
    }

    [role=contentinfo] aside {
        background-color: #000;
        color: #fff;
        margin-top: 5rem;
        padding: 2rem 0
    }

        [role=contentinfo] aside:after, [role=contentinfo] aside:before {
            clear: both;
            content: "";
            display: table
        }

    [role=contentinfo] .input.inline {
        margin: 0 auto;
        width: 100%
    }

    [role=contentinfo] .company-info {
        margin: 2rem 0
    }

@media only screen and (min-width:768px) {
    [role=contentinfo] .company-info {
        float: left;
        width: 45%
    }
}

@media only screen and (min-width:992px) {
    [role=contentinfo] .company-info {
        margin: 0;
        width: 24rem
    }
}

[role=contentinfo] .footer-links {
    margin: 3rem 0;
    width: 100%
}

    [role=contentinfo] .footer-links:after, [role=contentinfo] .footer-links:before {
        clear: both;
        content: "";
        display: table
    }

    [role=contentinfo] .footer-links .primary, [role=contentinfo] .footer-links .secondary {
        float: left;
        max-width: 30rem;
        width: 50%
    }

    [role=contentinfo] .footer-links .primary {
        padding-right: 1rem
    }

        [role=contentinfo] .footer-links .primary a {
            color: #000;
            font-weight: 700
        }

    [role=contentinfo] .footer-links .secondary {
        padding-left: 1rem
    }

@media only screen and (min-width:768px) {
    [role=contentinfo] .footer-links {
        float: right;
        margin: 2rem 0;
        width: 45%
    }
}

@media only screen and (min-width:992px) {
    [role=contentinfo] .footer-links {
        float: left;
        margin: 0;
        padding: 0 2rem;
        width: calc(100% - 59rem)
    }

        [role=contentinfo] .footer-links .secondary {
            float: right
        }
}

[role=contentinfo] .marketing-links {
    margin: 3rem 0;
    width: 100%
}

    [role=contentinfo] .marketing-links h3 {
        border-bottom: 1px solid #000;
        clear: both;
        display: inline-block;
        font-size: 1.3rem;
        margin-bottom: 1.5rem;
        padding-bottom: 1.2rem;
        text-transform: uppercase
    }

@media only screen and (min-width:768px) {
    [role=contentinfo] .marketing-links {
        float: left;
        margin: 2rem 0 0;
        width: 45%
    }
}

@media only screen and (min-width:992px) {
    [role=contentinfo] .marketing-links {
        margin: 0;
        padding: 0 2rem 0 0;
        width: 28rem
    }
}

[role=contentinfo] .social-links {
    margin: 3rem 0 0;
    width: 100%
}

    [role=contentinfo] .social-links:after, [role=contentinfo] .social-links:before {
        clear: both;
        content: "";
        display: table
    }

@media only screen and (min-width:768px) {
    [role=contentinfo] .social-links {
        float: left;
        margin: 2rem 0
    }
}

@media only screen and (min-width:992px) {
    [role=contentinfo] .social-links {
        float: right;
        margin: 0;
        width: 5rem
    }
}

[role=contentinfo] .social-links a {
    border: 1px solid #6c6c6c;
    border-radius: 1px
}

@media only screen and (min-width:992px) {
    [role=contentinfo] .social-links a {
        float: none;
        margin: 1rem 0
    }
}

@media only screen and (min-width:576px) {
    [role=contentinfo] label {
        clear: both;
        float: left
    }

    [role=contentinfo] .impersonate, [role=contentinfo] .newsletter {
        float: left;
        max-width: 50%;
        width: 35rem
    }

    [role=contentinfo] .impersonate {
        float: right
    }
}

@media only screen and (min-width:768px) {
    [role=contentinfo] {
        padding: 7rem 0 0
    }

        [role=contentinfo] aside {
            margin-top: 7rem
        }
}

@media only screen and (min-width:992px) {
    [role=contentinfo] {
        padding: 10rem 0 0
    }

        [role=contentinfo] aside {
            margin-top: 10rem
        }

        [role=contentinfo] label {
            float: left;
            font-size: 1.3rem;
            line-height: 3.5rem;
            margin: 0 2rem 0 0;
            text-align: left
        }
}

.panel {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    margin: 0;
    overflow: hidden;
    padding: 3rem 2.5rem;
    position: relative
}

    .panel h1 {
        clear: both;
        display: block;
        float: left;
        margin-top: 1rem;
        position: relative
    }

        .panel h1:before {
            border-top: 1px solid #d6d6d6;
            content: "";
            display: block;
            height: 0;
            right: calc(100% + .5em);
            position: absolute;
            top: .5em;
            width: 200rem;
            z-index: 1
        }

        .panel h1:after {
            clear: both;
            content: "";
            display: table
        }

    .panel.promo h1:before {
        border: none
    }

    .panel header:after, .panel header:before {
        clear: both;
        content: "";
        display: table
    }

    .panel header h3.primary-background {
        color: #fff;
        display: inline-block;
        font-size: 1.2rem;
        font-weight: 700;
        letter-spacing: 1px;
        padding: 1rem 1.5rem;
        text-transform: uppercase
    }

        .panel header h3.primary-background:after, .panel header h3.primary-background:before {
            clear: both;
            content: "";
            display: table
        }

    .panel .right {
        max-width: 64rem
    }

        .panel .right h1:before {
            left: calc(100% + .5em);
            right: auto
        }

        .panel .right header h3 {
            float: left
        }

    .panel .cta {
        margin-top: 3rem
    }

        .panel .cta a + a.video {
            display: inline-block;
            margin-top: 3rem;
            width: 100%;
            text-align: center;
            text-transform: uppercase
        }

@media only screen and (min-width:576px) {
    .panel .cta a + a.video {
        margin-top: 3rem;
        width: auto
    }
}

.panel .btn {
    min-width: 100%
}

@media only screen and (min-width:576px) {
    .panel .btn {
        min-width: 18rem
    }
}

@media only screen and (min-width:768px) {
    .panel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        padding: 5rem 2.5rem
    }

        .panel header {
            max-width: 50%
        }

        .panel .cta, .panel header {
            padding-left: 7rem
        }

        .panel .left, .panel .right {
            float: left;
            width: 50%
        }

            .panel .left header, .panel .right header {
                max-width: none
            }

        .panel .right {
            float: right;
            padding-right: 2.5rem
        }

            .panel .right .cta, .panel .right header {
                padding-left: 0
            }

        .panel .limiter {
            width: 100%
        }

            .panel .limiter .right {
                padding-right: 0
            }
}

.panel.bg-image {
    background-color: #000
}

    .panel.bg-image:before {
        background-color: rgba(0,0,0,.65);
        content: "";
        display: block;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 0
    }

    .panel.bg-image * {
        border-color: #fff;
        color: #fff;
        fill: #fff
    }

    .panel.bg-image > * {
        position: relative;
        z-index: 1
    }

    .panel.bg-image img {
        margin: 0 auto
    }

    .panel.bg-image p {
        color: #d6d6d6;
        line-height: 3rem
    }

    .panel.bg-image header h3 {
        background-color: #fff;
        color: #000
    }

    .panel.bg-image .cta a:not(:last-of-type) {
        margin-right: 5rem
    }

    .panel.bg-image .more:after {
        background-image: url(/mgma/media/images/design/icon-arrow-white.png)
    }

#fellowship.panel .btn {
    min-width: initial
}

@media only screen and (max-width:992px) {
    .limiter > .panel {
        padding-left: 0;
        padding-right: 0
    }
}

section .cta a, section .left a {
    margin-bottom: 2rem;
    vertical-align: top;
    display: inline-block
}

    section .cta a.more, section .left a.more {
        margin-top: 1rem
    }

    section .cta a#apply-filters, section .cta a.white, section .left a#apply-filters, section .left a.white {
        margin-left: 2rem
    }

section .cta + a {
    display: inline-block;
    margin-bottom: 0
}

#interior-search-container, #search-container {
    position: relative
}

    #interior-search-container [type=submit], #search-container [type=submit] {
        background-color: transparent;
        background-image: url(/mgma/media/images/design/icon-search-white.png);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: 50%;
        border: none;
        bottom: 0;
        color: inherit;
        display: block;
        font-size: 0;
        height: 3.5rem;
        min-width: 0;
        padding: .8rem;
        position: absolute;
        right: 0;
        width: 3.5rem;
        z-index: 5
    }

    #interior-search-container [type=text], #search-container [type=text] {
        background-color: rgba(108,108,108,.8);
        border-radius: 1px;
        color: inherit;
        height: 3.5rem;
        padding: 0 4rem 0 1rem;
        width: 100%
    }

    #interior-search-container.gray [type=text], #search-container.gray [type=text] {
        background-color: #f2f2f2;
        font-style: italic;
        border-color: #d6d6d6
    }

    #interior-search-container.gray [type=submit], #search-container.gray [type=submit] {
        background-image: url(/mgma/media/images/design/icon-search-gray.png)
    }

    #interior-search-container .predictiveSearchHolder, #search-container .predictiveSearchHolder {
        left: 0;
        position: absolute;
        top: 100%;
        width: 100%;
        z-index: 2
    }

#search-button {
    display: none
}

#interior-search-box, #search-box {
    position: relative
}

.block-list {
    margin-top: 5rem
}

@media only screen and (min-width:768px) {
    .block-list {
        margin: 0 0 0 auto;
        max-width: 30rem
    }
}

.block-list h3 {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 1px;
    margin: 0 0 2rem
}

.block-list .list-item {
    font-size: 1.2rem
}

    .block-list .list-item h4 {
        font-size: 1.4rem;
        font-weight: 700;
        margin: 2rem 0 0;
        text-transform: uppercase
    }

    .block-list .list-item a {
        border-bottom-style: solid;
        border-bottom-width: 1px;
        display: block;
        line-height: 1.5;
        padding: 1rem 0;
        text-transform: none
    }

    .block-list .list-item .more {
        margin-top: 0
    }

        .block-list .list-item .more:after {
            height: .7rem;
            margin-left: .5rem;
            width: 1.5rem
        }

.block-grid {
    margin: 0 auto;
    position: relative;
    width: 100%
}

    .block-grid .grid {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch
    }

.store-btn-position {
    width: 100%;
    float: left;
}

.store-img {
    display: contents;
}

@media only screen and (min-width:768px) {
    .block-grid .grid.half .list-item {
        width: calc(50% - 1rem)
    }

        .block-grid .grid.half .list-item:last-of-type {
            margin-bottom: 2rem
        }

        .block-grid .grid.half .list-item img {
            display: none
        }
}

@media only screen and (min-width:576px) {
    .block-grid .grid.third .list-item {
        width: calc(50% - 2rem)
    }
}

@media only screen and (min-width:768px) {
    .block-grid .grid.third .list-item {
        width: calc(33.3% - 2rem)
    }
}

.block-grid .grid.quad .list-item {
    background-color: #000;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    color: #fff;
    position: relative;
    min-height: 22rem;
    padding: 3rem 2rem
}

@media only screen and (min-width:576px) {
    .block-grid .grid.quad .list-item {
        width: calc(45% + 2rem)
    }
}

@media only screen and (min-width:768px) {
    .block-grid .grid.quad .list-item {
        width: calc(28% + 2rem)
    }
}

@media only screen and (min-width:992px) {
    .block-grid .grid.quad .list-item {
        width: calc(25% - 2rem)
    }
}

.block-grid .grid.quad .list-item:last-of-type {
    margin-bottom: 2rem
}

.block-grid .grid.quad .list-item span.category {
    width: initial
}

.block-grid .grid.quad .list-item h2 {
    color: #fff;
    height: auto;
    margin: 4rem 0 2rem;
    text-transform: none
}

.block-grid .grid.quad.half .list-item {
    width: calc(45% + 2rem)
}

.block-grid .grid.vendor .list-item img {
    float: left;
    margin-right: 3rem;
    margin-left: 0
}

.block-grid .grid.vendor .list-item h2 {
    margin-top: 0
}

.block-grid .grid.flat .list-item {
    border-top-width: 1px;
    border-top-color: #d6d6d6
}

@media only screen and (min-width:768px) {
    .block-grid .grid.flat .list-item {
        padding: 4.5rem
    }
}

.block-grid .grid.flat .list-item h2 {
    margin: 0;
    font-weight: 800;
    font-size: 2.5rem
}

.block-grid .grid.flat .list-item p {
    color: #6c6c6c;
    margin-bottom: 3rem
}

.block-grid .grid.flat .list-item a {
    color: #6c6c6c
}

@media only screen and (max-width:768px) {
    .block-grid .grid.flat .list-item a {
        border: none;
        line-height: 0;
        font-size: 0;
        color: transparent;
        min-width: 0;
        padding-left: 0;
        margin-left: -1rem
    }

        .block-grid .grid.flat .list-item a:after {
            background-image: url(/mgma/media/images/design/icon-arrow-gray.png);
            background-position: right top;
            background-repeat: no-repeat;
            background-size: contain;
            content: "";
            display: inline-block;
            height: 1.5rem;
            margin-left: 1.5rem;
            vertical-align: middle;
            width: 1.4rem
        }
}

.block-grid .grid.flat .list-item#apply-filters *, .block-grid .grid.flat .list-item.white * {
    color: #fff;
    border-color: #fff;
    position: relative
}

@media only screen and (max-width:768px) {
    .block-grid .grid.flat .list-item#apply-filters a:after, .block-grid .grid.flat .list-item.white a:after {
        background-image: url(/mgma/media/images/design/icon-arrow-white.png)
    }
}

.block-grid .grid .list-item {
    position: relative
}

    .block-grid .grid .list-item.primary-background * {
        border-color: #fff;
        color: #fff
    }

    .block-grid .grid .list-item.image-background {
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        border: none
    }

        .block-grid .grid .list-item.image-background > * {
            border-color: #fff;
            color: #fff;
            position: relative;
            z-index: 1
        }

        .block-grid .grid .list-item.image-background:before {
            background-color: rgba(0,0,0,.65);
            content: "";
            display: block;
            height: 100%;
            left: 0;
            position: absolute;
            top: 0;
            width: 100%;
            z-index: 0
        }

.block-grid span.category {
    display: block;
    font-size: 1.3rem;
    left: 2rem;
    max-width: calc(100% - 4rem);
    padding: .7rem 1rem;
    position: absolute;
    top: 0;
    z-index: 10
}

.block-grid .list-item {
    background-color: #fff;
    border-bottom-color: #d6d6d6;
    border-left-color: #d6d6d6;
    border-right-color: #d6d6d6;
    border-style: solid;
    border-width: 1px;
    border-top-width: 3px;
    -webkit-box-shadow: 0 0 .5rem #d6d6d6;
    box-shadow: 0 0 .5rem #d6d6d6;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    margin: 0 0 2rem;
    padding: 2rem;
    width: 100%
}

@media only screen and (min-width:768px) {
    .block-grid .list-item {
        padding: 3rem
    }
}

.block-grid .list-item > * {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    width: 100%
}

.block-grid .list-item > a.btn {
    margin-bottom: 0
}

@media only screen and (min-width:768px) {
    .block-grid .list-item > a.btn {
        display: inline-block;
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        margin-right: auto;
        min-width: 0;
        width: auto
    }
}

.block-grid .list-item.bundle {
    overflow: visible
}

    .block-grid .list-item.bundle:after, .block-grid .list-item.bundle:before {
        background-color: rgba(108,108,108,.5);
        content: "";
        display: block;
        height: 90%;
        position: absolute;
        right: -8px;
        top: 5%;
        width: 8px;
        z-index: -1
    }

    .block-grid .list-item.bundle:after {
        height: 80%;
        right: -16px;
        top: 10%;
        width: 16px
    }

.block-grid a.list-item {
    white-space: normal
}

    .block-grid a.list-item h1, .block-grid a.list-item h2, .block-grid a.list-item ol, .block-grid a.list-item p, .block-grid a.list-item ul {
        color: #000
    }

.block-grid img {
    display: none
}

@media only screen and (min-width:768px) {
    .block-grid img {
        display: block;
        float: right;
        margin-left: 3rem
    }
}

.block-grid h2 {
    margin: 0 0 .5em
}

.block-grid h3 {
    font-weight: 500;
    margin: 0 0 2em
}

.block-grid footer {
    -ms-flex-line-pack: end;
    align-content: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
    margin-top: 2rem
}

.block-grid .pricing {
    font-size: 1.4rem;
    font-weight: 700;
    margin-top: 3rem;
    text-transform: uppercase
}

    .block-grid .pricing span {
        font-size: 200%;
        font-weight: 400
    }

.home .block-grid {
    max-width: 110rem;
    padding: 5rem 0 0
}

    .home .block-grid .cta {
        margin: 0;
        padding: 0;
        position: absolute;
        right: 0;
        text-align: right;
        top: 0;
        z-index: 1
    }

@media only screen and (min-width:576px) {
    .home .block-grid .cta {
        padding: 0 2.5rem
    }
}

@media only screen and (min-width:768px) {
    .home .block-grid .cta {
        top: -3.5rem
    }
}

.home .block-grid .cta .more {
    margin-top: 0
}

.home .block-grid .list-item:nth-of-type(1n+4) {
    display: none
}

@media only screen and (min-width:576px) {
    .home .block-grid .list-item:nth-of-type(1n+4) {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
}

.link-grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 3rem 0;
    width: 100%
}

    .link-grid a {
        background-color: transparent;
        background-image: url(/mgma/media/images/design/icon-arrow-gray.png);
        background-position: calc(100% - 1.8rem) center;
        background-repeat: no-repeat;
        background-size: 13px 8px;
        border: 1px solid #d6d6d6;
        color: inherit;
        display: block;
        -webkit-box-flex: 1;
        -ms-flex: 1 0 100%;
        flex: 1 0 100%;
        margin: 0 0 2rem;
        max-width: 100%;
        padding: 2rem 4rem 2rem 2rem;
        text-transform: uppercase
    }

@media only screen and (min-width:768px) {
    .link-grid a {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(50% - 1rem);
        flex: 0 0 calc(50% - 1rem);
        max-width: calc(50% - 1rem)
    }
}

.resources .link-grid a {
    background-image: url(/mgma/media/images/design/icon-arrow-red.png)
}

.education .link-grid a {
    background-image: url(/mgma/media/images/design/icon-arrow-blue.png)
}

.careers .link-grid a {
    background-image: url(/mgma/media/images/design/icon-arrow-purple.png)
}

.advocacy .link-grid a {
    background-image: url(/mgma/media/images/design/icon-arrow-orange.png)
}

.membership .link-grid a {
    background-image: url(/mgma/media/images/design/icon-arrow-green.png)
}

.carousel-bg {
    padding: 4rem 0 5rem;
    position: relative
}

    .carousel-bg:after, .carousel-bg:before {
        clear: both;
        content: "";
        display: table
    }

    .carousel-bg:before {
        content: "";
        display: block;
        height: 100%;
        left: -100%;
        position: absolute;
        top: 0;
        width: 300%;
        z-index: -1
    }

    .carousel-bg.gray:before {
        background-color: #f7f7f7
    }

.carousel {
    margin: 0 auto;
    max-width: 128rem;
    padding: 5rem 0 0;
    position: relative;
    width: 100%
}

    .carousel .track {
        margin: 0 2.5rem;
        position: relative;
        width: calc(100% - 5rem)
    }

        .carousel .track:after, .carousel .track:before {
            clear: both;
            content: "";
            display: table
        }

    .carousel .slider {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
        height: 100%;
        left: 0;
        padding: 0;
        position: relative
    }

    .carousel .block {
        background-color: #fff;
        border-bottom-color: #d6d6d6;
        border-left-color: #d6d6d6;
        border-right-color: #d6d6d6;
        border-style: solid;
        border-width: 1px;
        border-top-width: 3px;
        -webkit-box-shadow: 0 0 .5rem #d6d6d6;
        box-shadow: 0 0 .5rem #d6d6d6;
        -webkit-box-flex: 0;
        -ms-flex: 0 1 27rem;
        flex: 0 1 27rem;
        margin: 0 1rem 0 0;
        min-width: 27rem;
        overflow: hidden;
        padding: 2rem;
        position: relative;
        width: 27rem
    }

@media only screen and (min-width:576px) {
    .carousel .block {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 35rem;
        flex: 0 1 35rem;
        min-width: 35rem;
        width: 35rem
    }
}

.carousel .block.bundle {
    overflow: visible
}

    .carousel .block.bundle:after, .carousel .block.bundle:before {
        background-color: rgba(108,108,108,.5);
        content: "";
        display: block;
        height: 90%;
        position: absolute;
        right: -5%;
        top: 5%;
        width: 90%;
        z-index: -1
    }

    .carousel .block.bundle:after {
        height: 80%;
        right: -10%;
        top: 10%;
        width: 80%
    }

.carousel .block.banner {
    border: none;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover
}

.carousel .block span.category {
    display: block;
    font-size: 1.3rem;
    left: 2rem;
    max-width: calc(100% - 4rem);
    padding: .7rem 1rem;
    position: absolute;
    top: 0;
    z-index: 10
}

.carousel .block h2 {
    color: #4a4a4a;
    height: 5rem;
    margin: 1rem 0 2rem;
    overflow: hidden;
    padding: 0;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis
}

.carousel .block p {
    color: #6c6c6c;
    font-size: 1.3rem;
    line-height: 1.5;
    margin: 0 0 1rem
}

    .carousel .block p.event-date {
        font-size: 1.4rem
    }

.carousel .block footer {
    bottom: 0;
    color: #6c6c6c;
    font-size: 1.6rem;
    font-weight: 700;
    height: 7rem;
    left: 0;
    padding: 3rem 2rem 2rem;
    position: absolute;
    text-transform: uppercase;
    width: 100%;
    z-index: 1
}

.carousel .cta {
    margin: 0;
    padding: 0;
    position: absolute;
    right: 0;
    text-align: right;
    top: 0;
    z-index: 1
}

@media only screen and (min-width:576px) {
    .carousel .cta {
        padding: 0 2.5rem
    }
}

@media only screen and (min-width:768px) {
    .carousel .cta {
        top: -3.5rem
    }
}

.carousel .cta .more {
    margin-top: 0
}

.carousel button {
    min-width: 0
}

.carousel .carousel-controls {
    height: 3rem;
    margin: 3rem 0 0;
    padding: 0 2.5rem;
    width: 100%
}

    .carousel .carousel-controls button {
        background: 0 0;
        border: 1px solid #6c6c6c;
        display: block;
        height: 3rem;
        padding: 1rem .5rem;
        text-align: center;
        width: 3rem
    }

    .carousel .carousel-controls svg {
        margin: 0 auto
    }

    .carousel .carousel-controls .prev {
        float: left
    }

        .carousel .carousel-controls .prev svg {
            -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
            transform: rotate(180deg)
        }

    .carousel .carousel-controls .next {
        float: right
    }

.carousel.small .block {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 17.5rem;
    flex: 0 0 17.5rem;
    margin-right: 3rem;
    min-width: 17.5rem;
    padding: 2rem;
    width: 17.5rem
}

    .carousel.small .block h2 {
        color: inherit;
        height: auto;
        margin: 4rem 0 2rem;
        text-transform: none
    }

.carousel.dark .block {
    background-color: #000;
    color: #fff
}

.carousel.timeline {
    border: none;
    clear: both;
    margin: 0;
    padding-top: 0
}

    .carousel.timeline:after, .carousel.timeline:before {
        clear: both;
        content: "";
        display: table
    }

    .carousel.timeline .track {
        border: none;
        margin: 0;
        overflow: hidden
    }

    .carousel.timeline .carousel-controls, .carousel.timeline .cta {
        padding: 0
    }

    .carousel.timeline .cta {
        display: inline-block;
        height: 3.5rem;
        vertical-align: middle;
        margin-top: 3rem;
        position: initial
    }

@media only screen and (min-width:576px) {
    .carousel.timeline .cta {
        padding: 1rem 4rem
    }
}

.carousel.timeline .block {
    background-color: transparent;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    margin: 0;
    min-width: 0;
    padding: 1rem 1px 2rem;
    width: 100%
}

@media only screen and (min-width:768px) {
    .carousel.timeline .block {
        padding-left: 7rem
    }
}

.carousel.timeline .block h1 {
    display: block;
    float: none
}

    .carousel.timeline .block h1:before {
        display: none
    }

.carousel.timeline .block p {
    clear: both;
    color: inherit;
    margin: 1rem 0
}

.carousel.timeline .block .btn {
    margin-top: 3rem
}

.carousel.timeline .carousel-controls button {
    display: block
}

@media only screen and (min-width:992px) {
    .carousel.timeline .carousel-controls button {
        display: none
    }
}

.carousel.timeline .carousel-menu {
    display: none
}

@media only screen and (min-width:992px) {
    .carousel.timeline .carousel-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
        margin: 4rem 0 0;
        width: 100%
    }
}

.carousel.timeline .carousel-menu button {
    background: 0 0;
    border: none;
    color: rgba(0,0,0,.65);
    display: block;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 calc((100% / 12) - 1rem);
    flex: 1 1 calc((100% / 12) - 1rem);
    height: 100%;
    margin: 0 .5rem;
    overflow: visible;
    padding: 1rem 0;
    position: relative;
    text-align: center;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    width: calc((100% / 12) - 1rem)
}

    .carousel.timeline .carousel-menu button:before {
        background-color: rgba(0,0,0,.65);
        bottom: 100%;
        content: "";
        display: block;
        height: 2px;
        left: 0;
        position: absolute;
        -webkit-transition: all .3s;
        -o-transition: all .3s;
        transition: all .3s;
        width: 100%;
        z-index: 1
    }

    .carousel.timeline .carousel-menu button:hover {
        color: rgba(0,0,0,.9)
    }

        .carousel.timeline .carousel-menu button:hover:before {
            background-color: rgba(0,0,0,.9)
        }

    .carousel.timeline .carousel-menu button.active {
        color: #000
    }

        .carousel.timeline .carousel-menu button.active:before {
            background-color: #000;
            height: 4px
        }

.carousel.timeline.dark .block {
    color: #fff
}

.carousel.timeline.dark .carousel-menu button {
    color: rgba(255,255,255,.65)
}

    .carousel.timeline.dark .carousel-menu button:before {
        background-color: rgba(255,255,255,.65)
    }

    .carousel.timeline.dark .carousel-menu button:hover {
        color: rgba(255,255,255,.9)
    }

        .carousel.timeline.dark .carousel-menu button:hover:before {
            background-color: rgba(255,255,255,.9)
        }

    .carousel.timeline.dark .carousel-menu button.active {
        color: #fff
    }

        .carousel.timeline.dark .carousel-menu button.active:before {
            background-color: #fff;
            height: 4px
        }

#tools .block {
    border-top-color: inherit;
    border-top-width: 3px
}

aside.carousel {
    padding-top: 2.5rem
}

    aside.carousel .track {
        margin-left: 0
    }

    aside.carousel .block h3 {
        font-weight: 500;
        margin: 0
    }

    aside.carousel .carousel-controls {
        padding: 0
    }

@media only screen and (min-width:576px) {
    .articles article .carousel-controls {
        width: 105%;
        margin-left: -5%
    }
}

#hero {
    padding: 6rem 0
}

    #hero h3.line-label {
        color: #fff;
        display: inline-block;
        font-size: 1.2rem;
        font-weight: 700;
        left: 2.5rem;
        letter-spacing: .25em;
        line-height: 1.2rem;
        margin: 0;
        padding: 1rem 2rem;
        position: absolute;
        text-transform: uppercase;
        top: -6rem;
        z-index: 10
    }

    #hero header p {
        color: #fff;
        clear: both;
        display: block;
        font-size: 1.8rem;
        line-height: 1.3;
        margin: 2rem 0 0
    }

@media only screen and (min-width:992px) {
    #hero {
        min-height: 285px
    }
}

#hero .block-list .list-item:nth-of-type(1n+3) {
    display: none
}

@media only screen and (min-width:992px) {
    #hero .block-list .list-item:nth-of-type(1n+3) {
        display: block
    }
}

#hero .block-list a {
    border-color: rgba(255,255,255,.15)
}

#hero header h3 {
    background-color: transparent;
    color: #fff;
    font-size: 1.2rem;
    margin-top: 0;
    padding: 0;
    clear: both;
    float: left;
    display: block
}

#hero .more {
    font-size: 1.3rem
}

section.img-banner {
    min-height: 198px;
    margin: 2rem 0
}

.banner {
    color: #fff;
    margin: 0;
    padding: 3rem 0;
    text-align: center
}

    .banner:after, .banner:before {
        clear: both;
        content: "";
        display: table
    }

    .banner.links {
        text-align: center
    }

    .banner h1 {
        word-wrap: break-word
    }

    .banner h2 {
        margin-top: 0
    }

    .banner .cta {
        margin-top: 3rem
    }

    .banner a.more {
        margin: 3rem auto 0;
        display: table
    }

@media only screen and (min-width:768px) {
    .banner .limiter {
        display: table;
        width: 100%
    }

    .banner .cta, .banner header {
        display: table-cell;
        margin: 0;
        vertical-align: middle;
        width: 50%;
        text-align: left
    }

    .banner .cta {
        text-align: right
    }

    .banner a.more {
        display: inline-block;
        margin-left: 2rem;
        margin-top: 0
    }
}

.banner.contact {
    background-color: #000;
    padding: 3rem 2.5rem;
    text-align: center
}

@media only screen and (min-width:768px) {
    .banner.contact {
        padding: 5rem
    }
}

.banner.contact .limiter {
    display: block;
    max-width: 64rem
}

@media only screen and (max-width:767px) {
    .banner.contact .limiter {
        padding: 0
    }
}

.banner.contact h1 {
    font-weight: 600;
    letter-spacing: .15em;
    margin: 0 auto 3rem;
    text-transform: uppercase
}

@media only screen and (max-width:767px) {
    .banner.contact h1 {
        margin-bottom: 1.5rem;
        font-size: 2rem
    }
}

.banner.contact h1 span {
    font-weight: 100
}

.banner.contact footer {
    margin: 4rem 0 0
}

    .banner.contact footer p {
        margin: 0 0 3rem
    }

    .banner.contact footer a {
        color: inherit;
        display: block;
        font-size: 1.4rem;
        margin: .8em 0
    }

@media only screen and (min-width:768px) {
    .banner.contact footer a {
        display: inline-block;
        margin: 0 2rem 0 0
    }

        .banner.contact footer a:last-of-type {
            margin-right: 0
        }
}

.banner.contact footer a.btn {
    padding-left: 3rem;
    padding-right: 3rem;
    color: #fff;
    white-space: normal;
    height: initial;
    padding-bottom: .8rem
}

.banner.contact footer a#apply-filters, .banner.contact footer a.white {
    color: #fff
}

.banner-cta {
    color: #fff;
    display: block;
    margin: 5rem 0;
    padding: 1rem 6rem;
    width: 100%
}

    .banner-cta .btn {
        width: 100%
    }

@media only screen and (min-width:576px) {
    .banner-cta {
        -ms-flex-line-pack: center;
        align-content: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: 2rem 0 5rem
    }

        .banner-cta .btn {
            width: auto
        }

        .banner-cta > div {
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-flex: 1;
            -ms-flex: 1 0 auto;
            flex: 1 0 auto;
            width: 75%
        }

            .banner-cta > div:last-of-type {
                -ms-flex-line-pack: end;
                align-content: flex-end;
                -webkit-box-flex: 1;
                -ms-flex: 1 0 auto;
                flex: 1 0 auto;
                -webkit-box-pack: end;
                -ms-flex-pack: end;
                justify-content: flex-end;
                width: 25%
            }
}

.banner-cta h1, .banner-cta h2, .banner-cta h3 {
    margin: 1rem 0
}

@media only screen and (min-width:992px) {
    .sidebar .cta:not(:last-of-type), .sidebar .filter:not(:last-of-type) {
        border-bottom-style: solid;
        border-bottom-width: 1px;
        border-color: #d6d6d6;
        padding-bottom: 1.5rem
    }
}

.sidebar .cta ul .leftcol-nav > li > ul, .sidebar .filter ul .leftcol-nav > li > ul {
    display: none
}

.sidebar .cta {
    color: #4a4a4a
}

    .sidebar .cta p {
        color: #6c6c6c
    }

    .sidebar .cta .btn {
        width: 100%;
        margin-top: 2rem
    }

        .sidebar .cta .btn + .btn {
            margin-top: 2rem
        }

.sidebar .panel {
    padding: 0
}

    .sidebar .panel .more {
        margin: 1rem 0;
        color: #4a4a4a;
        font-weight: 700;
        width: 100%;
        opacity: .6;
        -webkit-transition: all,.3s;
        -o-transition: all,.3s;
        transition: all,.3s
    }

        .sidebar .panel .more:hover {
            opacity: 1
        }

.sidebar .filter-title {
    float: left;
    width: auto;
    color: #6c6c6c
}

@media only screen and (min-width:992px) {
    .sidebar .filter-title {
        display: none
    }
}

.sidebar .filter-title > h2 {
    text-transform: uppercase
}

.sidebar .filter-title > h3 {
    text-transform: none
}

.sidebar label {
    float: right
}

.sidebar button.close {
    border: 1px solid #fff;
    position: absolute;
    right: 2.5rem;
    top: 1rem;
    z-index: 10
}

.sidebar h2 {
    margin: 0
}

.sidebar .cta {
    margin-top: 2rem
}

.filter {
    background-color: #000;
    color: #fff;
    height: 100%;
    left: 100%;
    position: fixed;
    top: 0;
    -webkit-transition: left .3s;
    -o-transition: left .3s;
    transition: left .3s;
    width: 100%;
    z-index: 99
}

    .filter header {
        -webkit-transform-style: preserve-3d;
        transform-style: preserve-3d;
        height: 6rem;
        padding: 1rem 5rem 1rem 2.5rem;
        position: relative;
        width: 100%
    }

        .filter header h2 {
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
            position: relative;
            top: 50%
        }

@media only screen and (min-width:992px) {
    .filter {
        background-color: transparent;
        color: inherit;
        height: auto;
        position: static
    }

        .filter header {
            display: none
        }
}

.filter-primary {
    color: #fff;
    display: block;
    height: calc(100vh - 6rem);
    list-style: none none;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    width: 100%
}

    .filter-primary > li > a {
        text-transform: uppercase
    }

    .filter-primary ul {
        list-style: none none;
        margin: 0;
        overflow: hidden;
        padding: 0
    }

        .filter-primary ul li {
            margin: 0 0 1rem;
            padding-left: 2rem
        }

            .filter-primary ul li a, .filter-primary ul li button {
                border: none;
                font-size: 1.4rem;
                font-weight: 600;
                min-height: 0;
                margin: 0;
                padding: .5rem 1.5rem
            }

            .filter-primary ul li a {
                height: auto
            }

    .filter-primary li {
        display: block;
        list-style: none none;
        margin: .5rem 0 1rem;
        padding: 0;
        position: relative;
        width: 100%
    }

    .filter-primary a, .filter-primary button {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-color: transparent;
        border: none;
        border: none;
        color: inherit;
        display: block;
        font-weight: 700;
        height: auto;
        margin: 0;
        min-height: 4rem;
        padding: 0 4rem 0 2rem;
        position: relative;
        text-align: left;
        white-space: normal;
        width: 100%
    }

        .filter-primary a:active, .filter-primary a:focus, .filter-primary button:active, .filter-primary button:focus {
            border: none
        }

        .filter-primary a.active, .filter-primary a.active-parent, .filter-primary button.active, .filter-primary button.active-parent {
            opacity: 1
        }

            .filter-primary a.active-parent:before, .filter-primary a.active:before, .filter-primary button.active-parent:before, .filter-primary button.active:before {
                background-color: #fff;
                content: "";
                height: 100%;
                left: 0;
                position: absolute;
                top: 0;
                width: 4px;
                z-index: 1
            }

    .filter-primary a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 4rem
    }

@media only screen and (min-width:992px) {
    .filter-primary {
        color: #6c6c6c;
        height: auto;
        overflow: visible
    }

        .filter-primary a, .filter-primary button {
            color: inherit;
            padding-left: 1.5rem
        }
}

.sub-filters {
    clear: both;
    display: table;
    margin-bottom: 2rem;
    width: 100%;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-color: #d6d6d6;
    padding-bottom: 1.5rem
}

    .sub-filters > * {
        display: table-cell;
        vertical-align: middle
    }

    .sub-filters > :last-of-type {
        text-align: right
    }

    .sub-filters .resource-types {
        background-image: url(/mgma/media/images/design/icon-dropdown-arrow.png);
        background-position: right 1.5rem center;
        background-repeat: no-repeat;
        background-size: 1.25rem
    }

#apply-filters {
    margin: 0 auto
}

span.toggle {
    cursor: pointer;
    color: inherit;
    display: block;
    height: 4rem;
    position: absolute;
    right: 0;
    top: 0;
    width: 4rem;
    z-index: 10
}

    span.toggle:after {
        color: #fff;
        content: "+";
        display: block;
        height: 4rem;
        font-size: 2.2rem;
        font-weight: 700;
        line-height: 40px;
        text-align: center;
        width: 4rem
    }

@media only screen and (min-width:992px) {
    span.toggle:after {
        color: #000
    }
}

span.toggle.open:after {
    content: "–"
}

#filter-toggle {
    display: none
}

    #filter-toggle + label {
        border: 1px solid #6c6c6c;
        border-radius: 1px;
        display: block;
        height: 3rem;
        padding: 0;
        position: relative;
        width: 3rem
    }

        #filter-toggle + label.text {
            height: auto;
            line-height: 3rem;
            padding: 0 1rem;
            white-space: nowrap;
            width: auto
        }

@media only screen and (min-width:992px) {
    #filter-toggle + label {
        display: none
    }
}

#filter-toggle + label svg {
    height: 1.5rem;
    left: 7px;
    position: absolute;
    top: 7px;
    width: 1.5rem;
    z-index: 1
}

    #filter-toggle + label svg path {
        fill: #6c6c6c
    }

#filter-toggle:checked ~ .filter {
    left: 0
}

.limited-width, article {
    margin: 0 auto 4rem;
    max-width: 80rem
}

article {
    color: #2d2d2d;
    padding: 0 0 2rem
}

    article + .no-bottom-space {
        margin-bottom: 0
    }

    article .copy-wrapper, article header {
        border-bottom-style: solid;
        border-bottom-width: 1px;
        border-color: #d6d6d6;
        padding-bottom: 1.5rem;
        margin-bottom: 2rem
    }

        article .copy-wrapper:after, article .copy-wrapper:before, article header:after, article header:before {
            clear: both;
            content: "";
            display: table
        }

    article h1 {
        color: #000;
        margin-top: 0
    }

    article h2 {
        margin: 1.5em 0
    }

    article header h2 {
        margin: .5em 0
    }

    article ol, article ul {
        margin: 0;
        padding-left: 1.2em
    }

    article li {
        margin: .375em 0;
        padding-left: 1em
    }

    article ol li {
        padding: 0
    }

    article aside.social-links {
        display: block;
        margin: 2rem 0 0;
        width: 100%
    }

        article aside.social-links:after, article aside.social-links:before {
            clear: both;
            content: "";
            display: table
        }

    article section {
        margin-bottom: 4rem
    }

        article section:after, article section:before {
            clear: both;
            content: "";
            display: table
        }

        article section#related-items {
            margin-top: 8rem
        }

            article section#related-items:not(.carousel-bg) {
                margin-bottom: 5rem
            }

    article .text-sm {
        font-size: 1.25rem
    }

    article .reading-links a {
        color: inherit;
        display: table;
        margin: .5em 0
    }

    article .tiles:after, article .tiles:before {
        clear: both;
        content: "";
        display: table
    }

    article .tiles > div {
        float: left;
        width: 50%;
        padding-right: 2rem
    }

        article .tiles > div[class*=price] {
            width: 100%
        }

@media only screen and (min-width:576px) {
    article .tiles > div {
        white-space: nowrap;
        width: auto
    }

        article .tiles > div[class*=price] {
            width: 20rem
        }
}

article .tiles > div > p {
    margin-top: 0;
    display: inline-block
}

    article .tiles > div > p:first-of-type {
        margin-right: 3rem
    }

article .copy {
    overflow: hidden
}

    article .copy > img {
        display: block;
        margin: 2em 0
    }

article.panel h1, article.panel h2 {
    display: block;
    width: 100%
}

.articles:after, .articles:before {
    clear: both;
    content: "";
    display: table
}

.articles > h3 {
    margin-bottom: 3rem
}

.articles .list-item:last-of-type {
    margin-bottom: 5rem
}

.articles dl {
    color: #6c6c6c;
    margin: 2rem 0
}

.articles dt {
    font-size: 1.2rem;
    font-weight: 700;
    padding: 1em 0;
    text-transform: uppercase
}

.articles dd {
    font-size: 1.4rem;
    line-height: 1.25;
    padding: 1rem 0
}

    .articles dd ol, .articles dd ul {
        margin: 0
    }

.articles article {
    margin: 4rem auto;
    padding: 0;
    overflow: visible
}

    .articles article:after, .articles article:before {
        clear: both;
        content: "";
        display: table
    }

    .articles article .copy-wrapper, .articles article header {
        margin-bottom: 3.5rem
    }

    .articles article .price-on-sale .price-regular {
        position: relative;
        padding-left: 1rem
    }

        .articles article .price-on-sale .price-regular:before {
            position: absolute;
            border-top: 1px solid #6c6c6c;
            height: 0;
            content: '';
            display: block;
            left: -5%;
            width: 120%;
            top: 46%
        }

    .articles article .price-on-sale .price-sale {
        color: #eb0029
    }

    .articles article .tags a {
        color: #6c6c6c
    }

    .articles article .limiter {
        padding-left: 0;
        padding-right: 0
    }

    .articles article a.btn, .articles article button {
        margin-bottom: 2rem;
        margin-top: 2rem
    }

    .articles article aside.social-links {
        width: 95%;
        display: inline-block;
        padding: 0 0 2.4rem;
        margin: 0
    }

@media only screen and (min-width:576px) {
    .articles article aside.social-links {
        width: 5%;
        padding: 0;
        float: left
    }
}

.articles article .content {
    padding: 0
}

    .articles article .content header:first-of-type {
        margin-top: 1rem
    }

/*@media only screen and (min-width:576px) {
    .articles article .content {
        float: right;
        padding: 0 3.5rem;
        width: 95%
    }
}*/

.articles article .content > header h2 {
    color: #6c6c6c;
    margin-top: 0
}

.articles article .content > header h3 {
    color: #6c6c6c;
    margin: 0 0 1rem;
    padding: 0
}

.articles article .content section > h3 {
    margin-bottom: 2rem
}

@media only screen and (min-width:576px) {
    .articles article .content section:not(#related-items) a.btn {
        min-width: 25rem
    }
}

.articles article .content section:not(#related-items) .btn + .btn {
    clear: both;
    white-space: nowrap
}

/*@media only screen and (min-width:768px) {
    .articles article .content section:not(#related-items) .btn + .btn {
        clear: none;
        display: inline-block;
        margin-left: 1em;
        white-space: normal
    }
}*/

.articles article header {
    max-width: 100%;
    width: 100%;
    padding-left: 0;
    margin-bottom: 3.5rem
}

    .articles article header h1 {
        float: none
    }

@media only screen and (min-width:768px) {
    .articles article header h1 {
        max-width: 70%
    }
}

.articles article header h1:before {
    display: none
}

.articles article header h3.primary-color {
    padding: 0;
    margin-top: 0
}

header.sponsors h2 {
    margin-bottom: 2rem
}

header.sponsors h1, header.sponsors h2 {
    max-width: 60%
}

@media only screen and (min-width:768px) {
    header.sponsors {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        padding-bottom: 2rem
    }

        header.sponsors h1, header.sponsors h2 {
            -ms-flex-line-pack: start;
            align-content: flex-start;
            -ms-flex-item-align: start;
            align-self: flex-start;
            -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
            flex: 1 1 auto;
            margin: 0;
            -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
            order: 2;
            padding: 0;
            width: 55%
        }

        header.sponsors h2 {
            margin: 2rem 0;
            width: 100%
        }

        header.sponsors :first-child {
            -webkit-box-ordinal-group: 1;
            -ms-flex-order: 0;
            order: 0
        }

        header.sponsors dl {
            -webkit-box-flex: 1;
            -ms-flex: 1 0 100%;
            flex: 1 0 100%;
            width: 100%
        }
}

div.sponsor-list {
    margin: 0 0 3rem
}

    div.sponsor-list:after, div.sponsor-list:before {
        clear: both;
        content: "";
        display: table
    }

@media only screen and (min-width:768px) {
    div.sponsor-list {
        -ms-flex-line-pack: end;
        align-content: flex-end;
        -ms-flex-item-align: start;
        align-self: flex-start;
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        margin: 0;
        max-width: 40%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        padding: 0;
        text-align: right;
        width: 40%
    }
}

div.sponsor-list > h3 {
    color: #6c6c6c;
    padding-left: 0;
    padding-right: 0
}

@media only screen and (min-width:768px) {
    div.sponsor-list > h3 {
        margin-top: 0;
        padding: 0
    }
}

div.sponsor-list ul {
    display: block;
    list-style: none none;
    margin: 0;
    padding: 0
}

div.sponsor-list li {
    display: inline-block;
    height: 2.5rem;
    list-style: none none;
    margin: .5rem 2rem .5rem 0;
    padding: 0;
    text-align: left
}

@media only screen and (min-width:768px) {
    div.sponsor-list li {
        display: inline-block;
        margin: 0 2rem 0 0
    }

        div.sponsor-list li:last-of-type {
            margin-right: 0
        }
}

div.sponsor-list li a {
    display: block;
    height: 100%;
    text-align: left;
    width: 100%
}

div.sponsor-list li img {
    display: block;
    height: auto;
    margin: 0;
    max-height: 100%;
    max-width: 100%;
    width: auto
}

.social-links a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    height: 3rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 1.5rem 0 0;
    padding: 6px;
    text-align: center;
    width: 3rem;
    float: left;
    clear: none
}

@media only screen and (min-width:576px) {
    .social-links a {
        float: left;
        margin: 1.5rem;
        margin-top: 0;
    }
}

.social-links svg {
    margin: 0 auto
}

    .social-links svg path {
        fill: #6c6c6c
    }

.content-social-links {
    display: inline-block
}

.sidebar .social-links a {
    margin-right: 1rem
}

main .two-column.vendor {
    margin-bottom: 6rem
}

    main .two-column.vendor .sidebar h1 {
        margin: .5rem 0 0
    }

    main .two-column.vendor .sidebar img {
        margin: 2rem 0
    }

@media only screen and (min-width:992px) {
    main .two-column.vendor .sidebar img {
        margin-left: auto;
        margin-right: auto
    }
}

main .two-column.vendor .sidebar p {
    line-height: 2.5rem
}

main .two-column.vendor .sidebar [class^=contact] {
    margin: 2rem 0
}

    main .two-column.vendor .sidebar [class^=contact][class$=phone] a:before {
        content: 'Phone: '
    }

    main .two-column.vendor .sidebar [class^=contact][class$=fax] a:before {
        content: 'Fax: '
    }

main .two-column.vendor .sidebar .social-links {
    position: relative;
    left: -.5rem
}

main .two-column.vendor .sidebar .cta {
    border: none
}

main .two-column.vendor .sidebar .left {
    margin-left: 0
}

@media only screen and (min-width:576px) {
    main .two-column.vendor .sidebar .left {
        float: left
    }

        main .two-column.vendor .sidebar .left:first-of-type {
            margin-right: 8rem
        }

        main .two-column.vendor .sidebar .left > p:first-of-type {
            margin-top: 0
        }
}

@media only screen and (min-width:992px) {
    main .two-column.vendor .sidebar .left {
        float: none
    }

        main .two-column.vendor .sidebar .left:first-of-type {
            margin-right: initial
        }
}

main .two-column.vendor h2 {
    color: #6c6c6c
}

main .two-column.vendor a:not(.btn) {
    color: #218649;
    font-weight: 600;
    font-size: 1.55rem
}

.quotes {
    color: #fff;
    padding: 5rem 0
}

@media only screen and (min-width:768px) {
    .quotes > div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

.quotes blockquote {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: block;
    font-style: italic;
    font-weight: 400;
    line-height: 1.8;
    margin: 0 auto 3rem;
    max-width: 60rem;
    padding: 3.5rem 2rem 2rem;
    position: relative
}

@media only screen and (min-width:768px) {
    .quotes blockquote {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        margin: 0 auto
    }
}

.quotes blockquote:before {
    background-image: url(/mgma/media/images/design/icon-quotes.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;
    color: #fff;
    content: "";
    display: block;
    height: 2.5rem;
    left: 2rem;
    position: absolute;
    top: 0;
    width: 2.5rem;
    z-index: 1
}

.quotes blockquote:last-of-type {
    margin-bottom: 0
}

@media only screen and (min-width:768px) {
    .quotes blockquote {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
        flex: 1 1 50%;
        margin: 0 auto
    }
}

.quotes blockquote .citation {
    display: block;
    font-style: normal;
    font-weight: 400;
    margin: 2rem 0 0
}

@media only screen and (min-width:768px) {
    .quotes blockquote .citation {
        margin: 3rem 0 0
    }
}

.quotes blockquote h4 {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.5;
    text-transform: capitalize
}

.quotes blockquote h4, .quotes blockquote p {
    margin: 0
}

.pricelist {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 5rem auto 3rem;
    position: relative;
    width: 100%
}

@media only screen and (min-width:768px) {
    .pricelist.half .list-item {
        width: calc(50% - 1rem)
    }

        .pricelist.half .list-item:last-of-type {
            margin-bottom: 2rem
        }
}

.pricelist .list-item {
    background-color: #fff;
    border: 1px solid #d6d6d6;
    border-top-color: inherit;
    border-top-width: 3px;
    -webkit-box-shadow: 0 0 .5rem #d6d6d6;
    box-shadow: 0 0 .5rem #d6d6d6;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0 0 2rem;
    padding: 2rem;
    width: 100%
}

@media only screen and (min-width:768px) {
    .pricelist .list-item {
        padding: 3rem
    }

        .pricelist .list-item a.btn {
            width: 18rem
        }
}

.pricelist .list-item h1 {
    margin: 0
}

.pricelist .list-item h2 {
    color: #000;
    font-size: 3rem;
    font-weight: 400;
    margin: 2.5rem 0
}

    .pricelist .list-item h2 span {
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 3rem;
        text-transform: uppercase;
        vertical-align: middle
    }

.pricelist .list-item p {
    color: #000
}

.pricelist div.list-item {
    text-align: center
}

    .pricelist div.list-item a.btn {
        margin: 0 auto
    }

table.table tbody, table.table th:not(.primary-background) {
    font-size: 1.25rem
}

.star-corner:before {
    content: "";
    border-width: 2rem;
    border-style: solid;
    border-color: #ecbb3d transparent transparent #ecbb3d;
    display: block;
    width: 0;
    margin: -1rem;
    margin-bottom: -2.25rem
}

.star-corner span:before {
    content: "\2605";
    position: relative;
    top: -2.65rem;
    left: -.95rem;
    font-size: 2.75rem;
    float: left
}

.table {
    display: none
}

@media only screen and (min-width:768px) {
    .table {
        border: 1px solid #d6d6d6;
        display: table;
        margin: 3rem 0;
        position: relative;
        table-layout: auto;
        width: 100%
    }
}

.table td, .table th {
    border-top: 1px solid #d6d6d6;
    border-left: 1px solid #d6d6d6;
    padding: 1rem;
    text-align: center;
    vertical-align: middle
}

    .table td:first-of-type, .table th:first-of-type {
        border-left: 0;
        text-align: left
    }

.table th {
    border-top: 0
}

.table .primary-background {
    color: #fff
}

    .table .primary-background a {
        color: inherit !important
    }

.table .footer, .table .header {
    text-align: center
}

.table span.yes {
    background-color: #218649;
    border-radius: 50%;
    display: inline-block;
    height: 1rem;
    width: 1rem
}

@media only screen and (min-width:768px) {
    .pdf-guides {
        display: none
    }
}

a.text {
    text-decoration: underline;
}

    a.text:hover {
        text-decoration: none;
    }

.my-dashboard-buttons-layout .btn {
    width: calc(50% - 1rem);
    margin-right: .5rem;
}

    .my-dashboard-buttons-layout .btn:nth-of-type(even) {
        margin-right: 0;
        margin-left: .5rem;
    }
