/* VÄLIMUISTITETTU */
/* GENEROITU 25.10.25 12:37 */

:root {
    --musta: #141211;
    --valkoinen: #FFF;
    --paavari: #c80e1d;
    --lisavari: #fff4e6;
    --alapalkki: #141211;
    --teksti: #141211;
    --footnote: #820123;
    --rajoittaja: 1800px;
    --rajoittajakapea: 1200px;
    --fonttikoko: 16px;
    --turva: 30px;
    --isoturva: 70px;
    --logo: 250px;
}

@media screen and (max-width: 1500px) {
    :root {
        --fonttikoko: 14px;
        --turva: 22px;
    }
}

@media screen and (max-width: 1300px) {
    :root {
        --fonttikoko: 12px;
    }
}


body {
    background-color: #FFF;
    font-family: 'Open Sans', sans-serif;;
    font-weight: 400;
}

input,
textarea {
    font-family: 'Open Sans', sans-serif;;
}

h1,
h2,
h3,
h4,
h5,
h6,
h7,
.widget-title,
.avattavaosio_otsikko,
#main_logo > a {
    font-family: "Nunito Sans", sans-serif;;
    font-weight: 900;
}


/* SIVUSTON ASETUKSET: OMA CSS */
nav.paavalikko ul {
    font-size: 0.9em;
}

h2+h3 {
    margin-top: -1em;
    font-weight: 500;
}

nav.paavalikko li {
    margin-left: calc(var(--turva)* 0.75);
}

.valignstretch .teksti {
    padding-top: calc(var(--turva)* 4);
    padding-bottom: calc(var(--turva)* 4);
}

img.sarakekuva {
    border-radius: 30px;
}

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-size: 1.25rem;
    padding: 1em 2em;
    line-height: 1em;
    border-radius: 25px;
    font-weight: 700;
}

.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea {
    border: 2px solid var(--paavari);
    border-radius: 10px;
}

.hero_oikea.paavari {
    padding: calc(var(--turva) * 4) calc(var(--turva) * 2);
    text-align: center;
}

.hero_oikea.paavari h1 {
    text-transform: uppercase;
    font-size: 4em;
    margin-bottom: 0;
}

.hero_oikea.paavari h2 {
    font-size: 3.75em;
    margin-top: 0;
    font-weight: 500;
}

.rivi.musta.alanosto {
    background: url(/wp-content/uploads/2024/10/alanosto.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    position: relative;
}

.rivi.musta.alanosto p {
    font-size: 2.5em;
    font-weight: 900;
}

.rivi.musta.alanosto p {
    line-height: 1.25em;
}

.rivi.musta.alanosto p {
    margin: 0;
}

.alapalkki_yla {
    padding-top: calc(var(--turva)* 4);
    padding-bottom: calc(var(--turva)* 4);
}

.alapalkki_solu {
    padding-top: 0;
    padding-bottom: 0;
}

.alapalkki_solu {
    width: 50%;
}

.alanosto a.nappula:hover{
    background: var(--lisavari);
    color: var(--musta);
}

span.sivustonnimi {
    font-family: "Nunito Sans", sans-serif;
    font-weight: 900;
    line-height: 1em;
    padding-right: 45px;
    background: url(/wp-content/uploads/2024/10/takkatohtori-ikoni.png);
    background-size: auto 40px;
    background-position: center right;
    background-repeat: no-repeat;
    min-height: 60px;
    display: inline-flex;
    align-items: center;
}

.nosto img {
    width: 200px;
    height: 200px;
    object-fit: cover;
    border-radius: 30px;
}

.nostot h4 {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.nostot.flex {
    padding-top: calc(var(--turva)* 2);
    padding-bottom: calc(var(--turva)* 2);
}

.nostot_kuva_wrapper::after {
    border-radius: 30px;
}

.hero_oikea a.nappula {
    margin-top: 0;
    margin-left: 1em;
    margin-right: 1em;
}

.alapalkki_ala {
    color: var(--valkoinen);
}

.alapalkki_ala a {
    color: var(--valkoinen);
    font-weight: 600;
}

.alapalkki_ala a:hover {
    color: var(--lisavari);
}

.alapalkki_ala {
    padding-top: calc(var(--turva)* 1);
    padding-bottom: calc(var(--turva)* 1);
}

.lisavari {
    color: var(--musta);
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: var(--musta);
    opacity: 1;
}
  
.wpcf7 input::-ms-input-placeholder,
.wpcf7 textarea::-ms-input-placeholder {
    color: var(--musta);
}

.wpcf7 label .wpcf7-form-control-wrap {
    display: block;
    margin-top: 0.3em;
}

.rivi h2, .rivi h3 {
    color: var(--paavari);
}

.alanosto+.rivi input[type="submit"] {
    margin-top: 0.5em;
}

.hero_oikea img.aligncenter {
    margin-top: 0;
    margin-bottom: 0;
}

.alapalkki_yla a:hover {
    color: var(--paavari);
}

.solu_6.teksti a[href^="tel:"] {
    background-image: url(/wp-content/uploads/2024/10/ikoni_puhelin.svg);
    background-position: left center;
    background-repeat: no-repeat;
    padding-left: 25px;
    background-size: 18px auto;
}

.solu_6.teksti a[href^="mailto:"] {
    background-image: url(/wp-content/uploads/2024/10/ikoni_email.svg);
    background-position: left center;
    background-repeat: no-repeat;
    padding-left: 25px;
    background-size: 18px auto;
}

.hero .rajoittaja.puolikas {
    padding-left: 0;
    padding-right: 0;
}

@media screen and (max-width: 1400px) {
	.hero_oikea a.nappula {
		display: block;
		margin: 1em 0 0 0;
	}
}

@media screen and (min-width: 1001px) and (max-width: 1150px) {
	.ylavalikko .rajoittaja {
		flex-wrap: wrap;
		justify-content: center;
	}

	nav.paavalikko {
		width: 100%;
	}

	nav.paavalikko ul {
		justify-content: center;
		font-size: 1em;
	}
}

@media screen and (max-width: 1000px) {
	h2+h3 {
		margin-top: -0.75em;
	}

	.solu_5.kuva {
		width: 100%;
	}

	.valignstretch .teksti {
		padding-top: calc(var(--turva)* 1);
		padding-bottom: calc(var(--turva)* 2);
	}

	nav.paavalikko ul {
		font-size: 1.2em;
	}
}

@media screen and (max-width: 800px) {
	.hero_oikea.paavari h1 {
		font-size: 3em;
	}

	.hero_oikea.paavari h2 {
		font-size: 2.5em;
		margin-bottom: 1em;
	}

	.rivi.musta.alanosto::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: var(--musta);
		z-index: 1;
		opacity: 0.7;
	}

	.rivi.musta.alanosto .rajoittaja {
		position: relative;
		z-index: 2;
	}

	.alanosto+.rivi.lisavari .solu_6.teksti {
		padding-bottom: 0;
	}

	.alanosto+.rivi.lisavari .solu_6.teksti:first-child {
		padding-top: 0;
	}

	.sisaltorivi > .solu_5 {
		padding-bottom: 0;
	}

	.rivi.musta.alanosto p {
		font-size: 2em;
	}

	.alapalkki_solu {
		width: 100%;
	}

	.lisavari .isoturva .teksti {
		padding-bottom: 2em;
	}

	.yksisisalto, .yksisisalto:last-child {
		padding-top: calc(var(--turva)* 3);
		padding-bottom: calc(var(--turva)* 3);
	}

	.rivi.lisavari .kapea.pieniturva .teksti {
		padding-bottom: 2em;
	}
}