/*
Theme Name: Markkinointi Ukkosen WordPress-teema
Theme URI: https://markkinointiukkonen.fi/kotisivut-hinta/
Author: Markkinointi Ukkonen Oy
Author URI: https://markkinointiukkonen.fi/
Description: Markinointi Ukkosen käyttämä WordPress-teema.
Version: 2.0.5
Text Domain: teemaukkonen
*/

:root {
	--musta: #000000;
	--valkoinen: #000000;
	--paavari: #000000;
	--lisavari: #000000;
	--alapalkki: #000000;
	--teksti: #000000;
	--footnote: #000000;
    --rajoittaja: 1720px;
    --rajoittajakapea: 1330px;
    --fonttikoko: 20px;
    --turva: 20px;
    --isoturva: 70px;
    --logo: 162px;
}


head, body {
    margin: 0;
    padding: 0;
}

body {
    background: var(--valkoinen);
    color: var(--teksti);
    font-size: var(--fonttikoko);
    font-family: "Mulish", sans-serif;
    font-weight: 400;
    font-style: normal;
}

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

a {
    color: var(--teksti);
    text-decoration: underline;
    transition: 0.25s color;
}

a:hover {
    color: var(--paavari);
}

h1, h2, h3, h4, h5 {
    font-weight: 800;
    line-height: 1.154em;
    margin: 1.5em 0 1em 0;
}

h1 {
    font-size: 3.250em;
    margin: 40px 0;
}

h2 {
    font-size: 2em;
}

h3,
h1.blogiotsikko,
.single .paasisalto h1 {
    font-size: 1.75em;
}

.single .paasisalto h2 {
    font-size: 1.75em;
}

.single .paasisalto h3 {
    font-size: 1.5em;
}

h4 {
    font-size: 1.3em;
}

h5 {
    font-size: 1em;
}

.paavari {
    background: var(--paavari);
    color: var(--valkoinen);
}

.lisavari {
    background: var(--lisavari);
    color: var(--paavari);
}

.rajoittaja {
    display: block;
    width: var(--rajoittaja);
    padding-left: calc(var(--turva) * 2);
    padding-right: calc(var(--turva) * 2);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    max-width: 100%;
}

.rajoittaja.kokolevea {
    width: 100%;
    max-width: 100%;
    padding-left: calc(var(--turva)* 2);
    padding-right: calc(var(--turva)* 2);
}

.flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    box-sizing: border-box;
}

.flex.valigntop {
    align-items: flex-start;
}

.flex.valigncenter {
    align-items: center;
}

.flex.valignbottom {
    align-items: flex-end;
}

.flex > div {
    display: block;
    box-sizing: border-box;
}

.solu_12 {
    width: 100%;
}

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

.solu_10 {
    width: calc(100% / 12 * 10);
}

.solu_9 {
    width: 75%;
}

.solu_8 {
    width: calc(100% / 12 * 8);
}

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

.solu_6 {
    width: 50%;
}

.solu_5 {
    width: calc(100% / 12 * 5);
}

.solu_4 {
    width: calc(100% / 12 * 4);
}

.solu_3 {
    width: 25%;
}

.solu_2 {
    width: calc(100% / 12 * 2);
}

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

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%;
}

.hero_vasen, .hero_oikea {
    display: block;
    width: 50%;
}

.hero.flex {
    align-items: stretch;
}

.hero_vasen {
    background-size: cover !important;
    background-position: center !important;
    background-color: var(--paavari);
}

.yksisisalto > *:first-child,
.sisaltorivi > * > *:first-child,
.rajoittaja > *:first-child,
.alapalkki_solu > *:first-child,
.alapalkki_solu > *:first-child > *:first-child,
.nappula_wrapper > *:first-child,
.pystyteksti_sisalto > *:first-child {
    margin-top: 0 !important;
}

.yksisisalto > *:last-child,
.sisaltorivi > * > *:last-child,
.rajoittaja > *:last-child,
.alapalkki_solu > *:last-child,
.alapalkki_solu > *:last-child > *:last-child,
.nappula_wrapper > *:last-child,
.pystyteksti_sisalto > *:last-child {
    margin-bottom: 0 !important;
}

.rajoittaja.puolikas {
    width: calc(var(--rajoittaja) / 2);
    padding-left: 50px;
    padding-right: 50px;
    margin-left: auto;
    margin-right: auto;
}

.sisaltorivi {
    margin-left: calc(var(--turva) * -1);
    margin-right: calc(var(--turva) * -1);
    width: calc(100% + (var(--turva) * 2));
    max-width: calc(100% + (var(--turva) * 2));
    padding-top: calc(var(--turva) * 6);
    padding-bottom: calc(var(--turva) * 6);
}

.sisaltorivi > * {
    display: block;
    padding: var(--turva);
    order: 1;
    position: relative;
}

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

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

article.nosto {
    width: calc(100% / 3);
    text-align: center;
    padding: calc(var(--turva) * 2);
    box-sizing: border-box;
}

.nostot.flex {
    width: calc(100% + (var(--turva) * 4));
    max-width: calc(100% + (var(--turva) * 4));
    margin-left: calc(var(--turva) * -2);
    margin-right: calc(var(--turva) * -2);
    padding-top: calc(var(--turva) * 4);
    padding-bottom: calc(var(--turva) * 4);
    box-sizing: border-box;
}

.ylavalikko .rajoittaja {
    justify-content: space-between;
}

.rajoittaja.kapea {
    width: var(--rajoittajakapea);
}

.rajoittaja.levea {
    width: calc(var(--rajoittaja) + 200px);
}

.alapalkki_yla {
    background: var(--alapalkki);
    color: var(--valkoinen);
    padding-top: calc(var(--turva) * 7);
    padding-bottom: calc(var(--turva) * 7);
}

.alapalkki_logo {
    display: block;
    width: 100%;
    margin-bottom: 1.5em;
}

.alapalkki_logo img {
    display: block;
    margin: 0 auto;
}

.alapalkki_solu {
    display: block;
    width: calc(100% / 3);
    text-align: center;
    padding: calc(var(--turva) * 2);
}

.alapalkki_ala {
    background: var(--footnote);
    padding-top: calc(var(--turva) * 2);
    padding-bottom: calc(var(--turva) * 2);
    color: var(--paavari);
}

.footnote {
	background: var(--footnote);
	color: var(--valkoinen);
}

a.paalogo {
    display: block;
    width: var(--logo);
	text-decoration: none;
}

.flex > div.mobile_nav_toggle {
    display: none;
}

nav.paavalikko {
    display: block;
    width: calc(100% - var(--logo));
}

nav.paavalikko ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

nav.paavalikko a {
    display: block;
    color: var(--teksti);
    text-transform: uppercase;
    font-weight: 700;
    transition: 0.5s border;
    border-bottom: 2px solid rgba(0,0,0,0);
    padding: 5px 0;
    text-decoration: none !important;
    font-size: 1em;
}

nav.paavalikko li {
    display: block;
    margin-left: calc(var(--turva) * 2.75);
}

header.ylavalikko {
    display: block;
    padding-top: 13px;
    padding-bottom: 12px;
    position: relative;
}

.hero_oikea {
    padding: calc(var(--turva) * 10.5) calc(var(--turva) * 7);
}

.yksisisalto {
    display: block;
    padding-top: calc(var(--turva) * 7);
    padding-bottom: calc(var(--turva) * 3);
}

.yksisisalto:last-child {
    padding-bottom: calc(var(--turva) * 8);
}

.alapalkki_ala p {
    margin: 0;
}

.alapalkki_ala .rajoittaja > div {
    margin: 0 var(--turva);
}

.alapalkki_ala a {
    color: var(--teksti);
    padding: 3px 0;
    text-decoration: none;
}

input[type="submit"],
a.nappula,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    font-family: "Mulish", sans-serif;
    display: inline-block;
    font-size: 1em;
    font-weight: 800;
    background: var(--paavari);
    color: var(--valkoinen);
    padding: 19px 50px;
    border-radius: 53px;
    line-height: 1em;
    margin: calc(var(--turva) * 2) calc(var(--turva) * 1.25) 0 0;
    transition: 0.25s background, 0.25s color;
    text-decoration: none !important;
    cursor: pointer;
    border: 0;
}

.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    font-weight: 400;
}

.paavari input[type="submit"],
.paavari a.nappula {
    background: var(--valkoinen);
    color: var(--paavari);
}

input[type="submit"]:hover,
.paavari input[type="submit"]:hover,
a.nappula:hover,
.paavari a.nappula:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: var(--teksti);
    color: var(--valkoinen);
}

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

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

.tyhja_1 {
    width: calc(100% - (100% / 12));
    margin-left: calc(100% / 12);
}

.tyhja_2 {
    width: calc(100% - (100% / 12 * 2));
    margin-left: calc(100% / 12 * 2);
}

.tyhja_3 {
    width: 75%;
    margin-left: 25%;
}

.tyhja_4 {
    width: calc(100% - (100% / 12 * 4));
    margin-left: calc(100% / 12 * 4);
}

.tyhja_5 {
    width: calc(100% - (100% / 12 * 5));
    margin-left: calc(100% / 12 * 5);
}

.tyhja_6 {
    width: 50%;
    margin-left: 50%;
}

.tyhja_7 {
    width: calc(100% - (100% / 12 * 7));
    margin-left: calc(100% / 12 * 7);
}

.tyhja_8 {
    width: calc(100% - (100% / 12 * 8));
    margin-left: calc(100% / 12 * 8);
}

.tyhja_9 {
    width: 75%;
    margin-left: 25%;
}

.tyhja_10 {
    width: calc(100% - (100% / 12 * 10));
    margin-left: calc(100% / 12 * 10);
}

.tyhja_11 {
    width: calc(100% - (100% / 12 * 11));
    margin-left: calc(100% / 12 * 11);
}

nav.paavalikko a:hover {
    border-bottom: 2px solid var(--teksti);
}

p {
    margin: 1em 0;
    line-height: 1.750em;
    font-size: 1em;
}

.nostot h4 {
    margin-top: calc(var(--turva) * 1.5);
    margin-bottom: calc(var(--turva) * 2);
}

article.nosto img {
    display: block;
    margin: 0 auto;
}

a.nappula:last-child,
input[type="submit"]:last-child {
    margin-right: 0;
}

.alapalkki h4 {
    margin-top: calc(var(--turva)* 4);
    margin-bottom: calc(var(--turva) * 2);
}

.alapalkki_ala a:hover {
    color: var(--paavari);
}

.alapalkki_logo:empty,
.alapalkki_solu:empty {
    display: none !important;
}

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

.paavari a,
.paavari .sisaltorivi a:not(.nappula) {
    color: var(--valkoinen);
}

.paavari a:hover {
    color: var(--teksti);
}

.alapalkki_yla a:hover {
    color: var(--lisavari);
}

.alapalkki_yla .flex {
    align-items: flex-start;
}

.hero_oikea h1 {
    margin-bottom: 33px;
}

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

.nosto img {
    width: 70px;
    height: 70px;
    object-fit: contain;
    object-position: center;
}

.lisavari a {
    color: var(--paavari);
}

.lisavari a:hover {
    color: var(--teksti);
}

.lisavari a.nappula,
.lisavari input[type="submit"],
.lisavari a.nappula:hover,
.lisavari input[type="submit"]:hover {
    color: var(--valkoinen);
}

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

header.ylavalikko.alasivu {
    background: var(--paavari);
}

.alasivu nav.paavalikko a {
    color: var(--valkoinen);
}

.alasivu nav.paavalikko a:hover {
    border-bottom: 2px solid var(--valkoinen);
}

section.sivunnimi {
    display: block;
    background: var(--paavari);
    color: var(--valkoinen);
    text-align: center;
    padding-top: calc(5 * var(--turva));
    padding-bottom: calc(3 * var(--turva));
}

.flex.spacebetween {
    justify-content: space-between;
}

.pystyteksti_rajoittaja {
    display: flex;
    padding-left: 182px;
    padding-right: 0;
    position: relative;
    padding-top: calc(var(--turva)* 7);
    padding-bottom: calc(var(--turva)* 8);
}

h3.pystyotsikko {
    position: absolute;
    top: calc(var(--turva)* 7);
    left: 0px;
    transform: rotate(180deg);
    text-align: right;
    writing-mode: vertical-lr;
    font-weight: 800;
    margin: 0;
    white-space: nowrap;
    line-height: 1em;
}

.hinnasto_kohta {
    display: flex;
    width: 100%;
    justify-content: space-between;
    border-bottom: 1px solid var(--paavari);
    margin-bottom: 20px;
}

.hinnasto_kohta > * {
    display: block;
    padding-bottom: 10px;
}

.pystyteksti_sisalto {
    width: 100%;
    box-sizing: border-box;
}

.pystyteksti_sisalto h4 {
    margin-top: 2.5em;
    margin-bottom: 1.5em;
}

.hinnasto_vasen > * {
    display: block;
    margin-bottom: 10px;
}

.hinnasto_oikea {
    white-space: nowrap;
}

.hinnasto_vasen {
    padding-right: 2em;
    box-sizing: border-box;
}

.yhteyshenkilokuva {
    display: block;
    width: 345px;
    max-width: 100%;
    position: relative;
    margin: 0 auto 2em auto;
}

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

.yhteyshenkilokuva > span {
    display: block;
    padding-top: 100%;
}

.sisaltorivi > *.ylapadding,
.ylapadding > * {
    padding-top: calc(var(--turva) * 5);
}

.sisaltorivi > *.pohjapadding,
.pohjapadding > div,
.pohjapadding > section,
.pohjapadding > article {
    padding-bottom: calc(var(--turva) * 5);
}

.pohjapadding *.otsikkorivi {
    padding-bottom: calc(var(--turva) * 2);
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7-not-valid-tip,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
    font-family: "TikTok Sans", sans-serif;
 	font-weight: 300;
    font-style: normal;
    display: block;
    width: 100%;
    border: 0;
    color: var(--teksti);
    font-size: 1em;
    padding: 14px 28px 15px 28px;
    box-sizing: border-box;
    margin-bottom: 17px;
}

.yksisisalto .wpcf7 form.sent .wpcf7-response-output,
.yksisisalto .wpcf7-not-valid-tip,
.yksisisalto .wpcf7 form.invalid .wpcf7-response-output,
.yksisisalto .wpcf7 input[type="text"],
.yksisisalto .wpcf7 input[type="email"],
.yksisisalto .wpcf7 input[type="tel"],
.yksisisalto .wpcf7 textarea {
    border: 1px solid var(--paavari);
}

.wpcf7-not-valid-tip {
    margin-top: -17px;
    background: #871818;
    padding-top: 6px;
    padding-bottom: 6px;
    color: #ffffff;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output {
	background: #871818;
	color: #ffffff;
	margin: 20px 0;
    padding-top: 40px;
    padding-bottom: 40px;
}

.wpcf7 form.sent .wpcf7-response-output {
	background: #12641A;
}

.wpcf7 textarea {
    min-height: 250px;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: var(--paavari);
    opacity: 1;
}
  
.wpcf7 input::-ms-input-placeholder,
.wpcf7 textarea::-ms-input-placeholder {
    color: var(--paavari);
}

.kartta {
    display: block;
    width: 100%;
    padding-top: 33.75%;
    position: relative;
}

.kartta > iframe {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}

span.paivays {
    display: block;
    font-size: 1em;
}

span.artikkelikuva {
    display: block;
    width: 100%;
    padding-top: 66%;
    position: relative;
    margin-bottom: 2.5em;
}

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

.varitaytto {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2em;
    font-weight: 800;
    padding: 25px;
    box-sizing: border-box;
}

.arkisto_navigointi {
    text-align: center;
}

.arkisto_navigointi a.nappula {
    border: 2px solid var(--paavari);
    background: var(--valkoinen);
    color: var(--paavari);
    margin: 10px 8px;
}

.arkisto_navigointi a.nappula:hover {
    background: var(--paavari);
    color: var(--valkoinen);
}

.arkisto_navigointi a.nappula.disabled,
.arkisto_navigointi a.nappula.disabled:hover {
    background: var(--lisavari);
    border-color: var(--lisavari);
    color: var(--paavari);
    cursor: initial;
    pointer-events: none;
}

.blogiotsikko {
    text-decoration: none;
}

.sisaltorivi a:not(.nappula) {
    text-decoration: none;
    color: var(--paavari);
}

.sisaltorivi a:hover:not(.nappula) {
    color: var(--teksti);
}

p.avainsanat {
    display: block;
    margin-top: calc(var(--turva) * 7);
}

p.kategoriat.avainsanat+p.avainsanat {
    margin-top: 1em;
}

.blogiotsikko > h2 {
    margin-bottom: 0.5em;
}

.nappula_wrapper {
    display: block;
    padding-top: 0;
    padding-bottom: calc(var(--turva)* 8);
}

.yksisisalto+.yhteystiedot {
    padding-top: 0;
}

.yhteystiedot.sisaltorivi p {
    text-align: center;
}

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

.arkisto.sisaltorivi {
    justify-content: flex-start;
}

.arkisto_navigointi:empty {
    display: none !important;
}

p.leivanmurut+h1.blogiotsikko {
    margin-top: 0;
}

p.leivanmurut {
    margin-bottom: 1.25em;
    line-height: 1em;
}

span.paivays {
    margin: 1.5em 0;
	font-weight: bold;
}

h1.blogiotsikko {
    margin-bottom: 0;
}

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

.woocommercesisalto {
    display: flex;
}

.woocommerce_vasen {
    display: block;
    width: calc(100% - 300px);
    box-sizing: border-box;
    padding-right: 100px;
}

.woocommerce_oikea {
    display: block;
    width: 300px;
    max-width: 100%;
    box-sizing: border-box;
}


.woocommerce-LoopProduct-link img {
    max-height: 200px;
}

.woocommerce .products ul.columns-4,
.woocommerce ul.products.columns-4 {
    display: flex;
    flex-wrap: wrap;
	margin-left: -10px;
	margin-right: -10px;
}

.woocommerce ul.products li.product-category a img,
.woocommerce ul.products li.product a img {
    height: 200px;
    object-fit: contain;
    object-position: center;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product-category,
.woocommerce-page ul.products li.product-category {
    padding: 0px;
    box-sizing: border-box;
}


.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
    padding: 20px;
    box-sizing: border-box;
    display: block;
    height: 100%;
    padding-bottom: 100px;
    background: #f7f7f7;
    transition: 0.25s background;
}

.woocommerce ul.products li.product-category a,
.woocommerce-page ul.products li.product-category a {
    padding: 20px;
    box-sizing: border-box;
    display: block;
    height: 100%;
    background: #f7f7f7;
    transition: 0.25s background;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link:hover,
.woocommerce ul.products li.product-category a:hover,
.woocommerce-page ul.products li.product-category a:hover {
	background: #e7e7e7;	
}

.woocommerce ul.products.columns-4 li.product,
.woocommerce-page ul.products.columns-4 li.product,
.woocommerce ul.products.columns-4 li.product-category,
.woocommerce-page ul.products.columns-4 li.product-category {
    display: block;
    margin: 0 10px 20px 10px;
    width: calc(25% - 20px);
    text-align: center;
    text-transform: uppercase;
    clear: none !important;
    position: relative;
}

.woocommerce ul.products li.product-category .button,
.woocommerce ul.products li.product .button {
    position: absolute;
    margin-top: 0;
    width: 100%;
    box-sizing: border-box;
    border-radius: 0;
    background: var(--paavari);
    color: var(--valkoinen);
    bottom: 0;
    left: 0;
	transition: 0.25s background;
    padding: 10px;
}

.woocommerce ul.products li.product-category .button:hover,
.woocommerce ul.products li.product .button:hover {
    background: var(--teksti);
    color: var(--valkoinen);
}

.woocommerce ul.products li.product-category .woocommerce-placeholder,
.woocommerce ul.products li.product .woocommerce-placeholder {
    border: 0;
}

.woocommerce aside#main_sidecontent {
    margin-top: 3.5em;
}

.woocommerce #main_sidecontent #respond input#submit,
.woocommerce #main_sidecontent a.button,
.woocommerce #main_sidecontent button.button,
.woocommerce #main_sidecontent input.button {
    width: 100%;
}

ul.product-categories {
    list-style: none;
    padding-left: 0;
}

ul.product-categories ul.children {
    list-style: none;
    font-size: 0.9em;
    padding-top: 3px;
    padding-bottom: 6px;
    padding-left: 15px;
}

.woocommerce #respond input#submit.disabled,
.woocommerce #respond input#submit:disabled,
.woocommerce #respond input#submit:disabled[disabled],
.woocommerce a.button.disabled,
.woocommerce a.button:disabled,
.woocommerce a.button:disabled[disabled],
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce input.button.disabled,
.woocommerce input.button:disabled,
.woocommerce input.button:disabled[disabled] {
    color: var(--valkoinen);
}

nav.woocommerce-breadcrumb,
.woocommerce nav.woocommerce-breadcrumb {
    display: block;
    text-align: center;
    box-sizing: border-box;
    background: var(--lisavari);
    display: block !important;
    width: 100%;
    padding: 5px 25px;
    color: var(--musta);
}

nav.woocommerce-breadcrumb a,
.woocommerce nav.woocommerce-breadcrumb a {
    color: var(--musta);
    margin-right: 5px;
}

.woocommerce-page .paasisalto .wc-block-cart__submit-button {
    background: var(--paavari);
    color: var(--valkoinen);
    text-decoration: none;
    margin-top: 2em;
    transition: 0.25s background, 0.25s color;
}

.woocommerce-page .paasisalto .wc-block-cart__submit-button:hover {
    background: var(--teksti);
    color: var(--valkoinen);
}

button.single_add_to_cart_button.button.alt {
    margin-top: 0;
}

.woocommerce .widget_shopping_cart .buttons a, .woocommerce.widget_shopping_cart .buttons a {
    margin-top: 5px;
    margin-bottom: 0;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
}

.woocommerce .quantity .qty {
    font-size: 1em;
    padding: 15px 5px 16px 5px;
}

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

.woocommercesisalto {
    display: flex;
    padding-top: 4em;
    padding-bottom: 4em;
}

.woocommerce span.onsale {
    background: var(--lisavari);
    color: var(--musta);
}

.woocommerce ul.products li.product .button {
    margin-right: 0;
}


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

.woocommerce .woocommerce-ordering {
    display: block;
    float: none;
    width: 100%;
    margin-bottom: 3em;
}

.woocommerce .woocommerce-ordering select {
    display: block;
    width: 100%;
    padding: 5px;
    font-size: 20px;
    box-sizing: border-box;
    border: 1px solid #d0d0d0;
}

a.added_to_cart.wc-forward {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    background: var(--paavari);
    color: var(--valkoinen);
    font-weight: 700;
    padding: 15px 5px;
    transition: 0.25s background, 0.25s color;
}

a.added_to_cart.wc-forward:hover {
    background: var(--teksti);
    color: var(--valkoinen);
}

.term-description {
    display: block;
    margin-bottom: 3em;
}

bdi {
    display: block;
}

.woocommerce ul.products li.product .price del {
    display: block;
}

.woocommerce ul.products li.product .price ins {
    font-size: 1.3em;
    text-decoration: none;
    margin-top: 0.2em;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
    color: var(--paavari);
}

.woocommerce div.product p.price, .woocommerce div.product span.price {
    font-size: 50px;
    margin: 10px 0;
    background: var(--paavari);
    color: var(--valkoinen);
    display: inline-block;
    padding: 5px 20px;
}

.woocommerce div.product p.price ins, .woocommerce div.product span.price ins {
    text-decoration: none;
}

h1.page-title {
    color: var(--paavari);
    margin-top: 0;
    text-align: center;
}

h4.widget-title {
    color: var(--paavari);
}

.woocommerce_oikea > .woo-sidebar-widget:first-child > h4.widget-title {
    margin-top: 0;
}

.woo-sidebar-widget.widget-container {
    display: block;
    margin-bottom: 4em;
}

li.ostoskori a {
    display: inline-flex;
    align-items: center;
}

.ostoskori svg {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 5px;
}

.ostoskori svg path {
    fill: var(--teksti);
}

header.ylavalikko.alasivu .ostoskori svg path {
    fill: var(--valkoinen);
}

.sivunnimi .yksisisalto.rajoittaja.kapea,
.sivunnimi .yksisisalto:last-child {
    padding-bottom: 2em;
}

.rivi.paasisalto.sivunnimi+.rivi.paasisalto .yksisisalto {
    padding-top: 0;
}

.woocommerce .woocommerce-message .button {
    margin: 0;
    box-sizing: border-box;
    white-space: nowrap;
}

.woocommerce-message::before {
    color: #479b4e;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
    width: 32px;
    height: 32px;
    font-size: 32px;
    left: 20px;
    top: calc(50% - 16px);
}

.woocommerce-message {
    border-top-color: #479b4e;
    display: flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    padding-left: 80px;
    justify-content: space-between;
}

.woocommerce-message::after {
    display: none;
}

.wp-block-woocommerce-empty-cart-block hr,
.wp-block-woocommerce-empty-cart-block hr+h2.has-text-align-center,
.wp-block-woocommerce-empty-cart-block .wc-block-grid {
    display: none;
}

.woocommerce div.product .product_title,
.kuvaus h2:first-child {
    color: var(--paavari);
}

.gallery-item {
    float: none;
    display: block;
    margin: 5px;
    width: calc(25% - 10px);
}

.gallery-columns-1 .gallery-item,
.gallery-columns-2 .gallery-item {
	width: calc(50% - 10px);
}

.gallery-columns-3 .gallery-item {
	width: calc((100% / 3) - 10px);
}

.gallery-columns-4 .gallery-item {
	width: calc(25% - 10px);
}

.gallery-columns-5 .gallery-item {
	width: calc(20% - 10px);
}

.gallery-columns-6 .gallery-item {
	width: calc((100% / 6) - 10px);
}

.gallery-item * {
    display: block;
}

.gallery-item img {
    border: 0;
}

.gallery-item img {
	opacity: 1.0;
	transition: 0.25s all;
}

.gallery-item a:hover img {
	opacity: 0.75;
}

.gallery-item br {
    display: none !important;
}

.gallery {
    display: flex;
    flex-wrap: wrap;
	margin-left: -5px;
	margin-right: -5px;
}

.gallery-size-medium dl.gallery-item img {
    display: block;
    width: calc(100% - 40px);
    object-fit: contain;
    object-position: center;
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    height: calc(100% - 40px);
}

.gallery-size-medium dt.gallery-icon {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    padding-top: 100%;
    box-sizing: border-box;
}

.gallery-size-medium .gallery-item a {
    display: block;
    width: 100%;
    position: relative;
    padding-top: 100%;
}

.eiyla .yksisisalto {
    padding-top: 0 !important;
}

.eiala .yksisisalto {
    padding-bottom: 0 !important;
}

.eipadding .yksisisalto {
	padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.pieniturva .yksisisalto {
    padding: calc(var(--turva)* 4) 0;
}

nav.paavalikko li {
    position: relative;
}

nav.paavalikko ul.sub-menu {
    display: block;
    position: absolute;
    top: 100%;
    left: calc(var(--turva) * -1);
    padding: var(--turva);
    min-width: calc(100% + (var(--turva) * 2));
    font-size: 0.85em;
    background: var(--paavari);
    transition: 0.25s transform;
    transform: scaleY(0);
    transform-origin: top center;
    z-index: 100000;
}

nav.paavalikko .sub-menu li {
    margin-left: 0;
    display: block;
	margin-bottom: 0.75em;
}

nav.paavalikko .sub-menu li:last-child {
    margin-bottom: 0;
}

nav.paavalikko .sub-menu li a {
    white-space: nowrap;
    padding: 0;
    border: 0 !important;
    transition: 0.25s color;
}

nav.paavalikko .sub-menu li a:hover {
    color: var(--valkoinen);
}

.arkisto_otsikko {
    text-align: center;
    margin-bottom: 3em;
    display: block;
}

article.nosto a {
    display: block;
    text-decoration: none;
    color: var(--paavari);
}

article.nosto a:hover {
    color: var(--musta);
}

.wpcf7-list-item {
    display: block;
    margin: 0 0 0.5em 0;
}

span.wpcf7-form-control.wpcf7-checkbox, span.wpcf7-form-control.wpcf7-radio {
    display: block;
    margin: 2em 0;
}

p span.wpcf7-form-control.wpcf7-checkbox,
p span.wpcf7-form-control.wpcf7-radio {
    margin-top: 0;
}

span.wpcf7-list-item-label,
.wpcf7-list-item input {
    cursor: pointer;
}

.arkisto h3 {
    margin-top: 0;
}

@media screen and (max-width: 1000px) {
	.gallery-columns-4 .gallery-item,
	.gallery-columns-5 .gallery-item,
	.gallery-columns-6 .gallery-item {
		width: calc(25% - 10px);
	}
}

@media screen and (max-width: 800px) {
	.gallery-columns-4 .gallery-item,
	.gallery-columns-5 .gallery-item,
	.gallery-columns-6 .gallery-item,
	.gallery-item {
		float: none;
		display: block;
		width: calc((100% / 3) - 10px);
	}
}

@media screen and (max-width: 500px) {
	.gallery-columns-3 .gallery-item,
	.gallery-columns-4 .gallery-item,
	.gallery-columns-5 .gallery-item,
	.gallery-columns-6 .gallery-item,
	.gallery-item {
		width: calc(50% - 10px);
	}
}

@media screen and (min-width: 1301px) {
    .rajoittaja.isoturva {
        padding-left: var(--isoturva);
        padding-right: var(--isoturva);
        width: calc(var(--rajoittaja) + (var(--isoturva) * 2) - (var(--turva) * 4));
    }

    .rajoittaja.kapea.isoturva {
        padding-left: var(--isoturva);
        padding-right: var(--isoturva);
        width: calc(var(--rajoittajakapea) + (var(--isoturva) * 2) - (var(--turva) * 4));
    }
    
    .isoturva .sisaltorivi {
        margin-left: calc(var(--isoturva)* -1);
        margin-right: calc(var(--isoturva)* -1);
        width: calc(100% + (var(--isoturva)* 2));
        max-width: calc(100% + (var(--isoturva)* 2));
    }
    
    .isoturva .sisaltorivi > * {
        padding: var(--isoturva);
    }

    .isoturva .sisaltorivi > *.otsikkorivi {
        padding-bottom: var(--turva);
    }
}

@media screen and (max-width: 1300px) {
    .woocommerce div.product p.price, .woocommerce div.product span.price {
        font-size: 30px;
    }

    .woocommerce_vasen {
        padding-right: 50px;
    }
}

@media screen and (max-width: 1150px) {
    .woocommercesisalto {
        display: block;
    }
    
    .woocommerce_vasen {
        width: 100%;
        padding-right: 0;
        margin-bottom: 5em;
        border-bottom: 2px solid var(--paavari);
        padding-bottom: 3em;
    }
    
    .woocommerce_oikea {
        width: 100%;
        box-sizing: border-box;
    }

    .woocommerce div.product form.cart .button {
        padding-left: 30px;
        padding-right: 30px;
        margin-right: 0;
    }
}

@media screen and (min-width: 1001px) {
	nav.paavalikko li:hover > ul.sub-menu {
		transform: scaleY(1.0);
	}
}

@media screen and (max-width: 1000px) {
	nav.paavalikko ul.sub-menu {
		transform: none;
		position: relative;
		display: none;
	}
	
    h1,
    h2 {
        font-size: 1.8em;
        margin: 30px 0 20px 0;
    }

    h1.blogiotsikko,
    h3 {
        font-size: 1.5em;
    }

    h4 {
        font-size: 1.25em;
    }
    
    .mobiiliensin {
        order: 0;
    }

    .mobiiliensin .kuvalaatikko {
        margin-bottom: calc(var(--turva) * 2);
    }

    nav.paavalikko {
        display: block;
        background: var(--valkoinen);
        position: absolute;
        top: 100%;
        right: 0;
        padding: calc(var(--turva)* 1) calc((var(--turva)* 3) - 12px);
        transform: scaleY(0);
        transform-origin: top;
        z-index: 1;
        min-width: 30vw;
        transition: 0.1s transform;
        left: initial;
        width: 100%;
        box-sizing: border-box;
    }

    .alasivu nav.paavalikko {
        background: var(--paavari);
    }

    .avattu+nav.paavalikko {
        transform: scaleY(1.0);
        transition: 0.5s transform;
    }
    
    nav.paavalikko ul {
        display: block;
    }
    
    nav.paavalikko li {
        margin-left: 0;
        text-align: center;
    }
    
    nav.paavalikko a {
        padding: 10px 0;
    }

    .hero.flex {
        display: block;
    }
    
    .hero_vasen, .hero_oikea {
        width: 100%;
    }
    
    .hero_vasen {
        padding-top: 60%;
    }
    
    .hero_oikea {
        padding: calc(var(--turva) * 5) calc(var(--turva) * 2) calc(var(--turva) * 6) calc(var(--turva) * 2);
        text-align: center;
    }
    
    .solu_7,
    .solu_8,
    .solu_9,
    .solu_10,
    .solu_11 {
        width: 100%;
    }
    
    .solu_3,
    .solu_4,
    .solu_5 {
        width: 50%;
    }
    
    .solu_2,
    .solu_1 {
        width: calc(100% / 3);
    }
    
    article.nosto {
        width: 50%;
    }
    
    .alapalkki_solu {
        width: 50%;
    }
    
    .alapalkki_ala .flex {
        display: block;
    }
    
    .alapalkki_ala .rajoittaja > div {
        text-align: center;
    }

    .tyhja_1,
    .tyhja_2,
    .tyhja_3,
    .tyhja_4,
    .tyhja_5,
    .tyhja_6,
    .tyhja_7,
    .tyhja_8,
    .tyhja_9,
    .tyhja_10,
    .tyhja_11 {
        width: 100%;
        margin-left: 0;
        box-sizing: border-box;
    }

    .tyhja_1,
    .tyhja_2,
    .tyhja_3 {
        padding: 0 10%;
    }

    .tyhja_4,
    .tyhja_5,
    .tyhja_6 {
        padding: 0 20%;
    }

    .tyhja_7,
    .tyhja_8,
    .tyhja_9 {
        padding: 0 30%;
    }

    .tyhja_10,
    .tyhja_11 {
        padding: 0 50%;
    }

    .flex > div.mobile_nav_toggle {
		display: block;
		width: 30px;
		box-sizing: border-box;
		cursor: pointer;
		padding: 0;
		z-index: 2;
	}

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

    .alasivu .viiva1,
    .alasivu .viiva2,
    .alasivu .viiva3 {
        background-color: var(--valkoinen);
    }

	.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(-7px, -6px);
	}

    section.sivunnimi {
        padding-top: calc(3 * var(--turva));
    }

    .pystyteksti_rajoittaja {
        padding-left: 80px;
    }

    .mobiilikeski {
        text-align: center;
    }

    .kartta {
        padding-top: 50%;
    }

    .sisaltorivi {
        padding-top: calc(var(--turva)* 3);
        padding-bottom: calc(var(--turva)* 3);
    }
    
    .paivays + h2,
    .blogiotsikko > h2 {
        margin-top: 0.5em;
    }

    .arkisto_navigointi a.nappula {
        font-size: 0.8em;
        padding: 10px 30px;
    }

    nav.paavalikko a {
        border-bottom: 0 !important;
    }

    .yhteyshenkilokuva {
        width: 200px;
    }

    .ostoskori strong::before {
        content: 'Ostoskori ';
    }
}

@media screen and (max-width: 950px) {
	.woocommerce ul.products.columns-4 li.product-category,
	.woocommerce-page ul.products.columns-4 li.product-category,
	.woocommerce ul.products.columns-4 li.product,
	.woocommerce-page ul.products.columns-4 li.product {
		width: calc((100% / 3) - 20px);
	}
}

@media screen and (max-width: 800px) {
    .hero_vasen {
        padding-top: 80%;
    }

    .solu_3,
    .solu_4,
    .solu_5,
    .solu_6 {
        width: 100%;
    }

    .solu_2,
    .solu_1 {
        width: 50%;
    }

    .pystyteksti_rajoittaja {
        display: block;
        padding-left: 0;
    }
    
    h3.pystyotsikko {
        position: initial;
        transform: none;
        writing-mode: initial;
        text-align: center;
        margin-bottom: 2em;
    }

    .kartta {
        display: block;
        width: 100%;
        padding-top: 33.75%;
        position: relative;
    }

    .kartta {
        padding-top: 65%;
    }

    .sisaltorivi > * {
        padding-bottom: calc(var(--turva) * 4);
    }

    .luelisaa {
        height: 125px;
        overflow: hidden;
        display: block;
        position: relative;
    }
    
    .luelisaa > *:first-child {
        margin-top: 0;
    }
    
    .luelisaa::after {
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100px;
        background: rgb(255,255,255);
        background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    }

    .paavari .luelisaa::after {
        background: var(--paavari);
        background: linear-gradient(180deg, rgba(0,0,0,0) 0%, var(--paavari) 100%);
    }


    .woocommerce-message {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .woocommerce-message * {
        display: block;
        margin: 10px 0 !important;
    }
}

@media screen and (max-width: 800px) and (min-width: 601px) {
    span.artikkelikuva {
        padding-top: 45%;
    }
}

@media screen and (max-width: 700px) {
	.woocommerce ul.products.columns-4 li.product-category,
	.woocommerce-page ul.products.columns-4 li.product-category,
	.woocommerce ul.products.columns-4 li.product,
	.woocommerce-page ul.products.columns-4 li.product {
		width: calc(50% - 20px);
	}
}

@media screen and (max-width: 600px) {
    h1,
    h2 {
        font-size: 1.9em;
    }

    h1.blogiotsikko,
    h3 {
        font-size: 1.6em;
    }

    .hero_vasen {
        padding-top: 100%;
    }

    article.nosto,
    .alapalkki_solu {
        width: 100%;
    }

    .tyhja_1,
    .tyhja_2,
    .tyhja_3,
    .tyhja_4,
    .tyhja_5,
    .tyhja_6,
    .tyhja_7,
    .tyhja_8,
    .tyhja_9,
    .tyhja_10,
    .tyhja_11 {
        padding: 0;
    }

    .kartta {
        padding-top: 80%;
    }
}

@media screen and (max-width: 400px) {
	.woocommerce ul.products.columns-4 li.product-category,
	.woocommerce-page ul.products.columns-4 li.product-category,
	.woocommerce ul.products.columns-4 li.product,
	.woocommerce-page ul.products.columns-4 li.product {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

    .solu_2,
    .solu_1 {
        width: 100%;
    }
}