* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@font-face {
    font-family: 'Apex New';
    src: url('./fonts/ApexNew-Book.otf') format("opentype");
}

@font-face {
    font-family: 'Apex New';
    src: url('./fonts/ApexNew-Medium.otf') format("opentype");
    font-weight: bold;
}

html {
    font-size: 1rem;
    background-color: #fff;
}

body {
    margin: 0px;
    font-family: 'Apex New';
    background-color: #fff;
    min-width: 960px;
}

ul {
    margin: 0;
    padding: 0;
}

.banner {
    width: 100%;
    background-image: url('../images/banner-image.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    height: 600px;
    animation: fadeIn linear 500ms forwards;
}

.banner-container {
    margin: 0 auto;
    padding-left: 1rem;
}

.banner-heading .banner-heading__heading {
    font-size: 3.5rem;
    padding-top: 20%;
    max-width: 40rem;
    color: #fff;
    opacity: 0;
    text-shadow: 4px 4px 4px #555;
    animation: fadeIn ease-in 500ms forwards;
    animation-delay: 600ms;
}

.banner-heading .banner-heading__description {
    font-size: 2rem;
    color: #fff;
    font-weight: 100;
    max-width: 700px;
    line-height: 40px;
    text-shadow: 4px 4px 4px #555;
    max-width: 36rem;
    animation: fadeIn ease-in 500ms forwards;
    opacity: 0;
    animation-delay: 1s;
}


.sub-section {
    width: 100%;
    height: 600px;
    display: grid;
    grid-template-columns: repeat(3, minmax(320px, 350px));
    justify-content: center;
    align-items: center;
    background-color: white;
    margin: 0 auto;
}

.sub-section .sub-section__post {
    display: flex;
    flex-direction: column;
    max-width: 320px;
    height: 500px;
}

.sub-section .sub-section__post:hover {
    background-color: #dbb0660a;
}

.sub-section .sub-section__post .sub-section__post_logo {
    width: 100%;
    display: flex;
    justify-content: center;
}

.sub-section__post_logo .logo-image {
    width: 240px;
}


.sub-section .sub-section__post .sub-section__post_about-us-description,
.sub-section .sub-section__post .sub-section__post_why-us-description,
.sub-section .sub-section__post .sub-section__post_contact-us-description {
    text-align: center;
    padding: 1rem;
    color: #6D6E71;
    font-size: 18px;
    flex-grow: 1;
}
.sub-section .sub-section__post .sub-section__post_why-us-description {
	padding: 1rem 2.5rem;
}
.sub-section .sub-section__post .sub-section__post_about-us-description {
	margin-top: 2rem;
}

.sub-section .sub-section__post h2 {
    text-align: center;
    color: #6D6E71;
    padding: 0 4rem;
    font-size: 30px;
    font-weight: 600;
}

.sub-section .sub-section__post .registration {
    margin-top: 1rem;
    text-align: center;
}

.sub-section .sub-section__post .registration .registration__link {
    display: inline-block;
    padding: 0.625rem 1.5rem;
    text-decoration: none;
    background-color: #832e6e;
    color: white;
    font-size: 18px;
    font-weight: 900;
}

.sub-section .sub-section__post .sub-section__post_registration .registration__link:hover {
    background-color: #5a1f50;
}

.sub-section .sub-section__post .sub-section__post_why-us-description .why-us {
    list-style-type: none;
    text-align: center;
}

@keyframes fadeIn {
  0% {opacity:0;}
  100% {opacity:1;}
}

@media (min-width: 1008px) {
	.banner-container,
	.sub-section,
    .footer_wrapper {
	    max-width: 960px;
	}
}

@media (min-width: 1264px) {
	.banner-container,
	.sub-section,
    .footer_wrapper {
	    max-width: 1200px;
	}
}

@media (min-width: 1584px) {
	.banner-container,
	.sub-section,
    .footer_wrapper {
	    max-width: 1400px;
	}
}