.posts {
	display: grid;  
	grid-gap: 40px;
	grid-template-columns: repeat(auto-fill, calc(33% - 24px));
}
.upcoming {
	grid-template-columns: repeat(auto-fill, calc(50% - 20px))
}
.slider {
	margin-bottom: 40px;
}
 h2, .content {
	text-align: left;
}
article {
    background: initial; 
    padding: initial; 
    line-height: initial; 
    text-align: left; 
    font-size: initial; 
    font-family: 'Raleway', sans-serif; 
    margin: initial;
    color: #fff;
}
article h3 a {
	font-family: 'Montserrat', sans-serif;
	text-align: center;
	font-size: 18px;
	position: relative;
	display: inline-block;
	margin-bottom: 10px;
	z-index: 1;
	text-decoration: none;
	color: black;
}
.upcoming article h3 a {
	font-size: 22px;
}
article h3 a:hover {
	color: #2256a4;
	transition: all 0.3s;
}
article p:not(:last-of-type) {
    margin-bottom: 5px;
}
.upcoming {
	margin-bottom: 60px;
}
.info-card {
	height: 220px;
	background-size: cover;
	background-position: center center;
	position: relative;
}
.upcoming .info-card {
	height: 300px;
}
.info-container {
    overflow: hidden;
    width: 100%;
    position: absolute;
    height: 100%;
}
.info {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 5%;
    box-sizing: border-box;
    text-align: left;
    z-index: 0;
    backface-visibility: hidden;
    font-size: 0.8em;
}
.upcoming .info {
	font-size: 0.9em;
}
.info:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 90px 0 0 1200px;
    border-color: transparent transparent transparent #2256a4;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}
.upcoming .info:before {
	border-width: 120px 0 0 1500px;
}
.info-card a {
	color: #fff;
	font-weight: initial;
}
@media only screen and (max-width: 950px) {
    .upcoming, .posts {
    	grid-template-columns: 100%;
    }
    .upcoming .info-card, .info-card {
    	height: 250px;
    }
    .upcoming .info:before, .info:before {
    	border-width: 100px 0 0 1500px;
	}
	.upcoming article h3 a, article h3 a {
		font-size: 18px;
	}
	section h2 {
		font-size: 25px;
	}
}