@font-face {
    font-family: 'IBM Plex Mono';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/IBMPlexMono-Light.ttf');
}
@font-face {
    font-family: 'IBM Plex Mono Medium';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/IBMPlexMono-Medium.ttf');
}
@font-face {
    font-family: 'Aldrich';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/Aldrich-Regular.ttf');
}
body, html {
    margin: 0;
    padding: 0;
    font-family: 'IBM Plex Mono', Arial, sans-serif;
}
.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
    padding-left: 40px;
    height: 90px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    box-sizing: border-box;
    &.in-home {
        background: rgba(255, 255, 255, 0.02);
        backdrop-filter: blur(30px);
    }
}
.logo {
    width: 33px;
    svg {
        width: 100%;
    }
}
.links {
    display: flex;
    align-items: center;
    a {
        text-decoration: none;
        font-size: 18px;
        padding: 24px;
        cursor: pointer;
        &:hover {
            text-decoration: underline;
        }
        &:visited {
            color: #000000;
        }
    }
}
.blog-url {
    text-decoration: none;
    &:hover {
        text-decoration: underline;
    }
    &:visited {
        color: #000000;
    } 
}
.theme-block {
    background: no-repeat url('../images/pg-bg.png') top center;
    background-size: cover;
    width: 42%;
    padding-top: 42%;
    position: fixed;
    z-index: 1;
    &.top {
        top: 0;
        right: 14.78%;
        transform: translateY(-76%) rotate(90deg);
    }
    &.right {
        top: 28px;
        right: 0;
        transform: translateX(66.55%);
        padding-top: 33%;
    }
    &.bottom {
        bottom: 0;
        right: 0;
        transform: translate(-13.5%, 34.8%);
    }
    &.left {
        left: 0;
        bottom: 0;
        transform: translate(-9%, 74.53%) rotate(90deg);
    }
}

.content {
    padding: 237px 0 152px 106px;
    position: relative;
    z-index: 2;
    .title {
        font-size: 102px;
        max-width: 666px;
        font-family: 'Aldrich';
    }
    .subtitle {
        font-size: 24px;
        padding: 52px 0;
        letter-spacing: -1.92px;
        margin-top: -33px;
    }
    .read-more {
        background: #B9FF66;
        padding: 0 40px;
        display: flex;
        align-items: center;
        font-size: 18px;
        height: 56px;
        border: 0;
        cursor: pointer;
        font-family: inherit;
        border: 3px solid transparent;
        transition: all 0.5s;
        &:hover {
            border-color: #000;
            .arrow-right {
                margin-left: 40px;
            }
        }
        a{
            text-decoration: none;
            &:hover {
                text-decoration: underline;
            }
            &:visited {
                color: #000000;
            } 
        }
    }
    .arrow-right {
        background: no-repeat url('../images/arrow.png') center center;
        background-size: contain;
        width: 16px;
        height: 16px;
        margin-left: 12px;
        transition: all 0.3s;
    }
}
.footer {
    background: rgba(249, 249, 249, 0.10);
    backdrop-filter: blur(30px);
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 152px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 1000;
    padding-left: 106px;
}
.footer-title {
    font-size: 20px;
    letter-spacing: -0.8px;
}
.company-group {
    margin-top: 22px;
    display: flex;
    align-items: center;
    .company-logo {
        height: 33px;
        margin-right: 60px;
        background: no-repeat center center;
        background-size: contain;
        &.artela {
            width: 159px;
            background-image: url('../images/artela.png');
        }
        &.dmc {
            width: 77px;
            height: 28px;
            background-image: url('../images/dmc.png');
        }
        &.map {
            width: 147px;
            background-image: url('../images/map.png');
        }
    }
}

.blog-page {
    padding: 225px 100px 0;
    .blog-page-title {
        font-size: 96px;
        letter-spacing: 1.92px;
        font-family: 'Aldrich';
    }
    .blog-list {
        padding: 74px 0 74px 230px;
    }
    .blog-item {
        border: 4px solid #B9FF66;
        margin-bottom: 16px;
        padding: 57px 53px 65px 116px;
        display: flex;
        justify-content: space-between;
    }
    .blog-title {
        font-size: 36px;
        line-height: 40px;
        letter-spacing: -0.72px;
        font-family: 'IBM Plex Mono Medium';
        position: relative;
        &::before {
            content: " ";
            position: absolute;
            top: 8px;
            right: 100%;
            transform: translateX(-32px);
            width: 24px;
            height: 24px;
            background: #28B8F6;
        }
    }
    .blog-desc {
        margin-top: 35px;
        line-height: 1.6;
        font-size: 16px;
    }
    .blog-info {
        padding-left: 36px;
    }
    .blog-author,
    .blog-date {
        font-family: 'IBM Plex Mono Medium';
        font-size: 16px;
        line-height: 20px;
        text-align: right;
    }
    .blog-date {
        margin-top: 6px;
    }
}

.blog-footer {
    height: 120px;
    padding: 0 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;

    .footer-logo {
        width: 154px;
        height: 33px;
        svg {
            width: 100%;
            height: 100%;
        }
    }
}

.blog-content-page {
    padding: 117px 100px 154px;

    .back-button {
        font-size: 18px;
        line-height: 56px;
    }

    .back-button > a {
        text-decoration: none;
    }

    img {
        width: 60%;
    }

    p:has(img) {
        text-align: center;
    }

    .blog-content-title {
        font-size: 40px;
        line-height: 48px;
        font-family: 'IBM Plex Mono Medium';
        padding-top: 42px;
    }

    .blog-author,
    .blog-date {
        font-family: 'IBM Plex Mono Medium';
        font-size: 24px;
        line-height: 28px;
    }
    
    .blog-info {
        padding-top: 60px;
    }
    .blog-date {
        margin-top: 8px;
    }

    .blog-content {
        padding-left: 230px;
        padding-top: 60px;
        font-size: 20px;
        line-height: 1.8;
        max-width: 1200px;
    }
}