.common-rows > * + * { margin-top: var(--big-gap) !important; }
.column-rows > * + * { margin-top: var(--normal-gap) !important; }
.main-title + * { margin-top: var(--big-gap) !important; }
.common-title + * { margin-top: var(--normal-gap) !important; }
.text-title + * { margin-top: 1rem !important; }

.no-row-gap {
    margin-top: 0 !important;
}

.common-columns {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-start;
}
.common-columns > * { width: 100%; flex-grow: 1; flex-shrink: 1; }
.common-columns > * + * { margin-left: var(--small-gap) !important; }

.column-420 {
    flex-shrink: 0;
    flex-grow: 0;
    width: 42rem;
}

.column-351 {
    flex-shrink: 0;
    flex-grow: 0;
    width: 35.1rem;
}

.column-310 {
    flex-shrink: 0;
    flex-grow: 0;
    width: 31rem;
}

.products-grid {
    display: grid;
    grid-gap: var(--small-gap);
    grid-template-columns: repeat(auto-fill, minmax(16.3rem, 1fr));
}

.product-link {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    height: 13.2rem;
    width: 100%;

    padding: 0 0.5rem 1.2rem;
    border: 1px solid #D3DEE1;
    border-radius: 4px;

    background: #FFFFFF;
    font: 300 1.4rem/1.4rem Roboto, sans-serif;
    color: #243C50;
    text-align: center;
    letter-spacing: -0.2px;
}

.product-link:hover {
    box-shadow: var(--common-shadow);
}

.product-link-image {
    display: block;
    height: 100%;
    width: 100%;
    background: no-repeat center;
}

.product-link-title {
    height: auto;
    flex-shrink: 0;
    flex-grow: 0;

    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
}

.item-with-icon {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: flex-end;
    min-height: 5rem;
    background: no-repeat left bottom / 5rem;
    font: 400 1.2rem/1.3rem Roboto;
    color: #4B5460;
}

.item-icon {
    flex-grow: 0;
    flex-shrink: 0;

    width: 10rem;
    height: 10rem;

    margin-right: 2rem;

    border: 1px solid #E4E4E4;
    border-radius: 4px;

    background: #FFFFFF no-repeat center;
}

.item-icon-soc {
    width: 8rem;
    height: 8rem;
    border: none;
    margin-bottom: 0;
    background-size: 3rem 3rem;
}

.item-authors {
    display: block;
    margin-top: .8rem;
}

.item-with-icon:hover .item-icon, .item-with-icon:hover .item-cover {
    box-shadow: var(--common-shadow);
}

.item-with-icon b {
    font-weight: 500;
    color: #007399;
}

.item-with-icon a {
    font-weight: 500;
    color: #007399;
    text-decoration: underline;
}

.item-with-icon-vert {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
}

.item-with-icon-vert .item-icon {
    margin-right: 0;
    margin-bottom: 2rem;

}

.authors-list {
    column-count: 3;
    column-gap: 7.5rem;
}

.authors-list > * {
    border-top: 1px solid #D3DEE1;
}

.authors-list > * > a {
    display: inline-block;
    padding: 1.2rem 0;
    font: 400 1.6rem/2.2rem Roboto;
    color: #007399;
}

.titles-columns-2 {
    column-count: 2;
    column-gap: var(--small-gap);
}

.titles-columns-2 > *, .titles-column > * {
    border-top: 1px solid #D3DEE1;
}

.titles-columns-2 > * > a, .titles-column > * > a {
    display: inline-block;
    padding: 1.1rem 0 1.4rem;
    font: 400 1.6rem/2.2rem Roboto;
    color: #007399;
}

.fixed-width {
    width: 100%;
    max-width: 144rem;
    margin: 0 auto;
    padding: 0 var(--outer-offset);
}

.fixed-width-flex {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.fixed-width-banner-flex {
    display: flex;
}

@media (max-width: 1439px) {
    .big-tablet-mono-column {
        flex-flow: column nowrap;
        align-items: stretch;
    }
    .big-tablet-mono-column > * + * {
        margin-left: 0 !important;
        margin-top: var(--normal-gap) !important;
    }
    .big-tablet-mono-column > .column-420 {
        width: auto;
    }
    .big-tablet-mono-column > .column-351 {
        width: auto;
    }
    .big-tablet-mono-column > .column-310 {
        width: auto;
    }

    .big-tablet-mono-column-inverted {
        flex-flow: column-reverse nowrap;
    }
    .big-tablet-mono-column-inverted > * + * {
        margin-top: 0 !important;
        margin-bottom: var(--normal-gap) !important;
    }

    .big-tablet-home-bnrs-grid {
        display: grid;
        grid-gap: 3rem;
        grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    }

    .big-tablet-home-bnrs-grid > * {
        margin: 0 !important;
    }

    .big-tablet-column-420-to-280 {
        width: 28rem;
    }
}


@media (max-width: 1023px) {
    .tablet-titles-mono-column {
        column-count: 1;
    }

    .tablet-mono-column {
        flex-flow: column nowrap;
        align-items: stretch;
    }
    .tablet-mono-column > * + * {
        margin-left: 0 !important;
        margin-top: var(--normal-gap) !important;
    }
    .tablet-mono-column > .column-420 {
        width: auto;
    }
    .tablet-mono-column > .column-351 {
        width: auto;
    }
    .tablet-mono-column > .column-310 {
        width: auto;
    }

}

@media (max-width: 767px) {
    .main-title + * { margin-top: 1.5rem !important; }
    .common-title + * { margin-top: 1.5rem !important; }
    .text-title + * { margin-top: .8rem !important; }

    .mobile-mono-column {
        flex-flow: column nowrap;
        align-items: stretch;
    }
    .mobile-mono-column > * + * {
        margin-left: 0 !important;
        margin-top: var(--big-gap) !important;
    }
    .mobile-mono-column > .column-420 {
        width: auto;
    }
    .mobile-mono-column > .column-351 {
        width: auto;
    }
    .mobile-mono-column > .column-310 {
        width: auto;
    }

    .fixed-width {
        max-width: none;
    }

    .products-grid {
        grid-gap: 1rem;
        grid-template-columns: repeat(auto-fill, minmax(16.3rem, 1fr));
    }

    .product-link-image {
        background-size: 60% 60%;
    }
}
