/*

Howdy! I know "mobile first" and all that. Sorry. We're doing desktop first! Everyone knows that in a responsive template mobile just turns into a giant vertical stack of non-layed-out stuff. So, after all the desktop styles, we'll do a media query to override styles for smaller screens to just stack everything. Then, we'll leave the option to override one more time with a mobile.css file if we really want to design something nice for mobile, all special.

*/

@charset "UTF-8";
/* CSS Document */

/*--- FONTS ---*/
@import url(http://fonts.googleapis.com/css?family=Lato:300,400,900);

/*--- COLORS ---
Reference list of colors used.

Dark  #006d84
Midtone  #00dae5
Light  #ffd100
Pale #eeeeee
*/


/*--- STYLES THAT YOU PROBABLY WON'T NEED TO MESS WITH... defaults for desktop and mobile, some overridden for mobile later---*/

.debug, .debug div div, .debug div div div div, .debug div div div div div div{
    border-top: solid 2px #FF00FF;
    border-left: solid 2px #FF00FF;
    border-bottom: solid 2px #DD00DD;
    border-right: solid 2px #DD00DD;
}

.debug div, .debug div div div, .debug div div div div div{
    border-top: solid 2px #00DDBB;
    border-left: solid 2px #00DDBB;
    border-bottom: solid 2px #00BB99;
    border-right: solid 2px #00BB99;
}

div, *, *:before, *:after
{
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing:border-box;         /* Opera/IE 8+ */
}

h1,h2,h3,div{
    padding:0;
    margin:0;
}

.clear{
    clear:both;
}

.cursor, .pointer {
    cursor: pointer;
}

.absolutecenter{
    position: absolute; left: 50%; top:50%; transform: translate(-50%, -50%);
}

.left, .floatleft{
    float:left;
}

.right, .floatright{
    float:right;
}

.right{
    text-align: right;
}

.overflow{
    overflow: auto;
}

.line0{
    line-height: 0px;
}

.nowrap{
    white-space: nowrap;
}

.top{
    vertical-align: top;
}

/*moved out of media query to default for mobile unless overridden*/
.fullpadded {
	width: 100%;
	padding-left: 50px;
	padding-right: 50px;
}

.full, .whole{
	width:100%;
}

.half{
	width:50%;
}

.third{
	width:33.333%;
}

.twothirds{
	width:66.667%;
}

.quarter, .fourth{
	width:25%;
}

.threequarters, .threefourths{
	width:75%;
}

.fifth{
	width:20%;
}

.sixth{
	width:15%;
}

.eighth{
	width:12.5%;
}

.tenth{
	width:10%;
}

@media
only screen and (min-width:900px) {

    .mobile_only, .phone_only, .small_only{
        display:none !important;
    }

    .desktop_only, .large_only{
        display:block;
    }

	.row div div{
		display:block;
	}

	.row.row div{
		display:table-cell;
	}

	.row{
		display:table !important;
	}

	.row .valign, .row .valign div, .row .valign img{
		vertical-align:middle;
	}

	.row .center{
		text-align:center;
		margin:auto;
	}

	.row.row div div.center{
		display:inline-block;
	}

	.row .center div img, .row .center div, .row .center div div{
		text-align:center;
		margin:auto;
	}

	.row .fillcell img, .row img.fillcell{
		display:block;
	}

	.nest, .nest div{
		float: left;
	}

	.nest .center{
		text-align:center;
		margin:auto;
	}

	.nest .center, .nest .center img{
		text-align:center;
		margin:auto;
	}

    .padded{
        padding:50px;
    }
    
    .padl{
        padding-left:50px;
    }

    .padr{
        padding-right:50px;
    }

    .break{
        margin-bottom:50px;
    }

    .w1, .one{
    width:1px;
	}

	.w5, .five{
		width:5px;
	}

	.w10, .ten{
		width:10px;
	}

	.w15, .fifteen{
		width:15px;
	}

	.w20, .twenty{
		width:20px;
	}

	.w30, .thirty{
		width:30px;
	}

	.w40, .forty{
		width:40px;
	}

	.w50, .fifty{
		width:50px;
	}

	.w60, .sixty{
		width:60px;
	}

	.w70, .seventy{
		width:70px;
	}

	.w80, .eighty{
		width:80px;
	}

	.w90, .ninety{
		width:90px;
	}

	.w100, .hundred{
		width:100px;
	}

	.w110, .oneten{
		width:110px;
	}

	.w120, .onetwenty{
		width:120px;
	}

	.w130, .onethirty{
		width:130px;
	}

	.w140, .oneforty{
		width:140px;
	}

	.w150, .onefifty{
		width:150px;
	}

	.w160, .onesixty{
		width:160px;
	}

	.w170{
		width:170px;
	}

	.w180{
		width:180px;
	}

	.w190{
		width:190px;
	}

	.w200, .twohundred{
		width:200px;
	}

	.w210, .twoten{
		width:210px;
	}

	.w230, .twothirty{
		width:230px;
	}

	.w250, .twofifty{
		width:250px;
	}

	.w260, .twosixty{
		width:260px;
	}

	.w300, .threehundred{
		width:300px;
	}

	.w310, .threeten{
		width:310px;
	}

	.w320, .threetwenty{
		width:320px;
	}

	.w330, .threethirty{
		width:330px;
	}

	.w340, .threeforty{
		width:340px;
	}

	.w350, .threefifty{
		width:350px;
	}

	.w380, .threeeightyy{
		width:380px;
	}

	.w390, .threeninety{
		width:390px;
	}

    .w400, .fourhundred {
        width: 400px;
    }

    .w450, .fourfifty {
        width: 450px;
    }

    .w500, .fivehundred {
        width: 500px;
    }

    .w600, .sixhundred {
        width: 600px;
    }
    
    .w700, .sevenhundred {
        width: 700px;
    }

}

.fullheight, .hfull {
    height: 100%;
}

.h10{
    height:10px;
}

.h20{
    height:20px;
}

.h30{
    height:30px;
}

.h40{
    height:40px;
}

.h50{
    height:50px;
}

.h60{
    height:60px;
}

.h70{
    height:70px;
}

.h80{
    height:80px;
}

.h90{
    height:90px;
}


.h100{
    height:100px;
}


.break2{
    margin-bottom:2px;
}

.break5{
    margin-bottom:5px;
}

.break10{
    margin-bottom:10px;
}

.break15{
    margin-bottom:15px;
}

.break20{
    margin-bottom:20px;
}

.break30{
    margin-bottom:30px;
}

.break40{
    margin-bottom:40px;
}

.break50{
    margin-bottom: 50px;
}

.break100{
    margin-bottom: 100px;
}

.padr2{
    padding-right:2px;
}

.padr5{
    padding-right:5px;
}

.padr10{
    padding-right:10px;
}

.padr15{
    padding-right:15px;
}

.padr20{
    padding-right:20px;
}

.padr30{
    padding-right:30px;
}

.padr40{
    padding-right:40px;
}

.padr50{
    padding-right:50px;
}

.padr100{
    padding-right:100px;
}

.padl2{
    padding-left:2px;
}

.padl5{
    padding-left:5px;
}

.padl10{
    padding-left:10px;
}

.padl15{
    padding-left:15px;
}

.padl20{
    padding-left:20px;
}

.padl30{
    padding-left:30px;
}

.padl40{
    padding-left:40px;
}

.padl50{
    padding-left:50px;
}

.padl60{
    padding-left:60px;
}

.padl70{
    padding-left:70px;
}

.padl100{
    padding-left:100px;
}

.padt20{
    padding-top:20px;
}

.padt30{
    padding-top:30px;
}

.padt40{
    padding-top:40px;
}

.padt50{
    padding-top:50px;
}

.pad10{
    padding:10px;
}

.pad20{
    padding:20px;
}

.pad30{
    padding:30px;
}

.pad40{
    padding:40px;
}

.pad50{
    padding:50px;
}

.center{
    text-align:center;
}

.caps{
    text-transform:uppercase;
}

.bold{
    font-weight: 700;
}

.italic{
    font-style: italic;
}

.photobg{
    background-size: cover;
}

/*--- NOW FOR THE MORE CUSTOMIZABLE STYLES... again defaults for desktop some of which are overridden later for mobile---*/

html,body{
    width:100%;
    height:100%;
	min-height:100%;
    padding:0;
    margin:0;
    color:#777777;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    line-height: 28px;
    background-color: #ffffff;
    font-size: 15px;
}

input[type=text], input[type=password], input[type=email], input[type=number], input[type=tel], select, option {
    font-size: 15px;
}

h1, .huge {
	font-weight:300;
    font-size: 50px;
    line-height: 50px;
}

h2, .large {
    font-size: 40px;
    line-height: 50px;
}

h3, .medium {
    font-size: 20px;
    line-height: 30px;
}

h4, .small {
    font-size: 15px;
}

.tiny {
    font-size: 13px;
}


.brighten, .brighten img {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    text-decoration: none;

}

.brighten:hover img {
    /*background-position:-56px 0px;*/
    filter: brightness(120%);
    -ms-filter: brightness(120%);
    -webkit-filter: brightness(120%);
    -moz-filter: brightness(120%);
}

input[type=text], input[type=password], input[type=email], select, option {
    -webkit-appearance:none;
    color:#777777;
    border-radius: 0px;
    -moz-border-radius: 0px;
    -khtml-border-radius: 0px;
    -webkit-border-radius: 0px;
}

input[type=text], input[type=password], input[type=email]{
    border: solid 3px #DDDDDD;
    outline: none;
    background-color: white;
    height:45px;
    padding-left: 10px;

}

select{
    /*
    If you want, you can style your own dropdown arrow and such
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('../images/select_arrow.gif');
    background-repeat:no-repeat;
    background-position:right;
    background-size:contain;
    border: solid 3px #DDDDDD;
    outline: none;
    background:white;
    height:45px;
    padding-left: 10px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
    */
    color:#777777;
}


::-webkit-input-placeholder {
    color: #777777;
}

:-moz-placeholder { /* Firefox 18- */
    -moz-appearance:none;
    color: #777777;
}

::-moz-placeholder {  /* Firefox 19+ */
    -moz-appearance:none;
    color: #777777;
}

:-ms-input-placeholder {
    color: #777777;
}

.ellipsis{
    text-overflow:ellipsis;
    overflow: hidden;
}

.shaded{
    -webkit-box-shadow: inset 1px 1px 1px 1px rgba(0,0,0,0.2);
    -moz-box-shadow: inset 1px 1px 1px 1px rgba(0,0,0,0.2);
    box-shadow: inset 1px 1px 1px 1px rgba(0,0,0,0.2);
}

.dropshadow{
    -webkit-box-shadow: 2px 2px 2px 2px rgba(0,0,0,0.2);
    -moz-box-shadow: 2px 2px 2px 2px rgba(0,0,0,0.2);
    box-shadow: 2px 2px 2px 2px rgba(0,0,0,0.2);
}

.dropshadowsmall{
    -webkit-box-shadow: 0.5px 0.5px 0.5px 0.5px rgba(0,0,0,0.2);
    -moz-box-shadow: 0.5px 0.5px 0.5px 0.5px rgba(0,0,0,0.2);
    box-shadow: 0.5px 0.5px 0.5px 0.5px rgba(0,0,0,0.2);
}

.textshadow{
    text-shadow: 4px 4px 8px #000000;
}

.radius{
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    overflow: auto;
}

.radiustl{
    -webkit-border-top-left-radius: 6px;
    -moz-border-radius-topleft: 6px;
    border-top-left-radius: 6px;
}

.radiustr{
    -webkit-border-top-right-radius: 6px;
    -moz-border-radius-topright: 6px;
    border-top-right-radius: 6px;
}

.radiusbl{
    -webkit-border-bottom-left-radius: 6px;
    -moz-border-radius-botomleft: 6px;
    border-bottom-left-radius: 6px;
}

.radiusbr{
    -webkit-border-bottom-right-radius: 6px;
    -moz-border-radius-bottomright: 6px;
    border-bottom-right-radius: 6px;
}

.blur{
    -webkit-filter: blur(2px);
    -moz-filter: blur(2px);
    -ms-filter: blur(2px);
    -o-filter: blur(2px);
    filter: blur(2px);
}


.darken{
    filter: brightness(90%);
    -ms-filter: brightness(90%);
    -webkit-filter: brightness(90%);
    -moz-filter: brightness(90%);
}

.border{
    border: 1px solid #888888;
}

.borderblack{
    border-color: #000000;
}

.borderlight{
    border: 1px solid #CCCCCC;
}

.divider{
    height:1px;
    background-color: #888888;
    opacity:0.3;
    display:block !important;
}

.divider.lightbg{
    height:1px;
    background-color: #CCCCCC;
}

.divider.darkbg{
    height:1px;
    background-color: #343536;
}

.button, .button.primary{
    min-width: 30px;
    line-height: 30px;
    background-color: #006d84;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    text-align:center;
    text-transform: uppercase;
    color:#ffffff;
    white-space: nowrap;
    padding-left: 10px;
    padding-right: 10px;
    background-repeat:no-repeat;
    background-position:right;
    background-size:contain;
    font-size:13px;
    cursor:pointer;
}

.button.tiny, .button.small{
    height:20px;
    line-height: 20px;
}

.button:hover, button.primary:hover{
    background-color: #107d94;
}

.button.secondary{
    border:solid 4px #DDDDDD;
    background: linear-gradient(to bottom, rgba(255,255,255,0.1), rgba(255,255,255,0.1) 49%, rgba(255,255,255,0) 51%, rgba(255,255,255,0) 100%);
    background-color: #333333;
    color:#FFFFFF;
    -webkit-box-shadow: inset 2px 2px 2px 2px rgba(0,0,0,0.2);
    -moz-box-shadow: inset 2px 2px 2px 2px rgba(0,0,0,0.2);
    box-shadow: inset 2px 2px 2px 2px rgba(0,0,0,0.2);
}

.button.secondary:hover{
    background: linear-gradient(to bottom, rgba(255,255,255,0.2), rgba(255,255,255,0.2) 49%, rgba(255,255,255,0.1) 51%, rgba(255,255,255,0.1) 100%);
    background-color: #333333;
}

.button.tertiary{
    border:solid 1px #dddddd;
    background-color: #FFFFFF;
    color:#888888;
}

.button.quaternary{
    border:solid 2px #ff6400;
    background-color: #FFFFFF;
    color:#ff6400;
}


a {
    text-decoration:none;
    color: #006d84;
}

a:hover {
    text-decoration:none;
    color: #006d84;
}


a.dark {
    text-decoration:none;
    color: #006d84;
}

a:hover.dark {
    text-decoration:none;
    color: #006d84;
}

a.white {
    text-decoration:none;
    color: #ffffff;
}

a:hover.white {
    text-decoration:none;
    color: #ffffff;
}

.black{
    color:#000000;
}

.blackbg{
    background-color:#000000;
}

.darker{
    color:#544d84;
}

.dark{
    color:#006d84;
}

.darkbg{
    background-color:#006d84;
}

.midtone{
    color:#00dae5;
}

.midtonebg{
    background-color:#00dae5;
}

.light{
    color:#ffd100;
}

.lightbg{
    background-color:#ffd100;
}

.pale{
    color:#eeeeee;
}

.palebg{
    background-color: #eeeeee;
}

.lightgray{
    color:#dddddd;
}

.white{
    color:#ffffff;
}

.whitebg{
    background-color: #ffffff;
}



/*---a few horizontal feature slots---*/

.slot1{
    -webkit-transition:left 1s, right 1s;
    transition:left 1s, right 1s;
    left:0%;
}

.slot2{
    -webkit-transition:left 1s, right 1s;
    transition:left 1s, right 1s;
    left:-100%;
}

.slot3{
    -webkit-transition:left 1s, right 1s;
    transition:left 1s, right 1s;
    left:-200%;
}

.slot4{
    -webkit-transition:left 1s, right 1s;
    transition:left 1s, right 1s;
    left:-300%;
}

.slot5{
    -webkit-transition:left 1s, right 1s;
    transition:left 1s, right 1s;
    left:-400%;
}

.slot6{
    -webkit-transition:left 1s, right 1s;
    transition:left 1s, right 1s;
    left:-500%;
}




/*---MOBILE-SPECIFIC STUFF YOU CAN PROBABLY LEAVE ALONE ---*/

@media
only screen and (max-width:899px) {

    .mobile_only, .phone_only, .small_only{
        display:block;
    }

    .desktop_only, .large_only{
        display:none !important;
    }

    .padded{
        padding:20px;
    }
    
    .padl{
        padding-left:20px;
    }

    .padr{
        padding-right:20px;
    }

    .break{
        margin-bottom:20px;
    }

    .fullpadded{
        width:100%;
        padding-left:20px;
        padding-right:20px;
    }

    .mfull, .mwhole{
        width:100%;
    }

	.mhalf{
		width:50%;
	}

	.mthird{
		width:33.333%;
	}

	.mtwothirds{
		width:66.667%;
	}

	.row > div{
		float:left;
	}

	.valign, .valign div, .valign img{
		vertical-align:middle;
	}

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

	.row.row div div.center{
		display:inline-block;
	}

	.row .center div img, .row .center div, .row .center div div{
		text-align:center;
		margin:auto;
	}

	.row .fillcell img, .row img.fillcell{
		display:block;
	}


    /*---MOBILE-SPECIFIC CUSTOMIZABLE STYLES ---*/


    html,body,input{
        -webkit-text-size-adjust: 100%;
    }

    input[type=text], input[type=password], input[type=email], input[type=number], input[type=tel], select, option {
        font-size: 15px;
    }

    h1, .huge {
        font-size: 40px;
        line-height: 40px;
    }

    h2, .large {
        font-size: 25px;
        line-height: 25px;
    }

    .photobg{
        background-size: auto;
    }

}


/*--- LET'S OVERRIDE A FEW STYLES FOR WHEN SCREENS ARE SUPER GIANT ---*/
@media
only screen and (min-width:1280px) {

    .fullpadded{
        width:100%;
        padding-left:100px !important;
        padding-right:100px; !important;
    }

    .padded{
        padding:100px !important;
    }
    
    .padl{
        padding-left:100px;
    }

    .padr{
        padding-right:100px;
    }

    .break{
        margin-bottom:100px;
    }

    h1, .huge {
        font-size: 70px;
        line-height: 80px;
    }

    h2, .large {
        font-size: 50px;
        line-height: 60px;
    }

    h3, .medium {
        font-size: 26px;
        line-height: 36px;
    }


}

/*--- RETINA-IFY CLASSES THAT RELY ON BG IMAGES BY OVERRIDING SOME STYLES ---*/
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (   min--moz-device-pixel-ratio: 2),
only screen and (     -o-min-device-pixel-ratio: 2/1),
only screen and (        min-device-pixel-ratio: 2),
only screen and (                min-resolution: 192dpi),
only screen and (                min-resolution: 2dppx) {


    /*.notifications .numbers{
        background-image:url(../images_desktop/notifications2x.gif);
        background-size: 100%;
    }*/

}
