body {
    padding: 0px;
    margin: 0px
}

body #breadcrumbs {
    overflow: hidden
}

body #spike_footer {
    overflow: hidden
}

body #spike_footer #powered_by {
    float: right;
    line-height: 31px
}

body #spike_footer #powered_by a span {
    background-image: url("https://assets.spikeatschool.co.nz/assets/footer/spikeatschool/powered_by-4a6f7dcea1863c62986a41d7e6ac07e04a7e2e021269885bf9660cf53e86f696.png");
    background-size: 104px 31px;
    background-repeat: none;
    display: inline-block;
    width: 104px;
    padding: 31px 0 0 0;
    height: 0px;
    overflow: hidden;
    vertical-align: middle !important
}

body #spike_footer #admin_system {
    float: left;
    line-height: 31px
}

body #spike_footer #powered_by a,body #spike_footer #admin_system a {
    text-decoration: none !important
}

body form.databaseinput {
    font-size: 0.9em
}

body form.databaseinput fieldset {
    border: 2px solid #B1B4B4;
    background-color: #EAEAEA;
    font-size: 1em
}

body form.databaseinput fieldset>p,body form.databaseinput fieldset>div:not(.advanced),body form.databaseinput fieldset>span>p,body form.databaseinput fieldset>span>div {
    color: #000000
}

@media (max-width: 768px) {
    body form.databaseinput fieldset>p,body form.databaseinput fieldset>div:not(.advanced),body form.databaseinput fieldset>span>p,body form.databaseinput fieldset>span>div {
        overflow:visible;
        margin: 0 0.5em !important
    }
}

body form.databaseinput fieldset>p.buttons,body form.databaseinput fieldset>div.buttons:not(.advanced),body form.databaseinput fieldset>span>p.buttons,body form.databaseinput fieldset>span>div.buttons {
    background-color: #CECECE;
    padding: 4px 0 0 187px !important;
    border-top: 2px solid #B1B4B4
}

@media (max-width: 768px) {
    body form.databaseinput fieldset>p.buttons,body form.databaseinput fieldset>div.buttons:not(.advanced),body form.databaseinput fieldset>span>p.buttons,body form.databaseinput fieldset>span>div.buttons {
        padding:4px 0 0 7px !important;
        text-align: center
    }
}

body form.databaseinput fieldset>p>label,body form.databaseinput fieldset>div:not(.advanced)>label,body form.databaseinput fieldset>span>p>label,body form.databaseinput fieldset>span>div>label {
    width: 175px;
    font-size: 1em;
    color: #000000
}

@media (max-width: 768px) {
    body form.databaseinput fieldset>p>label,body form.databaseinput fieldset>div:not(.advanced)>label,body form.databaseinput fieldset>span>p>label,body form.databaseinput fieldset>span>div>label {
        float:none;
        width: 100%;
        text-align: left;
        display: block;
        margin-left: 0
    }
}

@media (max-width: 768px) {
    body form.databaseinput fieldset>p input[type="email"],body form.databaseinput fieldset>p input[type="number"],body form.databaseinput fieldset>p input[type="password"],body form.databaseinput fieldset>p input[type="search"],body form.databaseinput fieldset>p input[type="text"],body form.databaseinput fieldset>p select,body form.databaseinput fieldset>p textarea,body form.databaseinput fieldset>div:not(.advanced) input[type="email"],body form.databaseinput fieldset>div:not(.advanced) input[type="number"],body form.databaseinput fieldset>div:not(.advanced) input[type="password"],body form.databaseinput fieldset>div:not(.advanced) input[type="search"],body form.databaseinput fieldset>div:not(.advanced) input[type="text"],body form.databaseinput fieldset>div:not(.advanced) select,body form.databaseinput fieldset>div:not(.advanced) textarea,body form.databaseinput fieldset>span>p input[type="email"],body form.databaseinput fieldset>span>p input[type="number"],body form.databaseinput fieldset>span>p input[type="password"],body form.databaseinput fieldset>span>p input[type="search"],body form.databaseinput fieldset>span>p input[type="text"],body form.databaseinput fieldset>span>p select,body form.databaseinput fieldset>span>p textarea,body form.databaseinput fieldset>span>div input[type="email"],body form.databaseinput fieldset>span>div input[type="number"],body form.databaseinput fieldset>span>div input[type="password"],body form.databaseinput fieldset>span>div input[type="search"],body form.databaseinput fieldset>span>div input[type="text"],body form.databaseinput fieldset>span>div select,body form.databaseinput fieldset>span>div textarea {
        width:100%;
        box-sizing: border-box;
        font-size: 16px
    }
}

body form.databaseinput fieldset>p span.comments,body form.databaseinput fieldset>div:not(.advanced) span.comments,body form.databaseinput fieldset>span>p span.comments,body form.databaseinput fieldset>span>div span.comments {
    margin-left: 187px !important
}

@media (max-width: 768px) {
    body form.databaseinput fieldset>p span.comments,body form.databaseinput fieldset>div:not(.advanced) span.comments,body form.databaseinput fieldset>span>p span.comments,body form.databaseinput fieldset>span>div span.comments {
        margin-left:0 !important
    }
}

body form.databaseinput fieldset>p ul.checkboxGroup,body form.databaseinput fieldset>div:not(.advanced) ul.checkboxGroup,body form.databaseinput fieldset>span>p ul.checkboxGroup,body form.databaseinput fieldset>span>div ul.checkboxGroup {
    margin: 0 0 0 185px;
    color: #000000
}

@media (max-width: 768px) {
    body form.databaseinput fieldset>p ul.checkboxGroup,body form.databaseinput fieldset>div:not(.advanced) ul.checkboxGroup,body form.databaseinput fieldset>span>p ul.checkboxGroup,body form.databaseinput fieldset>span>div ul.checkboxGroup {
        margin-left:0 !important
    }
}

body form.databaseinput fieldset>p a.info,body form.databaseinput fieldset>div:not(.advanced) a.info,body form.databaseinput fieldset>span>p a.info,body form.databaseinput fieldset>span>div a.info {
    color: #0087CC !important
}

body form.databaseinput fieldset p.comments,body form.databaseinput fieldset div.comments {
    margin-left: 187px !important
}

@media (max-width: 768px) {
    body form.databaseinput fieldset p.comments,body form.databaseinput fieldset div.comments {
        margin:0 0.5em !important
    }
}

body table.databaseOutput {
    width: 95%;
    margin-right: auto;
    margin-left: auto;
    border: none
}

body table.databaseOutput th {
    width: 25%;
    background-color: #EAEAEA;
    text-align: right;
    padding: 5px;
    vertical-align: top
}

body table.databaseOutput td {
    width: 75%;
    padding: 5px;
    vertical-align: top
}

body table.databaseOutput td>:first-child,body table.databaseOutput td>*>:first-child {
    margin-top: 0px
}

body table.databaseOutput td>:last-child,body table.databaseOutput td>*>:last-child {
    margin-bottom: 0px
}

body table.databaselisting td.option {
    background-color: #CECECE !important
}

body div.standout {
    background-color: inherit;
    padding: 15px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);
    border: 0.5px solid rgba(0,0,0,0.1);
    position: relative;
    z-index: 1
}

body div.standout>ul {
    margin-left: -15px
}

body div.standout>ul>li:last-child {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important
}

body div.standout>:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important
}

body div.standout>:last-child {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important
}

body table.prompt {
    margin: 0 auto;
    border: none
}

body table.prompt th {
    text-align: right;
    padding: 5px;
    white-space: nowrap
}

body table.prompt td {
    padding: 5px
}

body hr.softGrey {
    border: 1px solid #EAEAEA;
    height: 3px;
    background-color: #EAEAEA
}

body ul.normal li {
    padding-bottom: 0.5rem
}

body ul.normal+.empty {
    display: none
}

body ul.normal.empty {
    display: none
}

body ul.normal.empty+.empty {
    display: block
}

body .collection>*+p.empty {
    display: none
}

#spike_membership {
    overflow: hidden;
    font-size: 0.8em;
    padding: 3em 0 0 0;
    clear: right
}

#spike_membership .current_membership {
    float: left
}

@media (max-width: 768px) {
    #spike_membership .current_membership {
        float:right
    }
}

#spike_membership .membership_actions {
    float: right
}

@media (max-width: 768px) {
    #spike_membership .membership_actions {
        clear:right
    }
}

.notifications.notifications--static {
    position: fixed;
    bottom: 1em;
    right: 1em;
    margin-left: 1em;
    max-width: 50em;
    max-height: calc(100% - 2em);
    overflow-y: auto;
    z-index: 9999;
    background-color: white;
    box-shadow: 0px 0px 145px -10px #475e68;
    border-radius: 7px
}

.notifications.notifications--static a {
    color: #0F254E
}

.notifications.notifications--static>h1 {
    font-size: 1.2em;
    padding: 0.6em 3em 0.4em 1em;
    background-color: #FFD33D;
    margin: 0
}

@media (max-width: 768px) {
    .notifications.notifications--static>h1 {
        font-size:1rem
    }
}

.notifications.notifications--static>h1>i {
    color: #0068FF;
    vertical-align: middle;
    margin-right: 1rem;
    font-size: 2rem
}

@media (max-width: 768px) {
    .notifications.notifications--static>h1>i {
        font-size:2rem
    }
}

.notifications.notifications--static>ul {
    color: #475E68;
    padding: 0 3em 0 3em
}

.notifications.notifications--static>ul>li {
    margin: 0 0 0.5rem 0
}

.notifications.notifications--static>ul>li :first-child {
    margin-top: 0
}

.notifications.notifications--static>ul>li :last-child {
    margin-bottom: 0
}

.notifications.notifications--static>ul>li::marker {
    color: #0068FF
}

.notifications.notifications--static>ul>li a.notifications_more {
    font-weight: bold;
    text-decoration: none;
    color: #0068FF;
    transition: color 0.1s ease-in-out;
    display: inline-block;
    margin-left: 0.5em
}

.notifications.notifications--static>ul>li a.notifications_more:hover {
    color: #0053cc
}

.notifications.notifications--static .notifications__toggle {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.6em 0.8em;
    text-decoration: none
}

.notifications.notifications--static .notifications__toggle i {
    vertical-align: top
}

.notifications.notifications--static .notifications__toggle i.notifications__open_icon {
    display: none
}

.notifications.notifications--static.notifications--closed {
    bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    padding: 0;
    background-color: #0068FF
}

.notifications.notifications--static.notifications--closed>:not(.notifications__toggle) {
    display: none
}

.notifications.notifications--static.notifications--closed .notifications__toggle {
    display: block;
    position: static;
    font-size: 2em;
    padding: 0.3em 0.5em
}

.notifications.notifications--static.notifications--closed .notifications__toggle i.notifications__open_icon {
    display: inline-block;
    --fa-primary-color: #0068FF;
    --fa-secondary-color: white;
    --fa-secondary-opacity: 1;
    vertical-align: middle
}

.notifications.notifications--static.notifications--closed .notifications__toggle i.notifications__close_icon {
    display: none
}

.notifications.notifications--static .subscription {
    margin: 1rem
}

.notifications.notifications--centre {
    position: fixed;
    top: 15%;
    height: 70%;
    left: 15%;
    width: 70%;
    z-index: 9999;
    box-sizing: border-box;
    background-color: white;
    box-shadow: 0px 30px 145px -10px #475e68;
    border-radius: 7px
}

@media (max-width: 768px) {
    .notifications.notifications--centre {
        top:15%;
        height: 80%;
        left: 5%;
        width: 90%
    }
}

.notifications.notifications--centre .notifications__toggle {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    padding: 1rem;
    font-size: 1.5rem;
    text-decoration: none;
    color: #A3AFB4
}

.notifications.notifications--centre .notifications__toggle i {
    vertical-align: top
}

.notifications.notifications--centre .notifications__toggle i.notifications__open_icon {
    display: none
}

.notifications.notifications--centre .notifications__container {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1
}

.notifications.notifications--centre .notifications__container>h1 {
    font-size: 1.7rem;
    padding: 1.5rem 1.5rem 1.1rem 1.5rem;
    margin: 0;
    flex: 0 0 auto;
    border-bottom: 2px solid #EDEFF0
}

@media (max-width: 768px) {
    .notifications.notifications--centre .notifications__container>h1 {
        font-size:1rem
    }
}

.notifications.notifications--centre .notifications__container>h1>i {
    color: #0068FF;
    vertical-align: middle;
    margin-right: 1rem;
    font-size: 3rem
}

@media (max-width: 768px) {
    .notifications.notifications--centre .notifications__container>h1>i {
        font-size:2rem
    }
}

.notifications.notifications--centre .notifications__container .notifications__scroller {
    position: relative;
    flex: 1 1 auto
}

.notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list {
    overflow-y: auto;
    position: absolute;
    padding: 0 3rem 0 5rem;
    margin: 0;
    box-sizing: border-box;
    top: 0;
    bottom: 0;
    width: 100%;
    color: #475E68
}

@media (max-width: 768px) {
    .notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list {
        padding:0 1rem 0 2.5rem
    }
}

.notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list .notifications__notification {
    padding: 0 0 0 1rem
}

@media (max-width: 768px) {
    .notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list .notifications__notification {
        padding:0 0 0 0.5rem
    }
}

.notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list .notifications__notification::marker {
    color: #0068FF
}

.notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list .notifications__notification:not(:first-child) .notifications__notification_wrapper {
    border-top: 2px solid #EDEFF0
}

.notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list .notifications__notification .notifications__notification_wrapper>* {
    margin: 1rem 0;
    max-width: 50em
}

.notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list .notifications__notification .notifications__notification_wrapper :first-child {
    margin-top: 1.6rem
}

@media (max-width: 768px) {
    .notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list .notifications__notification .notifications__notification_wrapper :first-child {
        margin-top:1.3rem
    }
}

.notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list .notifications__notification .notifications__notification_wrapper :last-child {
    margin-bottom: 1.6rem
}

@media (max-width: 768px) {
    .notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list .notifications__notification .notifications__notification_wrapper :last-child {
        margin-bottom:1.3rem
    }
}

.notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list .notifications__notification .notifications__notification_wrapper .notifications_more {
    font-weight: bold
}

.notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list .notifications__notification .notifications__notification_wrapper .notifications_more>a {
    text-decoration: none;
    color: #0068FF;
    transition: color 0.1s ease-in-out
}

.notifications.notifications--centre .notifications__container .notifications__scroller .notifications__list .notifications__notification .notifications__notification_wrapper .notifications_more>a:hover {
    color: #0053cc
}

.notifications.notifications--centre.notifications--closed {
    bottom: 1rem;
    left: 1rem;
    right: auto;
    top: auto;
    width: auto;
    height: auto;
    padding: 0;
    background: none;
    border: none;
    box-shadow: none;
    text-shadow: 4px 4px 20px rgba(15,37,78,0.6)
}

.notifications.notifications--centre.notifications--closed .notifications__container {
    display: none
}

.notifications.notifications--centre.notifications--closed .notifications__toggle {
    display: block;
    position: static;
    font-size: 4rem;
    padding: 0
}

.notifications.notifications--centre.notifications--closed .notifications__toggle i.notifications__open_icon {
    display: block;
    text-shadow: none;
    --fa-primary-color: white;
    --fa-secondary-color: #0068FF;
    --fa-secondary-opacity: 1
}

.notifications.notifications--centre.notifications--closed .notifications__toggle i.notifications__close_icon {
    display: none
}

sl-input.sl-invalid:not([data-user-valid])::part(base),sl-textarea.sl-invalid:not([data-user-valid])::part(base),sl-select.sl-invalid:not([data-user-valid])::part(combobox),sl-checkbox.sl-invalid:not([data-user-valid])::part(control),sl-radio-group.sl-invalid:not([data-user-valid]) sl-radio::part(control),.form__checkbox-group.sl-invalid sl-checkbox::part(control),.form__checkbox.sl-invalid sl-checkbox::part(control) {
    border-color: var(--sl-color-danger-600)
}

.sl-invalid:not([data-user-valid])::part(form-control-label),.sl-invalid:not([data-user-valid])::part(form-control-help-text),sl-checkbox.sl-invalid:not([data-user-valid])::part(label),sl-radio-group.sl-invalid:not([data-user-valid]) sl-radio::part(label),.form__checkbox-group.sl-invalid sl-checkbox::part(label),.form__checkbox-group.sl-invalid label.forms__label,.form__checkbox-group.sl-invalid .forms__help-text,.form__checkbox.sl-invalid sl-checkbox::part(label),.form__checkbox.sl-invalid .forms__help-text {
    color: var(--sl-color-danger-700)
}

sl-checkbox.sl-invalid:not([data-user-valid])::part(control),sl-radio-group.sl-invalid:not([data-user-valid]) sl-radio::part(control),.form__checkbox-group.sl-invalid sl-checkbox::part(control),.form__checkbox.sl-invalid sl-checkbox::part(control) {
    outline: none
}

sl-input.sl-invalid:focus-within:not([data-user-valid])::part(base),sl-textarea.sl-invalid:focus-within:not([data-user-valid])::part(base),sl-select.sl-invalid:focus-within:not([data-user-valid])::part(combobox),sl-checkbox.sl-invalid:focus-within:not([data-user-valid])::part(control),sl-radio-group.sl-invalid:not([data-user-valid]) sl-radio:focus-within::part(control),.form__checkbox-group.sl-invalid sl-checkbox:focus-within::part(control),.form__checkbox.sl-invalid sl-checkbox:focus-within::part(control) {
    border-color: var(--sl-color-danger-600);
    box-shadow: 0 0 0 var(--sl-focus-ring-width) var(--sl-color-danger-300)
}

@media (min-width: 768px) {
    .blog_title {
        margin-right:260px !important
    }
}

.blog_post__hero_image {
    max-width: 100%
}

.blog_post__body {
    overflow: hidden;
    margin-bottom: 20px
}

#previous_updates {
    width: 220px;
    background-color: #DDDDDD;
    margin: 0;
    padding: 10px;
    font-size: 0.8em;
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0
}

@media (max-width: 767px) {
    #previous_updates {
        width:auto;
        position: relative;
        margin: 1em 0 0 0
    }
}

#previous_updates>:first-child {
    margin-top: 0 !important
}

#previous_updates>:last-child {
    margin-bottom: 0 !important
}

#previous_updates h2 {
    color: #444444 !important;
    cursor: pointer;
    margin-bottom: 0 !important;
    font-size: 20px;
    text-align: right
}

#previous_updates h2 i {
    transition: transform 0.1s ease-in-out
}

#previous_updates.visible h2 i.fa-chevron-down {
    transform: rotate(-90deg)
}

#previous_updates .updates {
    display: none
}

#previous_updates .updates h3 {
    color: #333333 !important
}

#previous_updates .updates ul {
    padding-left: 30px
}

.contactsDirectory {
    background-color: #F6F6F6;
    padding: 1em;
    margin-bottom: 10px
}

.contactsDirectory .vcardDownload {
    float: right;
    padding: 0.5em
}

.contactsDirectory .given-name {
    font-weight: bold;
    font-size: 1.8em
}

.contactsDirectory .note {
    font-style: italic;
    margin: 7px 0
}

.contactsDirectory .adr {
    margin: 7px 0
}

.contactsDirectory .adr p {
    margin: 0 !important;
    padding: 0 !important
}

#content_builder {
    padding: 0 0 1rem 0 !important
}

#content_builder.edit_mode {
    padding: 0 0 5rem 0 !important;
    position: relative;
    z-index: 800
}

#content_builder.edit_mode.empty {
    border: none
}

div.theme_overlay form.easy_page {
    padding: 12px 12px 12px calc(242px + 12px)
}

.eportfolios-list.jstree-default {
    outline: none
}

.eportfolios-list.jstree-default .jstree-anchor {
    color: black !important
}

@media (max-width: 768px) {
    .eportfolios-list.jstree-default .jstree-anchor {
        position:relative
    }
}

.eportfolios-list.jstree-default .jstree-anchor.changed::after {
    content: '';
    background-image: url(https://assets.spikeatschool.co.nz/assets/star-3517039b42a2abd51f7e3bc63201e7327199ad5632c10f2e3106f405ad1328c1.png);
    background-size: contain;
    width: 15px;
    height: 15px;
    display: block;
    float: right;
    margin: -4px -6px 0 2px
}

@media (max-width: 768px) {
    .eportfolios-list.jstree-default .jstree-anchor.changed::after {
        float:none;
        position: absolute;
        top: -4px;
        left: -6px;
        margin: 0
    }
}

.eportfolios-list-hints {
    text-align: right;
    margin: 0.5rem 0
}

.eportfolios-list-hints>img {
    height: 1em;
    width: 1em;
    vertical-align: -0.1rem
}

.vakata-context {
    z-index: 1000
}

div.eportfolioMember {
    padding: 20px;
    background-color: #EAEAEA;
    margin: 0 20px 20px 0;
    position: relative;
    border-radius: 10px
}

div.eportfolioMember>:first-child {
    margin-top: 0 !important
}

div.eportfolioMember>:last-child {
    margin-bottom: 0 !important
}

div.eportfolioMember .changed_since_last_login {
    position: absolute;
    top: -10px;
    right: -10px
}

.faq_area_faqs>div {
    margin: 0 0 1em 0
}

.faq_area_faqs>div>.question,.faq_area_faqs>div>.answer {
    position: relative
}

.faq_area_faqs>div>.question {
    background-color: #f4f7fc;
    border: 1px solid #d9d9d9;
    border-left-width: 5px;
    border-left-color: #2ea3f2;
    padding: 1.2em;
    font-weight: bold;
    transition: box-shadow 0.5s ease;
    z-index: 1;
    cursor: pointer
}

.faq_area_faqs>div>.question.visible {
    box-shadow: 1px 1px 10px rgba(0,0,0,0.3)
}

.faq_area_faqs>div>.question.visible>.toggle>i {
    transform: rotate(45deg)
}

.faq_area_faqs>div>.question>.toggle {
    float: right;
    margin: 0 0 0.5em 0.5em;
    color: #2ea3f2
}

.faq_area_faqs>div>.question>.toggle>i {
    transition: all 0.1s ease
}

.faq_area_faqs>div>.question>.toggle:hover {
    text-shadow: 0px 0px 7px rgba(46,163,242,0.8)
}

.faq_area_faqs>div>.question>.toggle+p {
    margin-top: 0
}

.faq_area_faqs>div>.question :first-child {
    margin-top: 0
}

.faq_area_faqs>div>.question :last-child {
    margin-bottom: 0
}

.faq_area_faqs>div>.answer {
    margin: 0 0.6em;
    padding: 1.1em;
    background-color: #e0e8f7;
    border: 1px solid #d9d9d9;
    border-top: none;
    display: none;
    overflow: auto
}

.faq_area_faqs>div>.answer :first-child {
    margin-top: 0
}

.faq_area_faqs>div>.answer :last-child {
    margin-bottom: 0
}

.forms__form {
    max-width: 40rem;
    margin: 3rem auto;
    font-size: initial;
    transition: opacity 0.1s ease-in-out
}

.forms__form.forms__form--loading {
    opacity: 0
}

.forms__form>* {
    margin-bottom: var(--sl-spacing-medium)
}

.forms__form>*[data-size="invisible"] {
    margin-bottom: 0
}

.forms__form>*.invisible_recaptcha_terms {
    margin-top: 0
}

.thread .message {
    border-left: solid 1px #cccccc;
    border-right: solid 1px #cccccc;
    border-bottom: solid 1px #cccccc
}

.reply .titleBar {
    background-color: #dddddd
}

.reply .message {
    border-left: solid 1px #dddddd;
    border-right: solid 1px #dddddd;
    border-bottom: solid 1px #dddddd
}

.otheryears {
    font-size: 0.8em;
    font-weight: bold;
    margin: 0 0 15px 0
}

.otheryears ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: inline
}

.otheryears ul li {
    padding: 0;
    margin: 0;
    display: inline
}

.otheryears ul li:before {
    content: ' | '
}

.otheryears ul li:first-child:before {
    content: ''
}

.notices {
    margin-top: 30px
}

.notices .notice {
    border-bottom: 1px solid #808080;
    padding: 10px 0
}

.notices .notice:first-child {
    border-top: 1px solid #808080
}

.store {
    padding: 5px;
    border-bottom: 3px solid #F6F6F6
}

@media (max-width: 768px) {
    .store {
        border-bottom:none;
        border-top: 10px solid #EAEAEA;
        margin-bottom: 2em
    }
}

.store::after {
    content: "";
    display: block;
    clear: both
}

.store+p.empty {
    display: none
}

.store h2 {
    font-weight: bold;
    font-size: 1.6em;
    text-align: left;
    background-color: transparent;
    padding: 0.1em 0.3em 0.05em 0em !important;
    margin-top: 0 !important
}

@media (max-width: 768px) {
    .store h2 {
        text-align:center
    }
}

.store h2 a {
    text-decoration: none
}

.store p.thumb {
    margin: 0 !important;
    padding: 0 !important;
    float: left
}

@media (max-width: 768px) {
    .store p.thumb {
        float:none;
        text-align: center
    }
}

.store p.thumb a {
    display: block;
    margin: 0 10px 0.5em 0;
    padding: 0;
    width: 100px;
    height: 100px;
    float: left;
    overflow: hidden;
    text-decoration: none
}

@media (max-width: 768px) {
    .store p.thumb a {
        float:none;
        display: inline-block
    }
}

.store p.thumb a img {
    width: 100%;
    height: 100% !important;
    max-width: 110% !important;
    display: block;
    transition: all .1s ease
}

.store p.thumb a:hover img {
    width: 110%;
    height: 110% !important;
    margin-top: -5%;
    margin-left: -5%
}

.store .categoryDescription,.store .itemDescription {
    overflow: hidden
}

@media (max-width: 768px) {
    .store .categoryDescription,.store .itemDescription {
        display:flex;
        flex-direction: column
    }
}

.store .categoryDescription .itemDetails,.store .itemDescription .itemDetails {
    margin: 5px 0
}

@media (max-width: 768px) {
    .store .categoryDescription .itemDetails,.store .itemDescription .itemDetails {
        order:1
    }
}

.store .categoryDescription .itemDetails>:first-child,.store .itemDescription .itemDetails>:first-child {
    margin-top: 0
}

.store .categoryDescription .itemDetails>:last-child,.store .itemDescription .itemDetails>:last-child {
    margin-bottom: 0
}

.store .priceAndCart {
    float: right;
    text-align: center;
    padding: 1em;
    background-color: #EAEAEA;
    margin: 0 0 0.5em 0.5em;
    min-width: 170px
}

@media (max-width: 768px) {
    .store .priceAndCart {
        float:none;
        margin: 0;
        order: 2
    }
}

.store .priceAndCart .price {
    font-size: 1.5em;
    font-weight: bold
}

.store .priceAndCart .buttons {
    margin-bottom: 0 !important
}

.store .priceAndCart .buttons button {
    margin: 0 !important
}

.store .priceAndCart .expires {
    font-size: 0.9em;
    margin-top: 0.5em
}

.store_menu {
    margin: 1em 0;
    color: #FFFFFF;
    display: table;
    width: 100%
}

.store_menu_mobile_wrapper .store_menu {
    display: none
}

.store_menu a {
    color: #FFFFFF !important
}

.store_menu a:hover {
    color: #FFFFFF !important
}

.store_menu>div {
    background-color: #F38934;
    border-top: 2px solid #b6570b;
    border-bottom: 2px solid #b6570b;
    display: table-cell;
    white-space: nowrap;
    border-left: 1px solid #b6570b;
    vertical-align: middle
}

.store_menu>div:first-child {
    border-left: none
}

.store_menu>.name {
    width: 100%;
    max-width: 0;
    padding: 0.4em 0.5em;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden
}

.store_menu>.name a {
    text-decoration: none
}

.store_menu>.identities {
    padding: 0.4em 0.5em
}

.store_menu>.identities>form>label,.store_menu>.identities>form>select {
    vertical-align: middle
}

.store_menu>.settings {
    position: relative
}

.store_menu>.settings:hover,.store_menu>.settings.open {
    background-color: #b6570b
}

.store_menu>.settings>div {
    padding: 0.4em 0.5em;
    cursor: pointer
}

.store_menu>.settings>ul {
    position: absolute;
    margin: 0;
    padding: 0;
    list-style-type: none;
    top: calc(100% + 6px);
    right: 0;
    display: none;
    text-align: right;
    background-color: #F38934
}

.store_menu>.settings>ul:before {
    content: '';
    position: absolute;
    top: -10px;
    left: 80%;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #F38934
}

.store_menu>.settings>ul>li {
    margin: 0;
    padding: 0
}

.store_menu>.settings>ul>li>a {
    display: block;
    padding: 0.5em 0.7em;
    font-size: 0.9em;
    white-space: nowrap;
    text-decoration: none
}

.store_menu>.settings>ul>li>a:hover {
    background-color: #b6570b
}

.store_menu>.settings.open>ul {
    display: block
}

.store_menu .cart {
    background-color: #FF9A1A;
    border-top: 2px solid #b36400;
    border-bottom: 2px solid #b36400
}

.store_menu .cart:hover {
    background-color: #7CCF4A;
    border-top: 2px solid #4d8d26;
    border-bottom: 2px solid #4d8d26
}

.store_menu .cart>a {
    display: block;
    color: #FFFFFF !important;
    text-decoration: none;
    padding: 0.4em 0.5em
}

.store_menu .cart>a:hover {
    color: #FFFFFF !important
}

@media (max-width: 768px) {
    .store_menu {
        margin:0;
        box-shadow: 0px 0px 11px rgba(0,0,0,0.5);
        border-radius: 0
    }

    .store_menu.normal {
        display: none
    }

    .store_menu_mobile_wrapper .store_menu {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 99999
    }

    .store_menu_mobile_wrapper .store_menu>.settings>ul {
        bottom: calc(100% + 6px);
        top: auto
    }

    .store_menu_mobile_wrapper .store_menu>.settings>ul:before {
        top: auto;
        bottom: -10px;
        left: 80%;
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: none;
        border-top: 10px solid #F38934
    }

    .store_menu_mobile_wrapper .store_menu.identities>.name {
        width: auto;
        max-width: none
    }

    .store_menu_mobile_wrapper .store_menu.identities>.name span {
        display: none
    }

    .store_menu_mobile_wrapper .store_menu.identities>.identities {
        width: 100%
    }

    .store_menu_mobile_wrapper .store_menu>.identities>form>select {
        width: 100%;
        font-size: 16px
    }

    .store_menu_mobile_wrapper .store_menu>.identities>form>label {
        display: none
    }

    .store_menu_mobile_wrapper .store_menu .cart {
        background-color: #7CCF4A;
        border-top: 2px solid #4d8d26;
        border-bottom: 2px solid #4d8d26
    }

    .store_menu_mobile_wrapper .store_menu .cart>a>span {
        display: none
    }
}

.taxDeclaration {
    width: 100%;
    text-align: center;
    font-style: italic
}

.additional_steps {
    font-size: 0.9em;
    border: 2px solid #F38934;
    padding: 1.5em
}

.additional_steps h2 {
    margin-top: 0 !important
}

.additional_steps h3 {
    margin-bottom: 0.1em !important
}

.additional_steps ul {
    margin-top: 0;
    margin-bottom: 0
}

.additional_steps ul li {
    margin-bottom: 0.5em
}

.additional_steps ul li:last-child {
    margin-bottom: 0
}

.stripe__card-input {
    background-color: white;
    border: 1px solid #B1B4B4;
    border-radius: 5px;
    padding: 5px
}

.stripe__error-element {
    color: #FA755A
}

.onlineStoreTaxInvoice {
    padding: 1.5em;
    margin: 1em 0;
    border: 1px solid #B1B4B4;
    background-color: #F7F7F7
}

.onlineStoreTaxInvoice>:first-child {
    margin-top: 0
}

.onlineStoreTaxInvoice>:last-child {
    margin-bottom: 0
}

.onlineStoreTaxInvoice .storeDetails {
    text-align: right;
    float: right
}

@media (max-width: 768px) {
    .onlineStoreTaxInvoice .storeDetails {
        float:none;
        text-align: left
    }
}

.onlineStoreTaxInvoice .customerDetails {
    text-align: left;
    float: left
}

@media (max-width: 768px) {
    .onlineStoreTaxInvoice .customerDetails {
        float:none
    }
}

.onlineStoreTaxInvoice .onlineStoreLogo {
    padding-bottom: 20px
}

.onlineStoreTaxInvoice .onlineStoreLogo>img {
    display: block;
    max-height: 150px;
    max-width: 500px;
    margin: 0 0 0 auto
}

@media (max-width: 768px) {
    .onlineStoreTaxInvoice {
        font-size:0.9em
    }
}

.store_footer {
    font-size: 0.8em;
    margin-top: 1em
}

@media (max-width: 768px) {
    .store_footer {
        text-align:center
    }
}

@media (min-width: 769px) {
    .store_footer div>span:before {
        content:" | "
    }

    .store_footer div>span:first-child:before {
        content: ''
    }
}

@media (max-width: 768px) {
    .store_footer div>span {
        display:block
    }
}

.store_footer::after {
    content: "";
    display: block;
    clear: both
}

.store_footer .visa_and_mastercard {
    width: 75px;
    float: right
}

@media (max-width: 768px) {
    .store_footer .visa_and_mastercard {
        float:none;
        display: block;
        margin: 0 auto
    }
}

.podcast_url {
    text-align: center;
    font-size: 1.3em
}

#group_photo {
    width: 100%;
    margin: 0 0 15px 0
}

ul.profilesList {
    font-size: 1.1rem !important;
    font-weight: bold !important;
    list-style-type: none !important;
    padding-left: 1.5rem
}

ul.profilesList ul {
    font-size: 1rem !important;
    list-style-type: none !important;
    margin-bottom: 1rem !important;
    padding-left: 1.5rem;
    color: #666666
}

ul.profilesList ul>li {
    display: flex;
    gap: 0.5rem
}

ul.profilesList ul>li a {
    color: #666666 !important;
    text-decoration: none !important;
    white-space: nowrap
}

ul.profilesList ul>li a:hover {
    text-decoration: underline !important
}

ul.profilesList ul>li .profile_details {
    font-style: italic;
    font-size: 0.9rem;
    margin-top: 0.1rem
}

ul.profilesList ul>li .profile_details>span {
    white-space: nowrap
}

ul.profilesList ul>li .profile_details>span:not(:last-child):after {
    content: ', '
}

ul.profilesList a {
    color: #333333 !important;
    text-decoration: none !important
}

ul.profilesList a:hover {
    text-decoration: underline !important
}

div.randomProfile {
    width: 220px;
    background-color: #DDDDDD;
    margin: 0 0 2rem 2rem;
    padding: 1rem 2rem 1rem 2rem;
    font-size: 0.9rem;
    border: 1px solid #CCCCCC;
    float: right
}

@media (max-width: 767px) {
    div.randomProfile {
        width:auto;
        float: none;
        margin: 1rem 0 0 0
    }
}

div.randomProfile a.image {
    display: block;
    text-align: center;
    margin-bottom: 2rem;
    position: relative
}

div.randomProfile a.image img {
    display: block
}

div.randomProfile a.image img+img {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transition: opacity 0.2s ease-in-out;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    height: 100% !important;
    pointer-events: none
}

div.randomProfile a.image img:hover+img {
    opacity: 1
}

div.randomProfile div.name {
    font-weight: bold;
    font-size: 1.4rem;
    margin-bottom: 1rem;
    text-align: center
}

div.randomProfile div.title {
    font-weight: bold;
    font-size: 1.2rem;
    margin-bottom: 0.2rem;
    text-align: right;
    border-bottom: 1px solid #777777
}

div.randomProfile p {
    margin-top: 0.2rem
}

div.profile {
    clear: right;
    margin-top: 2rem;
    margin-bottom: 3rem
}

div.profile>p,div.profile>div {
    margin-top: 0.2rem !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important
}

div.profile>div :first-child {
    margin-top: 0
}

div.profile a.image {
    display: block;
    float: right;
    margin: 0 0 1rem 1.5rem;
    padding: 0;
    border-style: none;
    max-width: 50%;
    position: relative
}

div.profile a.image img {
    display: block
}

div.profile a.image img+img {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transition: opacity 0.2s ease-in-out;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    height: 100% !important;
    pointer-events: none
}

div.profile a.image img:hover+img {
    opacity: 1
}

div.profile div.name {
    font-weight: bold;
    font-size: 1.6rem;
    margin: 0 0 1rem 0;
    padding: 0.1rem 0.3rem 0.05rem 0.3rem;
    text-align: left;
    background-color: #EAEAEA
}

div.profile div.title {
    font-weight: bold;
    font-size: 1.2rem;
    margin: 0 0 0.2rem 0;
    padding: 0 0 0 0.5rem;
    border-bottom: 1px solid #EAEAEA
}

.profile_area a {
    text-decoration: none
}

.profile_area__category__heading {
    margin: 1rem 0;
    display: flex;
    gap: 1rem
}

.profile_area__category__heading>img {
    height: auto;
    flex: 0 0 0
}

.profile_area__category__heading--align-image-left,.profile_area__category__heading--align-image-right {
    justify-content: center;
    align-items: center
}

.profile_area__category__heading--align-image-left>img,.profile_area__category__heading--align-image-right>img {
    width: 200px
}

.profile_area__category__heading--align-image-top,.profile_area__category__heading--align-image-bottom {
    flex-direction: column
}

.profile_area__category__heading--align-image-top>img,.profile_area__category__heading--align-image-bottom>img {
    width: 100%
}

.profile_area__category__heading--align-image-top>h2,.profile_area__category__heading--align-image-bottom>h2 {
    text-align: center
}

.profile_area__category__heading--align-image-left>img,.profile_area__category__heading--align-image-top>img {
    order: 1
}

.profile_area__category__heading--align-image-right>img,.profile_area__category__heading--align-image-bottom>img {
    order: 3
}

.profile_area__category__heading>h2 {
    flex: 0 1 auto;
    order: 2;
    margin: 0 !important
}

.profile_area__category__heading :not(img+h2) {
    text-align: center
}

.profile_area__category__description {
    text-align: center;
    margin: 1rem 0
}

.profile_area__category__profiles {
    list-style-type: none;
    margin: 0 0 2rem 0;
    padding: 0;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 1.5rem;
    flex: 1 1 auto
}

.profile_area__category__profiles---per-row>* {
    width: auto;
    max-width: 200px
}

.profile_area__category__profiles--3-per-row>* {
    width: calc((100% - 3rem) / 3)
}

.profile_area__category__profiles--4-per-row>* {
    width: calc((100% - 4.5rem) / 4)
}

.profile_area__category__profiles--5-per-row>* {
    width: calc((100% - 6rem) / 5)
}

@media (max-width: 767px) {
    .profile_area__category__profiles>* {
        width:auto !important
    }
}

.profile_area--thumbnails .profile_area__category .profile_area__category__profile {
    text-align: center
}

.profile_area--thumbnails .profile_area__category .profile_area__category__profile__thumbnail_wrapper {
    position: relative
}

.profile_area--thumbnails .profile_area__category .profile_area__category__profile__thumbnail {
    width: 100%;
    display: block;
    margin: 0 auto 0.5rem auto;
    transition: box-shadow 0.1s ease-in-out
}

.profile_area--thumbnails .profile_area__category .profile_area__category__profile__thumbnail+img {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transition: opacity 0.2s ease-in-out;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    height: 100% !important;
    pointer-events: none
}

.profile_area--thumbnails .profile_area__category .profile_area__category__profile__thumbnail:hover+img {
    opacity: 1
}

.profile_area--thumbnails .profile_area__category .profile_area__category__profile__thumbnail--round,.profile_area--thumbnails .profile_area__category .profile_area__category__profile__thumbnail--square {
    max-width: 175px !important;
    max-height: 175px !important
}

.profile_area--thumbnails .profile_area__category .profile_area__category__profile__thumbnail--round {
    border-radius: 50%
}

.profile_area--thumbnails .profile_area__category .profile_area__category__profile__thumbnail--uncropped {
    max-width: 200px !important
}

.profile_area--thumbnails .profile_area__category .profile_area__category__profile:hover .profile_area__category__profile__thumbnail {
    box-shadow: 0px 0px 10px rgba(0,0,0,0.32)
}

.profile_area--thumbnails .profile_area__category .profile_area__category__profile__name {
    font-size: 1.2em;
    overflow-wrap: break-word
}

.profile_area--thumbnails .profile_area__category .profile_area__category__profile__detail {
    overflow-wrap: break-word
}

.profile_area--thumbnails .profile_area__category .profile_area__category__profile__email>a {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    font-size: 0.9em;
    text-overflow: ellipsis
}

.profile__audio {
    padding: 0.5rem 0
}

.profile__audio>audio {
    display: block;
    width: 100%
}

div.testimonial>:last-child {
    margin-bottom: 0 !important
}

div.testimonial+p {
    text-align: right;
    margin-top: 0.5rem !important;
    margin-bottom: 2rem !important
}

ul.tracked_resource_area_resources {
    list-style-type: none;
    margin: 0;
    padding: 0;
    font-size: 0;
    display: flex;
    flex-wrap: wrap;
    color: #FFFFFF
}

ul.tracked_resource_area_resources>li.resource {
    margin: 0 0 1% 0;
    padding: 0.8em;
    width: 49.5%;
    vertical-align: top;
    font-size: 1rem;
    width: 49%;
    box-sizing: border-box;
    background-color: #333333
}

ul.tracked_resource_area_resources>li.resource:hover {
    background-color: #444444
}

ul.tracked_resource_area_resources>li.resource:nth-child(odd) {
    margin-right: 1%
}

@media (max-width: 767px) {
    ul.tracked_resource_area_resources>li.resource {
        width:100%;
        margin: 0 0 2% 0
    }

    ul.tracked_resource_area_resources>li.resource:nth-child(odd) {
        margin-right: 0
    }
}

ul.tracked_resource_area_resources>li.resource>a {
    color: #FFFFFF !important;
    text-decoration: none;
    display: block
}

ul.tracked_resource_area_resources>li.resource>a>.name {
    font-weight: bold
}

ul.tracked_resource_area_resources>li.resource>a>img {
    display: block;
    padding: 0;
    margin: 0.5em 0;
    width: 100%;
    height: auto
}

ul.tracked_resource_area_resources>li.resource>ul.file_types {
    list-style-type: none;
    margin: 0;
    padding: 0
}

ul.tracked_resource_area_resources>li.resource>ul.file_types>li {
    margin: 0;
    padding: 0;
    display: inline-block
}

ul.tracked_resource_area_resources>li.resource>ul.file_types>li:after {
    content: " | "
}

ul.tracked_resource_area_resources>li.resource>ul.file_types>li:last-child:after {
    content: ""
}

ul.tracked_resource_area_resources>li.resource>ul.file_types>li>a {
    color: #FFFFFF !important;
    text-decoration: none
}

ul.tracked_resource_area_resources>li.resource>ul.file_types>li>a:hover {
    text-decoration: underline
}

.upcoming_events .upcoming_event {
    color: #FFFFFF !important;
    padding: 10px 10px 10px 10px !important;
    margin-bottom: 10px !important;
    scroll-margin-top: 2em
}

.upcoming_events .upcoming_event:nth-child(3n+1) {
    background-color: #222222 !important
}

.upcoming_events .upcoming_event:nth-child(3n+2) {
    background-color: #555555 !important
}

.upcoming_events .upcoming_event:nth-child(3n+3) {
    background-color: #888888 !important
}

.upcoming_events .upcoming_event .veventDownload {
    float: right;
    padding: 0.5em !important
}

.upcoming_events .upcoming_event .veventDownload a {
    color: #FFFFFF !important
}

.upcoming_events .upcoming_event .veventDownload a:hover {
    color: #DDDDDD !important
}

.upcoming_events .upcoming_event p.title {
    font-size: 1.2em;
    text-transform: uppercase;
    padding: 0px !important;
    margin-top: calc(2.5em - 10px) !important;
    margin-right: 0px !important;
    margin-bottom: 5px !important;
    margin-left: 0px !important;
    font-weight: bold !important
}

.upcoming_events .upcoming_event div.details {
    line-height: 1.5em !important;
    margin: 0px !important;
    padding: 0px !important
}

.upcoming_events .upcoming_event div.details a {
    color: #FFFFFF !important
}

.upcoming_events .upcoming_event div.details a.more {
    float: right;
    text-decoration: none
}

.upcoming_events .upcoming_event div.details a.more:hover {
    text-decoration: underline
}

.upcoming_events .upcoming_event p.critical {
    font-weight: bold !important;
    margin: 0px !important;
    padding: 0px !important;
    line-height: 1.5em !important
}

