/*
Theme Name: Ukeberedskap
Theme URI: https://statcats.net
Author: Niklas // statcats.net
Author URI: https://statcats.net/cats/niklas-alexander-falkenburger/
Description: Et egetutviklet tema for Ukeberedskap, basert på BlankSlate
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2024.2
Requires at least: 5.2
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: blankslate

BlankSlate WordPress Theme 2011-2024
BlankSlate is distributed under the terms of the GNU GPL
*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}

/* START OF GENERAL STUFF */
:root {
    --default-padding: 0px;
    --color-cta: #8F0000;
    --color-cta-rgb: 143, 0, 0;
    --color-default: #000000;
    --color-white: #ffffff;
    --color-secondary: #19120E;
    --color-secondary-lightest: #ffffff;

    --page-max-width: 1440px;
    --content-max-width: 1260px;

    --default-font: "Montserrat", serif;

    font-family: "Montserrat", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

@media screen and (max-width: 1500px) {
    :root {
        --default-padding: 30px;
    }
}

@media screen and (max-width: 900px) {
    :root {
        --default-padding: 16px;
    }
}

.default-padding {
    padding-left: var(--default-padding);
    padding-right: var(--default-padding);
}

.default-width {
    max-width: var(--content-max-width);
    margin-left: auto;
    margin-right: auto;
}

body {
    background-color: var(--color-secondary-lightest);
    color: black;
}

section {
    margin-top: 70px;
    margin-bottom: 70px;
}

section.no-margin {
    margin-top: 0px;
    margin-bottom: 0px;
}

div#wrapper {
    margin: 0 auto;
    background-color: var(--color-white);
    min-height: 100vh;
}

b {
    font-weight: 700;
}

.hover_effect:hover {
    filter: brightness(0.95) saturate(150%);
}

h2 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 15px;
    line-height: 1.3;
}

p {
    margin-bottom: 15px;
    line-height: 1.3;
    font-size: 18px;
}
/* END OF GENERAL STUFF */

/* START OF HEADER */
header#header {
    z-index: 9;
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    background-color: var(--color-secondary);
}

div#wrapper {
    padding-top: 60px;
}

body.logged-in header#header {
    margin-top: 32px;
}

#wpadminbar {
    position: fixed;
}

body.logged-in div#wrapper {
    padding-top: 60px;
}

@media screen and (max-width:782px) {
    body.logged-in header#header {
        margin-top: 46px;
    }
}

nav#menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    max-width: var(--page-max-width);
    margin: 0 auto;
    color: var(--color-white);
}

.top_logo_container {
    display: flex;
    align-items: center;
    font-weight: 700;
    color: var(--color-white);
    text-decoration: none;
}

.top_logo_container:hover {
    text-decoration: underline;
}

.top_logo {
    height: 35px!important;
    margin-right: 10px;
}

nav#menu ul {
    margin-right: 15px;
    display: flex;
}

nav#menu ul li {
    margin-right: 15px;
}

nav#menu ul li:last-child {
    margin-right: 0;
}

nav#menu ul li a {
    color: var(--color-white);
    text-decoration: none;
    padding: 10px 10px;
}

nav#menu ul li a:hover {
    text-decoration: 2px underline var(--color-white);
}

.mobile_menu {
    display: none;
    border: none;
    background-color: unset;
    font-size: 25px;
}

@media screen and (max-width:900px) {
    .usp_bar {
        display: block;
    }
    .mobile_menu {
        z-index: 11;
        display: block;
        color: var(--color-white);
    }
    nav#menu ul {
        display: none;
    }
    nav#menu ul.active {
        position: fixed;
        background-color: var(--color-secondary);
        height: 100vh;
        width: 100vw;
        top: 0;
        left: 0;
        display: flex;
        justify-content: center;
        flex-direction: column;
        z-index: 10;
    }
    nav#menu ul.active li {
        text-align: center;
        display: block;
        margin: 10px 0;
        font-size: 22.5px;
    }
    body.no-scroll-mobile {
        overflow-y: hidden;
    }
}

/* END OF HEADER */


/* START OF HERO */
.hero_inner picture, .hero_inner img {
    display: block;
}

.hero_inner {
    position: relative;
    width: 100%;
    height: 350px;
    overflow: hidden;
}

.hero_inner picture,
.hero_inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.hero_text {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: hsla(0, 0%, 0%, 0.35);
    text-shadow: 0px 0px 10px hsla(0, 0%, 0%, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero_text h1 {
    line-height: 1.25;
    max-width: 600px;
    text-align: center;
    font-size: 30px;
    color: var(--color-white);
}

.usp_bar_container {
    background-color: var(--color-cta);
}

.usp_bar {
    margin: 0 auto;
    padding-top: 10px;
    padding-bottom: 10px;
    display: flex;
    justify-content: space-between;
    color: var(--color-white);
    gap: 20px;
}

.usp_bar div {
    display: flex;
    align-items: center;
}

.usp_bar img {
    height: 25px;
    margin-right: 10px;
}

@media screen and (max-width:900px) {
    .usp_bar {
        display: block;
    }
    .usp_bar div {
        margin-bottom: 12.5px;
    }
    .usp_bar div:last-child {
        margin-bottom: 0;
    }
}


/* END OF HERO */

/* START OF SINGLE-PRODUCT + PRODUCT LOOP */
ul.products input, ul.products select,
.single-product input, .single-product select {
    width: 50px;
    height: 40px;
    text-align: center;
    padding: 0;
    border: none;
    outline: none;
    background-color: #BBABA2;
}

ul.products button[type="submit"], .woocommerce ul.products button[type="submit"], .woocommerce ul.products button[type="submit"]:hover,
body.woocommerce.single-product button[type="submit"], body.woocommerce.single-product button[type="submit"]:hover, ul.products a.custom_kasse_submit {
    width: 100%;
    color: white;
    height: 40px;
    background-color: var(--color-cta);
    border: none;
    cursor: pointer;
    font-size: 16px;
}

ul.products a.custom_kasse_submit {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}

body.woocommerce.single-product button[type="submit"] {
    max-width: 450px;
}

.woocommerce.single-product .woocommerce-Price-amount.amount {
    color: black;
}

.woocommerce.single-product div.product form.cart .variations label {
    font-weight: normal;
}

/* END OF SINGLE-PRODUCT + PRODUCT LOOP */

/* START OF PRODUCT LOOP */
ul.products {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 60px;
}

ul.products .product_image {
    display: block;
    margin: 0 auto;
    text-align: center;
}

ul.products .product_image img {
    height: 175px;
    width: auto;
}

@media screen and (max-width:900px) {
    ul.products .product_image img {
        height: 200px;
        width: auto;
    }
}

ul.products .loop_product:has(.product_image:hover) {
    box-shadow: 0px 5px 9px rgba(var(--color-cta-rgb), 1)
}

ul.products .loop_product {
    padding: 20px;
    box-shadow: 0px 5px 7px rgba(var(--color-cta-rgb), 0.3);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

ul.products .loop_product .short_desc p {
    display: inline;
}

ul.products .product_title {
    margin-top: 15px;
    margin-bottom: 15px;
    font-size: 30px;
    font-weight: 600;
}

.products .product_title a {
    color: black;
    text-decoration: none;
}

ul.products .product_title a:hover {
    text-decoration: underline;
}

ul.products .bottom {
    margin-top: 15px;
}

ul.products table.variations, ul.products table.variations tbody, ul.products table.variations tbody tr, .woocommerce-variation.single_variation, ul.products .quantity-with-label, ul.products .woocommerce-variation-price, ul.products .price_wrapper {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

ul.products table.variations, .woocommerce-variation.single_variation, ul.products .quantity-with-label, .woocommerce-variation.single_variation, ul.products .price_wrapper {
    margin: 20px 0;
}

ul.products .woocommerce-variation-description, ul.products .woocommerce-variation-availability, ul.products .reset_variations {
    display: none;
}

ul.products table.variations td, ul.products table.variations th {
    padding: 0;
}

@media screen and (max-width: 1150px) {
    ul.products {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (max-width: 700px) {
    ul.products {
        display: block;
    }
}

/* END OF PRODUCT LOOP */

/* START OF SINGLE-PRODUCT */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper img {
    max-height: 350px;
    width: auto;
}

.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
    width: 35%;
}

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
    width: 60%;
}

.single-product h1 {
    font-size: 35px;
    font-weight: 600;
    margin-bottom: 25px;
}

.single-product:has(.woocommerce-variation-price) p.price {
    display: none;
}


.single-product table.variations, .single-product table.variations tbody, .single-product table.variations tbody tr, .woocommerce-variation.single_variation, .single-product .quantity-with-label, .single-product .woocommerce-variation-price, .single-product .price_wrapper {
    width: 100%;
    max-width: 450px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.single-product.woocommerce div.product form.cart .reset_variations {
    display: none!important;
}

.single-product .woocommerce-variation-description, .single-product .woocommerce-variation-availability, .single-product .reset_variations {
    display: none;
}

.woocommerce.single-product div.product form.cart .variations select {
    margin-right: 0;
}

.single-product .summary.entry-summary p {
    max-width: 450px;
}

.single-product .product_meta {
    display: none;
}

.single-product .tabs.wc-tabs {
    display: none;
}

.single-product .related.products {
    display: flex;
    flex-wrap: wrap;
}

.single-product .related.products ul.products::before, .single-product .related.products ul.products::after {
    display: none;
} 

@media screen and (max-width: 768px) {
    .woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
        width: 100%;
    }
    .single-product .summary.entry-summary p {
        max-width: unset;
    }
    .single-product table.variations, .single-product table.variations tbody, .single-product table.variations tbody tr, .woocommerce-variation.single_variation, .single-product .quantity-with-label, .single-product .woocommerce-variation-price, .single-product .price_wrapper {
        max-width: unset;
    }
    body.woocommerce.single-product button[type="submit"] {
        max-width: unset;
    }

    .woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
        width: 100%;
    }

    .woocommerce .woocommerce-product-gallery__wrapper a {
        display: flex;
        justify-content: center;
        margin: 0 auto;
    }
}

/* END OF SINGLE-PRODUCT */

/* START OF FRONT PAGE TEXT */

.two_col h2 {
    color: black;
}
.two_col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
}

.two_col .col .top {
    display: flex;
    justify-content: space-between;
}

.two_col .col .top img {
    height: 30px;
}

.two_col a {
    color: white;
}

.two_col .col .links_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.two_col .col .links_grid .link_wrap {
    background-size: cover;
    color: white;
}

.two_col .col .links_grid .link_wrap div {
    height: 100%;
    width: 100%;
    background-color: hsla(0, 0%, 0%, 0.4);
    padding: 15px;
    aspect-ratio: 1.5/1;
}

@media screen and (max-width: 500px) {
    .two_col .col .links_grid { 
        grid-template-columns: 1fr;
        min-height: 100px;
    }

    .two_col .col .links_grid .link_wrap {
        aspect-ratio: 2/1;
    }
}

@media screen and (max-width: 1000px) {
    .two_col {
        display: block;
    }

    .two_col div.col:last-child {
        margin-top: 40px;
    }
}
/* END OF FRONT PAGE TEXT */

/* START OF QUESTION AND ANSWER */
.question_answer_pair {
    margin-bottom: 20px;
}

.question_answer_pair .question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--color-cta);
    cursor: pointer;
    padding: 10px;
    font-size: 18px;
}

.question_answer_pair .question::after {
    display: block;
    content: '▼';
    color: var(--color-cta);
}

.question_answer_pair .question.active::after {
    content: '▲';
}

.question_answer_pair .answer {
    padding: 10px;
    background-color: rgba(var(--color-cta-rgb),.05);
    display: none;
}

.question_answer_pair .answer p:last-child {
    margin-bottom: 0;
}

.two_col a .question_answer_pair a {
    color: black;
}

.question_answer_pair .answer a {
    color: black;
}

.question_answer_pair .answer.active {
    display: block;
}
/* END OF QUESTION AND ANSWER */

/* START OF ARCHIVE-PRODUCT.PHP */
.archive.woocommerce  ul.products::before, .archive.woocommerce  ul.products::after {
    display: none;
}
/* END OF ARCHIVE-PRODUCT.PHP */

/* START OF FOOTER */
footer#footer {
    background-color: var(--color-secondary);
    padding-top: 30px;
    padding-bottom: 30px;
    color: white;
}

footer .footer_cols {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 50px;
}

footer .footer_cols p {
    margin: 20px 0 5px 0;
}

footer .footer_cols p a {
    color: white;
}

footer .footer_cols .col p:first-child {
    margin-top: 0;
}

footer .footer_cols .reduced_margin {
    margin: 5px 0;
}

@media screen and (max-width: 1000px) {
    footer .footer_cols {
        display: block;
    }

    footer .footer_cols .col {
        margin-top: 40px;
    }

    footer .footer_cols .col:first-child {
        margin-top: 0;
    }
}
/* END OF FOOTER */

/* START OF PAGE AND POST */

body.page main#content, body.single-post main#content {
    margin: 35px auto 35px;
    max-width: var(--content-max-width);
    padding-left: var(--default-padding);
    padding-right: var(--default-padding);
}

body:not(.woocommerce-cart).page main#content a {
    color: black;
}

body.page main#content h1, body.single-post main#content h1 {
    font-size: 35px;
    margin-bottom: 20px;
}

body.single-post .entry-footer {
    display: none;
}

body.single-post span[itemprop="name"], body.single-post .meta-sep {
    display: none;
}

body.single-post .entry-meta {
    margin-bottom: 10px;
}

/* END OF PAGE AND POST */

/* START OF GENERAL CART, CHECKOUT, ACCOUNT */

body.woocommerce-cart main#content h1, body.woocommerce-checkout main#content h1, body.woocommerce-account main#content h1 {
    font-size: 35px;
    margin-bottom: 20px;
}

body.woocommerce-cart main#content, body.woocommerce-checkout main#content, body.woocommerce-account main#content {
    margin: 50px auto 50px;
    max-width: var(--content-max-width);
    padding-left: var(--default-padding);
    padding-right: var(--default-padding);
}

@media screen and (max-width:900px) {
    body.woocommerce-cart main#content, body.woocommerce-checkout main#content {
        margin: 30px auto 0;
    }
}

body.woocommerce-cart .wc-block-cart__submit-container {
    background-color: var(--color-cta)!important;
}

body.woocommerce-cart .wc-block-cart__submit-container a {
    font-size: 20px;
    font-weight: 600;
    color: white;
    text-decoration: none;
    height: 40px;
}

.wc-block-cart__submit.wp-block-woocommerce-proceed-to-checkout-block {
    margin-top: 30px;
}

body.woocommerce-cart .wc-block-cart__submit-container--sticky .wc-block-components-button.wc-block-cart__submit-button {
    min-height: unset;
    height: 40px;
}

body.woocommerce-cart .wc-block-components-product-name {
    color: black;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    font-size: 20px;
    font-weight: 600;
    color: white;
    text-decoration: none;
    height: 40px;
    background-color: var(--color-cta);
    border: none;
}

body.woocommerce-account input, body.woocommerce-account select {
    height: 30px;
}

body.woocommerce-account #username, body.woocommerce-account #password {
    height: 30px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 600;
    color: black;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul li a, body.woocommerce-account a:not(.top_logo_container) {
    color: black;
}

/* END OF GENERAL CART, CHECKOUT, ACCOUNT */
/* START OF DESIGN EGEN KASSE */

.page-template-page-design-egen-kasse .product-wrap {
    display: flex;
    justify-content: space-between;
    padding: 15px;
}

.page-template-page-design-egen-kasse .product-item {
    box-shadow: 0px 0px 7px rgba(var(--color-cta-rgb), 0.3);
    margin-bottom: 20px;
    max-width: 750px;
}

.page-template-page-design-egen-kasse .product_image_and_meta {
    display: flex;
}

.page-template-page-design-egen-kasse .product-meta {
    margin-left: 25px;
    margin-right: 25px;
}

.page-template-page-design-egen-kasse .product-item img {
    height: auto;
    width: 125px;
}

.page-template-page-design-egen-kasse h2 {
    font-size: 22px;
}

.page-template-page-design-egen-kasse .product-item.purchased {
    box-shadow: 0px 0px 9px rgba(0, 153, 0, 1)
}

.page-template-page-design-egen-kasse .added-msg {
    display: none;
}

.page-template-page-design-egen-kasse .product-item.purchased .added-msg {
    top: -10px;
    right: -10px;
    position: absolute;
    display: block;
    min-width: 210px;
    text-align: right;
}

.page-template-page-design-egen-kasse .product-form {
    position: relative;
    display: flex;
    align-items: center;
}

.page-template-page-design-egen-kasse input[name="quantity"] {
    width: 50px;
    height: 40px;
    text-align: center;
    padding: 0;
    border: none;
    outline: none;
    background-color: #BBABA2;
    font-size: 16px;
    font-weight: 700;
}

.page-template-page-design-egen-kasse button[type="button"] {
    background-color: var(--color-cta);
    color: white;
    font-size: 16px;
    padding: 0 15px;
    border: none;
    cursor: pointer;
    text-wrap: nowrap;
}

.page-template-page-design-egen-kasse .quantity_and_button {
    display: flex;
    flex-wrap: nowrap;
}

@media screen and (max-width: 815px) {
    .page-template-page-design-egen-kasse .product-wrap {
        display: block;
    }
    .page-template-page-design-egen-kasse .product-form {
        margin-top: 15px;
    }
    .page-template-page-design-egen-kasse .product-item.purchased .added-msg {
        position: unset;
        text-align: left;
        top: 0;
        right: 0;
        margin: 0 0 0 15px;
    }
}

@media screen and (max-width: 500px) {
    .page-template-page-design-egen-kasse .product_image_and_meta {
        display: block;
    }
    .page-template-page-design-egen-kasse .product-meta {
        margin: 15px 0;
    }
}

@media screen and (max-width: 450px) {
    .page-template-page-design-egen-kasse .product-form {
        flex-wrap: wrap;
    }
    .page-template-page-design-egen-kasse .product-item.purchased .added-msg {
        margin: 15px 0 0 0;
    }
}
/* END OF DESIGN EGEN KASSE */