html,
body {
    margin: 0;
    padding: 0;
}
html {
    font-size: 16px;
    line-height: 1.86em;    
    scroll-behavior: smooth;
}
body {
    font-family: 'Lora', serif;
    min-height: 100vh;

    --ramtech-bg_color: #f1f3f4;
    --ramtech-bg2_color: #fff;
    --ramtech-bg3_color: #2a2e33;
    --ramtech-accent_color: #db0000;
    --ramtech-accent2_color: #db0000;
    --ramtech-heading_color: #343a40;
    --ramtech-text_color: #747577;
    --ramtech-text2_color: #acaa9e;
    --ramtech-border_color: #e7e7e7;

    --ramtech-grid_gap: 30px;
    --ramtech-grid_gap-: -30px;

    --ramtech-section_padding: 100px;
    --ramtech-section_padding-: -100px;

    --swiper-pagination-color: var(--ramtech-accent2_color);

    background-color: var(--ramtech-bg_color);
    color: var(--ramtech-text_color);
}

/* Commont styles */
a {
    font-weight: 600;
    text-decoration: none;
    color: var(--ramtech-heading_color);
    transition: color 0.3s ease;
}
a:hover {
    color: var(--ramtech-accent2_color);
}

img {
    max-width: 100%;
}

hr {
    border-width: 1px 0 0;
    border-color: var(--ramtech-border_color);    
    margin: 40px 0 30px;
}

.show_on_tablet {
    display: none;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    line-height: 1.2em;
    margin-top: 0;
    margin-bottom: 0.7em;
    color: var(--ramtech-heading_color);
}
h1 {
    font-size: 4.5rem;
    letter-spacing: -0.01em;
    margin-bottom: 0.5em;
}
h2 {
    font-size: 3.5rem;    
    letter-spacing: -0.01em;
    margin-bottom: 0.5em;
}
h3 {
    font-size: 3rem;
}
h4 {
    font-size: 2.5rem;
}
h5 {
    font-size: 1.3rem;
    line-height: 1.3em;
}

h1:last-child,
h2:last-child {
    margin-bottom: 0;
}

p:last-child {
    margin-bottom: 0;
}

.subtitle {
    font-size: 1.0588rem;
    font-weight: 600;
    color: var(--ramtech-accent_color);
    margin-bottom: 1em;
}

/* Alignment */
.align_center {
    text-align: center;
}
.align_left {
    text-align: left;
}
.align_right {
    text-align: right;
}

/* Buttons */
.button {
    font-size: 1rem;
    line-height: 1.875em;
    font-family: 'Lora', serif;
    font-weight: 600;
    background-color: var(--ramtech-accent2_color);
    color: #fff;
    padding: 8px 28px;
    border: none;
    display: block;
    width: fit-content;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.button:hover {
    color: #fff;
    background-color: var(--ramtech-accent_color);
}

.simple_button {
    font-weight: 600;
    white-space: nowrap;
    color: var(--ramtech-heading_color);
    transition: color 0.3s ease;
}
.simple_button:hover {
    color: var(--ramtech-accent_color);
}
.simple_button:after {
    content: '\E800';
    font-family: fontello;
    margin-left: 0.5em;
    vertical-align: bottom;
    font-weight: 400;
}

/* Form */
input, textarea {
    font-size: 1rem;
    line-height: 1.875em;
    font-family: 'Lora', serif;
    color: var(--ramtech-text_color);
    padding: 7px 15px;
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    box-shadow: none !important;
    border: 1px solid var(--ramtech-border_color);
}

/* Spacers */
.spacer {
    height: 1em;
}

/* Columns */
.columns {
    display: flex;
    flex-wrap: wrap;
}
.columns.align_middle {
    align-items: center;
}

.columns.gap {    
    margin-right: var(--ramtech-section_padding-);
    margin-bottom: var(--ramtech-section_padding-);
}
.columns.gap > [class*="column_"] {   
    padding-right: var(--ramtech-section_padding);
    padding-bottom: var(--ramtech-section_padding);
}
.columns.gap_sm {    
    margin-right: var(--ramtech-grid_gap-);
    margin-bottom: var(--ramtech-grid_gap-);
}
.columns.gap_sm > [class*="column_"] {   
    padding-right: var(--ramtech-grid_gap);
    padding-bottom: var(--ramtech-grid_gap);
}

.columns > [class*="column_"] {
    min-height: 100%;
    box-sizing: border-box;
}
.columns > .column_1-5 {
    width: 20%;
}
.columns > .column_1-4 {
    width: 25%;
}
.columns > .column_1-3 {
    width: 33.3%;
}
.columns > .column_2-5 {
    width: 40%;
}
.columns > .column_1-2 {
    width: 50%;
}
.columns > .column_2-3 {
    width: 66.6%;
}
.columns > .column_3-4 {
    width: 75%;
}
.columns > .column_1-1 {
    width: 100%;
}

/* Grid */
.content {
    width: 1290px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 1px;
    overflow: hidden;
    
    /*background-color: #f6f6f6;*/
}

/* Containers */
.container {
    padding-top: var(--ramtech-section_padding);
    padding-bottom: var(--ramtech-section_padding);
}
.container_inner {
    position: relative;
}

/* Header */
header {
    background-color: var(--ramtech-bg2_color);
    padding: 15px 0;
}
.logo img {
    width: 180px;
    display: block;
}
.logo h3 {
    margin: 0;
    color: var(--ramtech-accent_color)
}
#menu {
    list-style-type: none;
    padding: 0;
    display: flex;
    justify-content: flex-end;
}
#menu li:not(:first-child) {
    padding-left: 3em;
}
#menu li a {
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 800;
}

/* Footer */
footer {
    color: #aaabad;
    background-color: var(--ramtech-bg3_color);
    padding: 50px 0 30px;
    --ramtech-border_color: #aaabad;
}
footer a,
footer h4 {
    color: #fff;
}
footer a:hover {
    color: var(--ramtech-accent2_color);
}
footer p {
    margin: 0;
}
footer .logo img {
    width: 140px;
    margin: 0;
}
footer .icon {    
    font-size: 18px;        
    font-weight: 400;        
    color: #aaabad;        
    width: 20px;          
    margin-right: 5px;  
    text-align: center;        
    display: inline-block;    
}

/* Main section */
#main_col_1 {
    background-image: url(../img/img3.jpg);
    background-size: cover;
    background-position-x: center;
    background-position-y: bottom;
    height: 100%;
}
#main_col_2 {
    background-image: url(../img/img2.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--ramtech-bg3_color);
    position: relative;
    padding: 150px var(--ramtech-section_padding);

    --ramtech-heading_color: #fff;
}
#main_col_2:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: #2a2e33f5;
}
#main_col_2 .subtitle {
    --ramtech-accent_color: #d74848;
}
#main_col_2 .line::after {
    content: '.';
    position: absolute;
}

.line {
    position: relative;
    display: inline-block;
}
.line:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 12%;
    width: 100%;
    height: 19%;
    background-color:  var(--ramtech-accent_color);
}
.line.stl_2:before {
    background-color:  var(--ramtech-accent2_color);
}
.line span {
    position: relative;
}

/* About us section */
.images_duo {
    position: relative;
    padding-bottom: 50px;
}
.images_duo .first {
    width: 400px;
    width: 67%;
    display: block;
    margin-left: auto;
}
.images_duo .second {
    width: 300px;
    width: 50%;
    position: absolute;
    bottom: 0;
    left: 0;
}

/* News section */
#news {    
    background-color: var(--ramtech-bg2_color);
}
#posts_container {
    display: flex;
    flex-wrap: wrap;  
    margin-right: var(--ramtech-grid_gap-);
    margin-bottom: var(--ramtech-grid_gap-);
}
.post {   
    padding-right: var(--ramtech-grid_gap);
    padding-bottom: var(--ramtech-grid_gap);
    box-sizing: border-box;
    width: 33.3%;
}
.post_date {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ramtech-accent_color);
    margin-bottom: 0.8em;
}
.post_excerpt {
    margin-top: 0;
}
#load_more {
    margin: auto;
    margin-top: 3em;    
}

/* Info section */
#info {
    background-color: var(--ramtech-bg2_color);
}
.info_columns {
    display: flex;
    margin: 0 -30px -30px 0;
}
.info_column {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
}
.info_item {
    width: 100%;
    box-sizing: border-box;
    padding: 0 30px 30px 0;
}
.info_item_wrap {
    background-color: var(--ramtech-bg_color);
    padding: 20px;
}
.info_item img {
    width: 100%;
    margin-bottom: 1em;
}

/* Founders section */
#founders .container {
    max-width: 1000px;
}
.swiper-container {
    margin-top: 3em;
}
.swiper-wrapper {
    align-items: center;
}
.swiper-pagination {
    position: relative;
    margin-top: 2em;
    margin-bottom: -16px;
}
.donator_logo {
    display: block;
    text-align: center;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}
.donator_logo:hover {
    opacity: 1;
}

/* Contacts section */
.icon-file-pdf:before {
    /* margin: 0 0.5em 0 0; */
}
#result_message.alert {
    color: rgb(171, 68, 68);
}
#result_message.success {
    color: rgb(77, 171, 68);
}

/* Single post */
#post h3 {
    margin-bottom: 0.3em;
}