269 lines
4.8 KiB
CSS
Executable File
Vendored
269 lines
4.8 KiB
CSS
Executable File
Vendored
/* RESET STYLES & HELPER CLASSES
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– */
|
||
:root {
|
||
--level-1: #8dccad;
|
||
--level-2: #f5cc7f;
|
||
--level-3: #7b9fe0;
|
||
--level-4: #f27c8d;
|
||
--black: black;
|
||
}
|
||
|
||
* {
|
||
padding: 0;
|
||
margin: 0;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
ol {
|
||
list-style: none;
|
||
}
|
||
|
||
body {
|
||
margin: 50px 0 100px;
|
||
text-align: center;
|
||
font-family: "Inter", sans-serif;
|
||
}
|
||
|
||
.container {
|
||
max-width: 1000px;
|
||
padding: 0 10px;
|
||
margin: 0 auto;
|
||
}
|
||
|
||
.rectangle {
|
||
position: relative;
|
||
padding: 20px;
|
||
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
|
||
}
|
||
|
||
|
||
/* LEVEL-1 STYLES
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– */
|
||
.level-1 {
|
||
width: 50%;
|
||
margin: 0 auto 40px;
|
||
background: var(--level-1);
|
||
}
|
||
|
||
.level-1::before {
|
||
content: "";
|
||
position: absolute;
|
||
top: 100%;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
width: 2px;
|
||
height: 20px;
|
||
background: var(--black);
|
||
}
|
||
|
||
|
||
/* LEVEL-2 STYLES
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– */
|
||
.level-2-wrapper {
|
||
position: relative;
|
||
display: grid;
|
||
grid-template-columns: repeat(4, 1fr);
|
||
}
|
||
|
||
.level-2-wrapper::before {
|
||
content: "";
|
||
position: absolute;
|
||
top: -20px;
|
||
left: 25%;
|
||
width: 50%;
|
||
height: 2px;
|
||
background: var(--black);
|
||
}
|
||
|
||
.level-2-wrapper::after {
|
||
display: none;
|
||
content: "";
|
||
position: absolute;
|
||
left: -20px;
|
||
bottom: -20px;
|
||
width: calc(100% + 20px);
|
||
height: 2px;
|
||
background: var(--black);
|
||
}
|
||
|
||
.level-2-wrapper li {
|
||
position: relative;
|
||
}
|
||
|
||
.level-2-wrapper > li::before {
|
||
content: "";
|
||
position: absolute;
|
||
bottom: 100%;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
width: 2px;
|
||
height: 20px;
|
||
background: var(--black);
|
||
}
|
||
|
||
.level-2 {
|
||
width: 70%;
|
||
margin: 0 auto 40px;
|
||
background: var(--level-2);
|
||
}
|
||
|
||
.level-2::before {
|
||
content: "";
|
||
position: absolute;
|
||
top: 100%;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
width: 2px;
|
||
height: 20px;
|
||
background: var(--black);
|
||
}
|
||
|
||
.level-2::after {
|
||
display: none;
|
||
content: "";
|
||
position: absolute;
|
||
top: 50%;
|
||
left: 0%;
|
||
transform: translate(-100%, -50%);
|
||
width: 20px;
|
||
height: 2px;
|
||
background: var(--black);
|
||
}
|
||
|
||
|
||
/* LEVEL-3 STYLES
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– */
|
||
.level-3-wrapper {
|
||
position: relative;
|
||
display: grid;
|
||
grid-template-columns: repeat(2, 1fr);
|
||
grid-column-gap: 20px;
|
||
width: 90%;
|
||
margin: 0 auto;
|
||
}
|
||
|
||
.level-3-wrapper::before {
|
||
content: "";
|
||
position: absolute;
|
||
top: -20px;
|
||
left: calc(25% - 5px);
|
||
width: calc(50% + 10px);
|
||
height: 2px;
|
||
background: var(--black);
|
||
}
|
||
|
||
.level-3-wrapper > li::before {
|
||
content: "";
|
||
position: absolute;
|
||
top: 0;
|
||
left: 50%;
|
||
transform: translate(-50%, -100%);
|
||
width: 2px;
|
||
height: 20px;
|
||
background: var(--black);
|
||
}
|
||
|
||
.level-3 {
|
||
margin-bottom: 20px;
|
||
background: var(--level-3);
|
||
}
|
||
|
||
|
||
/* LEVEL-4 STYLES
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– */
|
||
.level-4-wrapper {
|
||
position: relative;
|
||
width: 80%;
|
||
margin-left: auto;
|
||
}
|
||
|
||
.level-4-wrapper::before {
|
||
content: "";
|
||
position: absolute;
|
||
top: -20px;
|
||
left: -20px;
|
||
width: 2px;
|
||
height: calc(100% + 20px);
|
||
background: var(--black);
|
||
}
|
||
|
||
.level-4-wrapper li + li {
|
||
margin-top: 20px;
|
||
}
|
||
|
||
.level-4 {
|
||
font-weight: normal;
|
||
background: var(--level-4);
|
||
}
|
||
|
||
.level-4::before {
|
||
content: "";
|
||
position: absolute;
|
||
top: 50%;
|
||
left: 0%;
|
||
transform: translate(-100%, -50%);
|
||
width: 20px;
|
||
height: 2px;
|
||
background: var(--black);
|
||
}
|
||
|
||
|
||
/* MQ STYLES
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– */
|
||
@media screen and (max-width: 700px) {
|
||
.rectangle {
|
||
padding: 20px 10px;
|
||
}
|
||
|
||
.level-1,
|
||
.level-2 {
|
||
width: 100%;
|
||
}
|
||
|
||
.level-1 {
|
||
margin-bottom: 20px;
|
||
}
|
||
|
||
.level-1::before,
|
||
.level-2-wrapper > li::before {
|
||
display: none;
|
||
}
|
||
|
||
.level-2-wrapper,
|
||
.level-2-wrapper::after,
|
||
.level-2::after {
|
||
display: block;
|
||
}
|
||
|
||
.level-2-wrapper {
|
||
width: 90%;
|
||
margin-left: 10%;
|
||
}
|
||
|
||
.level-2-wrapper::before {
|
||
left: -20px;
|
||
width: 2px;
|
||
height: calc(100% + 40px);
|
||
}
|
||
|
||
.level-2-wrapper > li:not(:first-child) {
|
||
margin-top: 50px;
|
||
}
|
||
}
|
||
|
||
|
||
/* FOOTER
|
||
–––––––––––––––––––––––––––––––––––––––––––––––––– */
|
||
.page-footer {
|
||
position: fixed;
|
||
right: 0;
|
||
bottom: 20px;
|
||
display: flex;
|
||
align-items: center;
|
||
padding: 5px;
|
||
}
|
||
|
||
.page-footer a {
|
||
margin-left: 4px;
|
||
}
|