$green: #128413;
$orange: #FC8C1E;
$dark: #1c1c1c;
$semidark: #333;
$normal: #5d5959;
$semilight: #e0e0e0;
$light: #FFF;
$success: $green;
$danger: #ED1111;
$warn: $orange;
$empty: $semidark;
$thishost: #009aca;

#wpwrap {
    background-color: $light;
}

#a2-optimized-wrapper {
    font-family: Poppins;

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        font-family: Raleway;
        font-weight: 900;

        .normal,
        &.normal {
            font-weight: 500;
        }

        &.upper {
            text-transform: uppercase;
        }
    }

    h2 {
        font-size: 45px;
    }

    h3 {
        font-size: 30px;

        &.less-vertical-space {
            margin-top: 5px;
            margin-bottom: 5px;
        }
    }

    h4 {
        font-size: 26px;
        font-weight: 500;

        &.less-vertical-space {
            margin-top: 5px;
            margin-bottom: 5px;
        }
    }

    #a2-optimized-header {
        .search {
            input {
                width: 100%;
                margin-top: 40px;
            }

            p.small {
                margin-top: 0;
            }
        }
        .title {
            img {
                padding-bottom: 50px;
            }
        }
    }

    .a2-optimized-navigation {
        /*margin-bottom: 100px; trying out other values */
        margin-bottom: 20px;
    }

    ul.bullet-points {
        list-style-type: disc; 
    }

    .navlink-button {
        text-align: center;
        width:100%;
        color: $dark;
        padding-top: 10px;
        padding-bottom: 10px;

        border-color: transparent;
        border-width: 2px;
        border-style: solid;
        border-radius: 10px;
        border-spacing: 5px;
        background-color: transparent;

        cursor: pointer;
        text-decoration: none;

        font-size: 20px;
        font-family: Raleway;
        font-weight: 700;

        &:hover {
            border-color: $semilight;
            background-color: $semilight;
        }


        &.current {
            background-color: $green;
            border-color: $green;

            color: white;

        }
    }

    .side-nav {
        .navlink-button {
            font-size: 16px;
            padding-top: 20px;
            padding-bottom: 20px;
            padding-left: 0px;
            padding-right: 0px;

            &:hover {
                background-color: transparent;
            }

            &.current {
                background-color: transparent;
                color: $dark;
            }

        }


        .navlink-wrapper {
            padding-left: 0px;
            padding-right: 0px;
        }

    }


    .cta-btn-green {
        background-color: $green;
        color: $light;
    }

    .cta-btn-green:hover {
        box-shadow: 0px 4px 10px rgba($dark, 0.25), 0px 4px 4px rgba($dark, 0.25);
        color: $light  !important;
    }

    .btn-xlg {
        padding: 15px 60px;
    }

    .bg-green, .bg-empty {
        background-color: $green;
        padding-top: 15px;
        padding-bottom: 5px;
        border-radius: 10px;
    }

    .bg-empty {
        background-color: $empty;
    }

    .border-left {
        border-left: 1px solid $dark;
    }

    .box-element {
        position: relative;
        background: $light;
        border: 2px solid rgba($normal, 0.4);
        box-shadow: 0px 4px 10px rgba($dark, 0.25), 0px 4px 4px rgba($dark, 0.25);
        border-radius: 10px;
        margin-bottom: 15px;

        h3 {
            color: $dark;
            text-transform: uppercase;
        }

        .box-element {
            border-width: 1px;
            box-shadow: 0px 4px 4px rgba($dark, 0.25);
            margin-bottom: 25px;
        }

        .padding-15 {
            padding-left: 15px;
            padding-right: 15px;
        }

        .padding-top-30 {
            padding-top: 30px;
        }

        .margin-bottom-20 {
            margin-bottom: 20px;
        }

        .row.header {
            margin-left: 0;
            margin-right: 15px;
        }

        .box-title {
            text-transform: uppercase;
            font-style: normal;
            font-weight: 500;
        }

        &.danger {
            border-color: rgba($danger, 0.35);
        }

        &.success {
            border-color: rgba($success, 0.35);
        }

        &.warn {
            border-color: rgba($warn, 0.35);
        }

        &.empty {
            border-color: rgba($empty, 0.35);
        }

        &.clear {
            border: none;
            box-shadow: none;
        }

        div.best-practices-status {
            font-size: 14px;
            margin-bottom: 1em;
        }
    }

    #a2-optimized-optstatus {
        .box-element .box-element {
            padding: 10px 0;
        }
    }

    #a2-optimized-serverperformance {
        .box-element {
            .row {
                padding: 0 10px;
            }

            h4 {
                margin-bottom: 0;
            }
        }

        .flip-card-front {
            .wave-bg {
                &.success {
                    background: url("../../images/admin/wave-success.png") no-repeat bottom;
                    background-size: 110%, 75%;
                }

                &.warn {
                    background: url("../../images/admin/wave-warn.png") no-repeat bottom;
                    background-size: 110%;
                }

                &.danger {
                    background: url("../../images/admin/wave-danger.png") no-repeat bottom;
                    background-size: 110%;
                }
                &.empty {
                    background: url("../../images/admin/wave-empty.png") no-repeat bottom;
                    background-size: 110%, 75%;
                }
            }

        }
        .flip-card-back {
            .wave-bg {
                background: none;
            }
        }
    }

    .opt-extra-settings-items {
        h4 {
            font-size: 22px;
        }

        .setting-item {
            padding-left: 10px;

            h4 {
                font-size: 20px;
            }
        }

        .row {
            margin-bottom: 10px;
        }

        .desc {
            color: $green;
        }
    }

    span.small {
        padding-top: 0px;
        font-size: 50%;
    }

    .circles-text {
        font-weight: 700;
    }

    .text-center,
    .circle {
        text-align: center;
    }

    .line-graph {
        position: relative;
        height: 40px;
        width: 100%;
    }

    .graph-card {
        p.sub-heading {
            margin-top: 0px;
        }
    }

    .graph-card-centered {
        text-align: center;
    }

    .graph-legend {
        .graph-legend-header {
            font-size: .5em;
            white-space: nowrap;
            color: #ffffff;

            .danger {
                background-color: $danger;
            }

            .success {
                background-color: $success;
            }

            .warn {
                background-color: $warn;
            }

        }

        .left-label {
            border-left: 1px solid black;
            padding: 0px;
            text-align: left;

            span {
                left: -30px;
            }
        }
    }

    .info-toggle-button {
        position: absolute;
        right: 5px;
        top: 5px;
        font-size: 20px;
        z-index: 100;
        cursor: pointer;
    }

    .text-left {
        text-align: left;
    }

    .text-right {
        text-align: right;
    }

    .text-center {
        text-align: center;
    }

    .line-height-15 {
        line-height: 15px;
    }

    span.danger {
        color: $danger;
    }

    span.success {
        color: $success;
    }

    span.warn {
        color: $warn;
    }

    span.thishost {
        color: $thishost;
    }

    span.empty {
        color: $empty;
    }

    .padding-bottom {
        padding-bottom: 15px;
    }

    a.toggle {
        color: $dark;
        text-decoration: none;

        &:hover {
            color: $normal;
            cursor: pointer;
        }
    }

    .opt-completed {
        text-align: center;

        h4 {
            font-size: 20px;
            font-weight: 700;
            line-height: 24px;
        }

        span {
            color: $orange;
        }
    }

    input[type='text'] {
        max-width: 100%;
    }

    input[type='number'] {
        max-width: 100%;
    }

    input.opt-setting-input {
        margin-left: 20px;
        width: 90%;
    }

    #circles-ttfb,
    #circles-cls {
        .circles-text {
            left: -32px;
            top: -10px;
            font-size: 39px;
        }
    }

    #circles-overall_score {
        .circles-text {
            left: -32px;
            top: -10px;
            font-size: 39px;
        }
    }

    .modal-mask {
        position: fixed;
        z-index: 9998;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: table;
        transition: opacity 0.3s ease;
    }

    .modal-wrapper {
        display: table-cell;
        vertical-align: middle;
    }

    .modal-container {
        width: 500px;
        max-width: 90%;
        margin: 0px auto;
        padding: 20px 30px;
        background-color: #fff;
        border-radius: 2px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33);
        transition: all 0.3s ease;
        font-family: Helvetica, Arial, sans-serif;
    }

    .modal-top-bar {
        text-align: right;
    }

    .modal-header h3 {
        margin-top: 0;
    }

    .modal-body {
        margin: 20px 0;
    }

    .modal-dialog-text {
        color: $green;
    }

    .modal-default-button {
        float: right;
    }

    .modal-footer {
        text-align: right;
    }

    /*
       * The following styles are auto-applied to elements with
       * transition="modal" when their visibility is toggled
       * by Vue.js.
       *
       * You can easily play with the modal transition by editing
       * these styles.
       */

    .modal-enter {
        opacity: 0;
    }

    .modal-leave-active {
        opacity: 0;
    }

    .modal-enter .modal-container,
    .modal-leave-active .modal-container {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }

    .utility-icon {
        width: 25px;
        height: 25px;
        display: inline;
        float: right;

        .dropdown-menu {
            padding: 5px;
            border-color: $green;
            right: 0;
            left: auto;
        }
    }

    #menu-bell {
        right: 0;
        left: initial;
    }

    /* checkboxes */
    .tg-list-item {
        margin: 0 10px;
        list-style: none;
    }

    .tgl {
        display: none;

        // add default box-sizing for this scope
        &,
        &:after,
        &:before,
        & *,
        & *:after,
        & *:before,
        &+.tgl-btn {
            box-sizing: border-box;

            &::selection {
                background: none;
            }
        }

        +.tgl-btn {
            outline: 0;
            display: block;
            width: 4em;
            height: 2em;
            position: relative;
            cursor: pointer;
            user-select: none;

            &:after,
            &:before {
                position: relative;
                display: block;
                content: "";
                width: 50%;
                height: 100%;
            }

            &:after {
                left: 0;
            }

            &:before {
                display: none;
            }
        }

        &:checked+.tgl-btn:after {
            left: 50%;
        }
    }

    // themes
    .tgl-light {
        +.tgl-btn {
            background: #f0f0f0;
            border-radius: 2em;
            padding: 2px;
            transition: all .4s ease;

            &:after {
                border-radius: 50%;
                background: #fff;
                transition: all .2s ease;
            }
        }

        &:checked+.tgl-btn {
            background: #9FD6AE;
        }
    }

    .tgl-ios {
        +.tgl-btn {
            background: #fbfbfb;
            border-radius: 2em;
            padding: 2px;
            transition: all .4s ease;
            border: 1px solid #e8eae9;

            &:after {
                border-radius: 2em;
                background: #fbfbfb;
                transition:
                    left .3s cubic-bezier(0.175, 0.885, 0.320, 1.275),
                    padding .3s ease, margin .3s ease;
                box-shadow:
                    0 0 0 1px rgba(0, 0, 0, .1),
                    0 4px 0 rgba(0, 0, 0, .08);
            }

            &:hover:after {
                will-change: padding;
            }

            &:active {
                box-shadow: inset 0 0 0 2em #e8eae9;

                &:after {
                    padding-right: .8em;
                }
            }
        }

        &:checked+.tgl-btn {
            background: #86d993;

            &:active {
                box-shadow: none;

                &:after {
                    margin-left: -.8em;
                }
            }
        }
    }

    .tgl-skewed {
        +.tgl-btn {
            overflow: hidden;
            transform: skew(-10deg);
            backface-visibility: hidden;
            transition: all .2s ease;
            font-family: sans-serif;
            background: #888;

            &:after,
            &:before {
                transform: skew(10deg);
                display: inline-block;
                transition: all .2s ease;
                width: 100%;
                text-align: center;
                position: absolute;
                line-height: 2em;
                font-weight: bold;
                color: #fff;
                text-shadow: 0 1px 0 rgba(0, 0, 0, .4);
            }

            &:after {
                left: 100%;
                content: attr(data-tg-on);
            }

            &:before {
                left: 0;
                content: attr(data-tg-off);
            }

            &:active {
                background: #888;

                &:before {
                    left: -10%;
                }
            }
        }

        &:checked+.tgl-btn {
            background: #86d993;

            &:before {
                left: -100%;
            }

            &:after {
                left: 0;
            }

            &:active:after {
                left: 10%;
            }
        }
    }

    .tgl-flat {
        +.tgl-btn {
            padding: 2px;
            transition: all .2s ease;
            background: #fff;
            border: 4px solid #f2f2f2;
            border-radius: 2em;

            &:after {
                transition: all .2s ease;
                background: #f2f2f2;
                content: "";
                border-radius: 1em;
            }
        }

        &:checked+.tgl-btn {
            border: 4px solid #7FC6A6;

            &:after {
                left: 50%;
                background: #7FC6A6;
            }
        }
    }

    .tgl-flip {
        +.tgl-btn {
            padding: 2px;
            transition: all .2s ease;
            font-family: sans-serif;
            perspective: 100px;

            &:after,
            &:before {
                display: inline-block;
                transition: all .4s ease;
                width: 100%;
                text-align: center;
                position: absolute;
                line-height: 2em;
                font-weight: bold;
                color: #fff;
                position: absolute;
                top: 0;
                left: 0;
                backface-visibility: hidden;
                border-radius: 4px;
            }

            &:after {
                content: attr(data-tg-on);
                background: #02C66F;
                transform: rotateY(-180deg);
            }

            &:before {
                background: #FF3A19;
                content: attr(data-tg-off);
            }

            &:active:before {
                transform: rotateY(-20deg);
            }
        }

        &:checked+.tgl-btn {
            &:before {
                transform: rotateY(180deg);
            }

            &:after {
                transform: rotateY(0);
                left: 0;
                background: #7FC6A6;
            }

            &:active:after {
                transform: rotateY(20deg);
            }
        }
    }

    /* Spinner */
    .la-line-spin-fade-rotating,
    .la-line-spin-fade-rotating>div {
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .la-line-spin-fade-rotating {
        display: block;
        font-size: 0;
        color: #fff;
    }

    .la-line-spin-fade-rotating.la-dark {
        color: #333;
    }

    .la-line-spin-fade-rotating>div {
        display: inline-block;
        float: none;
        background-color: currentColor;
        border: 0 solid currentColor;
    }

    .la-line-spin-fade-rotating {
        width: 32px;
        height: 32px;
        -webkit-animation: ball-spin-fade-rotating-rotate 6s infinite linear;
        -moz-animation: ball-spin-fade-rotating-rotate 6s infinite linear;
        -o-animation: ball-spin-fade-rotating-rotate 6s infinite linear;
        animation: ball-spin-fade-rotating-rotate 6s infinite linear;
    }

    .la-line-spin-fade-rotating>div {
        position: absolute;
        width: 2px;
        height: 10px;
        margin: 2px;
        margin-top: -5px;
        margin-left: -1px;
        border-radius: 0;
        -webkit-animation: line-spin-fade-rotating 1s infinite ease-in-out;
        -moz-animation: line-spin-fade-rotating 1s infinite ease-in-out;
        -o-animation: line-spin-fade-rotating 1s infinite ease-in-out;
        animation: line-spin-fade-rotating 1s infinite ease-in-out;
    }

    .la-line-spin-fade-rotating>div:nth-child(1) {
        top: 15%;
        left: 50%;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-animation-delay: -1.125s;
        -moz-animation-delay: -1.125s;
        -o-animation-delay: -1.125s;
        animation-delay: -1.125s;
    }

    .la-line-spin-fade-rotating>div:nth-child(2) {
        top: 25.2512626585%;
        left: 74.7487373415%;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
        -webkit-animation-delay: -1.25s;
        -moz-animation-delay: -1.25s;
        -o-animation-delay: -1.25s;
        animation-delay: -1.25s;
    }

    .la-line-spin-fade-rotating>div:nth-child(3) {
        top: 50%;
        left: 85%;
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        transform: rotate(90deg);
        -webkit-animation-delay: -1.375s;
        -moz-animation-delay: -1.375s;
        -o-animation-delay: -1.375s;
        animation-delay: -1.375s;
    }

    .la-line-spin-fade-rotating>div:nth-child(4) {
        top: 74.7487373415%;
        left: 74.7487373415%;
        -webkit-transform: rotate(135deg);
        -moz-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        -o-transform: rotate(135deg);
        transform: rotate(135deg);
        -webkit-animation-delay: -1.5s;
        -moz-animation-delay: -1.5s;
        -o-animation-delay: -1.5s;
        animation-delay: -1.5s;
    }

    .la-line-spin-fade-rotating>div:nth-child(5) {
        top: 84.9999999974%;
        left: 50.0000000004%;
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
        -webkit-animation-delay: -1.625s;
        -moz-animation-delay: -1.625s;
        -o-animation-delay: -1.625s;
        animation-delay: -1.625s;
    }

    .la-line-spin-fade-rotating>div:nth-child(6) {
        top: 74.7487369862%;
        left: 25.2512627193%;
        -webkit-transform: rotate(225deg);
        -moz-transform: rotate(225deg);
        -ms-transform: rotate(225deg);
        -o-transform: rotate(225deg);
        transform: rotate(225deg);
        -webkit-animation-delay: -1.75s;
        -moz-animation-delay: -1.75s;
        -o-animation-delay: -1.75s;
        animation-delay: -1.75s;
    }

    .la-line-spin-fade-rotating>div:nth-child(7) {
        top: 49.9999806189%;
        left: 15.0000039834%;
        -webkit-transform: rotate(270deg);
        -moz-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
        -o-transform: rotate(270deg);
        transform: rotate(270deg);
        -webkit-animation-delay: -1.875s;
        -moz-animation-delay: -1.875s;
        -o-animation-delay: -1.875s;
        animation-delay: -1.875s;
    }

    .la-line-spin-fade-rotating>div:nth-child(8) {
        top: 25.2506949798%;
        left: 25.2513989292%;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        -ms-transform: rotate(315deg);
        -o-transform: rotate(315deg);
        transform: rotate(315deg);
        -webkit-animation-delay: -2s;
        -moz-animation-delay: -2s;
        -o-animation-delay: -2s;
        animation-delay: -2s;
    }

    .la-line-spin-fade-rotating.la-sm {
        width: 16px;
        height: 16px;
    }

    .la-line-spin-fade-rotating.la-sm>div {
        width: 1px;
        height: 4px;
        margin-top: -2px;
        margin-left: 0;
    }

    .la-line-spin-fade-rotating.la-2x {
        width: 64px;
        height: 64px;
    }

    .la-line-spin-fade-rotating.la-2x>div {
        width: 4px;
        height: 20px;
        margin-top: -10px;
        margin-left: -2px;
    }

    .la-line-spin-fade-rotating.la-3x {
        width: 96px;
        height: 96px;
    }

    .la-line-spin-fade-rotating.la-3x>div {
        width: 6px;
        height: 30px;
        margin-top: -15px;
        margin-left: -3px;
    }

    /* Animations */
    @-webkit-keyframes ball-spin-fade-rotating-rotate {
        100% {
            -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
        }
    }

    @-moz-keyframes ball-spin-fade-rotating-rotate {
        100% {
            -moz-transform: rotate(360deg);
            transform: rotate(360deg);
        }
    }

    @-o-keyframes ball-spin-fade-rotating-rotate {
        100% {
            -o-transform: rotate(360deg);
            transform: rotate(360deg);
        }
    }

    @keyframes ball-spin-fade-rotating-rotate {
        100% {
            -webkit-transform: rotate(360deg);
            -moz-transform: rotate(360deg);
            -o-transform: rotate(360deg);
            transform: rotate(360deg);
        }
    }

    @-webkit-keyframes line-spin-fade-rotating {
        50% {
            opacity: .2;
        }

        100% {
            opacity: 1;
        }
    }

    @-moz-keyframes line-spin-fade-rotating {
        50% {
            opacity: .2;
        }

        100% {
            opacity: 1;
        }
    }

    @-o-keyframes line-spin-fade-rotating {
        50% {
            opacity: .2;
        }

        100% {
            opacity: 1;
        }
    }

    @keyframes line-spin-fade-rotating {
        50% {
            opacity: .2;
        }

        100% {
            opacity: 1;
        }
    }

    .flip-card-inner.flip-start {
        animation-duration: .25s;
        animation-name: flipToFront1;
        animation-iteration-count: 1;
        animation-fill-mode: forwards;
    }

    .flip-card-inner.flip-finish {
        animation-duration: .25s;
        animation-name: flipToFront2;
        animation-iteration-count: 1;
        animation-fill-mode: forwards;
    }

    .flip-card-inner.flipped.flip-start {
        animation-duration: .25s;
        animation-name: flipToFront3;
        animation-iteration-count: 1;
        animation-fill-mode: forwards;
    }

    .flip-card-inner.flipped.flip-finish {
        animation-duration: .25s;
        animation-name: flipToFront4;
        animation-iteration-count: 1;
        animation-fill-mode: forwards;
    }


    @keyframes flipToFront1 {
        from {
            transform: rotateY(0deg);
        }

        to {
            transform: rotateY(90deg);
        }
    }

    @keyframes flipToFront2 {
        from {
            transform: rotateY(90deg);
        }

        to {
            transform: rotateY(180deg);
        }
    }

    @keyframes flipToFront3 {
        from {
            transform: rotateY(180deg);
        }

        to {
            transform: rotateY(270deg);
        }
    }

    @keyframes flipToFront4 {
        from {
            transform: rotateY(270deg);
        }

        to {
            transform: rotateY(360deg);
        }
    }

    /* The flip card container - set the width and height to whatever you want. We have added the border property to demonstrate that the flip itself goes out of the box on hover (remove perspective if you don't want the 3D effect */
    .flip-card {
        background-color: transparent;
        perspective: 1000px;
    }

    /* This container is needed to position the front and back side */
    .flip-card-inner {
        position: relative;
        transition: transform 0.8s;
        transform-style: preserve-3d;
    }

    /* Style the back side */
    .flip-card-back {

        transform: rotateY(180deg);
    }

    .flipped {
        &.flip-card-inner {
            transform: rotateY(180deg);
        }
    }

    /* when bootstrap 'lg' becomes 'md' */
    @media (max-width: 1366px) {
        .box-element.hide-small {
            border: none;
            box-shadow: none;
        }
        .navlink-button {
            font-size: 14px;
        }

        .side-nav {
            margin-bottom: 20px;
            .navlink-button {
                font-size: 16px;
            }
        }

        .border-left {
            border: none;
        }

        #a2-optimized-optstatus,
        #a2-optimized-pagespeed {
            min-width: 600px;
        }

    }

    /* added for the hosting matchup graphs that can't quite wait for 'md' to kick in to still look ok */
    @media (max-width: 1440px) {
        .hosting-matchup-graph-container {
            min-width: 500px;
        }
    }


}
