* {
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
}

body {
    background-color: #f0f5fa;
}

hr {
    border-top: 1px solid #404040;
    border-bottom: 1px solid #808080;
}

a {
    color: #30353a;
}

a:hover {
    color: #0185d4;
    text-shadow: 0px 0px 2px #80ccee;
}

/* ------ Classes ------ */

.ma {
    margin: 0 auto;
}

.dp {
    display: block;
}

.df {
    display: flex;
}

.tc {
    text-align: center;
}

.mw {
    max-width: 1040px;
}

.p8 {
    padding: 8px;
}

.b8 {
    border-radius: 8px;
}

.sepa {
    height: 8px;
    background-color: #30353a;
}

.sepa2 {
    height: 8px;
    background: linear-gradient(135deg, #0185d4, #04be7b, #6ec826)
}

.td {
    -webkit-transition-duration: 0.2s;
    -moz-transition-duration: 0.2s;
    transition-duration: 0.2s;
}

.bs8 {
    -webkit-box-shadow: 0px 8px 8px 0px #7f7f7f;
    -moz-box-shadow: 0px 8px 8px 0px #7f7f7f;
    box-shadow: 0 8px 8px 0 #7f7f7f;
}

/* ------ Colors ------ */

.cff {
    color: #fdfeff;
}

.c1c {
    color: #30353a;
}

.c40 {
    color: #404040
}

.cdd {
    color: #f0f5fa;
}

.crd {
    color: #d80d0d;
}

/* ------ Background color ------ */

.b11 {
    background-color: #30353a;
}

.bee {
    background-color: #eee;
}

.bb2 {
    background-color: #dde2e7;
}

.bbt {
    background: #f0f5fa;
    background: -moz-linear-gradient(0deg, #dde2e7, #f0f5fa 100%);
    background: -webkit-linear-gradient(0deg, #dde2e7, #f0f5fa 100%);
    background: linear-gradient(0deg, #dde2e7, #f0f5fa 100%);

    border: 1px solid #808080;
}

/* ------ Fonts ------ */

@font-face {
    font-family: "Noto Sans Regular";
    src: url(/fonts/NotoSans-Regular.ttf);
}

@font-face {
    font-family: "Noto Sans Bold";
    src: url(/fonts/NotoSans-Bold.ttf);
}

@font-face {
    font-family: "Open Dyslexic";
    src: url(/fonts/OpenDyslexic-Regular.otf);
}

.od {
    font-family: Open Dyslexic;
}

.n1 {
    font-family: Noto Sans Regular;
}

.n2 {
    font-family: Noto Sans Bold;
}

.f1 {
    font-size: 16px;
}

.f2 {
    font-size: 20px;
}

.bf {
    font-size: larger;
}

/* ------ Iframe ------ */

.i1 {
    padding: 10px 0 16px 0;
}

.iitch {
    display: block;
    margin: 10px auto;
    max-width: 552px;
}

/* ------ Summary ------*/

#s0 {
    display: block;
    padding: 10px;
    max-width: 1024px;
    color: #30353a;
    text-align: center;
    margin: 20px auto 10px auto;
    line-height: 32px;
    border: 2px solid #eee;
    text-decoration: none;
}

#s0:hover {
    text-shadow: 0 0 8px #b1f567;
}

#s0 {
    background: #6ec826;
    background: -moz-linear-gradient(45deg, #6ec826 0%, #04be7b 100%);
    background: -webkit-linear-gradient(45deg, #6ec826 0%, #04be7b 100%);
    background: linear-gradient(45deg, #6ec826 0%, #04be7b 100%);
}

/* --------- Header --------- */

#a0 {
    margin-bottom: 16px;
}

#a1 {
    background: linear-gradient(135deg, #0185d4, #04be7b, #6ec826, #04be7b, #0185d4, #04be7b, #6ec826);
    background-size: 700% 700%;
    -webkit-animation: hida-grad 33s ease infinite;
    -moz-animation: hida-grad 33s ease infinite;
    animation: hida-grad 33s ease infinite;
}

@-webkit-keyframes hida-grad {
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}
@-moz-keyframes hida-grad {
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}
@keyframes hida-grad {
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}

#a1-1 {
    min-height: 64px;
    display: flex;
    justify-content: space-between;
}

#a1-1-1 {
    display: flex;
    justify-content: center;
    align-items: center;
}

#a1-logo {
    margin-right: 16px;
}

#a1-1-2 {
    display: flex;
    justify-content: center;
    align-items: center;
}

#a1-1-2:hover #myInput {
    border-bottom-left-radius: 0;
}

#a1-1-2:hover #a1-icon {
    border-bottom-right-radius: 0;
}

#a1-1-2:hover #a1-results {
    display: block;
}

#myInput:focus ~ #a1-results {
    display: block;
}

#myInput {
    width: 256px;
    height: 40px;
    position: relative;

    padding-left: 8px;
    padding-right: 8px;

    background-color: #fdfeff;
    border: 1px solid #808080;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

#a1-icon {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border: 1px solid #808080;
    border-left: 0;
}

#a1-results {
    display: none;
    width: 512px;
    height: 256px;
    background-color: #f0f5fa;
    border: 1px solid #808080;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    margin-top: 60px;
    margin-left: 256px;
    overflow: auto;
}

#myUL li {
    padding: 8px;
    border: 1px solid #dde2e7;
    background: #eee;
}

#myUL li span {
	display:block;
    margin-top: 4px;
}

#myUL * {
    margin-bottom: 4px;
    font-family: Noto Sans Regular;
}

#a3 {
    background-color: #dde2e7;
}

#a3-1 {
    overflow: hidden;
}

#a3-1:hover .a3dd {
    border-radius: 0;
}

.a3dd {
    float: left;
    overflow: hidden;
    width: 25%;
    height: 69px;
}

.a3dd:first-child, .a3dd:nth-of-type(2), .a3dd:nth-of-type(3) {
    border-right: 0;
}

.a3dd:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.a3dd:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

.a3dd:hover {
    text-shadow: #f0f5fa;
}

.a3dd:hover .a3t {
    text-shadow: 0px 0px 8px #fdfeff;
}

.a3dd:hover .a3ct{
    display: block;
}

#dr1:hover {
    background: #0185d4;
    background: -moz-linear-gradient(0deg, #0185d4, #80ccee 100%);
    background: -webkit-linear-gradient(0deg, #0185d4, #80ccee 100%);
    background: linear-gradient(0deg, #0185d4, #80ccee 100%);
}

#dr2:hover {
    background: #04be7b;
    background: -moz-linear-gradient(0deg, #04be7b, #73f9b4 100%);
    background: -webkit-linear-gradient(0deg, #04be7b, #73f9b4 100%);
    background: linear-gradient(0deg, #04be7b, #73f9b4 100%);
}

#dr3:hover {
    background: #6ec826;
    background: -moz-linear-gradient(0deg, #6ec826, #b1f567 100%);
    background: -webkit-linear-gradient(0deg, #6ec826, #b1f567 100%);
    background: linear-gradient(0deg, #6ec826, #b1f567 100%);
}

#dr4:hover {
    background: #8c2fd0;
    background: -moz-linear-gradient(0deg, #8c2fd0, #ab7af4 100%);
    background: -webkit-linear-gradient(0deg, #8c2fd0, #ab7af4 100%);
    background: linear-gradient(0deg, #8c2fd0, #ab7af4 100%);
}

.a3ct {
    display: none;
    position: absolute;
    width: 1024px;
    height: 264px;
    left: 50%;
    transform: translate(-50%, 0);
    margin-top: 8px;
    z-index: 1;

    background-color: #f0f5fa;

    border-left: 1px solid #808080;
    border-right: 1px solid #808080;
    border-bottom: 1px solid #808080;

    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;

    overflow: auto;
}

.a3cl {
    height: 8px;
}

#cl1 {
    background-color: #0185d4;
}

#cl2 {
    background-color: #04be7b;
}

#cl3 {
    background-color: #6ec826;
}

#cl4 {
    background-color: #8c2fd0;
}

.a3cc {
    margin: 1%;
    width: 31.3%;
    float: left;
}

.a3cc hr {
    margin: 4px 0 8px 0;
}

.a3co {
    margin-bottom: 8px;
    border-radius: 8px;
    border: 1px solid #dde2e7;
}

.a3co:hover {
    background-color: #fdfeff;
}

.a3co * {
    float: left;
}

.a3co span {
    font-size: 16px;
    font-family: Noto Sans Regular;
}

.a3co img {
    width: 24px;
    margin-right: 8px;
}

#a3-1::after, .a3ct::after, .a3co::after {
    display: block;
    content: "";
    clear: both;
}

/* --------- Main --------- */

#b1-1 {
    float: left;
    margin-right: 1%;
    width: 19%;
    border-radius: 8px;
    position: sticky;
    top: 8px;
    background-color: #dde2e7;
    max-height: 100vh;
    overflow: auto;
}

#b1-1 * {
    margin-bottom: 8px;
}

#b1-1 a {
    display: block;
    text-decoration: none;
    background-color: #f0f5fa;
    color: #0185d4;
    padding: 4px;
    border-radius: 4px;
    transition-duration: 0.1s;
}

#b1-1 a:hover {
    background-color: #0185d4;
    color: #f0f5fa;
}

#b1-2 {
    float: left;
    width: 60%;
    background-color: #dde2e7;
    border-radius: 8px;
}

#b1-2-1 {
    background-color: #30353a;
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
}

.b1-2e {
    padding: 10px;
    margin: 10px;
    line-height: 32px;
    color: #30353a;
    text-indent: 8px;
    border-radius: 8px;
    transition-duration: 0.1s;
    background-color: #f0f5fa;
}

.b1-2e p::first-letter {
    font-weight: bold;
}

.b1-2e:hover, .b1-2i:hover {
    outline: 1px solid #0185d4;
}

.b1-2e p::selection {
    background-color: #f1c40f;
}

.b1-2i {
    background-color: #f0f5fa;
    margin: 10px 8px 10px 8px;
    border-radius: 8px;
}

.b1-2a {
    background: #0185d4;
    background: -moz-linear-gradient(45deg, #04be7b 10%, #0185d4 100%);
    background: -webkit-linear-gradient(45deg, #04be7b 10%, #0185d4 100%);
    background: linear-gradient(45deg, #04be7b 10%, #0185d4 100%);

    padding: 8px;
    margin: 10px 0;
    border-radius: 8px;
    display: inline-block;
    width: 100%;
    text-align: center;
    overflow: hidden;
}

.b1-2a a, .b1-2a span {
    color: #fdfeff;
    font-family: Noto Sans Bold;
}

.b1-2g {
    background: #ccc;
    padding: 8px;
    margin: 10px 0;
    border-radius: 8px;
    display: inline-block;
    width: 100%;
    overflow: hidden;
}

.b1-2g a, .b1-2g span {
    color: #30353a;
    font-family: Noto Sans Bold;
}

.b1-2d {
    background: #8c2fd0;
    background: -moz-linear-gradient(45deg, #0185d4 0%, #8c2fd0 100%);
    background: -webkit-linear-gradient(45deg, #0185d4 0%, #8c2fd0 100%);
    background: linear-gradient(45deg, #0185d4 0%, #8c2fd0 100%);

    padding: 8px;
    margin: 10px 0;
    border-radius: 8px;
    display: inline-block;
    width: 100%;
    text-align: center;
    overflow: hidden;
}

.b1-2d a, .b1-2d span {
    color: #fdfeff;
    font-family: Noto Sans Bold;
}

.b1-ae {
    padding: 10px;
    color: #30353a;
    text-align: center;
}

.b1-ae span {
    display: block;
    padding: 10px;
}

#b1-2 h2 {
    padding: 8px;
    font-family: Noto Sans Bold;
    font-size: 24px;
    margin: 20px 8px 12px 8px;
    background-color: #30353a;
    color: #f0f5fa;
    border-radius: 8px;
}

h3 {
    font-family: Noto Sans Bold;
    font-size: 20px;
    padding: 8px 0px;
    color: #30353a;
}

.b1-2i img {
    width: 100%;
}

.b1-2t3 {
    display: flex;
    justify-content: space-between;
    margin: 12px;
}

.b1-2t3 div {
    background: #f0f5fa;
    border-radius: 8px;
    padding: 10px;
    width: 32%;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.b1-2ta a, .b1-2ta img {
    display: block;
}

.b1-2ta a {
    text-align: center;
}

.b1-2ta img {
    margin: 0 auto;
}

.b1-2f {
    text-align: center;
    color: #30353a;
    padding: 12px 8px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;

    background: #6ec826;
    background: -moz-linear-gradient(0deg, #6ec826, #b1f567 100%);
    background: -webkit-linear-gradient(0deg, #6ec826, #b1f567 100%);
    background: linear-gradient(0deg, #6ec826, #b1f567 100%);
}

#share-img {
    background-color: #f0f5fa;
    padding: 8px;
    border-radius: 8px;
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px !important;
}

.b1-3sh img {
    display: block;
    width: 30%;
    margin: 0 auto;
    width: 24px;
    height: 24px;
}

.b1-3sh a {
    width: 30%;
    margin-bottom: 0 !important;
}

#b1-3 {
    float: right;
    margin-left: 1%;
    width: 19%;
    border-radius: 8px;
    position: sticky;
    top: 8px;
    background-color: #dde2e7;
    max-height: 100vh;
    overflow: auto;
}

#b1-3 * {
    display: block;
    margin-bottom: 8px;
}

#b1-3 button {
    width: 100%;
    height: 32px;
    font-size: 14px;
    font-family: Noto Sans Regular;
    color: #30353a;
    background-color: #f0f5fa;
    border: 1px solid #f0f5fa;
    border-radius: 4px;
    transition-duration: 0.2s;
    cursor: pointer;
}

#b1-3 button:hover {
    background-color: #0185d4;
    border: 1px solid #0185d4;
    color: #f0f5fa;
}

#b1-3 button:focus {
    background-color: #f0f5fa;
    color: #0185d4;
}

#main::after {
    display: block;
    content: "";
    clear: both;
}

/* --------- Footer --------- */

#c0 {
    margin-top: 16px;
    -webkit-box-shadow: 0px -8px 8px 0px #7f7f7f;
    -moz-box-shadow: 0px -8px 8px 0px #7f7f7f;
    box-shadow: 0 -8px 8px 0 #7f7f7f;
}

#c0 * {
    text-decoration: none;
}

#c1 {
    background-color: #f0f5fa;
}

#c1-1 {
    padding-top: 16px;
}

.c1-1 {
    display: flex;
    padding-bottom: 16px;
}

.c1-1-1 {
    width: 25%;
    margin-right: 1%;
}

.c1-1-1:last-child {
    margin-right: 0;
}

.c1-1-1 * {
    margin-bottom: 8px;
}

.c1-1-1-sm {
    width: 25%;
}

.c1-1-1-sm span {
    margin-bottom: 8px;
}

.c1-1-1-sm hr {
    margin-bottom: 8px;
}

.c1-sm-section {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.c1-sm-section a {
    margin: 4px;
}

.c1-sec li {
    display: block;
    font-family: Noto Sans Regular;
    font-size: 16px;
    color: #30353a;
}

#c2 {
    background-color: #dde2e7;
    padding-top: 16px;
    padding-bottom: 16px;
    background-image: url(/img/footer_img.jpg);
    background-size: cover;
}

#c2-title {
    margin-bottom: 12px;
    text-shadow: 0 0 8px #fdfeff;
    color: #30353a;
}

#c2-1 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

#c2-1 span {
    display: block;
    text-align: center;
    font-family: Noto Sans Regular;
    font-size: 16px;
    margin: 8px;
    padding: 8px;
    border-radius: 8px;
    color: #30353a;

    background: #f0f5fa;
    background: -moz-linear-gradient(0deg, #dde2e7, #f0f5fa 100%);
    background: -webkit-linear-gradient(0deg, #dde2e7, #f0f5fa 100%);
    background: linear-gradient(0deg, #dde2e7, #f0f5fa 100%);

    border: 1px solid #606060;
}

#c4 {
    background-color: #30353a;
    padding: 16px;
}

@media screen and (max-width: 1023px) {
    #a1-1 {
        flex-direction: column;
    }

    #myInput {
        width: 100%;
        margin-top: 16px;
    }

    #a1-icon {
        margin-top: 16px;
    }

    .a3ct {
        width: 100%;
    }

    #a1-results {
        width: 75%;
        margin-top: 128px;
        margin-left: 0;
    }

    .b1 {
        padding: 1%;
    }
}

@media screen and (max-width: 683px) {
    #b1-2 {
        width: 100%;
    }

    #b1-1 {
        top: 0;
        left: 0;
        width: 50%;
        margin: 0;
        border-radius: 0;
        outline: 1px solid #808080;
    }

    #b1-1-resp {
        display: none;
    }

    #b1-1:hover #b1-1-resp {
        display: block;
    }

    #b1-3 {
        top: 0;
        right: 0;
        width: 50%;
        margin: 0;
        border-radius: 0;
        outline: 1px solid #808080;
    }

    #b1-3-resp {
        display: none;
    }

    #b1-3:hover #b1-3-resp {
        display: block;
    }

    #b1-3:hover #b1-3t0 {
        display: block;
    }

    #b1-3:hover #share-img {
        display: flex !important;
    }

    #b1-1t, #b1-3t {
        margin-bottom: 0;
    }

    #b1-1, #b1-3 {
        background: #f0f5fa;
        background: -moz-linear-gradient(0deg, #dde2e7, #f0f5fa 100%);
        background: -webkit-linear-gradient(0deg, #dde2e7, #f0f5fa 100%);
        background: linear-gradient(0deg, #dde2e7, #f0f5fa 100%);
    }

    #b1-3t0 {
        display: none;
    }

    #share-img {
        display: none !important;
    }

    .c1-1 {
        flex-wrap: wrap;
    }

    .c1-1-1 {
        width: 49%;
    }

    .c1-1-1:nth-of-type(2n) {
        margin-right: 0;
    }

    .c1-1-1-sm {
        width: 49%;
    }

    #c1-b3, #c1-b4 {
        margin-top: 20px;
    }
}

@media screen and (max-width: 455px) {
    
    #a1-1-1 {
        flex-direction: column;
        text-align: center;
    }

    #a1-logo {
        margin-bottom: 8px;
    }

    #a1-results {
        width: 80%;
        margin-top: 190px;
    }
}