+ p {
+ padding: 7px 10px;
+ font-size: 12px;
+ background-color: #FFF;
+ border: 1px solid #CCC;
+ border-top: 0;
+ border-radius: 0 0 4px 4px;
+ }
+ }
+
+ .browse-tag-list {
+ background-color: #F6F6F6;
+ border: 1px solid #ddd;
+ border-radius: 3px;
+ font-size: 12px;
+ table-layout: fixed;
+ border-collapse: separate;
+
+ th, td {
+ border-bottom: 1px solid #ddd;
+ }
+
+ tr:last-child th, tr:last-child td {
+ border-bottom: 0;
+ }
+
+ .browse-tag-k,
+ .browse-tag-v {
+ width: 50%;
+ padding: 6px 10px;
+ word-wrap: break-word;
+ }
+
+ .browse-tag-k {
+ font-weight: 500;
+ background-color: #F6F6F6;
+ }
+
+ .browse-tag-v {
+ border-left: 1px solid #ddd;
+ background-color: #fff;
+ }
+ }
+
+ .warning {
+ margin: $lineheight/2 0;
+ padding: $lineheight/2;
+ font-size: 90%;
+ }
+
+ .note-comments li {
+ margin: $lineheight/2 0;
+
+ p {
+ margin-left: 10px;
+ }
+ }
+
+ .note-description {
+ overflow: hidden;
+ margin: 0 0 10px 10px;
+ }
+}
+
+/* Rules for export sidebar */
+
+.export_form {
+ padding: $lineheight;
+
+ .export_area_inputs,
+ .export_button {
+ text-align: center;
+ }
+
+ .export_area_inputs {
+ margin-bottom: $lineheight/2;
+ input[type="text"] {
+ width: 80px;
+ text-align: center;
+ margin-bottom: 5px;
+ }
+ }
+
+ .export_boxy {
+ background: #eee;
+ border: 1px solid #ccc;
+ border-radius: 3px;
+
+ #maxlat { margin-top: -1px; }
+ #minlon {
+ float: left;
+ margin-left: -1px;
+ }
+ #maxlon {
+ float: right;
+ margin-right: -1px;
+ }
+ #minlat { margin-bottom: 0; }
+ }
+
+ .export_bound {
+ margin: $lineheight/4;
+ }
+
+ .export_button {
+ margin-top: $lineheight;
+ margin-bottom: $lineheight;
+ }
+
+ dl {
+ padding-left: $lineheight/2;
+ dd {
+ margin-left: 0;
+ margin-bottom: 10px;
+ }
+ }
+}
+
+/* Rules for edit pages */
+
+.site-edit {
+ #content {
+ position: absolute;
+ top: $headerHeight;
+ bottom: 0;
+ width: 100%;
+ }
+
+ #map {
+ height: 100%;
+ overflow: hidden;
+ }
+}
+
+/* Rules for non-map content pages */
+
+.content-heading {
+ background: $lightgrey;
+
+ h1 { font-size: 22px; }
+}
+
+.content-body {
+ h1, h2, h3, p, ul, ol {
+ margin-bottom: $lineheight;
+ }
+
+ h1, h2, h3 {
+ margin-top: $lineheight/2;
+ }
+}
+
+.content-inner {
+ position: relative;
+ max-width: 900px;
+ margin: auto;
+ padding: $lineheight;
+}
+
+/* Overrides for pages that use new layout conventions */
+
+.user-new,
+.user-create,
+.user-terms {
+ .content-body .content-inner {
+ padding: 0;
+ }
+}
+
+.user-new,
+.user-create,
+.user-terms,
+.user-confirm {
+ .content-heading .content-inner {
+ height: 200px;
+ }
+}
+
+.header-illustration {
+ background-position: 0 0;
+ background-repeat: no-repeat;
+ position: absolute;
+ height: 200px;
+ width: 100%;
+ left: 0;
+ bottom: 0;
+
+ &.new-user-main {
+ background-image: image-url("sign-up-illustration.png");
+ }
+
+ &.confirm-main {
+ background-image: image-url("confirm-illustration.png");
+ }
+
+ &.new-user-terms {
+ background-image: image-url("terms-illustration.png");
+ }
+
+ &.new-user-arm {
+ height: 110px;
+ width: 130px;
+ left: 260px;
+ top: 160px;
+ background-image: image-url("sign-up-illustration-arm.png");
+ z-index: 100;
+ }
+}
+
+#content.maximised {
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ border: 0;
+ z-index: 2000;
+}
+
+#slim_container {
+ width: 100%;
+}
+
+#slim_container_content {
+ max-width: 50em;
+ background-color: #FFFFFF;
+ margin: $lineheight/2 auto;
+ padding: 3px;
+ border-radius: 25px;
+ -moz-border-radius: 25px;
+ border: 1px solid #e6e6e6;
+}
+
+#slim_content {
+ margin: $lineheight/2;
+ margin-top: 95px;
+ max-width: 50em;
+
+ .content-heading {
+ margin-bottom: 15px;
+ }
+}
+
+#slim_header {
+ margin: 30px $lineheight/2;
+ position: absolute;
+ top: 0px;
+ margin-right: $lineheight/4;
+ img {
+ vertical-align: middle;
+ margin-bottom: $lineheight/4;
+ margin-right: $lineheight/4;
+ }
+}
+
+/* Rules for small maps in content areas */
+
+.content_map {
+ position: relative;
+ width: 45%;
+ height: 400px;
+ border: 1px solid #ccc;
+ margin-bottom: $lineheight;
+ float: right;
+}
+
+/* Rules for the trace list shown by the traces tab etc */
+
+#trace_list {
+ font-size: $lineheight/2;
+ border-width: 0px;
+ text-align: right;
+
+ .trace_summary {
+ font-size: 12px;
+ color: gray;
+ }
+
+ .trace_pending {
+ color: red;
+ }
+
+ .trace_public {
+ color: green;
+ }
+
+ .trace_identifiable {
+ color: green;
+ }
+
+ .trace_trackable {
+ color: red;
+ }
+
+ .trace_private {
+ color: red;
+ }
+}
+
+/* Rules for the user profile page */
+
+#userinformation {
+
+ min-height: 100px;
+ .userinformation-inner {
+ float: left;
+ }
+ h2 {
+ margin-top: 0;
+ }
+ .user-description {
+ width: 100%;
+ clear: both;
+ }
+ .deemphasize {
+ margin: 0;
+ }
+}
+
+.admin-user-info small {
+ margin-bottom: $lineheight/2;
+ display: inline;
+ margin-right: $lineheight;
+}
+
+.activity-block {
+ clear: left;
+ border-bottom: 1px solid #ccc;
+ padding-bottom: $lineheight;
+ float: left;
+ h3 {
+ margin-bottom: $lineheight/2;
+ }
+}
+
+.contact-activity {
+ margin-top: $lineheight;
+ width: 100%;
+}
+
+.activity-details p {
+ margin-left: 70px;
+ margin-bottom: 0;
+}
+
+#friends-container .contact-activity ul {
+ margin-left: 70px;
+}
+
+.user-view {
+ // Silly exception; remove when user page is redesigned.
+ .content-inner {
+ max-width: none;
+ }
+ p#no_home_location {
+ margin: $lineheight;
+ }
+ .user_thumbnail {
+ margin-top: $lineheight/4;
+ float: left;
+ }
+}
+
+/* Rules for the user map */
+
+.content_map .leaflet-popup-content {
+ margin: $lineheight/2;
+ min-height: 50px;
+}
+
+/* Rules for user popups on maps */
+
+.user_popup {
+ min-width: 200px;
+ p {
+ padding: 0 0 5px 0;
+ margin-top: 0 0 0 60px;
+ font-size: 12px;
+ }
+ img.user_thumbnail {
+ float: left;
+ margin: 0 $lineheight/2 0 0;
+ }
+}
+
+/* Rules for the user list */
+
+#user_list {
+ font-size: $lineheight/2;
+ width: 100%;
+
+ tr {
+ vertical-align: middle;
+ }
+
+ p {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ }
+}
+
+#user_list_actions {
+ float: right;
+ margin-top: $lineheight/2;
+}
+
+/* Rules for the diary list page */
+
+.diary_post {
+ position: relative;
+ margin-top: $lineheight/2;
+ padding-top: $lineheight;
+ border-top: 1px solid #ccc;
+
+ .post_heading {
+ margin-bottom: $lineheight;
+
+ h2 {
+ margin-top: 0;
+ margin-bottom: $lineheight/2;
+ font-size: 24px;
+ }
+ }
+
+ img.user_thumbnail {
+ float: left;
+ }
+
+ small.deemphasize {
+ float: left;
+ display: block;
+ }
+
+ ul.secondary-actions {
+ display: inline-block;
+ }
+}
+
+.content-heading .hide_unless_logged_in { // hacky selector, better to just add a new class to this div
+ display: inline;
+}
+
+/* Rules for the diary entry page */
+
+.diary_entry {
+ #map {
+ position: relative;
+ width: 90%;
+ height: 400px;
+ border: 1px solid #ccc;
+ display: none;
+ margin-bottom: $lineheight;
+ }
+ #newcomment {
+ border-top: 1px solid #ccc;
+ padding-top: $lineheight;
+ margin-top: $lineheight/2;
+ }
+ .comments {
+ max-width: 740px;
+ }
+ .diary-comment {
+ margin-top: $lineheight/2;
+ border-top: 1px dashed #ccc;
+ padding-top: $lineheight/2;
+ &:first-child {
+ margin-top: $lineheight;
+ padding-top: $lineheight;
+ border-top: 1px solid #ccc;
+ }
+ p {
+ margin-bottom: $lineheight/2;
+ }
+ .comment-heading {
+ margin-bottom: 0;
+ margin-top: 0;
+ }
+ }
+}
+
+.diary_entry-view img.user_thumbnail {
+ float: left;
+}
+
+/* Rules for the log in page */
+
+#login_openid_buttons {
+ margin-bottom: 0;
+}
+
+#login_openid_buttons li {
+ float: left;
+ padding: $lineheight/4 $lineheight/2;
+}
+
+/* Rules for the account confirmation page */
+
+.user-terms {
+ .legale {
+ border: 1px solid #ccc;
+ padding: $lineheight;
+ margin-bottom: $lineheight;
+ overflow: auto;
+ height: 20em;
+ }
+
+ #decline {
+ background: $lightblue;
+ &:hover {
+ background: darken($lightblue, $hovercolor);
+ }
+ }
+}
+
+/* Rules for the account settings page */
+
+#accountForm .user_map {
+ position: relative;
+ width: 500px;
+ height: 400px;
+ border: 1px solid #ccc;
+}
+
+#accountForm .user_image {
+ margin-bottom: 0;
+}
+
+#accountForm #user_image {
+ margin-left: 20px;
+}
+
+#accountForm ul.accountImage-options {
+ margin-left: 120px;
+}
+
+.nohome .location {
+ display: none;
+}
+
+#homerow .message {
+ display: none;
+}
+
+.nohome .message {
+ display: inline !important;
+}
+
+.content_map.settings_map {
+ width: 50%;
+ float: none;
+}
+
+/* Rules for the oauth settings page */
+
+.oauth_clients .buttons .oauth-edit {
+ border-radius: 2px 0 0 2px;
+}
+
+.oauth_clients .buttons .oauth-delete {
+ border-radius: 0 2px 2px 0;
+}
+
+/* Rules for messages pages */
+
+.messages {
+ width: 100%;
+ border: 1px solid #ddd;
+
+ input[type="submit"] {
+ margin: auto;
+ }
+ tbody tr {
+ border-top: 1px solid #ccc;
+ }
+
+ .inbox-row {
+ background: #f8f8ff;
+ }
+
+ .inbox-row-unread {
+ background:#CBEEA7;
+ }
+
+ .right {
+ float: right;
+ }
+
+ tr td,
+ tr th {
+ padding: $lineheight/4;
+ }
+ p:last-child,
+ h2:last-child,
+ h3:last-child,
+ ol:last-child,
+ ul:last-child {
+ margin-bottom:0;
+ }
+ tr td {
+ height: 30px;
+ border-right: 1px solid $lightgrey;
+ }
+}
+
+.inbox-row .inbox-mark-read {
+ display: none;
+}
+
+.info-line {
+ margin-bottom: $lineheight;
+ padding: $lineheight/4 0px 4px 0px;
+ border-bottom: 1px solid #ccc;
+
+ form, form div {
+ display: inline;
+ }
+}
+
+.info-line .user_thumbnail_tiny {
+ vertical-align: middle;
+}
+
+.inbox-sent {
+ white-space: nowrap;
+}
+
+.inbox-mark-unread,
+.inbox-mark-read,
+.inbox-delete {
+ width: 1%;
+}
+
+.inbox-row-unread .inbox-mark-unread {
+ display: none;
+}
+
+.message-read .message-buttons {
+ margin-top: $lineheight;
+ margin-bottom: $lineheight * 1.5;
+ padding-top: $lineheight;
+ border-top: 1px solid $lightgrey;
+}
+
+.message-read .buttons .mark-unread-button {
+ border-radius: 0;
+}
+
+/* Rules for "flash" notice boxes shown at the top of the content area */
+
+.error {
+ padding: $lineheight;
+ background-color: #ff7070;
+}
+
+.warning {
+ padding: $lineheight;
+ background-color: #ffe0cc;
+}
+
+.notice {
+ padding: $lineheight;
+ background-color: #CBEEA7;
+}
+
+/* Rules for highlighting fields with rails validation errors */
+
+.formError {
+ display: inline-block;
+ padding: 5px 10px;
+ margin-top: 5px;
+ border-radius: 4px;
+ font-size: 12px;
+ color: #fff;
+ background-color: #ff7070;
+}
+
+/* Rules for rails validation error boxes */
+
+#errorExplanation {
+ width: 400px;
+ border: 2px solid #ff7070;
+ padding: 0 $lineheight/2;
+ margin-bottom: $lineheight;
+ background-color: #f0f0f0;
+
+ h2 {
+ margin: 0 -10px 10px -10px;
+ padding: $lineheight/4 $lineheight/4 $lineheight/4 15px;
+ font-weight: bold;
+ font-size: 12px;
+ background-color: #c00;
+ color: #fff;
+ text-align: left;
+ }
+
+ p {
+ color: #333;
+ margin-bottom: 0px;
+ padding: $lineheight/4;
+ }
+
+ ul {
+ padding-left: $lineheight;
+
+ li {
+ font-size: 12px;
+ list-style: disc;
+ }
+ }
+}
+
+/* Rules for forms */
+
+.standard-form {
+ fieldset {
+ margin-bottom: $lineheight;
+ }
+ label.standard-label {
+ display: block;
+ margin-bottom: $lineheight/4;
+ font-size: $typeheight;
+ font-weight: bold;
+ line-height: 1.5;
+ }
+ label.standard-label.secondary {
+ display: inline-block;
+ font-weight: normal;
+ }
+ .form-help {
+ font-weight: normal;
+ }
+ .form-column {
+ float: left;
+ margin-right: 20px;
+ }
+ .form-divider {
+ margin-top: $lineheight;
+ padding-top: $lineheight;
+ border-top: 1px solid $lightgrey;
+ }
+ .horizontal-list .form-row {
+ float: left;
+ padding-right: 10px;
+ }
+ .form-row {
+ margin-bottom: $lineheight/2;
+ }
+ .form-list {
+ margin-bottom: 0;
+ }
+ .form-list li {
+ margin-bottom: 5px;
+ }
+ input[type="checkbox"],
+ input[type="radio"] {
+ float: left;
+ margin-top: 5px;
+ }
+}
+
+#remember_me_openid {
+ display: block;
+}
+
+input[type="checkbox"],
+input[type="radio"] {
+ margin-right: 5px;
+}
+
+input[type="text"],
+input[type="email"],
+input[type="url"],
+input[type="password"],
+textarea {
+ border: 1px solid #ccc;
+ padding: 2px 5px;
+ margin: 0;
+ width: 200px;
+
+ &.field_with_errors {
+ border: 2px solid #ff7070;
+ }
+}
+
+textarea {
+ padding: 5px;
+ width: 100%;
+}
+
+/* Rules for user images */
+
+img.user_image {
+ max-width: 100px;
+ max-height: 100px;
+ border: 1px solid #ccc;
+ margin-bottom: $lineheight;
+ float: left;
+ margin-right: $lineheight;
+}
+
+img.user_thumbnail {
+ max-width: 50px;
+ max-height: 50px;
+ border: 1px solid #ccc;
+ margin-right: $lineheight;
+}
+
+img.user_thumbnail_tiny {
+ width: auto;
+ height: auto;
+ max-width: 25px;
+ max-height: 25px;
+ border: 1px solid #ccc;
+}
+
+/* Rules for geo microformats */
+
+abbr.geo {
+ border-bottom: none;
+}
+
+/* Rules for RSS buttons */
+
+.rsssmall {
+ position: relative;
+ top: 3px;
+}
+
+/* General styles for action lists / subnavs / pager navs */
+
+ul.secondary-actions {
+ font-style: normal;
+ margin-bottom: 0;
+ margin-left: 0;
+ &.pager {
+ display: inline-block;
+ margin-right: 60px;
+ }
+ > li {
+ display: block;
+ float: left;
+ list-style: none;
+ border-left: 1px solid #ccc;
+ padding-left: $lineheight/2;
+ margin-right: $lineheight/2;
+ &:first-child {
+ border-left: 0;
+ padding-left: 0;
+ }
+ &:last-child {
+ margin-right: 0px;
+ }
+ }
+}
+
+div.secondary-actions {
+ padding: 10px;
+ text-align: center;
+}
+
+/* Utility for managing inner content areas */
+
+.inner22 { padding: $lineheight;}
+
+.inner12 { padding: $lineheight/2 $lineheight;}
+
+.inner11 { padding: $lineheight/2;}
+
+.inner20 { padding: $lineheight 0;}
+
+.inner02 { padding: 0 $lineheight;}
+
+/* Utility for general button styles */
+
+input[type="button"],
+input[type="submit"],
+input[type="reset"],
+a.button {
+ cursor: pointer;
+ border: 0;
+ display: inline-block;
+ line-height: 20px;
+ padding: $lineheight/4 $lineheight/2;
+ min-height: 20px + $lineheight/2;
+ min-width: 120px;
+ margin: 0 0 $lineheight/2 0;
+ color: white;
+ background: $blue;
+ text-align: center;
+ border-radius: 2px;
+ -moz-border-radius: 2px;
+ &:hover {
+ background: darken($blue, $hovercolor);
+ text-decoration: none;
+ }
+ &.deemphasize {
+ background: $lightblue;
+ &:hover {
+ background: darken($lightblue, $hovercolor);
+ }
+ }
+ &:disabled {
+ background: $lightgrey;
+ &:hover {
+ background: $lightgrey;
+ }
+ }
+ &:last-child {
+ margin-bottom: 0;
+ }
+}
+
+.buttons {
+ min-width: 200px;
+ input[type="submit"],
+ input[type="button"],
+ input[type="reset"],
+ .button {
+ box-sizing: border-box;
+ float: left;
+ border-radius: 0;
+ margin:0;
+ min-width: 75px;
+ max-width: 180px;
+ border-right:1px solid white;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ }
+ input:first-child,
+ .button:first-child {
+ border-radius:2px 0 0 2px;
+ }
+ input:last-child,
+ .button:last-child {
+ border-radius:0 2px 2px 0;
+ border-right-width: 0;
+ }
+ input:only-child,
+ .button:only-child,
+ *[value="Hide"] + input:last-child,
+ *[value="Hide"] + .button:last-child {
+ border-radius:2px;
+ border-right-width: 0;
+ }
+ /* if a 3-button set has a hidden middle button */
+ *[value="Hide"] + input:nth-child(3),
+ *[value="Hide"] + .button:nth-child(3) {
+ border-radius:0 2px 2px 0;
+ border-right-width: 0;
+ }
+ /* if a 3-button set starts with a hidden button */
+ *[value="Hide"] + input:nth-child(2):not(:last-child),
+ *[value="Hide"] + .button:nth-child(2):not(:last-child) {
+ border-radius:2px 0 0 2px;
+ border-right-width: 1px;
+ }