/*
Theme Name: CASE77
Theme URI: https://markkinointiukkonen.fi/kotisivut-hinta/
Author: Markkinointi Ukkonen Oy
Author URI: https://markkinointiukkonen.fi/
Description: Case 77:lle tehty WordPress-teema
Version: 1.0
Text Domain: case77
*/

:root {
	--musta: #000000;
	--valkoinen: #FFFFFF;
	--vihrea: #00CD81;
}

/*
Navigo Regular
font-family: "navigo", sans-serif;
font-weight: 400;
font-style: normal;

Navigo Italic
font-family: "navigo", sans-serif;
font-weight: 400;
font-style: italic;

Navigo Black
font-family: "navigo", sans-serif;
font-weight: 900;
font-style: normal;

Navigo Black Italic
font-family: "navigo", sans-serif;
font-weight: 900;
font-style: italic;
*/

h1, h2, h3, h4, h5, h6 {
    word-break: break-word;
    overflow-wrap: break-word;
}

img {
	max-width: 100%;
	height: auto;
}

blockquote {
	quotes: '"' '"' '"' '"';
	font-style: italic;
}

blockquote:before {
    content: open-quote;
}

blockquote:after {
    content: close-quote;
}

.alignleft {
    float: left;
    margin: 0.3em 2em 2em 0;
}

.aligncenter {
	display: block;
	margin: 2em auto;
}

.alignright {
    float: right;
    margin: 0.3em 0 2em 2em;
}

.wp-caption-text {
    font-size: 0.9em;
    font-style: italic;
    margin-top: 0.25em;
}

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}

.embed-container {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
} 

.embed-container iframe,
.embed-container object,
.embed-container embed { 
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

html, body {
	margin: 0;
	font-size: 21px;
}

body {
	background: var(--musta);
	color: var(--valkoinen);
	font-family: "navigo", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 21px;
}

h1, h2, h3, h4, h5, h6 {
    word-break: break-word;
    overflow-wrap: break-word;
}

.rivi {
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
}

.solu {
	display: block;
	box-sizing: border-box;
}

.solu12 {
	width: 100%;
}

.solu11 {
	width: calc(100% / 12 * 11);
}

.solu10 {
	width: calc(100% / 1.2);
}

.solu9 {
	width: 75%;
}

.solu8 {
	width: calc(100% / 1.5);
}

.solu7 {
	width: calc(100% / 12 * 7);
}

.solu6 {
	width: 50%;
}

.solu5 {
	width: calc(100% / 2.4);
}

.solu4 {
	width: calc(100% / 3);
}

.solu3 {
	width: 25%;
}

.solu2 {
	width: calc(100% / 6);
}

.solu1 {
	width: calc(100% / 12);
}

.ylapalkki_ylarivi {
    display: flex;
    justify-content: space-between;
	z-index: 2;
	position: relative;
}

a.logo {
    display: block;
    width: 280px;
}

a.logo img {
    display: block;
    width: 100%;
    height: auto;
}

nav.paavalikko ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    height: 100%;
}

.paavalikko a {
    color: var(--valkoinen);
    font-weight: 900;
    text-transform: uppercase;
    text-decoration: none;
    margin-left: 2.143em;
    transition: 0.25s color;
}

li.ostoskori > a, li.omatili > a {
    display: block;
    text-indent: -9999px;
    width: 78px;
    height: 78px;
    background-repeat: no-repeat !important;
    background-position: center !important;
    transition: 0.25s background-color;
}

li.ostoskori > a {
    background-color: var(--vihrea);
    position: relative;
    background-image: url('./images/ikoni_ostoskori.svg');
    background-size: 65% !important;
	transition: 0.25s background, 0.25s color;
}

.ostoskori span {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--vihrea);
    background: var(--valkoinen);
    text-indent: initial;
    position: absolute;
    top: 8px;
    right: 8px;
    font-weight: 400;
    padding: 0;
    border-radius: 50%;
    width: 27px;
    height: 27px;
    box-sizing: border-box;
    font-size: 0.762rem;
    text-align: center;
    line-height: 1em;
    transition: 0.25s color;
	z-index: 2;
}

li.omatili > a {
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="36.163" height="36.163" viewBox="0 0 36.163 36.163"><path id="person_24dp_1F1F1F_FILL1_wght400_GRAD0_opsz24" d="M178.082-781.918a8.706,8.706,0,0,1-6.385-2.656,8.706,8.706,0,0,1-2.656-6.385,8.706,8.706,0,0,1,2.656-6.385A8.706,8.706,0,0,1,178.082-800a8.706,8.706,0,0,1,6.385,2.656,8.706,8.706,0,0,1,2.656,6.385,8.706,8.706,0,0,1-2.656,6.385A8.706,8.706,0,0,1,178.082-781.918ZM160-763.837v-6.329a6.621,6.621,0,0,1,.989-3.532,6.591,6.591,0,0,1,2.628-2.458,33.554,33.554,0,0,1,7.12-2.628,31.1,31.1,0,0,1,7.346-.876,31.1,31.1,0,0,1,7.346.876,33.554,33.554,0,0,1,7.12,2.628,6.591,6.591,0,0,1,2.628,2.458,6.621,6.621,0,0,1,.989,3.532v6.329Z" transform="translate(-160 800)" fill="%2300cd81"/></svg>');
	background-color: var(--valkoinen);
	margin-left: 0;
	background-size: 55% !important;
}

body.home {
	background-color: var(--musta);
    background-image: url(images/header.jpg);
    background-size: 100% auto;
    background-position: center top;
    background-repeat: no-repeat;
    position: relative;
}

h1,
h2 {
    font-size: 4.048rem;
    line-height: 1.294em;
    color: var(--vihrea);
}

.rajoittaja {
    display: block;
    width: 1740px;
    max-width: 100%;
    padding-left: 50px;
    padding-right: 50px;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
}

.alasivu .esittelyteksti,
.rajoittaja.kapea {
    width: 1514px;
	max-width: 100%;
	box-sizing: border-box;
}

.alasivu .rajoittaja.kapea {
	width: 1514px;
}

.paasisalto_vierekkain {
    display: flex;
    justify-content: space-between;
    margin-top: 11.286em;
}

.paasisalto_kuva {
    display: block;
    width: 33.7%;
    padding-top: 12px;
}

.paasisalto_teksti {
    display: block;
    width: calc(66.3% - 140px);
    position: relative;
    padding-bottom: 90px;
}

img {
    max-width: 100%;
    height: auto;
}

header.ylapalkki.korkea+.paasisalto {
    margin-top: 0;
    margin-bottom: 11.429rem;
}

.paasisalto h3 {
	color: var(--vihrea);
}

.paavalikko a:hover {
    text-decoration: none;
}

a {
    text-decoration: none;
    color: var(--vihrea);
    transition: 0.25s color;
}

a:hover {
    text-decoration: underline;
}

.paasisalto_teksti > *:first-child {
    margin-top: 0;
}

p {
    line-height: 1.714em;
    margin: 1.5em 0;
}

.arkisto_navigointi a,
.wc-block-components-button:not(.is-link),
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button,
.nappula {
	font-family: inherit;
    display: inline-block;
    font-size: 1rem;
    font-weight: 900;
    color: var(--valkoinen);
    background: var(--vihrea);
    padding: 0.74em 1.07em;
    transition: 0.25s background, 0.25s color;
	border-radius: 0;
	border: 0;
	cursor: pointer;
}

.arkisto_navigointi a:hover,
.wc-block-components-button:not(.is-link):hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover {
	background: var(--valkoinen);
	color: var(--vihrea);
	text-decoration: none;
}

.woocommerce ul.products a.button:hover {
	background: var(--musta) !important;
	color: var(--valkoinen) !important;
}

p+.nappula, p+p > .nappula {
    margin-top: 1.238em;
}

.paasisalto_teksti .nappula {
    position: absolute;
    bottom: 0;
    left: 0;
}

.paasisalto_kuva img {
    display: block;
}

.wc-block-components-button:not(.is-link),
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover,
.nappula:hover {
    text-decoration: none;
}

.bg_vihrea {
    display: block;
    background: var(--vihrea);
    color: var(--valkoinen);
    padding-top: 4.190rem;
    padding-bottom: 6.476rem;
}

.bg_vihrea .rajoittaja > *:first-child {
    margin-top: 0;
}

.bg_vihrea .rajoittaja > *:last-child {
    margin-bottom: 0;
}

.bg_vihrea h1, .bg_vihrea h2, .bg_vihrea h3, .bg_vihrea h4 {
    color: var(--valkoinen);
}

.nostot {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 5.095em;
    gap: 2.190em;
    text-align: center;
}

article.nosto {
    display: block;
    background: var(--valkoinen);
    color: var(--musta);
    padding: 0;
    box-sizing: border-box;
    max-width: 100%;
}

.nosto_sisalto {
	display: block;
	padding: 2.762em 2.5em 3.095em 2.5em;
}

.woocommerce h2,
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3,
.u-columns.woocommerce-Addresses h2,
h3 {
    font-size: 1.810rem;
    line-height: 1.237em;
}

a.tuotekuva {
    display: block;
    /*width: 320px;*/
	width: 100%;
    max-width: 100%;
    padding-top: 66.6%;
    margin: 0 auto;
    position: relative;
}

a.tuotekuva img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.nosto h3 {
    margin: 1.190rem 0;
    color: var(--vihrea);
}

.bg_musta {
    padding-top: 9.667rem;
    padding-bottom: 12rem;
    display: block;
    position: relative;
}

.rajoittaja > *:first-child {
    margin-top: 0;
}

.rajoittaja > *:last-child {
    margin-bottom: 0;
}

.lisakuvat .rajoittaja.kapea {
    padding-right: 18rem;
}

.lisakuvat_wrapper {
    display: block;
    position: absolute;
    top: 9.667rem;
    right: 0;
    width: 21.57em;
}

.lisakuvat_wrapper img {
    display: block;
    width: 100%;
    height: 303px;
    object-fit: contain;
    object-position: center right;
    margin-top: -66px;
    position: relative;
}

.lisakuvat_wrapper img:nth-of-type(2) {
    object-position: center left;
    z-index: 1;
}

.lisakuvat_wrapper img:nth-of-type(1) {
    margin-top: 0;
}

.artikkelit .nosto p {
    padding: 0 0.9em;
}

.artikkelit .nosto h3 {
    margin: 1.429rem 0;
}

h3 a {
    color: inherit;
    text-decoration: none;
}

.nosto h3 a:hover {
    text-decoration: none;
}

.nosto h3 a {
    transition: 0.25s color;
}

footer.alapalkki {
    display: block;
    padding: 6.286rem 0 5.762rem 0;
	clear: both;
}

.rajoittaja.tihein {
    width: 1772px;
}

.alapalkki_wrapper {
    display: flex;
    justify-content: space-between;
}

.alapalkki_vasen {
    display: block;
    width: calc(70% - 130px);
    box-sizing: border-box;
    position: relative;
    padding-bottom: 93px;
}

.alapalkki_oikea {
    display: block;
    width: 664px;
    max-width: 30%;
}

.alapalkki_oikea_valkoinen {
    display: block;
    width: 50%;
    background: var(--valkoinen);
    color: var(--vihrea);
}

.alapalkki_laatikko {
    display: block;
    padding-top: 100%;
    position: relative;
}

.alapalkki_laatikko > div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em;
}

.alapalkki_laatikko > div p {
    font-size: 1.5em;
    line-height: 1.270em;
    font-weight: 900;
    font-style: italic;
    margin: 0;
}

.alapalkki_oikea_vihrea {
    display: block;
    width: 50%;
    background: var(--vihrea);
    color: var(--valkoinen);
    margin-left: 50%;
}

.alapalkki_laatikko > div a {
    color: inherit;
}

.alapalkki_data {
    display: grid;
    grid-template-columns: 38% 1fr;
    gap: 3em;
    margin-top: 3rem;
}

.rajoittaja.footer {
    width: 100%;
    padding-left: 124px;
    padding-right: 0;
}

.alapalkki_data h3 {
    margin-top: 0;
    color: var(--vihrea);
    margin-bottom: 2.238rem;
}

.alapalkki_data_oikea ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 35% 65%;
    gap: 0.41em 1em;
}

.alapalkki_data_oikea ul a {
    color: var(--valkoinen);
    text-decoration: none;
    background: url(images/ikoni_nuolioikea.svg);
    background-position: top 5px left;
    background-repeat: no-repeat;
    background-size: 22px 22px;
    padding-left: 34px;
    min-height: 27px;
    display: inline-block;
}

.rajoittaja.footer {
    padding-left: 7%;
}


header.ylapalkki.korkea {
    min-height: 100vh;
    position: relative;
}

.esittelyteksti {
	text-align: center;
	padding: 0 50px 100px 50px;
	margin: 0 auto;
	width: 1514px;
	max-width: 100%;
	box-sizing: border-box;
}

.home .esittelyteksti h1 {
	width: 1200px;
}

.esittelyteksti h1 {
    position: relative;
    z-index: 2;
    width: 1414px;
    max-width: 100%;
    text-align: left;
    margin: 100px 0 0 0;
}

.alapalkki_data_vasen a {
    color: var(--valkoinen);
}

.alapalkki_data_vasen a:hover {
    text-decoration: none;
}

.ikoni_osoite, .ikoni_puh, .ikoni_email {
    display: inline-block;
    padding-left: 30px;
    background: url(images/ikoni_footer_osoite.svg);
    background-size: 20px !important;
    background-position: center left !important;
    background-repeat: no-repeat !important;
    line-height: 1em;
}

a.ikoni_puh {
    background: url(images/ikoni_footer_puh.svg);
}

.ikoni_email {
    background: url(images/ikoni_footer_email.svg);
}

a.sahkopostiosoite > i {
    display: none !important;
}

.alasivu .esittelyteksti {
	display: block;
	position: relative;
	top: unset;
	bottom: unset;
	text-align: initial;
	margin-left: auto;
	margin-right: auto;
	padding-left: 50px;
	padding-right: 50px;
	padding-top: 0;
	width: 1514px;
	height: auto;
  	padding-bottom: 120px;
}

body.alasivu {
	background-image: url('images/header-alasivu.jpg');
	background-color: var(--musta);
	background-size: 100% auto;
	background-position: top center;
	background-repeat: no-repeat;
} 

.alasivu .ylapalkki_wrapper {
	padding-bottom: 10%;
	background: none;
}

.alasivu header.ylapalkki.korkea {
	min-height: unset;
	height: auto;
}

.alasivu .esittelyteksti h1 {
	margin-top: 0;
	margin-bottom: 3rem;
}

.gallery {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 3.048rem;
	margin-bottom: 3rem;
}

.gallery-item {
 	margin-bottom: 0;
}

.gallery-icon.landscape {
	padding-top: 100%;
	position: relative;
}

.gallery-icon.landscape img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.gallery.gallery-columns-1 {
	grid-template-columns: 1fr;
}

.gallery.gallery-columns-2 {
	grid-template-columns: 1fr 1fr;
}

.gallery.gallery-columns-3 {
	grid-template-columns: 1fr 1fr 1fr;
}

.gallery.gallery-columns-4 {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

.gallery.gallery-columns-5 {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.gallery.gallery-columns-6 {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.gallery.gallery-columns-7 {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}

.gallery.gallery-columns-8 {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}

.gallery.gallery-columns-9 {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}

.gallery img {
 	display: block;
	width: 100%;
	height: auto;
	box-sizing: border-box;
}

.gallery dl {
  	margin: 0;
}

.paasisalto p + h3,
.paasisalto ul + h3 {
  margin-top: 7rem;
}

.woocommerce-result-count {
  display: none;
}

.woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering {
  float: none;
}

.woocommerce .woocommerce-ordering select {
	display: block;
	width: auto;
	font-size: 0.7rem;
	font-family: inherit;
	padding: 0.5rem 7rem 0.5rem 0.5rem;
	box-sizing: border-box;
}

.woocommerce ul.products {
  margin-top: 2rem;
}

.woocommerce .woocommerce-breadcrumb {
	display: block;
	padding: 0;
	color: var(--valkoinen);
	margin-bottom: 2rem;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--vihrea);
}

.product::after {
  content: '';
  clear: both;
  display: block;
}

.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--vihrea);
	transition: 0.25s background;
	border: 2px solid var(--vihrea);
	border-radius: 0;
	min-height: 56px;
	box-sizing: border-box;
}

.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: var(--musta);
}

.woocommerce #respond input#submit.alt.disabled, .woocommerce #respond input#submit.alt.disabled:hover, .woocommerce #respond input#submit.alt:disabled, .woocommerce #respond input#submit.alt:disabled:hover, .woocommerce #respond input#submit.alt:disabled[disabled], .woocommerce #respond input#submit.alt:disabled[disabled]:hover, .woocommerce a.button.alt.disabled, .woocommerce a.button.alt.disabled:hover, .woocommerce a.button.alt:disabled, .woocommerce a.button.alt:disabled:hover, .woocommerce a.button.alt:disabled[disabled], .woocommerce a.button.alt:disabled[disabled]:hover, .woocommerce button.button.alt.disabled, .woocommerce button.button.alt.disabled:hover, .woocommerce button.button.alt:disabled, .woocommerce button.button.alt:disabled:hover, .woocommerce button.button.alt:disabled[disabled], .woocommerce button.button.alt:disabled[disabled]:hover, .woocommerce input.button.alt.disabled, .woocommerce input.button.alt.disabled:hover, .woocommerce input.button.alt:disabled, .woocommerce input.button.alt:disabled:hover, .woocommerce input.button.alt:disabled[disabled], .woocommerce input.button.alt:disabled[disabled]:hover {
    background-color: #ae8e12;
    color: #fff;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: #000;
}

.woocommerce-message,
.woocommerce-info {
	border-top-color: #000;
}

.paasisalto .editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link,
.paasisalto .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
.paasisalto .wc-block-components-quantity-selector__button.wc-block-components-quantity-selector__button--plus {
	background: var(--valkoinen);
	color: var(--musta);
	opacity: 1;
	transition: 0.25s background, 0.25s color;
	border: 0;
}


.paasisalto .editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover,
.paasisalto .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover,
.paasisalto .wc-block-components-quantity-selector__button.wc-block-components-quantity-selector__button--plus:hover {
	background: var(--vihrea);
	color: var(--valkoinen);
}
	
.paasisalto .wc-block-components-button:not(.is-link) {
	background: var(--vihrea);
	color: var(--valkoinen);
}

.paasisalto .is-large.wc-block-cart .wc-block-cart-items td,
.paasisalto .wc-block-components-totals-wrapper,
.paasisalto .wp-block-woocommerce-cart-order-summary-totals-block {
	border-top-color: var(--vihrea);
}

.paasisalto .is-large.wc-block-cart .wc-block-cart-items,
.paasisalto .wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
	border-bottom-color: var(--vihrea);
}

.woocommerce .quantity .qty {
	font-size: 1rem;
	font-family: inherit;
	padding: 0.4rem 0.5rem;
	min-height: 56px;
	box-sizing: border-box;
	border-radius: 0;
	border: 0;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
  color: var(--vihrea);
  font-size: 2rem;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price {
  margin: 0 0 2rem 0;
}

.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea {
  display: block;
  width: 100%;
  font-family: inherit;
  font-size: 1rem;
  border: 0;
  margin: 1rem 0;
  padding: 0.845rem;
  box-sizing: border-box;
}

.woocommerce form .form-row .input-text, .woocommerce form .form-row select {
	font-family: inherit;
	font-size: 1rem;
	border: 0;
	margin: 1rem 0;
	padding: 0.845rem;
	box-sizing: border-box;
}

.kolmerivissa {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.857rem;
}

.lomakeotsikko {
	font-size: 1.238rem;
	margin: 0;
}

.kolmerivissa {
  margin-bottom: 1rem;
}

.wpcf7-list-item {
  padding: 0;
  margin: 0 0 0 3.286rem;
}

.wpcf7-form-control.wpcf7-checkbox {
  margin: 1rem 0 2rem 0;
  display: block;
}

.wpcf7-list-item.first {
  margin-left: 0;
}

.wpcf7-list-item label {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	cursor: pointer;
}

.wpcf7-list-item label input[type="checkbox"] {
	display: block;
	width: 28px;
	height: 28px;
	margin: 0 14px 0 0;
}


.wpcf7-submit.nappula {
  border: 0;
  background: var(--valkoinen);
  color: var(--vihrea);
  padding: 1rem 1.3rem;
  cursor: pointer;
}

.wpcf7-submit.nappula:hover {
  background: var(--musta);
}

.wpcf7-not-valid-tip,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  background: #721111;
  color: var(--valkoinen);
  padding: 1rem;
  margin-top: -1rem;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  margin: 2rem 0 0 0;
  border: 0;
  padding: 2rem 1rem;
}


.wpcf7 form.sent .wpcf7-response-output {
  background: var(--musta);
  color: var(--valkoinen);
  margin: 2rem 0 0 0;
  border: 0;
  padding: 2rem 1rem;
  text-align: center;
  display: block !important;
}

.wpcf7 form.sent * {
  display: none;
}

.kuvaus {
	display: block;
	clear: both;
}

.single-product .paasisalto p + h3, .single-product .paasisalto ul + h3 {
	margin-top: 2rem;
}

.woocommerce table.shop_attributes {
	border-top-color: var(--vihrea);
}

.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td {
	border-bottom-color: var(--vihrea);
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 2.190em;
}

.woocommerce ul.products.columns-4 {
	grid-template-columns: 1fr 1fr 1fr 1fr;
}

.woocommerce ul.products.columns-3 li.product, .woocommerce-page ul.products.columns-3 li.product,
.woocommerce ul.products.columns-4 li.product, .woocommerce-page ul.products.columns-4 li.product {
	float: none;
	width: 100%;
	margin: 0;
	background: var(--valkoinen);
	color: var(--musta);
	padding: 0 0 3.095em 0;
	box-sizing: border-box;
	max-width: 100%;
	text-align: center;
}

.woocommerce .products ul::after,
.woocommerce .products ul::before,
.woocommerce ul.products::after,
.woocommerce ul.products::before {
	display: none;
}

.woocommerce ul.products li.product a * {
	cursor: pointer;
}

.cat-description {
  color: var(--musta);
}

.single-product .paasisalto .rajoittaja.kapea {
  padding: 50px;
  width: 1514px;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock {
  color: var(--valkoinen);
}

.woocommerce div.product div.images.woocommerce-product-gallery {
  margin-top: 28px;
}

.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {
  border-color: var(--vihrea);
  border-radius: 0;
}


.wc-block-components-button:not(.is-link) {
  font-weight: bold;
  transition: 0.25s color, 0.25s background !important;
}

.wc-block-components-button:not(.is-link):hover {
  background: var(--valkoinen);
  color: var(--vihrea);
  text-decoration: none;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
	color: var(--vihrea) !important;
	text-decoration: none !important;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover {
	text-decoration: underline !important;
}

.wc-block-components-form .wc-block-components-text-input input[type="email"], .wc-block-components-form .wc-block-components-text-input input[type="number"], .wc-block-components-form .wc-block-components-text-input input[type="password"], .wc-block-components-form .wc-block-components-text-input input[type="tel"], .wc-block-components-form .wc-block-components-text-input input[type="text"], .wc-block-components-form .wc-block-components-text-input input[type="url"], .wc-block-components-text-input input[type="email"], .wc-block-components-text-input input[type="number"], .wc-block-components-text-input input[type="password"], .wc-block-components-text-input input[type="tel"], .wc-block-components-text-input input[type="text"], .wc-block-components-text-input input[type="url"] {
	border-radius: 0 !important;
}

.wc-block-components-totals-item.wc-block-components-totals-footer-item {
	color: var(--vihrea);
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-MyAccount-navigation ul li {
	margin: 0.4rem 0;
}

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
	top: 1.5em;	
}

.woocommerce form .form-row .input-text, .woocommerce form .form-row select {
	border-radius: 0;
}

.woocommerce form .form-row .required {
	color: var(--valkoinen);
}

#slb_viewer_wrap .slb_theme_slb_default .slb_data_title, #slb_viewer_wrap .slb_theme_slb_default .slb_group_status {
	font-family: "navigo", sans-serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
}

.woocommerce ul.products li.product .price {
	color: var(--musta) !important;
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	border-radius: 0;
	box-shadow: none;
	border: 1px solid var(--vihrea);
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	padding-top: 1.2rem;
}

.woocommerce-EditAccountForm.edit-account {
	margin-top: 1.15rem;
}

.woocommerce-account .addresses .title .edit {
  float: none;
  margin-bottom: 0.5rem;
  display: block;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
	display: none;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
	background-color: var(--valkoinen);
	color: var(--musta);
	padding: 1rem 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.woocommerce .woocommerce-message .button {
  margin-top: 1rem;
}

.woocommerce-page .woocommerce-info .button {
	float: none;
	display: inline-block;
	background: var(--vihrea);
	color: var(--valkoinen);
	margin: 1rem 0;
}


.woocommerce-page .woocommerce-info .button:hover {
	background: var(--musta);
	color: var(--valkoinen);
}

.woocommerce-page .woocommerce-info .button:last-child {
	margin-bottom: 0;
}

.woocommerce-MyAccount-content .woocommerce-info {
	margin-top: 2.15rem;
}

.woocommerce-price-suffix {
	display: block;
	font-size: 1rem;
	color: var(--valkoinen);
	line-height: 1em;
}

.woocommerce div.product form.cart .button {
	transition: 0.25s border, 0.25s background, 0.25s color;
}

.woocommerce div.product form.cart .button:hover {
	background: var(--valkoinen);
	color: var(--vihrea);
	border-color: var(--valkoinen);
}

.woocommerce .woocommerce-error .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-message .button, .woocommerce-page .woocommerce-error .button, .woocommerce-page .woocommerce-info .button, .woocommerce-page .woocommerce-message .button {
	float: none;
	display: inline-block;
	margin-top: 1rem;
}

.woocommerce-error li {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.woocommerce .woocommerce-notices-wrapper .button:hover {
	background: var(--musta);
	color: var(--valkoinen);
}

nav.paavalikko li {
	position: relative;
}

nav.paavalikko ul.sub-menu {
	position: absolute;
	top: calc(100% - 1px);
	left: 1.0715rem;
	background: var(--vihrea);
	display: block;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	box-sizing: border-box;
	bottom: unset;
	height: auto;
	left: 2.143rem;
	text-transform: initial;
}

.paavalikko .sub-menu a {
	display: block;
	margin: 0.2rem 1.0715rem;
	padding: 0;
	text-transform: initial;
}

li.menu-item-has-children > a {
	position: relative;
	background: url(./images/ikoni_nuolialas_valkoinen.svg);
	background-size: 14px 14px !important;
	background-position: center right !important;
	background-repeat: no-repeat !important;
	padding-right: 23px;
	transition: 0.25s background;
}

li.menu-item-has-children > a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: url(./images/ikoni_nuolialas.svg);
	background-size: 14px 14px !important;
	background-position: center right !important;
	background-repeat: no-repeat !important;
	opacity: 0;
	transition: 0.25s opacity;
}


.kuvalaatikko {
	display: block;
	padding-top: 66.6%;
	position: relative;
	margin-bottom: 1rem;
	overflow: hidden;
}

.woocommerce ul.products li.product .kuvalaatikko > img {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	object-fit: contain;
	object-position: center;
}

.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 1rem;
	margin-top: 1rem;
}

.woocommerce div.product div.images .flex-control-thumbs > li {
	display: block;
	width: 100%;
	clear: both;
}

.wp-block-separator.is-style-dots {
	display: none;
}

.single-post .esittelyteksti,
.error404 .esittelyteksti {
	padding-bottom: 0;
}

.paivays {
	font-size: 1.5rem;
	font-weight: 600;
	margin: 0 0 0.5rem 0;
}

.solu_12.arkisto_navigointi {
	display: flex;
	gap: 1rem;
	margin-top: 2rem;
}

.esittelyteksti_wrapper {
	position: relative;
	display: block;
}

.artikkelikuva {
	display: block;
	position: absolute;
	top: 15px;
	right: 0;
}

.wc-block-components-product-metadata__description {
	display: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .price {
	padding-left: 2rem;
	padding-right: 2rem;
}

.woocommerce ul.products li.product .button {
	max-width: calc(100% - 2rem);
}

.paasisalto {
	line-height: 1.680em;
}

*:focus-visible {
	outline-color: var(--vihrea) !important;
	outline: 1px solid var(--vihrea) !important;
}

.home .esittelyteksti_wrapper {
	padding-top: 14%;
}

.woocommerce-error {
	border: 3px solid #b81c23;
}

.woocommerce-message {
	border: 0 !important;
}

.woocommerce-account .addresses .title .edit {
	text-transform: lowercase;
}

.woocommerce-account .addresses .title .edit:first-letter {
	text-transform: uppercase;
}

.kuvaus ul {
	list-style-position: inside;
	padding: 0 0 0 8px;
}

.woocommerce ul.products.columns-4 li.product .woocommerce-loop-product__title {
	font-size: 1.4rem;
}

.maksutapabanneri {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	border: 1px solid var(--valkoinen);
}

.woocommerce ul.products li.product .woocommerce-loop-category__title, .cat-description {
	padding-left: 1rem;
	padding-right: 1rem;
}

.nosto.artikkeli {
	padding: 2.5em 1.5em;
}

@media screen and (min-width: 1921px) {
    .lisakuvat_wrapper {
        width: 25%;
    }

    .lisakuvat_wrapper img {
        height: 400px;
    }
	
	.esittelyteksti {
		position: relative;
		z-index: 3;
		top: 0px;
		bottom: 0px;
		height: auto;
	}
}

@media screen and (min-width: 3000px) {
    .lisakuvat_wrapper {
        width: 27%;
    }

    .lisakuvat_wrapper img {
        height: 450px;
    }

    .lisakuvat_wrapper img:nth-of-type(2) {
        object-position: 65%;
    }

    .lisakuvat .rajoittaja.kapea {
        padding-right: 50px;
    }
}

@media screen and (min-width: 4000px) {
    .ylapalkki_wrapper {
        padding-bottom: 0;
    }
	
	.alasivu .ylapalkki_wrapper {
		height: auto;
	}
}

@media screen and (max-width: 2500px) {
	.artikkelikuva {
		width: calc((100% - 1514px) / 2);
	}
}

@media screen and (max-width: 2500px) {
	.artikkelikuva {
		width: calc(((100% - 1514px) / 2) + 300px);
	}
	
	.single-post.alasivu .esittelyteksti,
	.single-post .paasisalto > .rajoittaja,
	.single-post .esittelyteksti.onkuva {
		padding-right: 400px;
	}
}


@media screen and (max-width: 1800px) {
    html, body {
        font-size: 19px;
    }
	
	.home .esittelyteksti h1 {
		width: 1100px;
	}
	
	.esittelyteksti h1 {
		margin-top: 50px;
	}

    .lisakuvat .rajoittaja.kapea {
        padding-right: 30%;
    }

    .lisakuvat_wrapper {
        width: 25%;
    }

    .alapalkki_vasen {
        width: calc(70% - 50px);
    }
	
	.artikkelikuva {
		width: calc(((100% - 1514px) / 2) + 400px);
	}
	
	.single-post.alasivu .esittelyteksti,
	.single-post .paasisalto > .rajoittaja,
	.single-post .esittelyteksti.onkuva {
		padding-right: 500px;
	}
}

@media screen and (max-width: 1600px) {
    html, body {
        font-size: 17px;
    }

    .paasisalto_teksti {
        width: calc(66.3% - 80px);
    }

    .alapalkki_wrapper {
        align-items: center;
    }
	
	.home .esittelyteksti h1 {
		width: 1000px;
	}
}

@media screen and (max-width: 1500px) {
    header.ylapalkki.korkea {
        min-height: unset;
        height: auto;
        margin-bottom: 100px;
    }

    .lisakuvat .rajoittaja.kapea {
        width: 70%;
        padding-right: 0;
        margin: 0;
    }

    .lisakuvat_wrapper {
        position: relative;
        top: 0;
        width: calc(30% - 100px);
    }

    .bg_musta.lisakuvat {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .lisakuvat_wrapper img {
        height: 200px;
        margin-top: -20%;
    }

    .nosto_sisalto {
        padding: 2.5em 1.5em;
    }

    .alapalkki_oikea_valkoinen, .alapalkki_oikea_vihrea {
        /*! width: 100%; */
        /*! margin-left: 0; */
        position: absolute;
        left: 0;
        right: 0;
        font-size: 0.8rem;
    }

    .alapalkki_laatikko {
        padding-top: 0;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
    }

    .alapalkki_wrapper {
        align-items: unset;
    }

    .alapalkki_oikea {
        position: relative;
    }

    .alapalkki_oikea_valkoinen {
        top: 0;
        bottom: 50%;
    }

    .alapalkki_oikea_vihrea {
        top: 50%;
        bottom: 0;
    }
	
	.gallery.gallery-columns-3,
	.gallery.gallery-columns-4,
	.gallery.gallery-columns-5 {
		grid-template-columns: 1fr 1fr 1fr;
	}

	.gallery.gallery-columns-6,
	.gallery.gallery-columns-7,
	.gallery.gallery-columns-8,
	.gallery.gallery-columns-9 {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	}
	
	.esittelyteksti {
		top: 250px;
		bottom: 250px;
		padding-top: 0;
		padding-bottom: 0;
		height: calc(100% - 500px);
	}
	
	.artikkelikuva {
		width: 400px;
	}
	
	.single-post.alasivu .esittelyteksti,
	.single-post .paasisalto > .rajoittaja,
	.single-post .esittelyteksti.onkuva {
		padding-right: 450px;
	}
}

@media screen and (max-width: 1350px) {
    a.tuotekuva {
        width: 100%;
    }
	
	.artikkelikuva {
		width: 300px;
	}
	
	.single-post.alasivu .esittelyteksti,
	.single-post .paasisalto > .rajoittaja,
	.single-post .esittelyteksti.onkuva {
		padding-right: 350px;
	}
}

@media screen and (max-width: 1200px) {
    html, body {
        font-size: 15px;
    }

    .paasisalto_kuva {
        padding-top: 8px;
    }

    .paasisalto_kuva img {
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    a.logo {
        width: 175px;
    }

    li.ostoskori > a, li.omatili > a {
        width: 48px;
        height: 48px;
    }

    .ostoskori span {
        font-size: 0.7em;
        width: 20px;
        height: 20px;
        top: 4px;
        right: 4px;
    }

    .paasisalto_kuva {
        width: 50%;
    }

    .paasisalto_teksti {
        width: calc(50% - 50px);
    }

    .nostot {
        gap: 1em;
    }

    .alapalkki_wrapper {
        display: block;
        position: relative;
        padding-bottom: 120px;
    }

    .alapalkki_vasen {
        width: 100%;
        padding-bottom: 0;
        position: initial;
    }

    .rajoittaja.footer {
        padding-left: 50px;
        padding-right: 50px;
        box-sizing: border-box;
    }

    .alapalkki_data+span {
        /*! position: relative !important; */
        margin: 0;
    }

    .alapalkki_oikea {
        width: 100%;
        max-width: 100%;
        display: block;
        margin-top: 3rem;
    }

    .alapalkki_oikea_valkoinen, .alapalkki_oikea_vihrea {
        position: relative;
        top: unset;
        left: unset;
        right: unset;
        bottom: unset;
        width: 50%;
    }
    
    .alapalkki_oikea_vihrea {
      margin-left: 50%;
    }

    .alapalkki_laatikko {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
    }

    .alapalkki_laatikko > div {
        position: relative;
        padding: 4em 2em;
    }

    .alapalkki_data {
        grid-template-columns: 1fr 1fr;
    }

    .lisakuvat_wrapper img {
        height: 150px;
    }
	
	.artikkelikuva {
		width: 300px;
	}
	
	.single-post.alasivu .esittelyteksti,
	.single-post .paasisalto > .rajoittaja,
	.single-post .esittelyteksti.onkuva {
		padding-right: 350px;
	}
	
	.home .esittelyteksti h1 {
		width: 950px;
	}
}

@media screen and (min-width: 1001px) {
    .mobile_nav_toggle {
        display: none !important;
    }

    .paavalikko li:hover > a {
        color: var(--vihrea);
    }
	
	li.ostoskori > a,
	li.omatili > a {
		position: relative;
	}
  
    li.ostoskori > a::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		transition: 0.25s opacity;
		background: url('./images/ikoni_ostoskori_musta.svg');
		background-size: 65% !important;
		background-repeat: no-repeat !important;
  		background-position: center !important;
		z-index: 1;
    }

    li.omatili > a::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		transition: 0.25s opacity;
		background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="36.163" height="36.163" viewBox="0 0 36.163 36.163"><path id="person_24dp_1F1F1F_FILL1_wght400_GRAD0_opsz24" d="M178.082-781.918a8.706,8.706,0,0,1-6.385-2.656,8.706,8.706,0,0,1-2.656-6.385,8.706,8.706,0,0,1,2.656-6.385A8.706,8.706,0,0,1,178.082-800a8.706,8.706,0,0,1,6.385,2.656,8.706,8.706,0,0,1,2.656,6.385,8.706,8.706,0,0,1-2.656,6.385A8.706,8.706,0,0,1,178.082-781.918ZM160-763.837v-6.329a6.621,6.621,0,0,1,.989-3.532,6.591,6.591,0,0,1,2.628-2.458,33.554,33.554,0,0,1,7.12-2.628,31.1,31.1,0,0,1,7.346-.876,31.1,31.1,0,0,1,7.346.876,33.554,33.554,0,0,1,7.12,2.628,6.591,6.591,0,0,1,2.628,2.458,6.621,6.621,0,0,1,.989,3.532v6.329Z" transform="translate(-160 800)" fill="%23000000"/></svg>');
        background-size: 55% !important;
		background-repeat: no-repeat !important;
  		background-position: center !important;
		z-index: 1;
    }
	
	li.ostoskori > a:hover::after,
	li.omatili > a:hover::after {
		opacity: 1.0;	
	}

    .ostoskori a:hover span {
        color: var(--vihrea);
		background: var(--musta);
    }
	
    .nappula:hover {
        text-decoration: none;
        background: var(--valkoinen);
        color: var(--vihrea);
    }

    .nosto a.nappula:hover {
        background: var(--musta);
        color: var(--valkoinen);
    }

    .nosto h3 a:hover {
        color: var(--musta);
        text-decoration: none;
    }

    .alapalkki_data_vasen a:hover {
        color: var(--vihrea);
        text-decoration: none;
    }
        
    .alapalkki_data_oikea ul a:hover {
        color: var(--vihrea);
    }

	.paavalikko a {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
		display: block;
	}
	
	.paavalikko .sub-menu a:hover {
		color: var(--musta);
	}
	
	nav.paavalikko ul.sub-menu {
		transition: 0.15s transform;
		transform: scaleY(0);
		transform-origin: top;
	}
	
	nav.paavalikko li:hover > ul.sub-menu {
		transform: scaleY(1);
		transition: 0.35s transform;
	}

	li.menu-item-has-children:hover > a::after {
		opacity: 1.0;	
	}
	
	nav.paavalikko ul.sub-menu {
		display: block !important;
	}
}

@media screen and (max-width: 1000px) {
    nav.paavalikko {
        display: block;
        transform: scaleY(0);
        transform-origin: top;
        transition: 0.5s transform;
    }

    .paasisalto_vierekkain {
        display: block;
    }

    .paasisalto_kuva {
        width: 100%;
    }

    .paasisalto_kuva img {
        width: 400px;
        max-width: 100%;
        margin: 0 auto 3em auto;
    }

    .paasisalto_teksti {
        width: 100%;
        /*! text-align: center; */
        padding-bottom: 0;
    }

    .paasisalto_teksti .nappula {
        position: relative;
    }

    .nostot {
        display: block;
    }

    article.nosto {
        margin: 2em auto;
        width: 400px;
        max-width: 100%;
    }

    .bg_musta.lisakuvat {
        flex-direction: column-reverse;
        padding-left: 50px;
        padding-right: 50px;
        box-sizing: border-box;
        padding-bottom: 6rem;
        padding-top: 4rem;
    }

    .lisakuvat_wrapper {
        width: 100%;
        padding-top: 100%;
    }

    .lisakuvat_wrapper img {
        display: block;
        width: calc(50% - 20px);
        height: calc(50% - 20px);
        position: absolute;
    }

    .lisakuvat_wrapper img:nth-of-type(1) {
        top: 0;
        left: calc(25% - -10px);
        z-index: 2;
    }

    .lisakuvat_wrapper img:nth-of-type(2) {
        bottom: 20%;
        left: 0;
        z-index: 3;
    }

    .lisakuvat_wrapper img:nth-of-type(3) {
        bottom: 14%;
        right: 0;
        z-index: 1;
    }

    .lisakuvat .rajoittaja.kapea {
        width: 100%;
        padding: 0;
    }

    .esittelyteksti {
        padding: 50px;
    }
    
    h1 {
        font-size: 3rem;
    }

    h2 {
        font-size: 2.5rem;
    }

	.woocommerce h2,
	.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3,
	.u-columns.woocommerce-Addresses h2,
    h3 {
        font-size: 1.6rem;
    }

    .alapalkki_data {
        display: block;
    }

    .alapalkki_data_oikea {
        margin-top: 3.5em;
    }

    .mobile_nav_toggle {
        display: block;
        width: 48px;
        box-sizing: border-box;
        cursor: pointer;
        padding: 5px 10px;
        background: var(--vihrea);
        z-index: 100;
    }

    .viiva1,
    .viiva2,
    .viiva3 {
		width: 29px;
		height: 5px;
		background-color: var(--valkoinen);
		margin: 6px 0;
		transition: 0.4s;
	}

	.avattu .viiva1 {
		-webkit-transform: rotate(-45deg) translate(-9px, 6px);
		transform: rotate(-45deg) translate(-8px, 7px);
	}

	.avattu .viiva2 {
		opacity: 0;
	}

	.avattu .viiva3 {
		-webkit-transform: rotate(45deg) translate(-8px, -8px);
		transform: rotate(45deg) translate(-8px, -8px);
	}

    nav.paavalikko {
        position: absolute;
        top: 0;
        right: 0;
        background: var(--vihrea);
        padding-top: 50px;
        z-index: 99;
        width: 100%;
    }

    nav.paavalikko ul {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        z-index: 9999;
        position: relative;
        padding-bottom: 1rem;
    }

    .paavalikko a {
        margin-left: 0;
        padding: 0.3em 1em;
        display: block;
        font-size: 1.2em;
    }

    .paavalikko ul>li {
        display: block;
        width: 100%;
    }

    .paavalikko ul>li.ostoskori, .paavalikko ul>li.omatili {
        width: 100%;
    }

    .paavalikko ul>li.ostoskori a, .paavalikko ul>li.omatili a {
        width: 100%;
        box-sizing: border-box;
        text-indent: initial !important;
        height: unset;
    }

    li.ostoskori > a {
        background: none;
    }

    li.omatili > a {
        background: none;
    }

    .ylapalkki_wrapper {
        z-index: 99;
        background: none;
        padding-bottom: 0;
    }
        
    .avattu+nav.paavalikko {
        transform: scaleY(1.0);
    }

    .ostoskori span {
        right: unset;
        font-size: 1em;
        width: auto;
        height: unset;
        position: relative;
        background: none;
        text-align: left;
        display: block;
        color: var(--valkoinen);
        font-weight: 900;
        text-transform: uppercase;
        top: unset;
        bottom: unset;
        left: unset;
    }

    .ostoskori span::before {
        content: 'OSTOSKORI (';
    }

    .ostoskori span::after {
        content: ')';
    }

    .bg_vihrea {
        padding-bottom: 4rem;
    }

    header.ylapalkki.korkea+.paasisalto {
        margin-bottom: 6rem;
    }

    .alapalkki_data_oikea ul a {
        background-position: top 1px left;
        min-height: 23px;
        margin: 0.25em 0;
    }

    .esittelyteksti h1 {
        margin-top: 120px;
    }

    header.ylapalkki.korkea {
        background: url(images/header-mobiili.jpg);
        background-size: 100% auto;
        background-position: center top;
        background-repeat: no-repeat;
        position: relative;
    }
	
	.alasivu header.ylapalkki.korkea {
		background: none;
	}

    footer.alapalkki {
        padding: 4rem 0 4rem 0;
    }

    .ikoni_osoite, .ikoni_puh, .ikoni_email {
        padding-top: 7px;
        padding-bottom: 7px;
    }

    .alapalkki_data+span {
        position: absolute !important;
        margin: 0;
    }

    .alapalkki_wrapper {
        padding-bottom: 100px;
    }
    
    .alapalkki_oikea {
        margin-top: 4em;
        margin-bottom: 2rem;
    }
	
	.gallery.gallery-columns-3,
	.gallery.gallery-columns-4,
	.gallery.gallery-columns-5 {
		grid-template-columns: 1fr 1fr;
	}

	.gallery.gallery-columns-6,
	.gallery.gallery-columns-7,
	.gallery.gallery-columns-8,
	.gallery.gallery-columns-9 {
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	.gallery {
		gap: 1.5rem;
	}
	
	body.alasivu {
		background-image: url('images/header-mobiili-alasivu.jpg');
		background-color: var(--musta);
		background-size: 100% auto;
		background-position: top center;
		background-repeat: no-repeat;
	}
	
	li.menu-item-has-children > a {
		background-position: center right 23px !important;
		padding-right: 42px;
	}
	
	nav.paavalikko ul.sub-menu {
		display: none;
		position: relative;
		left: auto;
	}
	
	.paavalikko .sub-menu a {
		margin-left: 1em;
		margin-right: 1em;
	}
	
	.woocommerce ul.products {
		grid-template-columns: 1fr 1fr;
	}
	
	.alasivu .esittelyteksti {
		padding-bottom: 0;
		padding-top: 50px;
	}
	
	.woocommerce-checkout .esittelyteksti,
	.woocommerce-cart .esittelyteksti {
		padding-bottom: 0;
	}
	
	.woocommerce-account .ylapalkki.korkea,
	.single-post .ylapalkki.korkea,
	.woocommerce-checkout.alasivu .esittelyteksti h1,
	.woocommerce-checkout .ylapalkki.korkea,
	.woocommerce-cart .ylapalkki.korkea {
		margin-bottom: 0;
	}
	
	.single-post .esittelyteksti_wrapper {
		padding-top: 50px;	
	}
	
	.single-product header.ylapalkki.korkea,
	.post-type-archive header.ylapalkki.korkea {
		margin-bottom: 50px;
	}
	
	.single-product .paasisalto .rajoittaja.kapea {
		padding-top: 0;
	}
	
	.order1 {
		order: 1;
	}
	
	 .home .esittelyteksti h1 {
		 width: 650px;
	}
}

@media screen and (max-width: 900px) {
	.esittelyteksti_wrapper {
		display: flex;
		flex-direction: column-reverse;
		z-index: 1;
	}
	
	.artikkelikuva {
		position: relative;
		margin-left: 20px;
		margin-bottom: 40px;
		width: calc(100% - 40px);
		box-sizing: border-box;
	}
	
	.single-post.alasivu .esittelyteksti,
	.single-post .paasisalto > .rajoittaja,
	.single-post .esittelyteksti.onkuva {
		padding-right: 50px;
	}
}

@media screen and (max-width: 800px) {
	.kolmerivissa {
		grid-template-columns: 1fr;
		gap: 0;
	}
	
	.wpcf7-form-control.wpcf7-checkbox {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}
	
	.wpcf7-list-item {
		margin-left: 0;
	}
	
	.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea {
		margin-top: 0.5rem;
		margin-bottom: 0.5rem;
	}
}

@media screen and (max-width: 600px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}
	
    .alapalkki_oikea {
        display: block;
    }
    
    .alapalkki_oikea_valkoinen, .alapalkki_oikea_vihrea {
        width: 50%;
    }
    
    .alapalkki_oikea_vihrea {
        margin-left: 50%;
    }
    
    .alapalkki_laatikko > div {
        padding: 2rem;
        position: absolute;
    }
    
    .alapalkki_laatikko {
        padding-top: 100%;
    }
	
	.woocommerce div.product div.images .flex-control-thumbs {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

@media screen and (max-width: 500px) {
    h1, h2 {
        font-size: 2.5rem;
        /*! -webkit-hyphens: auto; */
        /*! -moz-hyphens: auto; */
        /*! -ms-hyphens: auto; */
        /*! hyphens: auto; */
    }

    .esittelyteksti {
        padding: 20px;
    }

	.single-product .paasisalto .rajoittaja.kapea,
	.alasivu .esittelyteksti,
    .rajoittaja,
    .bg_musta.lisakuvat,
    .rajoittaja.footer {
        padding-left: 20px;
        padding-right: 20px;
    }

    .alapalkki_data_oikea ul {
		display: flex;
		flex-direction: column;
    }

    .alapalkki_data+span {
        font-size: 1rem !important;
    }
    
    .alapalkki_laatikko > div {
        font-size: 0.9rem;
    }
	
	.single-post.alasivu .esittelyteksti,
	.single-post .paasisalto > .rajoittaja,
	.single-post .esittelyteksti.onkuva {
		padding-right: 20px;
	}
}

@media screen and (max-width: 400px) {
    .alapalkki_laatikko > div {
        font-size: 0.75rem;
    }
}

@media screen and (max-width: 300px) {
    nav.paavalikko ul {
        width: 100%;
        box-sizing: border-box;
    }

    nav.paavalikko {
        max-width: calc(100% - 20px);
    }

    .paavalikko a {
        word-break: break-word;
        overflow-wrap: break-word;
    }
    
    .alapalkki_laatikko > div {
        font-size: 0.6rem;
    }
}