html,body,blockquote,div,form,h1,h2,h3,h4,h5,h6,ol,p,table,ul,li,td,th,button,img,legend,fieldset{margin:0;padding:0;}
html,body{height:100%;}
img,fieldset{border:0;}
table{border-collapse:collapse;border-spacing:0;}
th,td{text-align:left;font-weight:normal;}
body,select,input,textarea,button{font-family:Arial,Verdana,Helvetica,sans-serif;}
body{font-size:12px;}
select,input,textarea,button{font-size:1em;}
h1,h2,h3,h4,h5,h6{margin-bottom:0.8em;line-height:1em;}
h1{font-size:3.0em;}
h2{font-size:2.4em;}
h3{font-size:1.9em;}
h4{font-size:1.5em;}
h5{font-size:1.2em;}
h6{font-size:1em;}
p{padding:.2em 0 .7em;}
label{cursor:pointer;}
ul,ol{padding-left:2em;}
:focus{outline:0;}
button::-moz-focus-inner{padding:0;border:none}
.clear{clear:both;}

/* General styles */
body {
	font-size: 14px;
	line-height: 20px;
	color: #333;
}
h1 {
	font-size: 22px;
	font-weight: normal;
	margin: 0 0 14px;
	color: #1991f6;
}
h2 {
	font-size: 18px;
	font-weight: normal;
	margin: 0 0 10px;
	color: #1991f6;
}
h3 {
	font-size: 16px;
	font-weight: normal;
	margin: 0 0 10px;
	color: #1991f6;
}
a {
	color: #1991f6;
}
a:hover {
	color: #333;
}
p {
	padding: 0.3em 0 .7em;
	font-size: 14px;
}
li {
	padding-bottom: 9px;
}

/* Front page */
#fp {
	background: #2f3338 url(g/fp-back.png) 0 50% repeat-x;
}
#fp-center {
	width: 0;
	height: 0;
	position: absolute;
	left: 50%;
	top: 50%;
}
#fp-box {
	position: absolute;
	left: -444px;
	top: -239px;
	width: 888px;
	height: 478px;
	background: url(g/fp-box.png);
}
#logo {
	position: absolute;
	left: 292px;
	top: 15px;
	display: block;
	width: 304px;
	height: 39px;
	background: url(g/logo.png) 0 0 no-repeat;
	text-indent: -9999px;
}
#slogan {
	position: absolute;
	top: 56px;
	width: 100%;
	text-align: center;
	color: #cf0;
	word-spacing: .4em;
	font-size: 14px;
}
#fp .box {
	position: absolute;
	top: 148px;
	width: 275px;
	height: 200px;
}
#fp-left {
	left: 138px;
}
#fp .button {
	position: absolute;
	bottom: 0;
}
#fp .button.right,
#fp button.right {
	float: right;
}
#fp-right {
	left: 474px;
}
#fp form {
	position: absolute;
	width: 100%;
	bottom: 0;
}

/* Contact form */
form.contact .input.email {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

/* Front page gallery */
#fp-gal {
	position: absolute;
	left: -444px;
	top: 151px;
	width: 888px;
	height: 118px;
}
#fp-gal .pic {
	width: 198px;
	height: 118px;
	background: url(g/thumb-back.png);
	position: absolute;
}
#fp-gal .pic a {
	position: relative;
	left: 9px;
	top: 9px;
}
#fp-gal .pic a img {
	opacity: .3;
}
#fp-gal .pic a:hover img {
	opacity: 1;
}
#fp-gal .pic.pic-1 { left: 135px; }
#fp-gal .pic.pic-2 { left: 345px; }
#fp-gal .pic.pic-3 { left: 555px; }

#fp-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.8);
	display: none;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	z-index: 9999;
}
#fp-lightbox.open {
	display: flex;
}
#fp-lightbox img {
	max-width: min(900px, 90vw);
	max-height: 80vh;
	border: 4px solid #fff;
	background: #fff;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
}
#fp-lightbox-caption {
	margin-top: 12px;
	color: #fff;
	font-size: 14px;
	text-align: center;
	max-width: 80vw;
}
#fp-lightbox .fp-lightbox-close {
	position: absolute;
	top: 18px;
	right: 24px;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
}

/* Menu */
#menu {
	position: absolute;
	top: 115px;
	width: 100%;
	text-align: center;
}
#menu a {
	padding: 0 8px;
	font-size: 12px;
	text-decoration: none;
	color: #89a;
}
#menu a.open,
#menu a:hover {
	color: #444;
}


/* User pages */
body {
	background: #f0f2f5 url(g/back-top-narrow.png) 0 0 repeat-x;
}
#back {
	min-height: 100%;
	background: url(g/back-bot.png) 0 100% repeat-x;
	position: relative;
}

/* Page width */
.page-width {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}

/* Header */
#header {
	height: 128px;
	line-height: 22px;
	color: #fff;
	font-weight: bold;
	font-size: 13px;
	position: relative;
}
#header-right {
	position: absolute;
	top: 58px;
	right: 0;
	white-space: nowrap;
}
#header-right span {
	padding-left: 10px;
}
#header-right ul {
	list-style-type: none;
	display: inline;
	padding: 0;
	margin-left: 15px;
	border-left: 1px solid #52565b;
}
#header-right li {
	display: inline;
	padding-left: 15px;
}
#header-right a {
	color: #0cf;
	text-decoration: none;
}
#header-right a:hover,
#header-right a.open {
	color: #ff8;
}
#header-right a.last {
	color: #888;
}

/* Logo in header */
#header #logo {
	position: absolute;
	left: 0;
	top: 43px;
}

/* Cars selection in header */
#header-cars {
	display: inline-block;
	padding: 0 5px;
	margin-right: -10px;
	width: 70px;
	height: 22px;
	line-height: 22px;
	vertical-align: top;
	position: relative;
	background: url(g/arrow-down.png) 70px 50% no-repeat;
	z-index: 1;
}
#header-cars:hover {
	background: none;
}
#header-cars div {
	width: 50px;
	position: absolute;
	top: -5px;
	padding: 27px 10px 5px;
	overflow: hidden;
}
#header-cars:hover div {
	background: #31363c;
	-webkit-box-shadow: 0 1px 5px #000;
	-moz-box-shadow: 0 1px 5px #000;
	box-shadow: 0 1px 5px #000;
}
#header-cars a {
	display: none;
	line-height: 22px;
	clear: left;
}
#header-cars a.open {
	position: absolute;
	top: 5px;
	left: 10px;
}
#header-cars:hover a,
#header-cars:hover a.open:hover,
#header-cars a.open {
	display: block;
}
#header-cars:hover a.open {
	color: #0cf;
}
#header-cars:hover a.open:hover,
#header-cars a.open {
	color: #ff8;
}

/* Footer */
#footer-holder {
	position: absolute;
	bottom: 0;
	height: 70px;
	width: 100%;
}
#footer {
	height: 70px;
	line-height: 70px;
	white-space: nowrap;
	color: #999;
	font-size: 11px;
	text-align: center;
}

/* Content */
#content {
	padding-bottom: 100px;
}

/* Inner content */
#inner-content {
	width: 800px;
	margin: 0 auto;
}
#inner-content-left {
	float: left;
	width: 385px;
	margin-right: 30px;
}
#inner-content-right {
	float: left;
	width: 385px;
}
#inner-content-middle {
	width: 385px;
	margin: 0 auto;
}



/* Päevik - header */
#p-header-back {
	background: #32363b;
}
#p-header-left {
	background: url(g/p-h-left.png) 0 0 no-repeat;
}
#p-header-right {
	background: url(g/p-h-right.png) 100% 0 no-repeat;
}
#p-header {
	height: 34px;
	line-height: 34px;
	padding: 4px 0 3px;
	border-bottom: 1px solid #282b2f;
}
#p-header .icon {
	float: left;
	display: block;
	width: 34px;
	height: 34px;
	margin-right: 5px;
	background-image: url(g/button-sprite.png);
	cursor: pointer;
}
#p-header .icon:hover {
	position: relative;
	top: -2px;
}
#p-head-left {
	float: left;
	width: 199px;
	padding-left: 5px;
}
#month-prev,
#month-next {
	display: block;
	float: left;
	width: 18px;
	height: 34px;
	cursor: pointer;
	background: url(g/arrow-left.png) 50% 50% no-repeat;
}
#month-prev:hover,
#month-next:hover {
	opacity: .5;
}
#month-next {
	background-image: url(g/arrow-right.png);
}
#month {
	float: left;
	width: 115px;
	height: 34px;
	text-align: center;
	color: #fff;
	font-size: 13px;
	font-weight: bold;
}
#p-head-center {
	float: left;
	width: 600px;
	padding: 0 30px;
	border: 1px solid #40464d;
	border-width: 0 1px;
}
#p-head-center .box {
	float: left;
	width: 100px;
	line-height: 17px;
	text-align: center;
	font-size: 12px;
	color: #bbb;
}
#p-head-center .box div {
	font-size: 13px;
	color: #fff;
	font-weight: bold;
}
#p-head-right {
	float: right;
	padding-right: 5px;
}

/* Päevik - header buttons */
#lock { background-position: 0 0; }
#lock.locked { background-position: 0 -34px; }
#pdf { background-position: 0 -102px; }
#print { background-position: 0 -68px; }

/* Päevik - confirm dialog */
#paevik-confirm-overlay {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	z-index: 9999;
}
#paevik-confirm-box {
	width: 420px;
	margin: 120px auto 0;
	padding: 18px 20px 16px;
	background: #2f3338;
	border: 1px solid #40464d;
	color: #fff;
}
#paevik-confirm-title {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 8px;
	color: #ff8;
}
#paevik-confirm-body {
	font-size: 13px;
	line-height: 1.4;
	color: #ddd;
}
#paevik-confirm-check {
	margin-top: 10px;
	font-size: 12px;
	color: #bbb;
}
#paevik-confirm-check input {
	vertical-align: middle;
}
#paevik-confirm-actions {
	margin-top: 12px;
}
#paevik-confirm-actions .button {
	float: left;
	margin-right: 8px;
}
#paevik-confirm-actions .button.fixed {
	display: inline-block;
}
#paevik-confirm-actions .button.fixed span {
	width: auto;
}
#paevik-confirm-actions .button.fixed span span {
	padding: 0 18px;
	text-align: center;
}
#paevik-confirm-actions:after {
	content: "";
	display: block;
	clear: both;
}

/* Päevik - table header */
#p-t-head {
	position: relative;
	height: 20px;
	line-height: 20px;
	background: #83878b;
	color: #ccc;
	border: 1px solid #83878b;
	border-width: 1px 0;
	font-size: 12px;
}
.col-1, .col-2, .col-3 {
	position: absolute;
	padding-left: 10px;
}
#p-t-head .col-4 {
	position: absolute;
	left: 200px;
}
.col-1 { width: 25px; left: 0; }
.col-2 { width: 65px; left: 40px; }
.col-3 { width: 60px; left: 120px; }
#p-t {
	position: relative;
	border: 1px solid #83878b;
	border-width: 0 1px 1px;
	background: #fff;
}
#p-t .ride {
	position: relative;
	border-top: 1px solid #eee;
	line-height: 20px;
	font-size: 14px;
}
#p-t .ride:hover {
	background: #eee;
}
#p-t .col-1, #p-t .col-2, #p-t .col-3 {
	position: absolute;
	padding-left: 10px;
	line-height: 30px;
}
#p-t .col-1 span {
	display: block;
	left: 0px;
	text-align: center;
	cursor: pointer;
}
#p-t .col-1 span:hover {
	text-decoration: underline;
}
#p-t .col-2 {
	left: 40px;
}
#p-t .col-3 {
	left: 120px;
	cursor: pointer;
}
#p-t .col-3:hover {
	text-decoration: underline;
}
#p-t .col-4 {
	padding: 5px 30px 5px 200px;
}
/* Ride delete button */
#p-t .delete {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 30px;
	background: url(g/delete.png) 50% 50% no-repeat;
	display: none;
}
#p-t .delete:hover {
	background-image: url(g/delete-hover.png);
}
#p-t #new-ride .delete,
#p-t .ride.active .delete,
#p-t .ride.active:hover .delete {
	display: none;
}
#p-t .ride:hover .delete {
	display: block;
}
/* Ride points */
#p-t .col-4 span {
	padding: 0 0 0 16px;
	background: url(g/next.png) 0 50% no-repeat;
}
#p-t .col-4 span:first-child {
	background-image: none;
	padding: 0;
}
#p-t .col-4 a {
	white-space: nowrap;
	text-decoration: none;
	color: #333;
}
#p-t .col-4 span a {
	padding: 0 0 0 18px;
	background: 0 50% no-repeat;
}
#p-t .col-4 a:hover {
	text-decoration: underline;
}
#p-t .col-4 em {
	padding: 0 11px 0 0;
	margin-left: 5px;
	background: url(g/delete.png) 0 50% no-repeat;
	cursor: pointer;
	display: none;
}
#p-t .col-4 em:hover {
	background-image: url(g/delete-hover.png);
}
#p-t .col-4 a.new {
	padding: 0 0 0 16px;
	background: url(g/next.png) 0 50% no-repeat;
	visibility: hidden;
	font-style: italic;
}
#p-t .col-4 a.new:first-child {
	background-image: none;
	padding: 0;
	visibility: visible;
}
#p-t .ride.active .col-4 a.new {
	visibility: visible;
	color: #b1ebfc;
}
#p-t .ride:hover .col-4 a.new {
	visibility: visible;
}
#p-t .ride .col-2 input {
	padding: 2px;
	border: 0;
	font-size: 14px;
	width: 36px;
	text-align: right;
	background-color: transparent;
}
#p-t .ride .col-2 span {
	padding-left: 3px;
}
/* Active ride */
#p-t .ride.active,
#p-t .ride.active.sorting {
	background: #777;
	color: #fff;
}
#p-t .ride.active .col-4 a {
	color: #fff;
}
#p-t .ride.active .col-4 a.active {
	color: #ff8;
	text-decoration: underline;
}
#p-t .ride.active .col-4 em {
	display: inline;
}
#p-t .ride.active .col-2 input {
	background-color: #fff;
	border: 1px solid #666;
}
/* Sorting ride */
#p-t .ride.sorting {
	background: #def;
	z-index: 1;
}

/* Locked table */
#p-t.locked {
	background: #cfcfcf;
}
#p-t.locked #new-ride {
	display: none;
}
#p-t.locked .ride {
	background: transparent;
}
#p-t.locked .ride .col-4 a.new {
	visibility: hidden;
}
#p-t.locked .cover {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 100;
}

/*  messages */
.message {
	padding: 10px;
	font-size: 14px;
	color: #333;
}

/* Calendar */
#calendar {
	position: absolute;
	left: 100%;
	top: 100%;
	z-index: 5;
	border: 2px solid #3b3e42;
	border-width: 2px;
	background: #eee;
	width: 181px;
	display: none;
	color: #333;
	font-size: 14px;
}
#calendar h1 {
	margin: 0;
	padding: 0 0 3px 0;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background: #3b3e42;
	letter-spacing: 1px;
}
#calendar em,
#calendar span {
	display: block;
	float: left;
	height: 20px;
	line-height: 20px;
	text-align: center;
	border: 1px solid #ccc;
}
#calendar .r {
	border-right: 0;
}
#calendar .b {
	border-bottom: 0;
}
#calendar em {
	width: 26px;
	border-width: 0 0 1px 0;
}
#calendar em.lst,
#calendar span {
	width: 25px;
	border-width: 0 1px 1px 0;
}
#calendar span {
	cursor: pointer;
}
#calendar span:hover {
	background: #ccc;
}
#calendar span.we {
	color: #800;
}
#calendar .active {
	background: #fff;
}

/* Päevik - form */
#pf {
	height: 466px;
	background: #505355;
	position: relative;
	left: 0;
	right: 0;
	display: none;
}
#pf-map {
	width: 450px;
	height: 446px;
	position: absolute;
	left: 8px;
	top: 8px;
	border: 2px solid #3b3e42;
	background: #99b3cc;
}
#pf .label {
	line-height: 30px;
	font-size: 13px;
	font-weight: bold;
	color: #fff;
	white-space: nowrap;
	position: absolute;
	left: 480px;
}
#pf-l-address { top: 10px; }
#pf-l-description { top: 48px; }
#pf-l-choose-point { top: 86px; display: none; }
#pf .field {
	position: absolute;
	left: 553px;
	border: 1px solid #939595;
	background: #fff;
	padding: 5px;
	height: 19px;
}
#pf .field input {
	border: 0;
	padding: 0;
	width: 100%;
	line-height: 17px;
	font-size: 17px;
	background: transparent;
	color: #333;
}
#pf #pf-address {
	top: 10px;
	right: 83px;
	background-image: url(g/search.png);
	background-position: 100% 50%;
	background-repeat: no-repeat;
	padding-right: 25px;
}
#pf #pf-description {
	top: 48px;
	right: 138px;
	padding-left: 30px;
}
#pf-icon {
	position: absolute;
	left: 554px;
	top: 49px;
	width: 29px;
	height: 29px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	cursor: pointer;
	z-index: 1;
}
#pf-points {
	position: absolute;
	left: 469px;
	top: 120px;
	right: 8px;
	height: 334px;
	border: 2px solid #3b3e42;
	background: #fff;
	overflow: auto;
}
/* Buttons */
#pf .button {
	position: absolute;
}
#pf-b-ok {
	right: 10px;
	top: 10px;
	width: 65px;
}
#pf-b-savepoint {
	right: 10px;
	top: 48px;
	width: 120px;
}
#pf-b-saveride {
	right: 10px;
	top: 86px;
	width: 140px;
}

/* Points list */
#pf-points .message {
	display: none;
}
#pf-points .point {
	padding: 0 30px 0 5px;
	line-height: 30px;
	border-bottom: 1px solid #aaa;
	position: relative;
}
#pf-points .point:hover,
#pf-points .point:hover a strong {
	background: #eee;
}
#pf-points .point a {
	position: relative;
	display: block;
	padding-left: 20px;
	min-height: 30px;
	background: 0 50% no-repeat;
	text-decoration: none;
}
#pf-points .point a strong {
	display: block;
	padding-right: 5px;
	font-size: 13px;
	color: #333;
	font-weight: bold;
	text-decoration: none;
	z-index: 1;
	background: #fff;
	position: absolute;
}
#pf-points .point.ride-row a {
	line-height: 13px;
	min-height: 30px;
	background-image: url(g/icon-ride.png);
	padding-bottom: 2px;
}
#pf-points .point.ride-row a strong {
	font-size: 11px;
	background: transparent;
	padding-right: 50px;
	position: relative;
}
#pf-points .point a:hover strong {
	text-decoration: underline;
	background: #eee;
}
#pf-points .point.ride-row a:hover strong {
	background: transparent;
}
#pf-points .point a span {
	font-size: 11px;
	color: #666;
	position: absolute;
	top: 0;
	right: 0;
	line-height: 30px;
	white-space: nowrap;
}
#pf-points .point em {
	display: block;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 0;
	right: 0;
	background: url(g/delete.png) 50% 50% no-repeat;
	cursor: pointer;
}
#pf-points .point em:hover {
	background-image: url(g/delete-hover.png);
}
/* Icon selection */
#pf-icon-select {
	position: absolute;
	width: 75px;
	background: #fff;
	border: 2px solid #3b3e42;
	z-index: 2;
	display: none;
}
#pf-icon-select span {
	display: block;
	float: left;
	width: 25px;
	height: 25px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	cursor: pointer;
}
#pf-icon-select:hover span {
	opacity : .3;
}
#pf-icon-select:hover span:hover {
	opacity : 1;
}


/* Profile cars selection */
#cars {
	margin: 0 0 10px;
	overflow: hidden;
}
#cars a {
	text-decoration: none;
	margin: 0 10px 0 0;
	color: #999;
}
#cars a:hover {
	color: #000;
}
#cars a.open {
	color: #000;
}


/* Form fields */
.field.half {
	float: left;
	width: 50%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.field.half.left {
	padding-right: 4px;
	clear: left;
}
.field.half.right {
	padding-left: 4px;
}


/* Styled fields */
label {
	margin: 0;
	clear: left;
}
.input {
	background: url(g/buttons-fields.png) 0 -155px repeat-x;
	margin: 0 0 8px 0;
}
.field-line {
	line-height: 19px;
	padding: 3px 0;
	margin: 0 0 8px;
	clear: both;
}
.input div {
	background: url(g/buttons-fields.png) 0 -182px no-repeat;
}
.input div div {
	height: 27px;
	line-height: 27px;
	padding: 0 5px;
	font-size: 16px;
	background: url(g/buttons-fields.png) 100% -209px no-repeat;
}
.input input {
	width: 100%;
	border: 0;
	margin: 0;
	padding: 0;
	color: #333;
	vertical-align: baseline;
}
.input input.default {
	font-style: italic;
	color: #999;
}
.input.round { background-position: 0 -236px; margin-left: 12px; margin-right: 12px; }
.input.round div { background-position: 0 -263px; margin: 0 -12px; }
.input.round div div { background-position: 100% -290px; margin: 0; padding: 0 12px; }
.textarea {
	border: 1px solid #c6c8c9;
	background: #fff;
	padding: 2px 2px 2px 5px;
	line-height: 0;
	margin: 0 0 8px 0;
}
.textarea textarea {
	width: 100%;
	border: 0;
	padding: 0;
	line-height: 18px;
	height: 108px;
	margin: 0;
	font-size: 16px;
	color: #333;
}
.textarea textarea.default {
	font-style: italic;
	color: #999;
}

/* Styled buttons */
button.styled {
	border: 0;
	padding: 0;
	background: transparent;
	cursor: pointer;
	overflow: visible;
}
button.styled.right {
	float: right;
}
button.styled span,
.button {
	display: block;
	line-height: 31px;
	height: 31px;
	cursor: pointer;
	font-size: 13px;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	padding: 0;
	border: 0;
	background: url(g/buttons-fields.png) 0 0 repeat-x;
}
a.button {
	float: left;
}
button.styled:hover span,
.button:hover {
	color: #ff8;
}
button.styled span span,
.button span {
	display: block;
	height: 31px;
	line-height: 31px;
	background: url(g/buttons-fields.png) 0 -31px no-repeat;
}
button.styled.fixed span span,
.button.fixed span {
	width: 100%;
}
button.styled span span span,
.button span span {
	padding: 0 22px;
	background: url(g/buttons-fields.png) 100% -62px no-repeat;
}
button.styled.fixeds span span span,
.button.fixed span span {
	padding: 0;
	text-align: center;
}
button.styled.round span, .button.round { margin: 0 24px; }
button.styled.round span span, .button.round span { background-position: 0 -93px; margin: 0 -24px; }
button.styled.round span span span, .button.round span span { background-position: 100% -124px; margin: 0; }
button.styled.red span {
	color: #fa8;
	text-shadow: 0 1px 1px #000;
}
button.styled.red:hover span {
	color: #f64;
}
