@font-face {
	font-family: "JetBrains Mono";
	src: url("/fonts/JetBrainsMono-Regular.woff2");
}

body {
    word-wrap: break-word;
	font-family: "JetBrains Mono", monospace;
    font-weight: 400;
	line-height: 1.725;
}

a, a:visited {
	color: #212121;
	text-decoration: underline;
}

a:hover {
    text-decoration: underline;
	text-decoration-color: #ff4136;
}

h1 a, h1 a:hover {
    text-decoration: none;
}

h2 {
	color: #2bbc8a;
}

.button, .button:visited {
    background: #dd2e44;
}

.button, .button:hover {
    text-decoration: none;
}

.spoiler {
	filter: blur(4px);
	transition: filter 1s;
}

.spoiler:hover {
	filter: blur(0);
}

.logo {
	filter: grayscale(75%);
	transition: filter 0.5s;
}

@media (max-width: 350px) {
    .logo {
        display: none;
    }
}

@media (min-width: 720px) {
    .logo {
        margin-left: 30px;
        margin-right: 30px;
    }
}

.logo:hover {
	filter: grayscale(0);
}

nav a.current {
	color: var(--accent) !important;
	border-color: var(--accent) !important;
}

nav a:hover {
    text-decoration: none;
}

.hover-finger::before {
    content: "👉 ";
    visibility: hidden;
}

.hover-finger::after {
    content: " 👈";
    visibility: hidden;
}

.hover-finger:hover::before, .hover-finger:hover::after {
    visibility: visible;
}

/* Dark theme */
@media (prefers-color-scheme: dark) {
    a, a:visited {
        color: #DCDCDC;
    }
}

/*
 * Footer
 */

footer ul {
	padding: 0;
	margin: 0;
}

footer ul li {
    list-style-type: none;
}

@media (min-width: 720px) {
    footer ul li {
        display: inline-block;
        padding-left: 15px;
        padding-right: 15px;
        border-right: 1px solid;
        border-color: #666;
    }
}

footer ul li:first-child {
    padding-left: 0;
}

footer ul li:last-child {
    padding-right: 0;
    border-right: 0;
}

#pulsing-heart {
	display: inline-block;
	transition: transform 1s;
	transform: scale(1);
}

#pulsing-heart:hover {
	transform: scale(2);
	cursor: default;
}

/*
 * Service list on the main page
 */

.service-index {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 15px;
    margin-bottom: 15px;
    border-radius: 10px;
    color: white;
    cursor: pointer;
}

@media (max-width: 600px) {
    .service-index {
        flex-direction: column;
    }
}

.service-index img {
    display: inline-block;
    vertical-align: middle;
    height: 100%;
    border-radius: 0;
}

.service-index a, .service-index a.visited {
    text-decoration: none;
    color: inherit;
}

.service-index .link {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

.service-index > div {
    text-align: center;
}

.service-index-logo {
    padding-top: 10px;
    padding-bottom: 10px;
    flex: 15%;
}

.service-index-desc {
    flex: 70%;
}

.service-index-arrow {
    font-size: x-large;
    flex: 5%;

    transform: translateX(0);
    transition: transform 0.5s;
}

.service-index:hover .service-index-arrow {
    transform: translateX(10px);
}

.service-index-matrix {
    background-color: #1e1e1e;
    background-image: url(/index-services/matrix-bg-right.svg), url(/index-services/matrix-bg-left.svg);
    background-position: 100% 0%, 0px 0px;
    background-size: 25%, 200px;
    background-repeat: no-repeat, no-repeat;
}

.service-index-matrix:hover .spoiler {
    filter: none;
}