/* Background Styles */
html {
    height: 100%;
    background-color: #333;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.flexbox-item-1 {
    min-height: 100px;
}

.flexbox-item-2 {
    min-height: 200px;
}

.flexbox-item-3 {
    min-height: 300px;
}

.flexbox-container {
    position: relative;
    background-color: yellow;
}

.flexbox-container::before {
    content: 'Flexbox Container';
    position: absolute;
    top: -40px;
    color: yellow;
    font-size: 2em;
}

.axis {
    position: absolute;
}

.cross-axis {
    left: 50%;
    transform: translateX(-50%);
    width: 5px;
    height: 100%;
    background-color: blue;
}

.main-axis {
    top: 50%;
    transform: translateY(-50%);
    height: 5px;
    width: 100%;
    background-color: red;
}

.axis::after {
    position: absolute;
    right: 10px;
    bottom: 10px;
    font-size: 2em;
}

.main-axis::after {
    position: absolute;
    content: 'Main Axis';
    color: red;
}

.cross-axis::after {
    white-space: nowrap;
    content: 'Cross Axis';
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    color: blue;
}

.flexbox-item {
    position: relative;
    width: 200px;
    margin: 10px;
    border: 3px solid #333;
    background-color: #dfdfdf;
    font-size: 100px;
    display: flex;
    justify-content: center;
}

.flexbox-item::before {
    content: 'Flexbox Item';
    position: absolute;
    color: black;
    font-size: 25px;
    top: 10px;
    left: 15px;
}

.flexbox-item::after {
    position: absolute;
    color: black;
    font-size: 25px;
    top: 10px;
    right: 15px;
}

.flexbox-item-1::after {
    content: '1';
}

.flexbox-item-2::after {
    content: '2';
}

.flexbox-item-3::after {
    content: '3';
}

.flexbox-item-4::after {
    content: '4';
}

.flexbox-item-5::after {
    content: '5';
}

.flexbox-item-6::after {
    content: '6';
}