html, body {
    height: 100%;
}

[data-theme="light"] {
    --body-background-color: white;
    --inline-code-text-color: black;
    --inline-code-tag-color: #ffe13566;
    --nav-background-color: #f8f8f8;
    --text-color: #333;
    --link-color: #ffe135;
    --code-color:#839496;
    --header-color: #333333;
    --img-opacity: 1;
    --home-text-opacity: 1;
    --category-opacity: 1;
    --tag-opacity: 1;
    --bar-opacity: 1;
    --accent: #ffe135;
    /* only for the yellow header since otherwise opacity
    would apply for the whole navbar instead of the yellow color only */
    --accent-rgba: rgba(255, 225, 53, 1);
    --img-shadow: rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] {
    --body-background-color: #002b36;
    --inline-code-text-color: black;
    --inline-code-tag-color: #ffe135a6;
    --nav-background-color: #002b36;
    --text-color: hsl(210, 10%, 62%);
    --link-color: #ffe13566;
    --code-color:#f5f5f5;
    --header-high-color: hsl(210, 15%, 55%);
    --header-low-color:hsl(210, 15%, 45%);
    --img-opacity: 0.75;
    --home-text-opacity: 0.75;
    --category-opacity: 0.75;
    --tag-opacity: 1;
    --bar-opacity: 0.75;
    --accent: #ffe135;
    --accent-rgba: rgba(255, 225, 53, 0.75);
    --img-shadow:  hsl(210, 10%, 30%);

    /* old dark mode colors */
    /*--text-color:#f5f5f5;
    --header-high-color:#f5f5f5;*/
}


.alt-img {
  -webkit-box-shadow: 0px 0px 0px 0px var(--img-shadow) !important;  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
  -moz-box-shadow:    0px 0px 0px 0px var(--img-shadow) !important;  /* Firefox 3.5 - 3.6 */
  box-shadow:         0px 0px 0px 0px var(--img-shadow) !important;  /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}

.transition-bg {
    transition: background-color .5s ease-in-out;
}

.transition-all {
    transition: all-color .5s ease-in-out;
}

body {
    padding-top: 55px;
    display: flex;
    text-align: center;
    flex-direction: column;
    background-color: var(--body-background-color) !important;
}

a, p, li, b, center, marquee {
    color: var(--text-color) !important;
    transition: all .5s ease-in-out;
}

h1, h2:not(.homeText), h3 {
    color: var(--header-high-color) !important;
    transition: all .5s ease-in-out;
}

.homeText {
    opacity: var(--home-text-opacity);
    transition: all .5s ease-in-out;
}

h4, h5, h6 {
    color: var(--header-low-color) !important;
    transition: all .5s ease-in-out;
}
/*
pre code {
    color: var(--code-color) !important;
    transition: all .5s ease-in-out;
} */


main {
    margin: auto;
    padding: 25px;
    flex: 1 0 auto;
    max-width: 750px;
}

/*footer*/

.copyright {
    margin: 15px 0;
}

/*home page*/

.intro {
    transform: translateY(22vh);
}

.intro > h1 {
    color: #212121;
    font-size: 12vh;
}

.intro > h2 {
    font-family: "BananasPersonalUse";
    /* color: #777; */
    color: #ffe135;
    font-size: 8vmin;
   text-shadow:
        -1px -1px 0 #000,
        1px -1px 0 #000,
        -1px 1px 0 #000,
        1px 1px 0 #000;
}

.intro > .profile {
    width: 10vh;
    height: 10vh;

    -webkit-animation:spin 4s linear infinite;
    -moz-animation:spin 4s linear infinite;
    animation:spin 4s linear infinite;
}

@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

code {
    color: var(--inline-code-text-color);
    background-color: var(--inline-code-tag-color);
    transition: all .5s ease-in-out;
}

pre code {
    white-space: pre !important;
}

/*apply accent colour to links*/
a:link, a:visited {
    color: #000;
    text-decoration: underline;
    text-decoration-color: var(--link-color)
}

a.icon:hover {
    text-decoration: none;
}

a:hover {
    color: var(--accent) !important;
}

/*paginator at bottom of list view*/

.pages {
    padding: 15px 0;
}

.pages-icon {
    padding: 0 15px;
}

/*list item for posts and projects*/

.item {
    padding: 10px 0;
}

.item-tag {
    background-color: var(--accent);
    color: #000;
    opacity: var(--category-opacity);
}

.item-tag:hover {
    opacity: 1;
}

/*navigation bar icons*/

.navbar-icon {
    font-size: 125%;
    display: inline-block !important;
}

/*coloured borders at top and bottom of the page*/

.navbar.navbar-default {
    border-top: var(--border-width) solid var(--accent-rgba);
    transition: all .5s ease-in-out;
}

nav {
    background-color: var(--nav-background-color) !important;
    transition: all .5s ease-in-out;
}

footer {
    border-bottom: var(--border-width) solid var(--accent);
    opacity: var(--bar-opacity);
    transition: all .5s ease-in-out;
}

img {
    max-width: 100%;
    margin-top: 10px;
    margin-bottom: 10px;
}


div.content-width img {
  -webkit-box-shadow: 1px 2px 5px 2px var(--img-shadow);  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
  -moz-box-shadow:    1px 2px 5px 2px var(--img-shadow);  /* Firefox 3.5 - 3.6 */
  box-shadow:         1px 2px 5px 2px var(--img-shadow);  /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}

div.highlight {
    -webkit-box-shadow: 1px 2px 5px 2px var(--img-shadow);  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
  -moz-box-shadow:    1px 2px 5px 2px var(--img-shadow);  /* Firefox 3.5 - 3.6 */
  box-shadow:         1px 2px 5px 2px var(--img-shadow);  /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}

video {
    -webkit-box-shadow: 1px 2px 5px 2px var(--img-shadow);  /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
  -moz-box-shadow:    1px 2px 5px 2px var(--img-shadow);  /* Firefox 3.5 - 3.6 */
  box-shadow:         1px 2px 5px 2px var(--img-shadow);  /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */
}

img:not(#mafia-tag) {
    opacity: var(--img-opacity);
    transition: opacity .5s ease-in-out;
}

/* Hover effect for dark mode images */
img:hover:not(#mafia-tag) {
    opacity: 1;
}

/* Overrides */
#bootstrap-overrides .h1, .h2, .h3, h1, h2, h3 {
   text-align: left;
}

#bootstrap-overrides .h1, h1 {
   margin-top: 40px;
   margin-bottom: 15px;
}


#bootstrap-overrides .h2, h2, .h3, h3 {
   margin-top: 25px;
   margin-bottom: 15px;
}

.centeredText {
   text-align: center !important;
}