/***
 * GENERAL ELEMENTS AND UTILITY CLASSES
 ***/

@font-face {
    font-family: 'Dense';
    src: url(/static/fonts/Dense-Regular.otf);
}

body {
    background-color:#fcfcfc;
    font-family: 'Open Sans';
    font-size:15px;
    color: #646475;
}

.bold { font-weight: bold; }
.underline { text-decoration: underline; }
.left   { text-align:left; }
.right  { text-align:right; }
.center { text-align:center; }
.nowrap { white-space:nowrap; }
label { cursor:pointer; }

.nopadding { padding: 0; }
.nomargin { margin: 0; }
.nobold { font-weight: normal; }

.pointer { cursor: pointer; }

.d-block { display: block; }
.d-none { display: none; }

 .small {
    font-size: 80%;
}
.big {
    font-size: 110%;
}

table.fullwidth {
    width:100%;
}

h1 {
    font-family: 'Dense';
    color: #26262D;
    text-transform: uppercase;
    margin-top:10px;
    letter-spacing: 1px;
    font-size: 4.25rem;
}

div.container > h2, div.container-fluid > h2,
div.container > h3, div.container-fluid > h3,
div.container > h4, div.container-fluid > h4,
div.container > h5, div.container-fluid > h5 {
    font-family: 'Dense';
    color: #26262D;
    letter-spacing: 1px;
}

div.container > h2, div.container-fluid > h2 {
    font-size: 4rem;
}

div.container > h3, div.container-fluid > h3 {
    font-size: 3.75rem;
}

div.container > h4, div.container-fluid > h4 {
    font-size: 3.5rem;
}

div.container > h5, div.container-fluid > h5 {
    font-size: 3.25rem;
}

p {
    line-height: 1.3 !important;
}

a {
    color: #2E75B3;
}

p a {
    color: #2E75B3;
    text-decoration: underline;
}

.panel {
    box-shadow: 0px 3px 6px #00000029;
    padding: 1em;
}

.text-green {
    color: #617B16 !important;
}
.text-pink {
    color: #B8514D !important;
}

.border-green {
    border-color: #617B16 !important;
}

.border-bottom-black {
    border-bottom: 1px solid black;
}

.flashmessage {
    font-weight: bold;
    text-align: center;
    font-size: 23px;
    color: red;
    background-color: yellow;
}

.zebra div.row:nth-child(even) > div {  /* simple zebra-striped div.row tables */
    background-color: #EEEEEE;
}
.rowleftfix div.row {  /* weird cases where we care that div.row have padding instead of margin, so background color splays out past the "visual edge" */
    margin-left: 0;
}
div.row > div.noleftpad {
    padding-left: 0;
}

div.row.norowmargin {
    margin-left: 0;
    margin-right: 0;
}
div.row.norowmargin > div:first-child {
    padding-left: 0;
}
div.row.norowmargin > div:last-child {
    padding-right: 0;
}


/***
 * BOOTSTRAP BUTTONS AND NAV-PILLS
 ***/

.btn.bold {
    border-width: 2px;
}

.btn.btn-primary {
    background-color: #337ab7;
    border-color: #337ab7;
    background-image: none;
}
.btn.btn-primary:hover {
    background-color: #204d74;
    border-color: #204d74;
}

.btn.btn-secondary {
    background-color: white;
    border-color: black;
    color: black;
    background-image: none;
}
.btn.btn-secondary:hover {
    background-color: black;
    border-color: black;
    color: white;
}

.btn.btn-tertiary {
    background-color: black;
    border-color: #B2D578;
    color: #B2D578;
    background-image: none;
}
.btn.btn-tertiary:hover {
    background-color: white;
    border-color: black;
    color: black;
}

.btn.btn-green {
    background-color: #98C222;
    border-color: #98C222;
    color: black;
    background-image: none;
}
.btn.btn-green:hover {
    background-color: #8dab3e;
    border-color: #8dab3e;
    color: black;
}

.btn.btn-success {
    background-color: #3e8f3e;
    border-color: #3e8f3e;
    background-image: none;
}
.btn.btn-success:hover {
    background-color: #5cb85c;
    border-color: #5cb85c;
}

.btn.btn-danger {
    background-color: #dd6e35;
    border-color: #dd6e35;
    background-image: none;
}
.btn.btn-danger:hover {
    background-color: #b92c28;
    border-color: #b92c28;
}

.nav > li > a {
    background-color: #eee;
}

.nav-pills > li > a:hover, .nav-pills > li.active > a:focus {
    background-color: #ddd;
}

.nav-pills .tab-pill {
    border-radius: 4px 4px 0px 0px !important;
}

.nav-pills > li + li {
    margin-left: 6px;
}

.nav-pills > li.active > a {
    color: black;
    background-color: #98C222;
}

.nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
    color: black;
    background-color: #8dab3e;
}

/***
 * BOOTSTRAP MODALS
 ***/

.modal-header {
    border-top-right-radius:5px;
    border-top-left-radius:5px;
    padding:5px 15px 5px 15px;
}

.modal-header .modal-title {
    color:black;
}

.modal-header .close {
    margin-top: 2px;
}

/***
 * CHANGE THE NAVBAR BREAKPOINT
 * AND FIX THE HAMBURGER BEHAVIOR
 * our custom BRANDING AND NAV HEADER (below) plays havoc with Bootstrap's usual behavior
 ***/

@media (max-width: 1199px) {
    .navbar-header {
        float: none;
    }
    .navbar-left,.navbar-right {
        float: none !important;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-nav {
        float: none!important;
        margin-top: 7.5px;
    }
    .navbar-nav>li {
        float: none;
    }
    .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .collapse.in{
        display:block !important;
    }
}

.navbar-default .navbar-toggle {
    margin-top: 15px;
}

.navbar-collapse.collapsing {
    display: none;
}

.navbar-collapse.collapse.in { /* the mobile version when expanded via hamburger */
    position: absolute;
    right: 30px;
    top: 48px;

    z-index: 10000;

    max-width: 200px;

    background-color: white;

    text-align: right;

    border: 1px solid #dddddd;
    border-radius: 4px;
}

.navbar-collapse.collapse.in ul {
    margin-top: 0;
}

/***
 * BRANDING AND NAV HEADER
 ***/

nav.navbar-default {
    background-color:white;
    background-image: none;

    margin-bottom:0;
    height:70px;
}

nav.navbar-default ul.navbar-right {
    margin-top:25px;
}

nav.navbar-default ul.navbar-right li a {
    background-color: transparent;
}

nav.navbar-default a.navbar-brand  {
    margin-top: 5px;
    margin-left: -12px !important;
}

nav.navbar-default a {
    color: black !important;
    font-weight:bold;
    text-decoration: none;

    text-shadow: none;

    padding-bottom:5px;
}
nav.navbar-default a.active-nav {
    border-bottom:2px solid black;
}



/***
 * SITE FOOTER
 ***/

div.footer {
    margin-top: 1in;
}

div.footer > div {
    background-color: #B2D578;
    margin-top: -1px;  /* shift up 1px to touch the landscape image */

    color: black;
    font-size: 16px;
    padding-bottom: 1em;
}

div.footer h2 {
    text-transform: uppercase;
    font-size: 18px;
    color: black;
}

div.footer a {
    color: black;
}
div.footer a:hover {
    color: black;
    text-decoration: underline;
}

div.footer .footer-big {
    font-size: 120%;
}


/***
 * SLIDERS we use a bootstrap slider from a CDN but want to override some colors
 ***/

.slider.slider-horizontal .slider-selection { /* slider bar, selected area below the handle */
    background: linear-gradient(to right, rgba(0,59,51,0.1) 0, rgba(0,59,51,0.2) 20%, rgba(0,59,51,0.4) 40%, rgba(0,59,51,0.6) 60%, rgba(0,59,51,0.8) 80%, rgba(0,59,51,1.0) 100%);
}
.slider.slider-horizontal .slider-track-low {
}
.slider.slider-horizontal .slider-track-high {
}
.slider-handle {
    background-color: rgb(0,59,51) !important;
    background-image: none !important;
}
.slider.slider-horizontal .slider-tick { /* upper endpoint circle */
}
.slider.slider-horizontal .slider-tick.in-selection { /* lower endpoint circle */
    background: linear-gradient(to right,rgb(0,59,51) 0,rgb(0,59,51) 100%);
}




/***
 * MailChimp newsletter signup form
 * comes with a bunch of styles and tags that we don't care for, so some goofiness here
 * e.g. <strong> is set to normal cuz the string is hardcoded but we don't want it
 ***/
#modal_newsletter {
}
#modal_newsletter h4.modal-title {
    text-align: center;
}
#modal_newsletter input[type="radio"] {
    margin-right: 0.5em;
    vertical-align: unset;
}
#modal_newsletter input[type="text"], #modal_newsletter input[type="email"] {
    border: 2px solid rgb(238, 238, 238);
}
#modal_newsletter strong {
    font-weight: normal;
}



/***
 * PRETTY SLIDER CHECKBOXES courtesy of W3schools
 *
 * <!-- Rectangular switch -->
 * <label class="switch"><input type="checkbox" name="X" value="Y" /><span class="slider"></span></label>
 *
 * <!-- Rounded switch -->
 * <label class="switch"><input type="checkbox" name="X" value="Y" /><span class="slider round"></span></label>
 *
 * If you want a visible text label too, wrap this whole thing in a second <label> element.
 ***/

.switch {
    position: relative;
    display: inline-block;
    width: 3em;
    height: 1em;
    vertical-align: text-top;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.switch .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: silver;
    -webkit-transition: .2s;
    transition: .2s;
}

.switch .slider:before {
    position: absolute;
    content: "";
    height: 0.8em;
    width: 0.8em;
    bottom: 0.25em;
    left: 4px;
    background-color: white;
    -webkit-transition: .2s;
    transition: .2s;
}

.switch input:checked + .slider {
    background-color: #337ab7;
}

.switch input:focus + .slider {
    box-shadow: 0 0 1px white;
}

.switch input:checked + .slider:before {
    -webkit-transform: translateX(22px);
    -ms-transform: translateX(22px);
    transform: translateX(22px);
}

.switch .slider.round {
    border-radius: 34px;
				height: 1.28em;
    width: 2.8em;
}

.switch .slider.round:before {
    border-radius: 50%;
}


/***
 * TOOLTIPSTER tooltips
 ***/


.tooltipster-base {
    pointer-events: auto;

    max-width: 400px;
}

.tooltipster-box {
    border-radius: 0 !important;
    border: 1px solid #98c222 !important;
    background: #98c222 !important;
    color: black !important;
    padding: 5px !important;
    font-size: 14px !important;

    a {
        color: black !important;
        font-weight: bold;
    }
}

.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background,
.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-border
{
    border-right-color: #98c222 !important;
}

.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-background,
.tooltipster-sidetip.tooltipster-left .tooltipster-arrow-border
{
    border-left-color: #98c222 !important;
}


/***
 * BUSY SPINNER
 ***/

.loader,
.loader:before,
.loader:after {
    border-radius: 50%;
    width: 2.5em;
    height: 2.5em;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: load7 1.8s infinite ease-in-out;
    animation: load7 1.8s infinite ease-in-out;
}
.loader {
    color: #337ab7;
    font-size: 10px;
    margin: 80px auto;
    position: relative;
    text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}
.loader:before,
.loader:after {
    content: '';
    position: absolute;
    top: 0;
}
.loader:before {
    left: -3.5em;
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
}
 .loader:after {
    left: 3.5em;
}
@-webkit-keyframes load7 {
    0%, 80%, 100% {
        box-shadow: 0 2.5em 0 -1.3em;
    }
    40% {
        box-shadow: 0 2.5em 0 0;
    }
}
@keyframes load7 {
    0%, 80%, 100% {
        box-shadow: 0 2.5em 0 -1.3em;
    }
    40% {
        box-shadow: 0 2.5em 0 0;
    }
}


/**
 * BREADCRUMBS
 */

.breadcrumb {
    padding: 8px 0;
    margin-bottom: 20px;
    list-style: none;
    background-color: transparent;
    border-radius: 0;
}


/**
 * USE CASE CARDS
 */

div.usecase-cards > div {
    padding-right: 10px;
    padding-left: 10px;
}
div.usecase-cards > div > div {
    border: 1px solid black;
    border-radius: 6px;
    padding: 0 10px 5px 10px
}
div.usecase-cards h2 {
    font-size: 17px;
    text-transform: uppercase;
}
div.usecase-cards p {
    font-size: 14px;
    height: 7em;
    max-height: 7em;
    overflow: hidden;
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
    div.usecase-cards p {
        height: 4em;
        max-height: 4em;
    }
}
div.usecase-cards div.usecase-cards-image {
    position: relative;
}
div.usecase-cards div.usecase-cards-image img {
    width: 100%;
    height: 190px;
}
div.usecase-cards div.usecase-cards-image button {
    position: absolute;
    bottom: 10px;
    right: 10px;
}
div.usecase-cards div.usecase-cards-image .btn {
    color: white;
    border-color: black;
    text-transform: uppercase;
}
div.usecase-cards div.usecase-cards-image .btn:hover {
    color: black;
    border-color: black;
    text-transform: uppercase;
}
div.usecase-cards div.usecase-cards-benefits {
    margin: 10px 4px 5px 0;
}
div.usecase-cards div.usecase-cards-benefits img {
    width: 40px;
}

@media screen and (max-width: 767px) {
    /* when the screen is small and they collapse into a column, add space between them */
    div.usecase-cards > div {
        margin-top: 10px;
    }
}
