* {
    font-family: 'Cairo';
    /*box-sizing: border-box;*/
}

html {
    font-size: 100%;
}

body {
    font-family: 'Cairo';
    font-size: 1em;
}

img.iconMedium {
    width: 32px;
    height: 32px;
}

img.iconSmall {
    height: 1.3em;
    padding: 0em 0.5em;
}

a.TopMenu {
    display: flex;
    align-items: center;
}

a.mapEditLink,
a.mapEditLink:hover,
a.mapEditLink:active,
a.mapEditLink:visited {
    text-decoration: none;
    font-weight: bold;
    color: black;
}

/* Webbplatsens knappstil ska inte påverka Google Maps kontroller.
   Kartans knappar har egna mått; min-width: 110px gör dem annars avklippta.
   :where() gör undantaget utan att öka selektorns specificitet. */
button:not(:where(#map *)) {
    display: flex;
    align-items: center;
    font-family: 'Cairo';
    font-size: 1em;
    /*font-weight: normal;*/
    border: 0px;
    /*display: inline-block;*/
    min-width: 110px;
    margin: 1em 0.5em;
    padding: 0.25em 1em 0.25em 0.25em;
    /*font: 700 12px/1 'Open Sans', sans-serif;*/
    border-radius: 0.4em;
    box-shadow:
        inset 0 -1px 0 1px rgba(0, 0, 0, 0.1),
        inset 0 -10px 20px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    color: #777;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
    background: #f7f7f7;
}

select {
    font-family: 'Cairo';
}

option {
    font-family: 'Cairo';
}

button:not(:where(#map *)):hover {
    background: #eee;
}

button:not(:where(#map *)) > img {
    height: 1.3em;
    padding-right: 0.5em;
}

td > img {
    height: 1.3em;
    padding-right: 0.5em;
}

.alignImage {
    display: flex;
    align-items: center;
}

.NAVsub-menu-parent {
    position: relative;
}

.NAVsub-menu {
    visibility: hidden;
    /* hides sub-menu */
    opacity: 0;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    transform: translateY(-2em);
    z-index: 1;
    transition:
        all 0.3s ease-in-out 0s,
        visibility 0s linear 0.3s,
        z-index 0s linear 0.01s;
}

.title {
    font-weight: bold;
    text-align: left;
}

.NAVsub-menu-parent:hover .NAVsub-menu {
    visibility: visible;
    /* shows sub-menu */
    opacity: 1;
    z-index: 1;
    transform: translateY(0%);
    transition-delay: 0s, 0s, 0.3s;
    /* this removes the transition delay so the menu will be visible while the other styles transition */
}

nav titlebar {
    text-align: left;
    font-weight: 900;
    border: 1px solid black;
}

nav {
    width: 100%;
}

nav a {
    color: black;
    display: block;
    padding: 0.25em 1em;
    text-decoration: none;
}

nav a:hover {
    color: #666666;
    background: #e7e7e7;
}

nav ul,
nav ul li {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

nav > ul {
    background: #eee;
    text-align: right;
}

nav > ul > li {
    display: inline-block;
    text-align: left;
}

nav > ul > li:first-child {
    border-left: none;
}

nav > ul > li > a {
    display: flex;
    align-items: center;
}

nav > ul > li > ul > li > a {
    display: flex;
    align-items: center;
}

a > img {
    height: 1.3em;
    padding-right: 0.5em;
}

h1 {
    font-size: 1.5em;
}

table {
    border: 0px;
    border-spacing: 0px;
    font-size: 100%;
}

input,
select,
textarea,
th,
td {
    font-size: 1em;
}

th {
    font-weight: bold;
    text-align: left;
    border-bottom: 1px solid #ccc;
    padding: 0em 0.5em;
}

tr.user:nth-child(2n) {
    background-color: #eee;
}

tr.userDeleted:nth-child(2n-1) {
    background-color: #fdd;
}

tr.userDeleted:nth-child(2n) {
    background-color: #ecc;
}

tr.userInactive:nth-child(2n-1) {
    background-color: #ddf;
}

tr.userInactive:nth-child(2n) {
    background-color: #cce;
}

tr.deleted {
    font-style: italic;
}

td {
    text-align: left;
    padding: 0em 0.5em;
}

span.checkbox {
    cursor: default;
}

.NAVsub-menu {
    background: #ddd;
}

.box__dragndrop,
.box__uploading,
.box__success,
.box__error {
    display: none;
}

.form-style-10 {
    width: 70%;
    padding: 30px;
    margin: 40px auto;
    background: #fff;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.13);
    -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.13);
    -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.13);
}

.form-style-10 .inner-wrap {
    padding: 30px;
    background: #f8f8f8;
    border-radius: 6px;
    margin-bottom: 15px;
}

.form-style-10 h1 {
    background: #2a88ad;
    padding: 20px 30px 15px 30px;
    margin: -30px -30px 30px -30px;
    border-radius: 10px 10px 0 0;
    -webkit-border-radius: 10px 10px 0 0;
    -moz-border-radius: 10px 10px 0 0;
    color: #fff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.12);
    font:
        normal 30px 'Cairo',
        serif;
    -moz-box-shadow: inset 0px 2px 2px 0px rgba(255, 255, 255, 0.17);
    -webkit-box-shadow: inset 0px 2px 2px 0px rgba(255, 255, 255, 0.17);
    box-shadow: inset 0px 2px 2px 0px rgba(255, 255, 255, 0.17);
    border: 1px solid #257c9e;
}

.form-style-10 h1 > span {
    display: block;
    margin-top: 2px;
    font:
        13px 'Cairo',
        Arial,
        Helvetica,
        sans-serif;
}

.form-style-10 label,
.smallText {
    display: block;
    font:
        13px 'Cairo',
        Arial,
        Helvetica,
        sans-serif;
    color: #888;
    margin-bottom: 15px;
}

.form-style-10 input[type='text'],
.form-style-10 input[type='date'],
.form-style-10 input[type='datetime'],
.form-style-10 input[type='email'],
.form-style-10 input[type='number'],
.form-style-10 input[type='search'],
.form-style-10 input[type='time'],
.form-style-10 input[type='url'],
.form-style-10 input[type='password'],
.form-style-10 textarea,
.form-style-10 select {
    display: block;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 100%;
    padding: 8px;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border: 2px solid #fff;
    font-family: 'Cairo';
    box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.33);
    -moz-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.33);
    -webkit-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.33);
}

.listInList {
    background-color: white;
}

.listInList:hover {
    background-color: #dcedff;
    cursor: default;
}

.listID {
    font-weight: bold;
    padding-right: 20px;
}

.signName {
}

.listbox,
.form-style-10 textarea {
    display: block;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 100%;
    padding: 8px;
    border-radius: 6px;
    background-color: white;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border: 2px solid #fff;
    font-family: 'Cairo';
    font-size: 0.9em;
    color: black;
    box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.33);
    -moz-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.33);
    -webkit-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.33);
    height: 16em;
    overflow-y: scroll;
}

.form-style-10 .section {
    font:
        normal 20px 'Cairo',
        serif;
    color: #2a88ad;
    margin-bottom: 5px;
}

.form-style-10 .section span {
    background: #2a88ad;
    padding: 5px 10px 5px 10px;
    position: absolute;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border: 4px solid #fff;
    font-size: 14px;
    margin-left: -45px;
    color: #fff;
    margin-top: -3px;
}

.form-style-10 input[type='button'],
.form-style-10 input[type='submit'] {
    background: #2a88ad;
    padding: 8px 20px 8px 20px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    color: #fff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.12);
    font:
        normal 30px 'Cairo',
        serif;
    -moz-box-shadow: inset 0px 2px 2px 0px rgba(255, 255, 255, 0.17);
    -webkit-box-shadow: inset 0px 2px 2px 0px rgba(255, 255, 255, 0.17);
    box-shadow: inset 0px 2px 2px 0px rgba(255, 255, 255, 0.17);
    border: 1px solid #257c9e;
    font-size: 15px;
}

.form-style-10 input[type='button']:hover,
.form-style-10 input[type='submit']:hover {
    background: #2a6881;
    -moz-box-shadow: inset 0px 2px 2px 0px rgba(255, 255, 255, 0.28);
    -webkit-box-shadow: inset 0px 2px 2px 0px rgba(255, 255, 255, 0.28);
    box-shadow: inset 0px 2px 2px 0px rgba(255, 255, 255, 0.28);
}

.form-style-10 .smallButton {
    padding: 4px 10px;
}

.form-style-10 input[type='button'].placeButton {
    padding: 4px 10px;
    margin-right: 5px;
    margin-top: 2px;
    font-size: 0.8em;
}

.form-style-10 .privacy-policy {
    float: right;
    width: 250px;
    font:
        12px 'Cairo',
        Arial,
        Helvetica,
        sans-serif;
    color: #4d4d4d;
    margin-top: 10px;
    text-align: right;
}

legend {
    color: #888;
    font:
        14px 'Cairo',
        Arial,
        Helvetica,
        sans-serif;
}

fieldset {
    border: 1px solid #ccc;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

#fileselect {
    display: none;
}

#filedrag {
    display: none;
    font-weight: bold;
    text-align: center;
    padding: 1em 0;
    margin: 1em 0;
    color: #555;
    border: 2px dashed #555;
    border-radius: 7px;
    cursor: default;
}

#filedrag.hover {
    background-color: #0a0;
    color: #fff;
    border-style: solid;
}

#div_tree {
    font:
        10px 'Cairo',
        sans-serif;
    display: inline-block;
    /* width: 450px; */
    float: left;
    -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}

#header {
    padding-bottom: 0.3em;
}

#treetab {
    background-color: #f7f7f7;
    padding: 8px;
    cursor: default;
    float: left;
    border-radius: 0px 5px 5px 0px;
    -webkit-border-radius: 0px 5px 5px 0px;
    -moz-border-radius: 0px 5px 5px 0px;
    -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}

.listtabell {
    border-width: 0px;
    width: 100%;
    padding: 0px;
    border-spacing: 0px;
}

.knappar {
    text-align: right;
    padding-right: 20px;
}

a.knapp,
a.knapp:visited,
a.knapp:active {
    padding: 0px 3px;

    background-color: #dcedff;
    border: 1px solid #2a88ad;
    border-radius: 2px;
    text-decoration: none;
    color: #2a88ad;
    font-size: 0.75em;
}

a.knappInactive,
a.knappInactive:visited,
a.knappInactive:active {
    padding: 0px 3px;

    background-color: #eeeeee;
    border: 1px solid #cccccc;
    border-radius: 2px;
    text-decoration: none;
    color: #999999;
    font-size: 0.75em;
}

#skylttrad {
    /* z-index: 100; */
    position: absolute;
    top: 3em;
}

table.siblingstepper {
    font-size: 0.5em;
    white-space: nowrap;
    width: 150px;
    border: 0px;
    border-spacing: 0px;
    display: none;
}

table.picturestepper {
    white-space: nowrap;
    width: 100%;
    border: 1px;
    border-spacing: 0px;
    display: none;
}

#siblingsFirst,
#siblingsLeft,
#siblingsRight,
#siblingsLast,
#siblingsCounter {
    text-align: center;
    padding: 0px;
}

#pictureCounter {
    text-align: left;
    /* padding: 0px 8px; */
}

#pictureLeft,
#pictureRight {
    text-align: center;
    padding: 0px;
    width: 40px;
}

#siblingsCounter {
    width: 150px;
}

#siblingsFirst,
#siblingsLeft,
#siblingsRight,
#siblingsLast,
#pictureLeft,
#pictureRight {
    cursor: pointer;
}

.siblingsDisabled {
    cursor: default;
    color: rgba(255, 255, 255, 0.25);
}

.pictureDisabled {
    cursor: default;
    color: rgba(0, 0, 0, 0.25);
}

#fotoruta {
    background-repeat: no-repeat;
    background-position: left top;
}

#actionWrapper,
#zoomWrapper,
#sketchWrapper,
#searchWrapper {
    position: absolute;
    left: 0px;
    top: 0px;
    background-color: rgba(255, 255, 255, 0.5);
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: none;
}

#wrapper.blurred {
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
}

.centerInWindow {
    position: absolute;
    left: 50%;
    top: 50%;
}

.centerHorizontally {
    position: absolute;
    left: 50%;
    top: 150px;
}

#actionBox {
    position: absolute;
    width: 800px;
    top: 0px;
}

.priority1 {
    background-color: #7f7;
}
.priority2 {
    background-color: #bf7;
}
.priority3 {
    background-color: #ff7;
}
.priority4 {
    background-color: #fa7;
}
.priority5 {
    background-color: #f77;
}

.plattaInfo {
    font-size: 0.7em;
    width: 20%;
    vertical-align: bottom;
    padding-bottom: 10px;
}

.gmaps * {
    box-sizing: content-box;
}

.searchHilite {
    /* background-color: #EEE */
    text-decoration: underline;
}

#spanOwnershipName {
    font-weight: bold;
}

@media print {
    .noPrint,
    .noPrint * {
        display: none;
    }

    .breakBefore {
        page-break-before: always;
    }

    .smallerForPrint {
        font-size: 1em;
    }

    .toDo {
        width: 100%;
        padding: 0px;
        margin: 0px auto;
        background: #fff;
        border-radius: 0px;
        -webkit-border-radius: 0px;
        -moz-border-radius: 0px;
        box-shadow: none;
        -moz-box-shadow: none;
        -webkit-box-shadow: none;
    }

    .toDo .inner-wrap {
        padding: 0px;
        background: white;
        border-radius: 0px;
        margin-bottom: 15px;
    }

    .toDo h1 {
        background: white;
        padding: 0;
        margin: 0;
        border-radius: 0;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        color: #2a88ad;
        text-shadow: none;
        font:
            normal 30px 'Cairo',
            serif;
        -moz-box-shadow: none;
        -webkit-box-shadow: none;
        box-shadow: inset none;
        border: none;
    }

    .toDo h1 > span {
        display: block;
        margin-top: 2px;
        font:
            13px 'Cairo',
            Arial,
            Helvetica,
            sans-serif;
    }

    .toDo label,
    .smallText {
        display: block;
        font:
            13px 'Cairo',
            Arial,
            Helvetica,
            sans-serif;
        color: black;
        margin-bottom: 15px;
    }

    .toDo input[type='text'],
    .toDo input[type='date'],
    .toDo input[type='datetime'],
    .toDo input[type='email'],
    .toDo input[type='number'],
    .toDo input[type='search'],
    .toDo input[type='time'],
    .toDo input[type='url'],
    .toDo input[type='password'],
    .toDo textarea,
    .toDo select {
        display: none;
    }

    #map {
        width: 180mm;
        height: 200mm;
    }
}

/* Googles platssökning har ett eget färgschema i sin webbkomponent.
   Följ webbplatsens ljusa utseende även om operativsystemet är mörkt.
   Gäller både startsidans sökning och Från/Till i ruttplaneringen. */
gmp-place-autocomplete {
    color-scheme: light;
}
