html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary, button
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
    border-style: solid;
	font-size: 100%;
	vertical-align: baseline;
    background: none;
}
/* html5 */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}







h1 { font-size: 3em; }
h2 { font-size: 2em; }
h3 { font-size: 1.5em; }
h4 { font-size: 1.25em; }
h5 { font-size: 0.6em; }
h6 { font-size: 4.25em; }

b { font-weight: 900; }
a { cursor: pointer; text-decoration: underline; }









* {
    color: white;
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
    flex-direction: row;

    font-family: Inter;
    font-weight: 300;
}
/* html {  overflow: auto; } */
body {
	line-height: 1;
    min-height: 100vh;
    background-color: rgb(10, 10, 10);
    height: 100%;
}





.container__main { min-height: 100%; }
main { overflow: auto; }
.main_content {
    margin-top: var(--header-height);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
    padding-bottom: var(--footer-height);
}


.main_text {
    margin: 40px 10px;
}
.gray_text {
    color: hsl(0, 0%, 80%);
}

rect { /* rect { */
    background: linear-gradient(to bottom, hsl(0 0% 10%), hsl(0 0% 2%));
    box-shadow: inset 0 0 60px 0 rgba(0, 0, 0, 0.4), 0 0 30px 10px rgba(0, 0, 0, 0.9);
    width: 1000px;
    padding: 24px;
}
.rect2 { background-color: black; }
@media screen and (max-width: 1036px) {
    rect { width: 100%; }
}



.rect_div {
    display: flex;
    flex-direction: column;
    padding: 20px 26px;
    gap: 16px;
}




.markdown {
    color: red;
    width: 100px;
    word-wrap: break-word;
}




code {
    background: black;
    border: 1px solid dimgray;
    border-left: 3px solid red;
    color: hsl(0 0% 50%);
    font-family: monospace;
    font-size: 15px;
    line-height: 1.6;
    margin: 10px 0;
    max-width: 100%;
    overflow: auto;
    padding: 1em 1.5em;
    display: block;
    box-shadow: inset 0 0 16px 0 hsl(0, 0%, 100%, 0.3);
}
.code_output {
    border-left: 7px solid gray;
}






.footer__wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgb(25, 25, 25);
    width: 100%;
    height: var(--footer-height);
    bottom: 0; 
    left: 0;
    
    position: relative;
    margin-top: calc(var(--footer-height) * 1);
    clear: both;
    
    z-index: 5;
}
footer {
    border-radius: 8px;
    padding: 14px ;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.7) 100%);
}




header {
    background: linear-gradient(90deg, hsl(0, 0%, 10%) 0%, hsl(0, 0%, 20%) 100%);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    position: fixed;
    height: var(--header-height);
    top: 0;
    left: 0;
    right: 0;
    padding: 0px 1px;
    padding-left: 46px;
    z-index: 5;

    box-shadow: inset 0 0 30px 0 rgba(0, 0, 0, 0.4);
}
.logo_label p { 
    color: white;
    font-size: 32px;
    padding: 16px 30px;
    font-family: 'Bebas Neue';
    cursor: pointer;
}




ul { /* Header list */
    margin: 0px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    padding: 0;
    height: 100%;
}
li { /* List item */   
    background-color: rgba(0, 0, 0, 0.5);
    height: 100%;

    display: flex;
    align-items: center;
    padding: 0 20px;
    box-shadow: inset 0 0 20px 0 rgba(0, 0, 0, 0.7);
    margin-right: 10px;
    cursor: crosshair; 
}
li:hover a { /* List item */
    color: red;
}

li:last-child {
    margin-right: 0px;
}



.footer_li { /* List item */   
    border-radius: 6px;
    height: 40px;
    padding: 0 20px;
}





li a { /* List item label */
    text-decoration: none;
    color: gainsboro;
    font-size: 16px;
    transition: 0.2s;
}





button {
    background-color: rgba(0 ,0, 0, 0.5);
    border-radius: 8px;
    padding: 10px;
    border-color: black;
    border-width: 3px;
    transition: 0.2s;
    cursor: crosshair;
    transition: 0.2s;
}
button:hover { background-color: rgba(0 ,0, 0, 0.8);  color: red; }
button:after { 
    width: 100px;
    height: 100px;
 }




 /* Collapsible */

 .collapsible_btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: rgba(0 ,0, 0, 0.3);
    text-decoration: none;
    font-size: 14px;
    padding: 16px;
 }

 .collapsible_btn :first-child { transition: padding-left 0.2s, color 0.2s; }
 .collapsible_btn.active :first-child { padding-left: 20px; color: red; }


 .collapsible_btn::before { /* Circle */
    content: '•';
    position: absolute;
    color: red;
    font-size: 0px;
    transition: font-size 0.3s;
 }
 .collapsible_btn.active::before {
    font-size: 30px;
 }

 .collapsible_btn span { transition: color 0.2s, transform 0.5s; }
 .collapsible_btn.active span { color: red; transform: rotate(540deg); }


 .collapsible_btn span {
    content: '&#9650;';
 }




 .collapsible {
    overflow-y: hidden;
    height: 0px;
    
    display: flex;
    flex-direction: column;
    gap: 8px;

    border: none;
    background: repeating-linear-gradient(to bottom, transparent 15%, hsl(0, 0%, 12%) 30%, transparent 45%)
 }
 .collapsible.active {
    height: 100%;
    padding: 2em;
    margin: 1em -2em;
    border: 10px groove hsl(0, 0%, 10%);
 }

 /* Collapsible end */




.home_image {
    height: 100svh;
    fill: white;
    background: transparent url(../images/bg1.png) no-repeat center;
    background-size: cover;
    backdrop-filter: blur(20px);
    overflow: hidden;
    z-index: -1;
}



.bg_filler0 {
   position: relative;
}
.bg_filler {
   position: absolute;
    background-color: rgba(0, 0, 0, 0.6);
    width: 100%;
    height: 300px;
    z-index: -1;
}



hr {
    --color: hsl(0 0% 25%);
    text-align: center;
    background-color: hsl(0 0% 25%);
    height: 1px;
    width: 100%;
}
.hr_small {
    height: 1px;
}
.hr_gradient {
    --color: gainsboro;
    background: linear-gradient(90deg, transparent, var(--color), transparent);
}



mark {
    background-color: hsl(0 0% 10%);
}
  




.icon {
    --size: 30px;
    --title: 'Icon';
    --url: url('/assets/images/apple.png');
    width: var(--size);
    height: var(--size);
    position: relative;
}
.icon:hover:after {
    content: '';
    display: block;
    background-color: red;
    width: 40px;
    height: 20px;
    right: 0;
    top: 0;
}

br { user-select: none; }




/* Tables */

table {
    width: 700px;
    background: none;
}

th {
    background: linear-gradient(to bottom, red, darkred);
    color: hsl(0 0% 80%);
    box-shadow: inset 0 12px 20px rgba(100, 0, 0, 1);
}

th, td {
    --border-radius: 14px;
    padding: 16px;
    vertical-align: middle;
}


th:first-child { border-top-left-radius: var(--border-radius);}
th:last-child { border-top-right-radius: var(--border-radius);}
tr:last-child td:first-child { border-bottom-left-radius: var(--border-radius);}
tr:last-child td:last-child { border-bottom-right-radius: var(--border-radius);}





tr td {
    background: gray;
    border-top: 2px solid hsl(0 0% 10%);
    box-shadow: inset 0 0 30px rgba(0 ,0, 0, 0.6);
    transition: padding-left 0.3s;
}
tr:nth-child(odd) td { background: hsl(0 0% 30%); }

tr:hover td { text-shadow: 0 0 10px hsla(0, 0%, 100%, 0.5); }
tr td:first-child:before { /* Circle */
    content: '•';
    color: white;
    font-size: 0px;
    transition: font-size 0.3s, color 0.2s;
    vertical-align: middle;
 }
 tr:hover td:first-child:before {
    font-size: 100%;
 }



/* Tables end */


@media screen and (max-width: 810px) {
    header nav { display: none; }
}