/** To oiverride the theme, we need to enqueue a style sheet after it, so nix the style.css and use this */

/** Helpers */

*::-moz-selection {
    color: black;
    background-color: #dcdcdc;
}
*::selection {
    color: black;
    background-color: #dcdcdc
}

/* displays */
.dblock {
    display: block;
}

.dinline {
    display: inline;
}

.dinlineblock {
    display: inline-block;
}

/* margins */
.nomargin,
.no-margin {
    margin: 0 !important;
}

.nmt {
    margin-top: 0 !important;
}

.nmb {
    margin-bottom: 0 !important;
}

.nml {
    margin-left: 0 !important;
}

.auto-margin {
    margin: 0 auto !important;
}

/* all */
.m10 {
    margin: 10px;
}

/* bottom */
.mb0 {
    margin-bottom: 0 !important;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb70 {
    margin-bottom: 70px;
}

.mb80 {
    margin-bottom: 80px;
}

/* top */
.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mt60 {
    margin-top: 60px;
}

.mt70 {
    margin-top: 70px;
}

.mt80 {
    margin-top: 80px;
}

/* right */
.mr5 {
    margin-right: 5px;
}

.mr10 {
    margin-right: 10px;
}

.mr20 {
    margin-right: 20px;
}

/* left */
.ml10 {
    margin-left: 10px;
}

.ml20 {
    margin-left: 20px;
}

/* paddings */
.no-padding {
    padding: 0;
}

.npt {
    padding-top: 0 !important;
}

.npb {
    padding-bottom: 0 !important;
}

.p10 {
    padding: 10px;
}

.p20 {
    padding: 20px;
}

.pb10 {
    padding-bottom: 10px;
}

.pb20 {
    padding-bottom: 20px;
}

.pt10 {
    padding-top: 10px;
}

.pt10-i {
    padding-top: 10px !important;
}

.pl10 {
    padding-left: 10px;
}

.pr10 {
    padding-right: 10px;
}

/* borders */
.nbl {
    border-left: none !important;
}

.nbr {
    border-right: none !important;
}

.nbb {
    border-bottom: none !important;
}

.body-bb {
    border-bottom: 1px solid #e6e6e6;
}

.body-bt {
    border-top: 1px solid #e6e6e6;
}

/* z index hax for dropdown menus */
.z1 {
    z-index: 1;
    position: relative;
}

.z2 {
    z-index: 2;
    position: relative;
}

.pointer {
    cursor: pointer;
}

.opacity-1 {
    opacity: 0.1;
}

.opacity-2 {
    opacity: 0.2;
}

.opacity-3 {
    opacity: 0.3;
}

.opacity-4 {
    opacity: 0.4;
}

.opacity-5 {
    opacity: 0.5;
}

.opacity-6 {
    opacity: 0.6;
}

.opacity-7 {
    opacity: 0.7;
}

.opacity-8 {
    opacity: 0.8;
}

.opacity-9 {
    opacity: 0.9;
}

/** They decided to change this */
.parallax-inner-op-4 .parallax-overlay,
.parallax-inner-op-5 .parallax-overlay,
.parallax-inner-op-6 .parallax-overlay,
.parallax-inner-op-7 .parallax-overlay,
.parallax-inner-op-1 .parallax-overlay,
.parallax-inner-op-8 .parallax-overlay {
    background-color: inherit;
}

.parallax-inner-op-4 .parallax-overlay:before {
    position: absolute;
    background-color: inherit;
    height: 100%;
    width: 100%;
    content: "\00a0";
    opacity: 0.4;
}

.parallax-inner-op-5 .parallax-overlay:before {
    position: absolute;
    background-color: inherit;
    height: 100%;
    width: 100%;
    content: "\00a0";
    opacity: 0.5;
}

.parallax-inner-op-6 .parallax-overlay:before {
    position: absolute;
    background-color: inherit;
    height: 100%;
    width: 100%;
    content: "\00a0";
    opacity: 0.6;
}

.parallax-inner-op-7 .parallax-overlay:before {
    position: absolute;
    background-color: inherit;
    height: 100%;
    width: 100%;
    content: "\00a0";
    opacity: 0.7;
}

.parallax-inner-op-8 .parallax-overlay:before {
    position: absolute;
    background-color: inherit;
    height: 100%;
    width: 100%;
    content: "\00a0";
    opacity: 0.8;
}

.parallax-inner-op-1 .parallax-overlay:before {
    position: absolute;
    background-color: inherit;
    height: 100%;
    width: 100%;
    content: "\00a0";
    opacity: 0.1;
}

/* Typography */
.redacted {
    position: relative;
    white-space: pre;
}

.redacted:after {
    background: black;
    border-radius: 0.1em;
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.35);
    content: " ";
    width: 100%;
    height: 1.2em;
    left: 0;
    position: absolute;
    transform: skewY(-5deg) rotate(5deg);
}

.conrol-label-help {
    font-size: 80%;
}

/** Donation Form */
.donation-button {
    margin-top: 2rem;
}

.ay-form label {
    font-weight: 600;
    width: 100%;
    line-height: 1.6;
    color: #1f1f1f;
}

/** do i need this? **/
.ay-form .form-group {
    margin-right: 0;
}

.ay-form .form-control {
    -webkit-transition: all 250ms ease-in-out;
    -moz-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
    width: 100%;
    box-sizing: border-box;
    min-width: 100%;
    margin-bottom: 0;
    border: 1px solid #e5e7f2;
    background: #fff;
    box-shadow: none;
    letter-spacing: 0;
    outline: none;
    line-height: 50px;
    height: 50px;
    padding: 0 20px;
    text-align: left;
    font-family: inherit;
    border-radius: 4px;
    font-weight: 400;
}

.ay-form .submit {
    width: 100%;
    display: block;
    margin-bottom: 10px;
}

.ay-stripe-element-wrapper {
    padding: 15px 20px !important;
}

/** WPCF7 General Form Fixes */
.wpcf7-form-control-wrap {
    margin-top: 10px;
}

.custom-control-label {
    display: inline;
    margin-left: 10px;
}

/** Form Validation **/

.invalid-feedback {
    display: inline-block;
    margin-top: 5px;
    line-height: 1.6;
}

.ay-form .form-control:focus,
.ay-form .form-control.StripeElement--focus {
    border-color: #4f6df5 !important;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 8px rgba(79, 109, 245, 0.6) !important;
}

/** Warn */
.ay-form .form-group.has-warning .form-control {
    box-shadow: none;
}

.ay-form .form-group.has-warning .form-control {
    /* background-image: linear-gradient(#ff9800, #ff9800), linear-gradient(#D2D2D2, #D2D2D2); */
    border: 1px solid #ff9800;
}

.ay-form .form-group.has-warning label.control-label,
.ay-form .form-group.has-warning .help-block {
    color: #ff9800;
}

/** Error */
.ay-form .form-group.has-error .form-control {
    box-shadow: none;
}

.ay-form .form-group.has-error .form-control {
    /* background-image: linear-gradient(#f44336, #f44336), linear-gradient(#D2D2D2, #D2D2D2); */
    border: 1px solid #f44336;
}

.ay-form .form-group.has-error label.control-label,
.ay-form .form-group.has-error .help-block,
.ay-form .form-group.has-error .invalid-feedback,
.ay-form .form-control.StripeElement--invalid {
    color: #f44336;
}

/** Success */
.ay-form .form-group.has-success .form-control {
    box-shadow: none;
}

.ay-form .form-group.has-success .form-control {
    /* background-image: linear-gradient(#4caf50, #4caf50), linear-gradient(#D2D2D2, #D2D2D2); */
    border: 1px solid #4caf50;
}

.ay-form .form-group.has-success label.control-label,
.ay-form .form-group.has-success .help-block,
.ay-form .form-control.StripeElement--complete {
    color: #4caf50;
}

/** Info */
.ay-form .form-group.has-info .form-control {
    box-shadow: none;
}

.ay-form .form-group.has-info .form-control {
    /* background-image: linear-gradient(#00bcd4, #00bcd4), linear-gradient(#D2D2D2, #D2D2D2); */
    border: 1px solid #00bcd4;
}

.ay-form .form-group.has-info label.control-label,
.ay-form .form-group.has-info .help-block {
    color: #00bcd4;
}

/** Formidable Styles */

/** Animations */
@-webkit-keyframes rotation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(359deg);
    }
}

@-moz-keyframes rotation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(359deg);
    }
}

@-o-keyframes rotation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(359deg);
    }
}

@keyframes rotation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(359deg);
    }
}

/** Buttons */
.btn-loading {
    position: relative;
}

.btn-loading:before {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    content: '\00a0';
    background-color: inherit;
    border-radius: inherit;
    z-index: 1234;
}

.tt_button.btn-loading:not(.tt_secondary_button):before {
    background-color: white;
}

.btn-loading:after {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    content: '\00a0';
    margin-left: -10px;
    margin-top: -10px;
    height: 20px;
    width: 20px;
    -webkit-animation: rotation .4s infinite linear;
    -moz-animation: rotation .4s infinite linear;
    -o-animation: rotation .4s infinite linear;
    animation: rotation .4s infinite linear;
    border-left: 2px solid rgba(0, 0, 0, 0.18);
    border-right: 2px solid rgba(0, 0, 0, 0.18);
    border-bottom: 2px solid rgba(0, 0, 0, 0.18);
    border-top: 2px solid white;
    border-radius: 100%;
    z-index: 1235;
}

.tt_button.btn-loading:not(.tt_secondary_button):after {
    border-left-color: #4f6df5;
    border-right-color: #4f6df5;
    border-bottom-color: #4f6df5;
}

.wpb_wrapper #loginform .button:focus,
#wrapper .wpcf7 .wpcf7-submit:focus,
.tt_button.btn_secondary_color:focus,
.tt_button:focus {
    background: transparent;
    color: inherit;
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .15);
    box-shadow: 0 8px 25px rgba(0, 0, 0, .15);
}

/** VC Page extra class and ID's */
#donation-form-box .vc_column-inner {
    padding: 2rem 2rem 1rem 2rem !important;
}

.donation-choice-box {
    min-height: 155px;
}

/** Cards */
.card,
.vc_column-inner.card {
    padding: 25px !important;
    background-color: #f7f9fb;
    border: 1px solid #e5e7f2;
    border-radius: 5px;
}

.card.card-light {
    background-color: rgba(248,250,252,0.50);
}

.card.bg-white,
.vc_column-inner.card.bg-white {
    background-color: white;
}

.card-list .card:not(:last-child) {
    margin-bottom: 1rem;
}

/** Fixes */
.inline-cf .wpcf7 .wpcf7-submit {
    margin-top: 10px;
}

/** Theme Overrides */
.kd-photobox .photobox-img {
    border-top: 1px solid #e5e7f2;
    border-right: 1px solid #e5e7f2;
    border-left: 1px solid #e5e7f2;
}

.breadcrumbs span:not(:first-child) {
    margin-left: 10px;
}

@media (max-width: 959px) {
    .vc_empty_space {
        max-height: none;
    }
}

/** #TODO needs to go into the Compass Plugin */
#general-alert {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    width: 100%;
    -webkit-transition: transform 225ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
    -moz-transition: transform 225ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
    -o-transition: transform 225ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
    -ms-transition: transform 225ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
    transition: transform 225ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
    -webkit-transform: translate(0, 100%);
    /* Ch <36, Saf 5.1+, iOS < 9.2, An =<4.4.4 */
    -ms-transform: translate(0, 100%);
    /* IE 9 */
    transform: translate(0, 100%);
    z-index: 101342233;
}

#general-alert.open {
    bottom: 0;
    -webkit-transform: translate(0, 0);
    /* Ch <36, Saf 5.1+, iOS < 9.2, An =<4.4.4 */
    -ms-transform: translate(0, 0);
    /* IE 9 */
    transform: translate(0, 0);
    -webkit-box-shadow: 0 -4px 5px 0 rgba(0, 0, 0, 0.04), 0 -1px 6px 0 rgba(0, 0, 0, 0.02), 0 -2px 4px -1px rgba(0, 0, 0, 0.02);
    -moz-box-shadow: 0 -4px 5px 0 rgba(0, 0, 0, 0.04), 0 -1px 6px 0 rgba(0, 0, 0, 0.02), 0 -2px 4px -1px rgba(0, 0, 0, 0.02);
    box-shadow: 0 -4px 5px 0 rgba(0, 0, 0, 0.04), 0 -1px 6px 0 rgba(0, 0, 0, 0.02), 0 -2px 4px -1px rgba(0, 0, 0, 0.02);
}

#general-alert .alert {
    padding: 20px 15px 20px 20px;
    margin: 0;
    border-radius: 0;
    border: none;
    border-top: 5px solid rgba(0, 0, 0, 0.25);
}

#general-alert .close {
    height: 24px;
}

#general-alert .close svg {
    height: 24px;
    width: 24px;
}

#general-alert strong {
    display: block;
    max-width: calc(100% - 24px);
    line-height: 1.8em;
}

/** Incase there is no bootstrap */
.alert-success {
    color: #3c763d;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}

.alert-danger {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}

.alert-info {
    color: #31708f;
    background-color: #d9edf7;
    border-color: #bce8f1;
}

/** Banner */
#site-banner {
    padding: 2rem;
    text-align: center;
    background-color: #818aff;
    color: white;
}

#site-banner a {
    color: inherit;
    text-decoration: underline;
}