html {
    height: 100%;
}

body {
    background-image: url("/images/background.jpg");
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;

    min-height: 100%;
    display: flex;
    flex-direction: column;

    background-color: #222222;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
}

footer {
    margin-top: auto;
    height: 20px;
    background: #262626;
    color: #FFA500;
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
    border-top: 1px solid #FFA500;
}

table, th, td {
    padding: 10px;
    text-align: center;
    border-collapse: collapse;
    border: 1px solid;
}

#ava {
    border: 1px solid #FFA500;
}

#star:hover {
    cursor: pointer;
    filter: drop-shadow(#ff4d00 0.5rem 0.5rem 1rem);
}

.hr {
    border-top: 1px solid #FFA500;
    width: 30%;
}

.title {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0 auto;
}

.contact-panel {
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    text-align: right;
    gap: 20px;
}

.contact-panel > a img {
    filter: invert(42%) sepia(23%) saturate(1352%) hue-rotate(-10deg) brightness(119%) contrast(119%) drop-shadow(#4d4d4d 0.5rem 0.5rem 1rem);
}

.contact-panel > a img:hover {
    cursor: pointer;
    filter: invert(42%) sepia(43%) saturate(1352%) hue-rotate(5deg) brightness(119%) contrast(119%) drop-shadow(#ff4d00 0.5rem 0.5rem 1rem);
}

.grey {
    color: #888888;
}

.fortyfor {
    margin: auto;
    text-align: center;
    overflow: hidden;
    color: #FFA500;
}

.fortyfor h1 {
    color: #b3b3b3;
    font-size: 10em;
}

.fortyfor a {
    color: #b3b3b3;
}

#nav {
    border-bottom: 1px solid #FFA500;
    background: #262626;
    width: 100%;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.item {
    color: #b3b3b3;
    text-decoration: none;
    text-transform: uppercase;
    margin-right: 3%;
    padding: 9px;
}

.item:hover {
    background-color: rgba(255, 165, 0, .5);
    color: white;
}

.columns {
    display: flex;
    gap: 20px;
}

.column {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 16px;
}

.column .row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 18px;
}

.column .chr {
    border-bottom: solid 1px #b6b6b6;
    width: 100%;
}

#content {
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 2%;
    padding-bottom: 2%;
    text-align: justify;
    width: 40%;
    margin: 0 auto;
    color: #FFFDDD;
}

#content h1 {
    color: #FFA500;
    background: rgba(0, 0, 0, .7);
    padding: 10px;
    border: 1px solid #FFA500;
}

.blog-title-main {
    color: #FFA500;
    font-size: 28px;
    font-weight: bold;
    padding-bottom: 2px;
}

#content h3 {
    font-size: 21px;
    color: #FFA500;
}

#content a {
    color: #FFA500;
    text-decoration: none;
}

#content a:hover {
    color: #ba7600;
}

#content code {
	font-family: 'Open Sans', sans-serif;
	color: #b6b6b6;
}

#content strong {
    color: #FFFFDD;
}

#content .star-title {
	color: #FFFFDD;
    background-color: rgba(0, 0, 0, .7);
    padding: 5px;
    border: 1px solid #FFA500;
}

#content .star-links {
    padding-top: 5px;
}

#content .star-links a {
    background-color: rgba(0, 0, 0, .7);
    padding: 10px;
    border: 1px solid #FFA500;
}

#content .card {
    background: rgba(30, 30, 30, .9);
    border: 1px solid #FFA500;
    margin-bottom: 20px;
    padding: 40px;
    /* filter: drop-shadow(#ff8d5c 0rem 0rem 0.7rem); */
}

#ava {
    width: 300px;
}

.admonition-title {
	border: 1px solid #b02323;
	padding: 10px;
	text-align: center;
}

.admonition-title:before {
	content: "!!! ";
	padding: 10px;
	color: #b02323;
}

.admonition-title:after {
	content: " !!!";
	padding: 10px;
	color: #b02323;
}

.blog-title {
    font-size: 19px;
    color: #FFA500;
}

@media screen and (max-device-width: 1920px)
{
    #content {
		width: 55%;
	}
}

@media screen and (max-device-width: 1280px) {
    #content {
        width: 90%;
    }
}

/* Mobile fix */
@media screen and (max-device-width: 720px)
{
	#content { 
		width: 100%;
        padding: 0;
		font-size: 15px;
	}

	#content .card {
        border-left: none;
        border-right: none;
        padding: 10px;
    }

	#content pre {
		white-space: pre-line;
	}

    #ava {
        width: 300px;
    }
	
	#nav {
        width: 99.7%; /*HACK*/
		height: auto;
	}

	.item {
		width: auto;
		text-align: center;
		margin-right: auto;
		left: auto;
	}

	.columns {
        display: block;
    }

    #star {
        margin-top: 20px;
        width: 300px;
    }
}

@media screen and (min-device-width: 360px) and (max-device-width: 915px) {
    .title {
        text-align: center;
        display: block;
    }

    .contact-panel {
        text-align: center;
        display: block;
    }

    .contact-panel > a {
        padding: 10px;
    }
}