@import url('/site/templates/styles/reset.css');
@import url('https://fonts.googleapis.com/css?family=Droid+Serif:400,700|Roboto:400,700');


/* // -------------------------------------------------- Basics */

body{
	font-family: "Droid Serif", "Georgia", serif;
	color: #444;
	font-size: 16px;
	line-height: 1.5;
	background: transparent url('../img/bg_dots.png') no-repeat fixed center center;
	background-size: cover;
}

body.login{
	background: transparent url('../img/bg_dots.png') no-repeat fixed center center;
	background-size: cover;
}

h1,h2,h3,h4,h5,h6{
	font-family: "Roboto", "Helvetica", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .025em;
	color: #222D3A;
}

h1{
	font-size: 1.5em;
	line-height: 1.2;
	margin-bottom: 1rem;
	color: #FFF;
}

.container h1{
	color: #222D3A;
}

a{
	color: #e3000f;
	text-decoration: none;
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	transition: all .2s ease;
}

a:focus,
a:hover,
a:active{
	color: #222D3A;
}

small{
	font-size: .75em;
}

sup{
	line-height: 0;
	font-size: .7em;
}


/* // -------------------------------------------------- Buttons */

.button{
	display: inline-block;
	background-color: #e3000f;
	color: #FFF;
	font-family: "Roboto", "Helvetica", sans-serif;
	font-size: .875em;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: .05em;
	padding: .5rem 1rem;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	transition: all .3s ease;
}

.button.small{
	font-size: .75em;
	padding: .25rem .5rem;
}

.button.full{
	width: 100%;
	display: block;
}

.button:focus,
.button:hover,
.button:active{
	background-color: #e0303c;
	color: #FFF;
}


/* // -------------------------------------------------- Campaign nav */

.campaign-nav{
	position: relative;
	margin-bottom: 2em;
}

.campaign-nav-trigger,
.campaign-nav-trigger:focus,
.campaign-nav-trigger:active,
.campaign-nav-trigger:visited{
	display: inline-block;
	text-align: center;
	padding: 0 .25em;
	margin-right: .25em;
	border-radius: 4px;
	color: #FFF;
	background-color: #222D3A;
}

.campaign-nav-trigger:hover{
	color: #FFF;
	background-color: #5b7da7;
}

.campaign-nav-list{
	position: absolute;
	z-index: 10;
	background-color: #FFF;
	border: 1px solid #DDD;
	border-radius: 4px;
	box-shadow: 0 0 2px rgba(0,0,0,.2);
	overflow: hidden;
}

.js-enabled .campaign-nav-list{display: none;}

.campaign-nav-list li:not(:last-child){
	border-bottom: 1px solid #DDD;
}

.campaign-nav-list li a{
	display: block;
	padding: .5em;
	color: #222D3A;
	font-family: "Roboto", "Helvetica", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .025em;
}

.campaign-nav-list li a:hover{
	background-color: #222D3A;
	color: #FFF;
}

.campaign-nav-list .timeframe{
	display: inline-block;
	margin-left: .5em;
	font-size: .75em;
	opacity: .7;
}

.warning{
	color: red;
	font-size: .875em;
}


/* // -------------------------------------------------- Campaign map */

.campaign-map{
	width: 48%;
	float: left;
}


/* // -------------------------------------------------- Campaign stats */

.campaign-stats{
	margin-top: 2em;
}

.campaign-status{
	margin-bottom: 2em;
}

/* // -------------------------------------------------- Campaign tour list */

.campaign-tour-list{
	width: 48%;
	float: right;
}




/* // -------------------------------------------------- Container */

.container{
	background-color: #FFF;
	padding: 1em;
	border-radius: 10px;
	-webkit-box-shadow: 0 0 5px rgba(0,0,0,.5);
	-moz-box-shadow: 0 0 5px rgba(0,0,0,.5);
	box-shadow: 0 0 5px rgba(0,0,0,.5);
	margin-bottom: 30px;
}


/* // -------------------------------------------------- Data table */

.data-table{
	width: 100%;
	font-size: .875em;
	margin: 1em 0;
}

.data-table td{
	padding: 5px;
	border-bottom: 1px dotted #ddd;
}

.data-table th{
	font-family: "Roboto", "Helvetica", sans-serif;
	font-weight: 700;
	padding: 5px;
	text-align: left;
	border-bottom: 2px solid #ddd;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 700;
	font-size: .75em;
}


/* // -------------------------------------------------- Forms */


.checklist-form{
	margin: 2em 0;
}

.form-row:not(:last-child){
	margin-bottom: 1rem;
}

.form-row:not(:last-child){
	margin-bottom: 1rem;
}

.form-row:after{
	content: "";
	display: table;
	clear: both;
}

.form-col{
	float: left;
}

.form-col.half{
	width: 49%;
	margin-right: 2%;
}

.form-col.half:last-child{
	margin-right: 0;
}

.form-row small{
	display: block;
	line-height: 1.5;
}

.form-table{
	width: 100%;
}

.form-table thead th{
	font-size: .75em;
	font-family: "Roboto", "Helvetica", sans-serif;
	color: #222D3A;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: .025em;
}

.form-table th:first-child,
.form-table td:first-child{
	width: 60%;
}

.form-table th,
.form-table td{
	padding: 3px;
}

fieldset{
	margin-bottom: 2em;
	background-color: #f5f5f5;
	border: 2px solid #d8d8d8;
	border-radius: 4px;
	padding: 16px 8px 8px;
}

legend{
	display: block;
	font-size: .75em;
	font-family: "Roboto", "Helvetica", sans-serif;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: .025em;
	background-color: #d8d8d8;
	padding: 2px 8px;
	border-radius: 10px;
}

label{
	display: block;
	font-size: .75em;
	font-family: "Roboto", "Helvetica", sans-serif;
	color: #222D3A;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: .025em;
	margin-bottom: 5px;
}

input[type="text"],
input[type="file"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="time"],
input[type="date"],
input[type="password"],
textarea,
.form-field{
	display: block;
	width: 100%;
	max-width: 400px;
	border: 1px solid #DDD;
	padding: .5em;
	border-radius: 5px;
	-webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	transition: all .3s ease;
}

input[type="text"]:hover,
input[type="text"]:focus,
input[type="number"]:hover,
input[type="number"]:focus,
input[type="tel"]:hover,
input[type="tel"]:focus,
input[type="email"]:hover,
input[type="email"]:focus,
input[type="time"]:hover,
input[type="time"]:focus,
input[type="date"]:hover,
input[type="date"]:focus,
input[type="password"]:hover,
input[type="password"]:focus,
textarea:hover,
textarea:focus,
.form-field:hover,
.form-field:focus{
	border-color: #222D3A;
}

select{
	display: block;
	width: 100%;
	max-width: 400px;
	border: 1px solid #DDD;
	padding: .5em;
	background-color: #FFF;
	font-family: "Droid Serif", "Georgia", serif;
	color: #444;
	font-size: 1em;
}

.js-enabled .hidden{
	display: none;
}


input[type="checkbox"].switch {
    position: absolute;
    margin: 8px 0 0 16px;    
}
input[type="checkbox"].switch + label {
    position: relative;
    padding: 5px 0 0 50px;

}
input[type="checkbox"].switch + label:before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    width: 40px; /* x*5 */
    height: 24px; /* x*3 */
    border-radius: 16px; /* x*2 */
    background: #fff;
    border: 1px solid #d9d9d9;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
input[type="checkbox"].switch + label:after {
    content: "";
    position: absolute;
    display: block;
    left: 0px;
    top: 0px;
    width: 24px; /* x*3 */
    height: 24px; /* x*3 */
    border-radius: 16px; /* x*2 */
    background: #fff;
    border: 1px solid #d9d9d9;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
input[type="checkbox"].switch + label:hover:after {
    box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
input[type="checkbox"].switch:checked + label:after {
    margin-left: 16px;
}
input[type="checkbox"].switch:checked + label:before {
    background: #55D069;
}


input[disabled]{
	background-color: #b7b7b7;
	color: #575757;
	border-color: #DDD !important;
}


/* number fields */

input[type="number"]{
	max-width: 60px;
	text-align: right;
}

/* signature input */

.signature-input{
	position: relative;
}

.signature-input > canvas{
	width: 100%;
	height: 160px;
	padding: 0;
	margin-top: .25rem;
}

.signature-input > button{
	position: absolute;
	width: 30px;
	height: 30px;
	right: 0;
	bottom: 0;
	background: none;
	padding: 0;
	line-height: 30px;
	text-align: center;
	border: none;
	-webkit-appearance: none;
}


/* rating */

.rating {
  display: inline-block;
  position: relative;
  height: 50px;
  line-height: 50px;
  font-size: 50px;
}

.rating label {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  cursor: pointer;
}

.rating label:last-child {
  position: static;
}

.rating label:nth-child(1) {
  z-index: 5;
}

.rating label:nth-child(2) {
  z-index: 4;
}

.rating label:nth-child(3) {
  z-index: 3;
}

.rating label:nth-child(4) {
  z-index: 2;
}

.rating label:nth-child(5) {
  z-index: 1;
}

.rating label input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.rating label .icon {
  float: left;
  color: transparent;
  margin-right: 5px;
}

.rating label:last-child .icon {
  color: #CCC;
}

.rating:not(:hover) label input:checked ~ .icon,
.rating:hover label:hover input ~ .icon {
  color: #e3000f;
}

.rating label input:focus:not(:checked) ~ .icon:last-child {
  color: #CCC;
  text-shadow: 0 0 5px #09f;
}


/* receipt form */

.receipt-form{
	margin-top: 1em;
}

.receipt-form input[type="number"]{
	width: 100%;
	max-width: none;
}

.receipt-form .receipt-preview{
	display: block;
	margin: 0 auto .5em;
}

#rcpt_loader{
	text-align: center;
}


/* // -------------------------------------------------- Login */

.login-wrapper{
	width: 100%;
	max-width: 400px;
	position: absolute;
	top: 40%;
	left: 50%;
	padding-left: 1rem;
	padding-right: 1rem;
	-webkit-transform: translate(-50%,-40%);
	-moz-transform: translate(-50%,-40%);
	transform: translate(-50%,-40%);
}

form.login{
	background-color: #FFF;
	padding: 1em;
	border-radius: 10px;
	-webkit-box-shadow: 0 0 5px rgba(0,0,0,.5);
	-moz-box-shadow: 0 0 5px rgba(0,0,0,.5);
	box-shadow: 0 0 5px rgba(0,0,0,.5);
}


/* // -------------------------------------------------- Main container */

main{
	margin-bottom: 2rem;
}


/* // -------------------------------------------------- Masthead */

.masthead{
	padding-top: 1rem;
	padding-bottom: 1rem;
}


/* // -------------------------------------------------- Messages */

.msg{
	color: #FFF;
	padding: .25rem .5rem;
	margin: 1rem 0;
	font-family: "Roboto", "Helvetica", "Arial", sans-serif;
	font-size: .875em;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	border-radius: 4px;
}

.msg.success{background-color: #70b61b;}
.msg.error{background-color: #e3450b;}


/* // -------------------------------------------------- Meta nav */

.meta{
	float: right;
	color: #FFF;
	font-family: "Roboto", "Helvetica", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .025em;
	font-size: .875em;
}

.meta a{
	color: #FFF;
	text-decoration: none;
}

.meta a:focus,
.meta a:hover,
.meta a:active{
	text-decoration: underline;
}


/* // -------------------------------------------------- Popup */

.popup{
	background-color: #000;
	background-color: rgba(0,0,0,0.9);
	padding: 2rem 1rem 3rem;
	color: #bbb;
	text-align: center;
}

.js-enabled .popup{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	max-height: 100%;
	overflow: scroll;
	-webkit-transform: translate(0,100%);
	-moz-transform: translate(0,100%);
	transform: translate(0,100%);
	-webkit-transition: all .2s ease-out;
	-moz-transition: all .2s ease-out;
	transition: all .2s ease-out;
}

.js-enabled .popup.active{
	-webkit-transform: translate(0);
	-moz-transform: translate(0);
	transform: translate(0);
}

.popup h1,
.popup h2,
.popup h3{
	color: #bbb;
}

.popup label{
	color: #bbb;
	cursor: pointer;
}

.button-label{
	display: block;
	margin: 0 auto 10px;
	padding: 10px;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	border: 1px solid #bbb;
	text-align: center;
}

.button-label > i{
	position: relative;
	top: 6px;
	color: #777;
}

.upload-form h3{
	margin-bottom: 20px;
}

.js-enabled .upload-form input[type=file]{
	display: none;
}

.js-enabled .popup .popup-actions:after{
	content: "";
	display: table;
	clear: both;
}

.js-enabled .popup .popup-actions a{
	float: right;
	color: #FFF;
}


/* // -------------------------------------------------- Progress bar */

.progress{
	display: inline-block;
	height: 20px;
	width: 100%;
	background-color: #DDD;
	max-width: 220px;
	border: 1px solid #242D39;
	position: relative;
	top: 4px;
	overflow: hidden;
	border-radius: 3px;
}

.progress-bar{
	display: block;
	height: 20px;
	background-color: #242D39;
}




/* // -------------------------------------------------- Receipt list */

.receipt-actions{
	margin: 1rem 0;
}

.receipt-list{
	margin: 2rem 0 0;
}

.receipt-list li{
	padding: 1em 0;
	border-bottom: 1px dotted #DDD;
}


.receipt-list li:after{
	content: "";
	display: table;
	clear: both;
}

.receipt-list li a.receipt-preview-image{
	float: left;
	width: 30%;
	height: auto;
}

.receipt-list li a.receipt-preview-image img{
	width: 100%;
	height: auto;
}

.receipt-list .receipt-data{
	float: right;
	width: 65%;
}

.receipt-list .receipt-meta{
	font-size: .875em;
}

.receipt-list .receipt-meta:after{
	content: "";
	display: table;
	clear: both;
}

.receipt-list .receipt-meta span.right.price{
	font-size: 1.125em;
	font-weight: 700;
	float: right;
}


.receipt-preview{
	max-width: 100%;
	height: auto;
}


/* // -------------------------------------------------- Stop list */

.stop-list{
	margin: 1rem 0;
	border-top: 1px solid #DDD;
}

.stop-list li{
	padding: 1rem .5rem;
	border-bottom: 1px dotted #DDD;
	position: relative;
}

.stop-list li.is-done{
	background-color: #e6fddb;
}

.stop-list li.is-done:after{
	content: "\2713";
	font-size: 2em;
	position: absolute;
	bottom: 5px;
	right: 5px;
	color: #4ac52c;
}

.stop-list li h3{
	margin-bottom: 5px;
}

.stop-list .stop-meta{
	font-size: .875em;
	margin-bottom: .5rem;
}

.bubble{
	padding: 0 .5em;
	border-radius: 1em;
	display: inline-block;
	background-color: #777;
	color: #FFF;
	font-family: "Roboto", "Helvetica", sans-serif;
}

.materials-link{
	float: right;
	font-size: .875rem;
	font-weight: 400;
	text-transform: none;
	letter-spacing: normal;
}


.stop-contacts{
	font-size: .875em;
	padding: 1em 0;
	display: none;
}

.stop-contacts p:not(:last-child){
	margin-bottom: 1em;
}

.file-list{
	margin-bottom: 1em;
}

.file-list li{
	display: inline-block;
	margin: 5px;
}

.file-list span{
	display: block;
	font-size: .6em;
}


.report-form textarea{
	width: 100%;
	min-height: 5em;
	border-radius: 5px;
}

input#images{display: none;}

.stop-storecheck{
	margin: 0 0 1em;
	font-family: "Roboto", sans-serif;
	font-size: .875em;
}


/* // -------------------------------------------------- stop pages */

.stop-actions{
	margin: 1em 0;
}

.stop .stop-meta{
	font-size: .875em;
	margin: .5rem 0;
}




/* // -------------------------------------------------- Tour actions */

.tour-actions{
	margin-bottom: 2em;
}


/* // -------------------------------------------------- Tour list */

.tour-header:after{
	content: "";
	display: table;
	clear: both;
}

.tour-header .tour-title{
	padding: .5rem 0;
}

.tour-header .button{
	float: right;
}

.tour-meta{
	color: #888;
	font-size: .875em;
	margin-bottom: 1em;
}

.tour-content{
	display: none;
}


/* // -------------------------------------------------- Tour map */

.tour-map{
	width: 40%;
	float: right;
}


/* // -------------------------------------------------- Tour stops */

.tour-stops{
	width: 56%;
	float: left;
}

.retailer-table td{
	vertical-align: top;
}

.retailer-table .stop-meta{
	font-size: .875em;
	color: #888;
}

.retailer-table .poc-list{
	display: none;
	font-size: 7pt !important;
}

.retailer-table tr:last-child .stop-meta{display: none;}

.retailer-table .stop-meta:before,
.retailer-table .stop-meta:after{
	content: "";
	display: block;
	height: 8px;
	width: 1px;
	margin-left: 8px;
	border-left: 1px dotted #ddd;
}


/* // -------------------------------------------------- Utilities */

.u-right{
	float: right;
}

.u-left{
	float: left;
}

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

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

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



/* // -------------------------------------------------- Wrap */

.wrap{
	margin-left: auto;
	margin-right: auto;
	padding-left: 1rem;
	padding-right: 1rem;
	position: relative;
	max-width: 1140px;
}

.wrap:after,
.wrapper:after{
	content: "";
	display: table;
	clear: both;
}


/* // -------------------------------------------------- Image lists */

.image-list{
	display: flex;
	flex-wrap: wrap;
	max-width: 100%;
	margin: 1em 0;
}

.image-list li{
	width: 50%;
	height: 400px;
	margin-bottom: 10px;
	padding: 0 5px;
}

.image-list li img{
	display: block;
	margin: 0 auto;
	max-width: 100%;
	height: auto;
}



