/*
Theme Name: Outset
Text Domain: outset
Version: 1.0.7
Description: WordPress theme for andersnoren.se. You can find my free WordPress themes at andersnoren.se/teman/. This one isn't one of them, unfortunately, but it's based on Pulitzer, which is.
Author: Anders Norén
Author URI: https://andersnoren.se
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Requires at least: 6.5
Requires PHP: 7.4
Tested up to: 6.5
*/

html {
	scroll-behavior: smooth;
}

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;

	/* Colors */
	--contrast-rgb: 30, 35, 40;
	--base-rgb: 250, 250, 250;
	--contrast-4-rgb: 234, 234, 234;

	/* Typography */
	--num-font-feature-settings: 'tnum' on, 'lnum' on, 'ss02' on, 'case' on, 'zero' on, 'kern' off;

	/* Icons */
	--icon-arrow-up-url: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_83_1872)'%3E%3Cpath d='M8 13.5V2.5M8 2.5L12.5 7M8 2.5L3.5 7' stroke='%236B757E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_83_1872'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
	--icon-arrow-right-url: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_83_1872)'%3E%3Cpath d='M2.5 8H13.5M13.5 8L9 12.5M13.5 8L9 3.5' stroke='%236B757E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_83_1872'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
	--icon-arrow-down-url: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_5_2514)'%3E%3Cpath d='M8 2.5V13.5M8 13.5L12.5 9M8 13.5L3.5 9' stroke='%236B757E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_5_2514'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
	--icon-arrow-external-url: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_2016_2118)'%3E%3Cpath d='M1.1109 8.88909L8.88907 1.11092' stroke='%231E2328' stroke-width='1.6' /%3E%3Cpath d='M2.52509 1.11092L8.88905 1.11092V7.47488' stroke='%231E2328' stroke-width='1.6' /%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2016_2118'%3E%3Crect width='10' height='10' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
	--icon-arrow-left-url: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_83_1872)'%3E%3Cpath d='M13.5 8H2.5M2.5 8L7 3.5M2.5 8L7 12.5' stroke='%236B757E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_83_1872'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
	--icon-plus-url: url("data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_64_1690)'%3E%3Cpath d='M2.5 8.5H13.5' stroke='%231F232E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 3V14' stroke='%231F232E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_64_1690'%3E%3Crect width='16' height='16' fill='white' transform='translate(0 0.5)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
	--icon-sun-url: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_64_682)'%3E%3Cpath d='M8 2.49998V0.999985' stroke='%231E2328' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 11.5C9.933 11.5 11.5 9.93298 11.5 7.99998C11.5 6.06699 9.933 4.49998 8 4.49998C6.067 4.49998 4.5 6.06699 4.5 7.99998C4.5 9.93298 6.067 11.5 8 11.5Z' fill='%231E2328'/%3E%3Cpath d='M4 3.99998L3 2.99998' stroke='%231E2328' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M4 12L3 13' stroke='%231E2328' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 3.99998L13 2.99998' stroke='%231E2328' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 12L13 13' stroke='%231E2328' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M2.5 7.99998H1' stroke='%231E2328' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 13.5V15' stroke='%231E2328' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.5 7.99998H15' stroke='%231E2328' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_64_682'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
	--icon-moon-url: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_64_536)'%3E%3Cpath d='M6.75687 1.75684C6.44255 2.79688 6.41625 3.90271 6.68079 4.95651C6.94533 6.01032 7.4908 6.97262 8.25907 7.74089C9.02734 8.50916 9.98964 9.05463 11.0434 9.31917C12.0973 9.58371 13.2031 9.55741 14.2431 9.24309C13.9416 10.2345 13.3885 11.1308 12.6376 11.8449C11.8868 12.559 10.9638 13.0665 9.95852 13.3179C8.95327 13.5693 7.90005 13.5561 6.90142 13.2796C5.9028 13.003 4.99282 12.4726 4.26011 11.7399C3.5274 11.0071 2.99693 10.0972 2.72038 9.09854C2.44383 8.09991 2.43062 7.04669 2.68203 6.04144C2.93344 5.0362 3.44091 4.11319 4.15501 3.36233C4.86911 2.61147 5.7655 2.05835 6.75687 1.75684Z' stroke='%23E9EDF0' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_64_536'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");

	/* Logo */
	--logo-url: url("data:image/svg+xml,%3Csvg width='52' height='24' viewBox='0 0 52 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 24C5.3726 24 0 18.6274 0 12C0 5.3726 5.3726 0 12 0C18.6274 0 24 5.3726 24 12V24H12ZM12 20C7.5817 20 4 16.4183 4 12C4 7.5817 7.5817 4 12 4C16.4183 4 20 7.5817 20 12V20H12Z' fill='%231E2328'/%3E%3Cpath d='M12 16C14.2091 16 16 14.2092 16 12C16 9.79085 14.2091 8 12 8C9.7908 8 7.99995 9.79085 7.99995 12C7.99995 14.2092 9.7908 16 12 16Z' fill='%231E2328'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M52 12C52 5.3726 46.6276 0 40 0H28V12C28 18.6274 33.3726 24 40 24H52V12ZM48 12C48 7.5817 44.4184 4 40 4H32V12C32 16.4183 35.5817 20 40 20H48V12Z' fill='%231E2328'/%3E%3Cpath d='M40 16C42.2092 16 44 14.2092 44 12C44 9.79085 42.2092 8 40 8C37.7908 8 36 9.79085 36 12C36 14.2092 37.7908 16 40 16Z' fill='%231E2328'/%3E%3C/svg%3E%0A");
	--logo-404-url: url("data:image/svg+xml,%3Csvg width='78' height='40' viewBox='0 0 78 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M69.333 0C69.333 0 77.333 5.74359 77.333 13.1282C77.333 15.3043 76.4902 17.3913 74.9899 18.9301C73.4896 20.4689 71.4547 21.3333 69.333 21.3333C67.2113 21.3333 65.1764 20.4689 63.6762 18.9301C62.1759 17.3913 61.333 15.3043 61.333 13.1282C61.333 5.74359 69.333 0 69.333 0ZM69.3333 17.3334C71.5425 17.3334 73.3333 15.5425 73.3333 13.3334L74.6667 13.3334C74.6667 16.2789 72.2785 18.6667 69.333 18.6667L69.3333 17.3334Z' fill='%231F232E'/%3E%3Cpath d='M11.3805 26.6666C12.3026 25.0725 14.0262 24 16.0003 24C17.9744 24 19.698 25.0725 20.6202 26.6666C21.0739 25.8822 21.3337 24.9714 21.3337 24C21.3337 21.0544 18.9459 18.6666 16.0003 18.6666C13.0548 18.6666 10.667 21.0544 10.667 24C10.667 24.9714 10.9267 25.8822 11.3805 26.6666Z' fill='%231F232E'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 40C7.16347 40 0 32.8365 0 24C0 15.1635 7.16347 8 16 8C24.8365 8 32 15.1635 32 24V40H16ZM16 34.6667C10.1089 34.6667 5.33333 29.8911 5.33333 24C5.33333 18.1089 10.1089 13.3333 16 13.3333C21.891 13.3333 26.6667 18.1089 26.6667 24V34.6667H16Z' fill='%231F232E'/%3E%3Cpath d='M53.3333 24C51.3592 24 49.6357 25.0725 48.7135 26.6666C48.2597 25.8822 48 24.9714 48 24C48 21.0544 50.3878 18.6666 53.3333 18.6666C56.2789 18.6666 58.6667 21.0544 58.6667 24C58.6667 24.9714 58.407 25.8822 57.9532 26.6666C57.031 25.0725 55.3074 24 53.3333 24Z' fill='%231F232E'/%3E%3Cpath d='M53.333 8C54.9981 8 56.6038 8.25434 58.1134 8.7263C57.6232 10.3067 57.333 11.9697 57.333 13.6923C57.333 13.8323 57.3353 13.972 57.34 14.1115C56.1028 13.6097 54.7502 13.3333 53.333 13.3333H42.6663V24C42.6663 29.8911 47.4419 34.6667 53.333 34.6667H63.9997V24.7176C65.642 25.5533 67.4651 26 69.333 26V40H53.333C44.4965 40 37.333 32.8365 37.333 24V8H53.333Z' fill='%231F232E'/%3E%3C/svg%3E%0A")
}

[data-theme="dark"] body {
	--wp--preset--color--base: #000408;
	--wp--preset--color--base-2: #000408;
	--wp--preset--color--contrast: #E9EDF0;
	--wp--preset--color--contrast-intense: #C6CACD;
	--wp--preset--color--contrast-2: #8E9094;
	--wp--preset--color--contrast-3: #3A3F46;
	--wp--preset--color--contrast-4: #1E232A;
	--wp--preset--color--accent: #0F6FFF;
	--wp--preset--color--accent-2: #FF0000;

	--contrast-rgb: 233, 237, 240;
	--contrast-4-rgb: 30, 35, 42;
	--base-rgb: 0, 4, 8;
}

@media (prefers-contrast: more) {

	[data-theme="dark"] body {
		--wp--preset--color--contrast: #FFF;
	}

	:root body {
		--wp--preset--color--base: var(--wp--preset--color--base-2);
		--wp--preset--color--contrast-2: var(--wp--preset--color--contrast);
		--wp--preset--color--contrast-3: var(--wp--preset--color--contrast);
		--wp--preset--color--contrast-4: var(--wp--preset--color--contrast);
	}

}

:root :where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

* {
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
}

:where(a) {
	text-decoration-color: var( --wp--preset--color--contrast-2 );
}

.has-link-color a {
	text-decoration-color: currentColor;
}

@supports (min-height: 100dvh) {
	[style*="min-height:100vh"] {
		min-height: calc( 100dvh - var( --wp-admin--admin-bar--height, 0px ) ) !important;
	}
}

/*
 * Helper classes
 */

.hide-empty:not(:has(*)) {
	display: none !important;
}

.has-text-light-color {
	color: var( --wp--preset--color--contrast-2 );
}

.invert-underline a { text-decoration: none; }
.invert-underline a:hover { text-decoration: underline; }

/*
 * Element Styles
 */

b, strong, th {
	font-weight: 500;
}

[style*="font-weight: 700"], [style*="font-weight:700"] {
	font-weight: 500 !important;
}

:where(code) {
	font-size: var( --wp--preset--font-size--small );
}

/*
 * External links
 */

.entry-content a[target="_blank"]:not([class]) {
	position: relative;
	padding-right: .6em;
}

.entry-content a[target="_blank"]:not([class])::after {
	background-color: currentColor;
	color: var(--wp--preset--color--contrast-2);
	content: "";
	height: .5em;
	mask-image: var( --icon-arrow-external-url );
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	transform: translateX(.05em) translateY(.425em);
	transition: color .1s linear;
	width: .5em;
}

.entry-content a[target="_blank"]:not([class]):hover::after,
.entry-content .has-link-color a[target="_blank"]:not([class])::after {
	color: currentColor;
}

/*
 * Structure
 */

.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: calc( 100dvh - var( --wp-admin--admin-bar--height, 0px ) ) !important;
}

.wp-site-blocks main {
	flex-grow: 1;
}

/*
 * Inputs
 */
 
::placeholder { 
	color: var( --wp--preset--color--contrast-2 );
}

label {
	font-family: var( --wp--preset--font-family--system-sans-serif );
	font-size: var(--wp--preset--font-size--x-small);
}

:where(input, textarea, select) {
	background-color: var(--wp--preset--color--base-2);
	border: 1px solid var(--wp--preset--color--contrast-4);
	border-radius: 4px;
	color: inherit;
	font-family: var(--wp--preset--font-family--system-sans-serif);
	font-size: var( --wp--preset--font-size--small );
	line-height: 1.5;
	margin: 0;
	padding: .75em 1em;
}

textarea {
	height: 5lh;
}

/*
 * Template Part: Header
 */

header.wp-block-template-part {
	box-shadow: 0 1px 0 var( --wp--preset--color--contrast-4 );
}

header.wp-block-template-part:not(:has( .is-menu-open )) > .wp-block-group {
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	background-color: rgba(var( --base-rgb ), .925) !important;
}

/*
 * Template Part: Support Me
 */

.support-me span {
	display: inline-block;
}

/*
 * Template Part: Footer
 */

footer.wp-block-template-part {
	box-shadow: 0 -1px 0 var( --wp--preset--color--contrast-4 );
}

@media ( max-width: 600px ) {
	:root footer .wp-block-group.is-content-justification-space-between {
		flex-direction: column-reverse;
		align-items: flex-start;
	}

	:root footer .wp-block-group.is-content-justification-space-between > p {
		padding-bottom: var(--wp--preset--spacing--50);
	}
}

.notices {
	color: var( --wp--preset--color--contrast-2 );
	font-size: var( --wp--preset--font-size--xx-small );
	margin: 0 auto 0 max( var(--wp--preset--spacing--body-margin), calc( ( 100vw - var( --wp--style--global--content-size ) ) / 2 ) );
	max-width: calc( 100% - ( var(--wp--preset--spacing--body-margin) * 2 ) );
}