/* GLOBAL PAGE SETTINGS */
* {margin: 0; padding: 0; box-sizing: border-box;}
:root { 
    --button-1: 10em; --button-2: 15em;--button-3: 20em;--button-4: 25em;
    --fs-1: 1rem; --fs-2: 2rem; --fs-3: 3rem; --fs-4: 4rem;
    --height-1: 2dvh; --height-2: 4dvh; -height-3: 6dvh; --height-4: 8dvh;
    --margin-1: 1dvw; --margin-2: 2dvw; --margin-3: 6dvw; --margin-4: 8dvw;
    --padding-1: 2dvw; --padding-2: 4dvw; --padding-3: 6dvw; --padding-4: 8dvw;
    --width-1: 2dvw; --width-2: 4dvw; --width-3: 6dvw; --width-4: 8dvw;--width-5: 10dvw;--width-6: 12dvw;
    --s: .5dvw; --c:darkgrey 70% 35%; --d: blue;
    --main-color: red; --secondary-color: lightgreen;  --txt-color: aliceblue; 
    --img-bg-color: rgba(240, 240, 240, 0.9);
    /* --bg-color: repeating-linear-gradient(45deg, rgba(231, 222, 222, 0.52) 5%, rgba(17, 238, 146, 0.048) 10%), repeating-linear-gradient(-45deg, rgba(104, 112, 117, 0.753) 5%, rgba(221, 199, 215, 0.068) 10%);  */
}
body {font-family: system-ui, apple-system, sans-serif; color:#333; margin: 0; padding: 0; box-sizing: border-box; overscroll-behavior-y: contain; }   
   
/* container general settings */
#container{position: relative; box-sizing: border-box; display: grid; grid-template-columns: repeat(auto-fit, minmax(auto-fill, 1fr)); grid-auto-rows: minmax(3dvh, auto); grid-auto-flow: column; max-width: 200rem; width: 100%; height: auto; margin-inline: auto ; overflow: auto; will-change: scroll-position; outline: 1dvw solid lightgreen; }
#container{container-type: inline-size; container-name: parent;}

/* grid settings  */
#heading{grid-column:1/5; grid-row:1/2;}
aside{grid-column:1/5; grid-row:2/3;}
main{grid-column:1/5; grid-row:3/4;}
footer{grid-column:1/5;grid-row:4/5;}

/*** HEADING settings ***/
#heading{display: grid; grid-template-columns: 1fr 5fr; max-width: 200rem; width: 100%; height: 18dvh;}
#heading{--s: 1dvw; --c: lightgrey; --_s: calc(2*var(--s)) calc(2*var(--s)); --_g: 35.36% 35.36% at; --_c: #0000 66%,black 40% 70%, #0000 72%; background: radial-gradient(var(--_g) 100% 25%,var(--_c)) var(--s) var(--s)/var(--_s), radial-gradient(var(--_g) 0 75%,var(--_c)) var(--s) var(--s)/var(--_s),  radial-gradient(var(--_g) 100% 25%,var(--_c)) 0 0/var(--_s), radial-gradient(var(--_g) 0 75%,var(--_c)) 0 0/var(--_s), repeating-conic-gradient(var(--c) 0 25%,#0000 0 50%) 0 0/var(--_s), radial-gradient(var(--_c)) 0 calc(var(--s)/2)/var(--s) var(--s) var(--c); }
/* formatting language */
#language {position: fixed; max-width: 6%; width: 100%; height: 7dvh; display: flex; flex-flow: column nowrap; z-index: 1111;}
#language input{font-size: var(--fs-1); color: white; background-color: black; border: 0.1dvw solid lightgrey; line-height: 1;  padding-left: calc(var(--padding-1)*0.6); margin-block:0.3dvw;cursor: pointer; border-radius: 2dvw; }
#language input[class="chinese"]:not(h1){font-size: var(--fs-1);line-height: 1.5; letter-spacing: 0.01dvw; font-family: 松本，微软雅黑, Helvetica, sans-serif; }
/* navigation section formatting*/
#menu button{position: fixed; max-width: 6%; width: 100%; height: 2dvw; background:skyblue; opacity:1; color:white; box-shadow:inset 0 0 0 1px black; border:0.3dvw solid white; display: flex; justify-content: center; align-items: center; border-radius: 1dvw;}
#menu button{font-size: var(--fs-2); }
#menu button:hover{background:grey; color:aliceblue; box-shadow:inset 0 0 0 1px white; border:0.4dvw solid black; cursor: pointer;}  
/* formatting header */
header{padding-left: 1dvw; max-width: 200rem;  width: 100%;}
header h1{position: absolute; display: flex; flex-flow: row nowrap; justify-content: center; align-items: center; margin-inline: 20%;  margin-block: 2%; color: blue; font-size: var(--fs-4); text-align: center;  animation: infinite linear 30s styling; z-index: 99; }
@keyframes styling{
    0%{ translate: 0dvw 0dvw  1dvw; color: black; } 
    25%{ translate: -4dvw -1dvw 2dvw; color:blue; }
    50%{ translate: 0dvw 0dvw 3dvw; color: red;} 
    75%{ translate: 4dvw 1dvw 2dvw; color: navy; }
    100%{ translate: 0dvw 0dvw 1dvw; color: black;} 
} 

/* Aside formatting */
aside{display: grid;grid-template-columns: 1fr 2fr; justify-items: center; padding-top:5dvw;}
aside p{margin-left: 2dvw; color:darkblue; font-size: calc(var(--fs-2)*.7);}
.photo img{ max-width: 10dvw; height: 30dvh;}
/* formatting main */
main h2{display: flex; justify-content: left; color:indigo;font-size: calc(var(--fs-2)*.7); margin: 0.5dvw; padding: 0.25dvw;}
.art{display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr; gap:0.5dvw;margin-bottom: 1dvw;}
.art a{margin-left: 2dvw; color:darkblue; font-size: 1dvw; font-weight: 500;line-height: 2;}
:is(.HTML_CSS, .JavaScript, .others, .mixed) h2{border-radius: 2dvw; margin: 1dvw; background-image: repeating-conic-gradient(from 5deg at 5%, skyblue, grey 1deg, lightgreen 2deg);}


/** SETTINGS FOR OTHER DEVICES AND OTHER SIZES**/


/*max-width: 96rem = 1,712px */
@media only screen and (96rem <= width <= 107rem){
      #language, #menu button{max-width: 8dvw;}
      #language input{font-size: calc(var(--fs-1)*1);}
      #menu button{height: 4dvh;font-size: calc(var(--fs-1)*1.5);}
      #heading header h1{font-size: calc(var(--fs-3)*1.5); margin-top: 2%;}
      aside p{font-size: calc(var(--fs-1)*1.2);}
      .photo img{ max-width: 20dvw; height: 30dvh;}
}
@container parent (85rem <= width <= 96rem){
      #heading{width: 95rem; height: 9rem; margin-inline: 0dvw;}
      aside{width: 95rem; height: 20rem; grid-template-columns: 1fr 1fr; margin-inline: 2dvw;}
      main{width: 95rem; height: 55rem; margin-inline: 2dvw;}
}

/*max-width: 96rem = 1,528px */
@media only screen and (85rem <= width <= 96rem){
      #language, #menu button{max-width: 8dvw;}
      #language input{font-size: calc(var(--fs-1)*1);}
      #menu button{height: 6dvh;font-size: calc(var(--fs-1)*1.5);}
      #heading header h1{font-size: calc(var(--fs-3)*1.5); margin-top: 2%;}
      aside p{font-size: calc(var(--fs-1)*1.2);}
      .photo img{ max-width: 10dvw; height: 30dvh;}
}
@container parent (85rem <= width <= 96rem){
      #heading{width: 95rem; height: 9rem; margin-inline: 0dvw;}
      aside{width: 95rem; height: 20rem; grid-template-columns: 1fr 1fr; margin-inline: 2dvw;}
      main{width: 95rem; height: 55rem; margin-inline: 2dvw;}
}

/* max-width: 85rem = 1,360px */
@media screen and (75rem <= width <= 85rem) {
      #language, #menu button{max-width: 8dvw;}
      #language input{font-size: calc(var(--fs-1)*1);}
      #menu button{height: 6dvh;font-size: calc(var(--fs-1)*1.5);}
      #heading header h1{font-size: calc(var(--fs-3)*1.5); margin-top: 2%;}
      aside p{font-size: calc(var(--fs-1)*1.1);}
      .photo img{ max-width: 10dvw; height: 25dvh;}
} 

@container parent (75rem <= width <= 85rem){
      #heading{width: 85rem; height: 9rem; margin-inline: 0dvw;}
      aside{width: 85rem; height: 22rem; grid-template-columns: 1fr 1fr; margin-inline: 2dvw;}
      main{width: 85rem; height: 50rem; margin-inline: 2dvw;}
}

/* max-width: 75rem = 1,200px */
@media screen and (65rem <= width <= 75rem) {
      #language, #menu button{max-width: 10dvw;}
      #language input{font-size: calc(var(--fs-1)*1);}
      #menu button{height: 5dvh;font-size: calc(var(--fs-1)*1.5);}
      #heading header h1{font-size: calc(var(--fs-3)*1.3); margin-top: 2%;}
      aside p{font-size: calc(var(--fs-1)*1);}
      .photo img{ max-width: 10dvw; height: 25dvh;}
      .art{grid-template-columns: 1fr 1fr 1fr 1fr; }
      .art a {font-size: calc(var(--fs-1)*1);}
}
@container parent (65rem <= width <= 75rem){
      #heading{width: 75rem; height: 9rem; margin-inline: 0dvw;}
      aside{width: 75rem; height: 19rem; grid-template-columns: 50% 50%; margin-inline: 2dvw;}
      main{width: 75rem; height: 60rem; margin-inline: 2dvw;}
}


 /* max-width : 65rem  = 1,040px */
 @media screen and (55rem <= width <= 65rem) {   
      #language, #menu button{max-width: 11dvw;}
      #language input{font-size: calc(var(--fs-1)*1);}
      #menu button{height: 5dvh;font-size: calc(var(--fs-1)*1.5);}
      #heading header h1{font-size: calc(var(--fs-3)*1.3); margin-top: 2%;}
      aside p{font-size: calc(var(--fs-1)*1);}
      .photo img{ max-width: 10dvw; height: 25dvh;}
      .art{grid-template-columns: 1fr 1fr 1fr 1fr; }
      .art a {font-size: calc(var(--fs-1)*0.9);}
}

@container parent (55rem <= width <= 65rem){
      #heading{width: 65rem; height: 9rem; margin-inline: 0dvw;}
      aside{width: 65rem; height: 19rem; grid-template-columns: 50% 50%; margin-inline: 2dvw;}
      main{width: 65rem; height: 55rem; margin-inline: 2dvw;}
}


/* max-width: 55rem =  880px */
 @media screen and (45rem <= width <= 55rem){
      #language, #menu button{max-width: 11dvw;}
      #language input{font-size: calc(var(--fs-1)*0.9);}
      #menu button{height: 5dvh;font-size: calc(var(--fs-1)*1.3);}
      #heading header h1{font-size: calc(var(--fs-3)*1.3); margin-top: 2%;}
      aside p{font-size: calc(var(--fs-1)*0.9);}
      .photo img{ max-width: 10dvw; height: 25dvh;}
      .art{grid-template-columns: 1fr 1fr 1fr 1fr; }
      .art a {font-size: calc(var(--fs-1)*0.9);}
 }

@container parent (45rem <= width <= 55rem){
      #heading{width: 55rem; height: 8rem; margin-inline: 0dvw;}
      aside{width: 55rem; height: 19rem; grid-template-columns: 50% 50%; margin-inline: 2dvw;}
      main{width: 55rem; height: 55rem; margin-inline: 2dvw;}
  
}

/* max-width: 45rem =  720px */
 @media screen and (35rem <= width <= 45rem){
      #language, #menu button{max-width: 12dvw;}
      #language input{font-size: calc(var(--fs-1)*0.8);}
      #menu button{height: 4dvh;font-size: calc(var(--fs-1)*1.1);}
      #heading header h1{font-size: calc(var(--fs-3)*1); margin-top: 2%;}
      aside p{font-size: calc(var(--fs-1)*0.8);}
      .photo img{ max-width: 10dvw; height: 25dvh;}
      .art{grid-template-columns: 1fr 1fr; }
      .art a {font-size: calc(var(--fs-1)*0.9);}
 }

@container parent (35rem <= width <= 45rem){
      #heading{width: 45rem; height: 8rem; margin-inline: 0dvw;}
      aside{width: 45rem; height: 16rem; grid-template-columns: 50% 50%; margin-inline: 2dvw;}
      main{width: 45rem; height: 80rem; margin-inline: 2dvw;}
}

/* max-width: 35rem =  560px */
 @media screen and (25rem <= width <= 35rem){
      #language, #menu button{max-width: 12dvw;}
      #language input{font-size: calc(var(--fs-1)*0.7);}
      #menu button{height: 4dvh;font-size: calc(var(--fs-1)*0.9);}
      #heading header h1{font-size: calc(var(--fs-3)*0.6); margin-top: 2%;}
      aside p{font-size: calc(var(--fs-1)*0.7);}
      .photo img{ max-width: 10dvw; height: 25dvh;}
      .art{grid-template-columns: 1fr 1fr; }
      .art a {font-size: calc(var(--fs-1)*0.9);}
 }

@container parent (25rem <= width <= 35rem){
      #heading{width: 35rem; height: 7rem; margin-inline: 0dvw;}
      aside{width: 35rem; height: 15rem; grid-template-columns: 50% 50%; margin-inline: 2dvw;}
      main{width: 35rem; height: 77rem; margin-inline: 2dvw;}
}

/* max-width: 27rem =  432px */
 @media screen and (20rem <= width <= 25rem){
      #language, #menu button{max-width: 11dvw;}
      #language input{font-size: calc(var(--fs-1)*0.9);}
      #menu button{height: 5dvh;font-size: calc(var(--fs-1)*1.3);}
      #heading header h1{font-size: calc(var(--fs-3)*1.3); margin-top: 2%;}
      aside p{font-size: calc(var(--fs-1)*0.6);}
      .photo img{ max-width: 10dvw; height: 25dvh;}
      .art{grid-template-columns: 1fr 1fr; }
      .art a {font-size: calc(var(--fs-1)*0.9);}
 }

@container parent (20rem <= width <= 25rem){
      #heading{width: 25rem; height: 8rem; margin-inline: 0dvw;}
      aside{width: 25rem; height: 19rem; grid-template-columns: 50% 50%; margin-inline: 2dvw;}
      main{width: 25rem; height: 55rem; margin-inline: 2dvw;}
}
