/**
 * opmaster 2022
 */
/**
 * fonts
 */
/**
 * html basics
 */
body {
  margin: 0;
  padding:0;
  border:0;
  outline:0;
}
ul, ol{
  list-style-type: none;
}
/**
 * markup
*/
h1 {
    font-size: 2.25em;

    line-height: 1.25;
    letter-spacing: 0.75px;
}
h2 {
    font-size: 1.75em;

    line-height: 1.25;
    letter-spacing: 0.5px;
}
h3 {
    font-size: 1.25em;

    line-height: 1.25;
    letter-spacing: 0.375px;
}
@media (max-width: 860px) {
h1 {
    font-size: 1.5em;
}
h2 {
    font-size: 1.25em;
}
h3 {
    font-size: 1.125em;
}
}

p {
    margin: 0;
    margin-bottom: 12px;

    font-size: 1.125em;
    line-height: 1.25;
}
a {
    display: block;
    line-height: inherit;
    letter-spacing: inherit;
}
a:link,
a:active,
a:hover,
a:visited {
    text-decoration: none;
    color: inherit;
}

p a,
p a:link,
p a:active,
p a:visited {
    display: inline;
    text-decoration: underline;
    word-break: break-word;
}


table,
table td,
table tr,
table tbody,
table tfoot {
    padding: 0;
    margin: 0;
    outline: 0;
    border-spacing: 0;
}
table td {
    padding-right: 8px;
}

/**
 * image optimizing
 *
 */
div.imgopt {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
img {
    max-width: 100%;
    width: 100%;
    height: auto;
}

/*
** elems
*/
.separator {
    clear: both;
    overflow: hidden;
    height: 0px;
}

/**
 * texts
 */
.item-box h1,
.item-box h2,
.item-box h3 {
    margin:0;
    line-height: 1;
}
.item-box.menuitem {
    padding-top: 140px;
    margin-top: -140px;
}

/**
 * cookie popup
 */
.eu-cookie-compliance-content {
    max-width: 84%;
}
.eu-cookie-compliance-more-button {
    font-size: 12px;
}
button.eu-cookie-compliance-secondary-button {
    display: inline-block;
    border: white solid 4px;
    padding: 4px 10px;
    padding-top: 6px;
    margin-left: 5px;
    text-transform: uppercase;
}
button.decline-button.eu-cookie-compliance-default-button {
    background: transparent;
    color: white;
    border: none;
    text-shadow: none;
    margin-left: 12px;
    box-shadow: none;
    font-size: 14px;
}
@media screen and (max-width: 860px) {
button.eu-cookie-compliance-secondary-button,
button.decline-button.eu-cookie-compliance-default-button {
    margin-left: 0;

}
}

div#sliding-popup {
    padding-top: 1em;
}
.disagree-button.eu-cookie-compliance-more-button,
.eu-cookie-compliance-agree-button,
.eu-cookie-compliance-default-button,
.eu-cookie-compliance-hide-button,
.eu-cookie-compliance-more-button-thank-you,
.eu-cookie-withdraw-button, .eu-cookie-compliance-save-preferences-button {
    font-family: inherit;
    letter-spacing: 0.375px;
}


/*
** mobile header, menu
*/
.mobile-menu-button {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 20;
    width: 52px;
    height: 52px;
    margin: 0;
    margin-right: 2%;
    background-image: url('../images/menu.png');
    background-position: right center;
    background-repeat: no-repeat;
    
    cursor:pointer;
}
div#menuburger {
    display: none;
}
div#menucancel {
    display: none;
    background-image: url('../images/cancel.png');
}

/*
* hackish sticky menu
*/
@media screen and (max-width: 860px) {
/*
.header::before { 
    content: "<div></div>";
    display:block;
    position:relative;
    width:100%;
    height:90px;
}
*/
.mobile-menu-on .header {
    z-index: 100;
    height: 110%;
    overflow-y: scroll;
}
.mobile-menu-on .mobile-menu-button {
    position: fixed;
    top:0;
    right:0;
}
div#menuburger {
    display: block;
}
.mobile-menu-on div#menuburger {
    display: none;
}
.mobile-menu-on div#menucancel {
    display: block;
}
#menu {
    display: none;
}
.mobile-menu-on #menu {
    display: block;
}
#menu {
    float: none;
    padding: 0;
    padding-top: 24px;
    width: 100%;
    height: auto;
    z-index: 10;
}
.menu a {
    padding: 4px 10px;
    padding-top: 6px;
    margin-left: 2%;
    font-size: 19px;

    float: none;
    display: table;
    margin-bottom: 6px;
}
}

/**
 * layout admin buttons
 */
.item-box .admin-button {
    width: 100%;
}
.item-box.image .admin-button {
    box-sizing: border-box;
    width: auto;
}
.custom-admin .admin-button,
.custom-admin a {
    display:inline-block;
    width: auto;
}
.custom-admin a {
    padding: 3px 6px 3px 0px;
    margin: 2px 0;
}

/**
 * op admin etc.
 */
.op-admin-buttons {
    position: fixed;
    top: 140px;
    right: 30px;
    z-index: 2000;
}
.op-admin-buttons div,
.op-admin-buttons ul,
.op-admin-buttons li {
    padding:0;
    margin:0;
}
.op-admin-buttons li {
    display:inline-block;
}

.client-admin-buttons {
    position: fixed;
    top: 112px;
    right: 30px;
    z-index: 2000;
}
.client-admin-buttons a {
    display: inline-block;
    background: green;
    color: white;
    padding: 3px 6px;
    margin-top: 2px;
    cursor: pointer;
}

/**
 * box admin buttons
 */
.op-admin-buttons a,
.admin-button a,
.itembox-helptext {
    display:inline-block;
    padding:3px 6px 3px 0px;
    margin-top:2px;
}
.op-admin-buttons a,
.admin-button a {
    cursor: pointer;
}
.admin-button a,
.itembox-helptext {
    margin-bottom:2px;
}
.itembox-helptext {
    margin-left: 5px;
}

/**
 * admin lines
 */
.admin-lines-on .downloads,
.admin-lines-on .custom-box,
.admin-lines-on .menu,
.admin-lines-on .item-box {
    border: 3px solid red;
}
.admin-lines-on .downloads {
    box-sizing: border-box;
}
.itembox-helptext {
    display:none;
}
.admin-lines-on .itembox-helptext {
    display: inline-block;
}
.op-admin-buttons a,
.admin-lines-on .admin-button a,
.itembox-helptext {
    background:green;
    color:white;
    padding:3px 6px;
}

.admin-off .op-admin-buttons,
.admin-off .admin-button,
.admin-off .client-admin-buttons a {
    display: none;
}
.admin-off .client-admin-buttons {
    height: 24px;
    width: 24px;
    background-color: green;
    border-radius: 100px;
    cursor: pointer;
}

/**
 * admin
 * draggable image size
 */
.draggable img {
    max-width: 100%;
    width: auto;
    height: auto;
}
