@use "sass:color";

$grey-vdark: rgb(17, 24, 39);
$grey-dark: color.adjust($grey-vdark, $lightness: 5%);
$grey-medium: color.adjust($grey-vdark, $lightness: 15%);
$grey-light: #4c566a;
$white-dark: #d8dee9;
$white-light: #eceff4;
$white-vdark: color.adjust($white-light, $lightness: -15%);
$blue: #88c0d0;
$blue-med: #81a1c1;
$blue-dark: #5e81ac;

$text-default: $white-light;
$primary: $blue;
$secondary: $blue-med;

$default-font-family: 'Inconsolata', monospace;
$default-font-weight: 400;

body {
	color: $text-default;
	background-color: $grey-vdark;
	font-family: $default-font-family;
	line-height: 1.3rem;
	margin: 0;
	margin-top: 0.2rem;

	.col-white-vdark {
		color: $white-vdark;
	}

	.homepage-images {
		display: flex;
		max-height: 30vh;
		width: 100%;
		margin: 1rem 0;

		img {
			object-fit: cover;
			height: 100% !important;
			width: 100% !important;

		}


		@media screen and (max-width:750px) {
			a:nth-child(3) {
				display: none;
			}
		}

	}

	.container {
		max-width: 900px;
		margin-left: auto;
		margin-right: auto;

		padding: 0 1rem;
		display: block;
	}

	.blog {
		max-width: 700px;
		margin-left: auto;
		margin-right: auto;
		padding: 0 1rem;

		&-header {
			&>* {
				display: block;
			}

			a,
			a:visited {
				color: $primary;
			}

			small {
				margin-top: 0.1em;
				margin-bottom: 0.4em;
			}
		}

		&-content {
			border-top: 1px solid $grey-medium;
			margin-top: 1em;

			table {
				margin-bottom: 1rem;
			}
		}

	}

	.portfolio-list-item {
		padding: 0.5rem;
		background-color: $grey-dark;
		margin-top: 1rem;

		small {
			vertical-align: 0.12rem;
		}

		.flex {
			align-items: center;
			width: 100%;

			@media (max-width: 500px) {
				flex-wrap: wrap !important;
			}

			picture {
				display: block;
				height: 15rem;
				flex-grow: 1;
				width: 33%;


				@media (max-width: 500px) {
					width: 100%;
				}

				img {
					height: 100%;
					max-height: 100%;
					min-width: 100%;
					object-fit: cover;
				}
			}
		}

		&-header {
			display: block;
			width: 100%;
			margin-bottom: 0.3rem;

			& * {
				display: inline;
				margin: 0;
				padding: 0;

				margin-right: 0.2rem;
			}

			a {
				margin-left: auto;
				float: right;
			}
		}
	}

	.portfolio-detail {
		width: 100vw;

		&-header {
			text-align: justify;

			&>* {
				display: block;
			}
		}

		&-images {
			display: flex;
			flex-wrap: wrap;
			margin-top: 1rem;

			a {
				display: block;
				height: 22vw;
				flex-grow: 1;
				max-width: 33.33%;

				@media screen and (max-width: 1250px) {
					height: 30vw;
					max-width: 50%;
				}

				@media screen and (max-width: 750px) {
					max-width: 100%;
					height: 100%;
				}

				img {
					max-height: 100%;
					height: 100% !important;
					min-width: 100%;
					object-fit: cover;
				}
			}
		}
	}


	ol:not(ol *, ul *),
	ul:not(ol *, ul *) {
		margin-left: 0rem;
		margin-top: 0rem;
		margin-bottom: 1rem;
		padding-left: 1.5rem;
		margin-right: 2rem;
		list-style-position: outside;
	}

	ol ol,
	ol ul,
	ul ol,
	ul ul {
		padding-left: 1rem;
	}

	ol p,
	ul p {
		margin: 0.3rem 0rem;
		display: inline;
	}

	ol {
		list-style-type: decimal;
	}

	ul {
		list-style-type: "- ";
	}

	table {
		border-collapse: collapse;

		th {
			text-align: left;
		}

		th,
		td {
			margin: 0;
			padding: 0.2rem 0.5rem;
			border: $grey-light 1px solid;
		}

		thead {
			background-color: $grey-dark;
		}
	}

	figure.styled-figure {
		background-color: $grey-dark;
		display: inline-block;
		padding: 0.5rem;
		margin: 0rem 1rem;
	}

	pre[class*="language-"],
	code[class*="language-"] {
		font-family: $default-font-family !important;
		font-weight: $default-font-weight;
		tab-size: 2;
		line-height: 1.3rem;
	}

	pre[class*="language-"] {
		max-width: 100%;
		box-sizing: border-box;
		background: $grey-dark !important;
		border-radius: 0;
		padding: 0.5rem;
	}

	blockquote {
		background-color: $grey-dark;
		box-sizing: border-box;
		padding: 1rem;
		padding-bottom: 0.5rem;
		margin: 0;
		margin-bottom: 1rem;

		p {
			margin-bottom: 1rem;
		}
	}

	.nav {
		width: 100%;

		padding-top: 0.6rem;
		padding-bottom: 0.9em;
		margin-bottom: 0.6em;
		border-bottom: 1px $grey-dark solid;
		display: flex;
		align-items: center;
		flex-wrap: wrap;

		a.main-logo {
			font-weight: 700;
			font-size: 1.2em;
			text-decoration: none;
			color: $text-default !important;

			display: flex;
			align-items: center;

			margin-right: 1rem;

			img {
				height: 20px;
				width: auto;
				margin-right: 0.6rem;
			}
		}

		a,
		a:visited {
			color: $primary;
		}
	}

	a {
		color: $primary;

		&:visited {
			color: $secondary;
		}

		&:active {
			color: $grey-dark !important;
			background-color: $primary;
		}
	}

	h1,
	h2,
	h3,
	h4 {
		font-weight: 700;
		line-height: 1.6rem;
	}

	h1,
	h2 {
		margin-bottom: 0.2rem;
		margin-top: 0.8rem;
	}

	h3,
	h4,
	h5 {
		margin-bottom: 0rem;
		margin-top: 0.3rem;
	}

	p {
		margin-top: 0.4rem;
		margin-bottom: 1.4rem;
	}

	code,
	pre {
		background-color: $grey-dark;
		padding: 0.1rem 0.4rem;
		display: inline-block;
	}

	.d-inline-block {
		display: inline-block;
	}

	img {
		max-width: 100%;


		&[width][height] {
			height: auto;
		}
	}

}

.flex {
	display: flex;
	flex-shrink: 0;
	flex-wrap: wrap;
}

.sl-overlay {
	background: $grey-vdark !important;
}

.sl-wrapper button {
	color: $text-default !important;
}

.gallery a {
	display: inline-block;
	position: relative;
	overflow: hidden;

	img {
		transition: transform 0.3s;

		&:hover {
			transform: scale(1.1);
		}
	}

	.gallery-caption {
		color: $text-default;
		position: absolute;
		bottom: 0px;
		background-color: #00000088;
		width: 100%;
		padding: 0.3rem 0.4rem;
	}
}

.list-no-newline {
	& ul {
		text-align: left;
		margin: 0;
		padding: 0;
	}

	& li {
		display: inline-block;

		&::before {
			content: '• ';

		}
	}

}