img { border:0; }

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button
{ -webkit-appearance: none; margin: 0; }

body
    {
    /*background-color: #fff;*/
    background-color: #f7f7f7;
    color: #333;
    font-family: 'Proxima Nova', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size:16pt;
    padding: 0;
    margin:0;
    }

.content
    {
    line-height: 1.7em;
    padding: 0 5px;
    position: relative;
    max-width: 880px;
    max-width: 784px;
    }

h1, h2, h3, h4, h5
    {
    margin-bottom:0;
    }

h2
    {
    font-size:24px;
    text-transform: uppercase;
    }

.price
    {
    color: green;
    font-weight: bold;
    }

.button
    {
    background-color: #E9BD1F;
    border: 0;
    color: #fcfcfc;
    cursor: pointer;
    font-size: 1em;
    margin: 0;
    outline: none;
    padding: .75em 1.3em;
    text-decoration: none;
    border: 2px solid #fcfcfc;
    border-radius: 5px;
    -moz-border-radius: 5px; 
-webkit-border-radius: 5px; 
    -webkit-transition: background-color .1s;
    -moz-transition: background-color 1s;
    -o-transition: background-color 1s;
    transition: background-color 1s;
    }

.button:hover
    {
    background-color: #2a85e0;
    
    -webkit-transition: background-color .1s;
    -moz-transition: background-color 1s;
    -o-transition: background-color 1s;
    transition: background-color 1s;
    }

.button:active
    {
    background: #316ba5;
    box-shadow: none;
    -webkit-transform: translate(0, 1px);
    -ms-transform: translate(0, 1px);
    transform: translate(0, 1px);
    }

.secondary
    {
    color: #999;
    font-size:smaller;
    margin-top:0;
    }

.button.secondary
    {
    background: #333;
    /*border: 2px solid #369;*/
    color: #fff;
    }

.button.disabled,
.button.disabled:hover,
.button.disabled:active,
.button[disabled]
    {
    background: #7f7f7f;
    cursor: not-allowed;
    opacity: .65;
    box-shadow: none;
    pointer-events: none;
    position: static;
    }

.button.secondary:hover
    {
    color: #fff;
    }

a:link, a:visited
    {
    color: #369;
    text-decoration:underline;
    }

a:hover, a:active
    {
    color: #e8bc1e;
    text-decoration: none;
    }

a[href^=tel]
    {
    white-space: nowrap;
    }

.text, select
    {
    border: 1px solid #999;
    box-sizing: border-box;
    color: #333;
    font-family: 'Proxima Nova', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size:18pt;
    line-height:2em;
    min-height: 2em;
    padding: 0 0.3em;
    width: 100%;
    }

textarea.text
    {
    line-height: 1.3em;
    }

select:disabled
    {
    background-color:#ebebe4;
    }

label
    {
    display: block;
    font-weight: bold;
    }

label.switch
    {
    }

p
    {
    margin-top: 0;
    margin-bottom: 1.6em;
    margin-bottom: 0;
    padding-bottom: 1.6em;
    
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
    }

.link a
    {
    display: block;
    font-weight: bold;
    }

.link .note
    {
    font-size: 70%;
    }

.additional
    {
    display: none;
    }

ul li, ol li
    {
    margin-bottom: 1em;
    }

a.highlight:visited, a.highlight:link
    {
    color: #369;
    }

a.highlight:active, a.highlight:hover
    {
    color: #393;
    }

.unbreakable
    {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
    display:table;
    }

.required
    {
    color: red;
    font-weight: bold;
    }

.shadow
    {
    -webkit-filter: drop-shadow( 5px 5px 10px #000 );
    filter: drop-shadow( 5px 5px 10px #000 );
    }

.outer_glow
    {
    -webkit-filter: drop-shadow( 0 0 5px #fff );
    filter: drop-shadow( 0 0 5px #fff );
    }

#media_matte
    {
    background-position:center top;
    width: 100%;
    height: 100vw;
    }

#media_info
    {
    padding: 0.4em;
    }

.desktop_only, .two_column_only
    {
    display: none;
    }

#data_dump
    {
    display: none;
    }

#top_nav
    {
    background-color: rgba(255,255,255,0.9);
    position:fixed;
    width:100%;
    z-index: 10;
    
    background: -webkit-linear-gradient(bottom, rgba(255,255,255,1), rgba(255,255,255,0.5));    /* For Safari 5.1 to 6.0 */
    background: -o-linear-gradient(bottom, rgba(255,255,255,1), rgba(255,255,255,0.5));         /* For Opera 11.1 to 12.0 */
    background: -moz-linear-gradient(bottom, rgba(255,255,255,1), rgba(255,255,255,0.5));       /* For Firefox 3.6 to 15 */
    background: linear-gradient(to top, rgba(255,255,255,1), rgba(255,255,255,0.5));            /* Standard syntax */
    }

#top_nav
    {
    box-shadow: 0 5px 20px #666;
    text-align:center;
    line-height: 1.2em;
    
    font-size: smaller;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    
    line-height:40px;
    }

#top_nav img
    {
    height: 64px;
    vertical-align: middle;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    }

#top_nav a
    {
    display: inline-block;
    font-size: smaller;
    font-weight:bold;
    text-align:center;
    width:20%;
    }

a#logo
    {
    margin:0;
    width:auto;
    }

#logo img
    {
    max-height: 80%;
    padding-bottom: 10px;
    }

#top_nav a:link, #top_nav a:visited
    {
    text-decoration:none;
    }

#top_nav a.here
    {
    text-decoration: underline;
    }

#top_nav a:hover, #top_nav a:active
    {
    color: #368bd6;
    text-decoration:underline;
    }

.shrunken
    {
    background-color: rgba(255,255,255,0.8) !important;
    /*line-height: 1.2em !important;*/
    line-height:40px !important;
    
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
    }

#top_nav.shrunken img
    {
    height: 32px;
    -webkit-transition: all 1s ease;
    transition: all 1s ease;
    }

#nav_links
    {
    line-height:inherit;
    }

#nav_phone
    {
    clear:both;
    /*font-size:smaller;*/
    line-height:75%;
    }

#nav_phone a
    {
    width: auto;
    }

.light-burst
    {
    background-color:transparent;
    border-radius: 100%;
    height:100%;
    width:100%;
    position:absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    }

@keyframes light-burst
    {
    50%
        {
        box-shadow: 0 0 10px 10px rgba(255,255,255,0.5);
        }
    100%
        {
        box-shadow: 0 0 10px 10px rgba(255,255,255,0);
        height: 200%;
        width: 200%;
        }
    }

.light-burst:hover
    {
    -webkit-animation: light-burst;
    -moz-animation: light-burst;
    -o-animation: light-burst;
    animation: light-burst 1s 1;
    }

#footer_matte
    {
    margin:0;
    padding:0;
    margin-top: 2em;
    background-color:#095ca9;
    color: #fff;
    overflow:hidden;
    line-height:32px;
    font-size:x-small;
    }

#footer_container
    {
    line-height:32px;
    text-align:center;
    }

#footer_links
    {
    }

#footer_links a
    {
    color:#fff;
    margin:0 1em;
    text-decoration: none;
    }

.cloudy_insert {
	background-color: #D2E9F9;
	/*box-shadow: inset 1px 10px 10px -5px #666;*/
	box-shadow: inset 1px 10px 10px -5px #fff;
	-moz-box-shadow: 0px 3px 3px #000;
	-webkit-box-shadow: 0px 3px 3px #000;
	box-shadow-bottom: 5px #000;
	margin-top:2em;
	padding:2em 0 3em 0;
}

.feature_title
    {
    margin-bottom:0;
    text-transform: capitalize;
    }

.subtitle
    {
    color:#999;
    margin-top:0;
    text-transform:capitalize;
    }

#hero_text
    {
    position:relative;
    top:50%;
    transform: translateY(-40%);
    }

#hero_button_matte
    {
    text-align: right;
    }

.hero_text_big {
	font-size:60px;
	text-align:center;
	font-weight:bold;
	color:#fff;
	text-shadow:1px 1px #333, -1px 1px #333, -1px -1px #333, 1px -1px #333;
	padding:5px;
}

.hero_text_bubble {
	font-size:x-large;
	text-align:center;
	background-color:rgba(255,255,255,0.8);
	padding:0.5em;-moz-border-radius: 8px; -webkit-border-radius: 8px;
}

.circle_graphic
    {
    display: none;
    }

#feature_title
    {
    display:none;
    padding-top: 70px;
    }

.split
    {
    text-align:left;
    }

.hidden
    {
    display: none;
    }

.non_mobile
    {
    display: none;
    }

.hero
    {
    background-position: center center;
    background-size:cover;
    height:640px;
    position:relative;
    }

#feature_hero
    {
    height:250px;
    }

#feature_hero #hero_text
    {
    bottom: 0;
    transform: translateY(40%);
    }

#feature_hero #hero_text .hero_text_big
    {
    font-size:30px;
    }

#top_bar
    {
    background-color:#333;
    font-size: 16px;
    height:64px;
    line-height:64px;
    padding:0 32px;
    position: relative;
    text-align: center;
    z-index: 99;
    }

#top_bar a:visited, #top_bar a:link
    {
    color: #efefef;
    text-decoration:none;
    }

#top_bar a:hover, #top_bar a:active
    {
    color: #369;
    text-decoration:none;
    }

#nav_bar, #nav_bar_under
    {
    background-color: #efefef;
    border-right: 1px solid #ccc;
    bottom:0;
    display: block;
    font-size: 15px;
    position: absolute;
    top:0;
    width: 200px;
    left: 0;
    transition: all 1s;
    }

#nav_bar_under
    {
    /*box-shadow: 5px 5px 10px #999;*/
    z-index: 50;
    }

#nav_bar.hidden, #nav_bar_under.hidden
    {
    left: -200px;
    transition: all 1s;
    /*box-shadow: none;*/
    }

#nav_bar
    {
    z-index: 100;
    }

.section_pages
    {
    font-size: 15px;
    }

#top_menu
    {
    position:absolute;
    right:32px;
    top:10px;
    }

#top_help
    {
    color:#efefef;
    font-weight:bold;
    position:absolute;
    left:32px;
    top:0;
    }

#page_title
    {
    background-color: #fff;
    border-bottom: 1px solid #ccc;
    box-shadow: 0 1px 0 #fff;
    margin-bottom: 0.5em;
    padding: 1em 5px;
    }

#page_matte, #page_matte_under
    {
    background-color: #f7f7f7;
    position:absolute;
    margin-top:0;
    top:64px;
    width: 100%;
    }

#logo
    {
    position:absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    max-width: 150px;
    transition: all 1s;
    }

#nav_search_form
    {
    display: none;
    }

#top_tools
    {
    left: 0;
    }

#search_box
    {
    width: 8em;
    transition: all 1s;
    }

#search_box:focus
    {
    width:16em;
    }

#search_icon, #navicon
    {
    color: #efefef;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    font-size: 24px;
    cursor: pointer;
    }

#search_icon
    {
    /*left: 16px;*/
    right: 16px;
    }

#navicon
    {
    /*right: 16px;*/
    left: 16px;
    }

.primary
    {
    margin-bottom:0;
    }

.switch
    {
    border: 5px solid #ccc;
    border-radius: 2em;
    display: inline-block;
    height:2em;
    line-height: 2em;
    position:relative;
    text-align:center;
    text-transform: uppercase;
    width:200px;
    width:calc(100% - 10px);
    }

.switch input.toggle
    {
    display: none;
    }

.slider
    {
    bottom:0;
    color: #efefef;
    cursor: pointer;
    left:0;
    position: absolute;
    right:0;
    top: 0;
    z-index: 10;
    }

.slider:before
    {
    background-color: #efefef;
    border: 0.25em solid #efefef;
    border-radius: 100%;
    box-shadow: 5px 5px 10px #333, 5px 5px 5px #ccc inset;
    content: '';
    height: 1.5em;
    left:0;
    position: absolute;
    transition: all 1s;
    width: 1.5em;
    }

input:checked + .slider:before
    {
    left:100%;
    transform: translateX(-100%);
    }

input + .slider:after
    {
    border-radius:2em;
    bottom:0;
    left:0;
    position: absolute;
    right:0;
    text-shadow: 1px 1px 0 #333;
    top:0;
    transition: all 1s;
    z-index: -1;
    }

input:checked + .slider:after
    {
    background-color: #39b54a;
    content: 'on';
    }

input:not(:checked) + .slider:after
    {
    background-color: #ed1c24;
    content: 'off';
    }

input[type='checkbox']:not(.toggle)
    {
    display: inline-block;
    }

.notification
    {
    /*box-shadow: 0 5px 10px #666;*/
    color: #efefef;
    font-weight:bold;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 500;
    }

.table
    {
    border-collapse: collapse;
    }

.table td, .table th
    {
    /*border: 1px solid #ccc;*/
    padding: 15px;
    padding: 5px;
    }

.table > tbody > tr:nth-of-type(odd)
    {
    background-color:#eee;
    }

.currency
    {
    text-align: right;
    }

/* ********************************* */
/* **** responsive tables start **** */
.ellipsed_table_content
    {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    }
    
/*
 * inspired by
 * https://css-tricks.com/responsive-data-tables/
 */
.collapse
    {
    width: 100%;
    }

.collapse table, .collapse thead, .collapse tbody, .collapse th, .collapse td, .collapse tr
    {
    display: block;
    }

.collapse thead tr
    {
    position: absolute;
    top: -9999px;
    left: -9999px;
    }

.collapse tr
    {
    /*border-top: 1px solid #ccc;*/
    }

.collapse td
    {
    border: none;
    /*border-bottom: 1px solid #ccc;*/
    position: relative;
    padding: 0;
    padding: 15px;
    padding: 5px;
    padding-left: 50%;
    }

.collapse td:before
    {
    font-weight: bold;
    position: absolute;
    top: 15px;
    left: 15px;
    top: 5px;
    left: 5px;
    width: 45%;
    padding-right: 15px;
    white-space: nowrap;
    }

/*
 * inspired by
 * https://davidwalsh.name/css-content-attr
 */
.collapse td:before
    {
    content: attr(data-label);
    }

.collapse .currency
    {
    text-align: left;
    }

/* **** responsive tables end **** */
/* ******************************* */

.dollars
    {
    position: relative;
    /*padding-left:2em;*/
    }

.dollars input
    {
    padding-left: 2em;
    }

.dollars:before
    {
    content: "$";
    position: absolute;
    font-size:larger;
    line-height: 2em;
    left: 1px;
    top: 1px;
    text-align:center;
    width: 2em;
    }

.unit_matte
    {
    background-color:#efefef;
    border:1px solid #ccc;
    }

.like_matte
    {
    font-size:5vw;
    }

.print_only
    {
    display:none;
    }
