:root {
	--clr-blue: #0d5aa6;
	--clr-blue-light: #5b8fc4;
	--clr-blue-dark: #0d59a6;
	--clr-blue-hyper: #0856a4;

    --clr-green: #43ab79;
	--clr-green-light: #87d7b0;

    --clr-gray: #6d6e72;
	--clr-gray-border: #b6b7b9;

    --trans-duration: 0.2s;
}

/***** Footer *************/
footer {
    font-size: 1.8rem;
    font-weight: 300;
    color: #fff;
}

#footer-content .dc-content {
    padding: 60px 2% 0;
}

#footer-address {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#footer-address > div {
    flex: 0 1 280px;
    margin-right: 10px;
}

@media (min-width: 600px) {
    #footer-content .dc-content {
        padding-top: 80px;
    }
}

@media (min-width: 1000px) {
    #footer-content .dc-content {
        padding-top: 90px;
    }
}

/***** Latest Posts section ***************/
.sect-latest-posts {
    position: relative;
    background-color: #fff;
}

.sect-latest-posts .dc-content {
    position: relative;
    margin: 0 auto;
    width: 100%;
    max-width: 114rem;
    padding: 35px 2% 75px;
}

.sect-latest-posts .dc-content:after {
    content: '';
    display: table;
    clear: both;
}

.sect-latest-posts h2 {
    font-family: var(--ff-roboto);
    font-size: 3rem;
    color: #fff;
    font-weight: 300;
    line-height: 1.2;
    text-align: center;
    background: var(--clr-gray);
    padding: 8px 0 6px;
    margin: 0;
}

.sect-latest-posts .blog-post {
    clear: both;
    margin-bottom: 3rem;
}

.sect-latest-posts .blog-post::after {
    content: '';
    display: block;
    clear: both;
    width: 60%;
    border-bottom: 1px solid #c8c8c8;
    padding-top: 3.3rem;
}

.sect-latest-posts .has-category .blog-post:nth-last-child(2)::after {
    width: 70%;
    border-bottom-width: 4px;
}

.sect-latest-posts .blog-post:last-child::after {
    display: none;
}

.sect-latest-posts .post-meta {
    position: relative;
    float: left;
    width: 195px;
    margin-top: 5px;
    font-family: var(--ff-roboto);
}

.sect-latest-posts .category .post-meta {
    margin-top: 0;
}

.sect-latest-posts .meta-sub {
    margin-bottom: 12px;
}

.sect-latest-posts .post-meta .post-date {
    display: block;
    font-size: 2rem;
    font-weight: 400;
    color: #333;
    margin-bottom: 0.25em;
}

.sect-latest-posts .post-meta .post-author {
    display: block;
    font-size: 1.6rem;
    font-weight: 100;
    color: #000;
}

.sect-latest-posts .post-meta .post-link,
.sect-latest-posts .post-meta .post-link:visited {
    display: inline-block;
    font-family: var(--ff-roboto);
    font-size: 1.5rem;
    font-weight: 400;
    color: #fff;
    line-height: 1;
    text-align: center;
    background: var(--clr-gray);
    border-bottom: 3px solid var(--clr-green);
    padding: 10px 20px 8px;
    transition: all 0.1s linear;
}

.sect-latest-posts .category .post-meta .post-link,
.sect-latest-posts .category .post-meta .post-link:visited {
    padding-right: 26px;
    padding-left: 26px;
    background: var(--clr-green-light);
}

.sect-latest-posts .post-meta .post-link:hover,
.sect-latest-posts .post-meta .post-link:active {
    text-decoration: none;
    background: #000;
}

.sect-latest-posts .post-content {
    position: relative;
    width: calc(95% - 195px);
    float: right;
}

.sect-latest-posts .post-title {
    line-height: 1.2;
    margin-bottom: 10px;
}

.sect-latest-posts .post-title a,
.sect-latest-posts .post-title a:visited {
    font-family: var(--ff-roboto-cond);
    color: #333;
    font-weight: 400;
    line-height: 1.3;
}

.sect-latest-posts .post-content p {
    font-family: var(--ff-roboto);
    font-size: 1.6rem;
    font-weight: 300;
    color: #000;
    line-height: 1.85;
    margin-bottom: 0;
    padding-bottom: 0;
}

.sect-latest-posts .post-content .read-more {
    font-family: var(--ff-roboto-cond);
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--clr-green);
}

.sect-latest-posts .post-content .read-more:hover,
.sect-latest-posts .post-content .read-more:active {
    text-decoration: underline;
}

@media screen and (max-width: 640px) {
    .sect-latest-posts .blog-post::after,
    .sect-latest-posts .has-category .blog-post:nth-last-child(2)::after {
        width: 100%;
    }

    .sect-latest-posts .post-meta {
        width: 35%;
    }

    .sect-latest-posts .post-content {
        width: 60%;
    }
}

@media screen and (max-width: 520px) {
    .sect-latest-posts .dc-content {
        padding: 40px 2% 20px;
    }

    .sect-latest-posts .post-meta,
    .sect-latest-posts .post-content {
        float: none;
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }

    .sect-latest-posts .category {
        max-width: 400px;
        margin-right: auto;
        margin-left: auto;
    }

    .sect-latest-posts .category .post-meta {
        float: right;
        margin-left: 10px;
        z-index: 99;
    }

    .sect-latest-posts .category .post-meta,
    .sect-latest-posts .category .post-content {
        width: auto;
    }

    .sect-latest-posts .post-meta {
        margin-bottom: 25px;
    }

    .sect-latest-posts .meta-sub {
        float: left;
        margin-bottom: 0;
    }

    .sect-latest-posts .post-meta .post-link {
        float: right;
        margin-top: 3px;
    }

    .sect-latest-posts .post-meta:after {
        content: '';
        display: table;
        clear: both;
    }
}
/***** end Latest Posts section ***********/


/***** Address (footer) ***********/
#footer-address .business-address {
    margin-bottom: 40px;
}

#footer-address .address,
.footer-phone * {
    display: block;
    line-height: 1.4;
    padding-bottom: 5px;
}

#footer-address .address.name {
    display: block;
    font-weight: 700;
}

#footer-address .address.title {
    display: block;
    padding-right: 5px;
}

#footer-address .address.line-1,
#footer-address .address.line-2 {
    display: inline-block;
}

#footer-address .address.line-2:before {
    content: ', ';
}

#footer-address .address.line-1>span,
#footer-address .address.line-2>span {
    font-size: 1.8rem;
    padding-left: 3px;
}

#footer-address .address.phone {
    display: none;
    padding-bottom: 10px;
}

#footer-address .address.phone a,
#footer-address .address.phone a:visited {
    font-size: 1.8rem;
    font-weight: 300;
}

#footer-address .address.phone.adtl a,
#footer-address .address.phone.adtl a:visited {
    font-size: 2.2rem;
    font-weight: 500;
}

#footer-address .address.phone .phone-desc {
    font-size: 1.8rem;
    font-weight: 400;
    background: none;
}

#footer-address .address.email {
    padding-top: 35px;
}

#footer-address .address.email a,
#footer-address .address.email a:visited {
    font-size: 2.2rem;
    color: #fff;
    font-weight: 400;
}

.footer-phone .title {
    display: block;
    font-weight: 700;
}

.footer-phone .phone,
.footer-phone .phone:visited {
    color: inherit;
    font-weight: 300;
}

@media (min-width: 600px) {
    #footer-address .business-address {
        margin-bottom: 50px;
    }
}
/***** end Address (footer) *******/


/***** Social Media Links ************/
.dc-social {
    margin-top: 20px;
}

.dc-social a {
    position: relative;
    display: inline-block;
    --icon-diameter: 35px;
    width: var(--icon-diameter);
    height: var(--icon-diameter);
    font-size: 2.5rem;
    line-height: var(--icon-diameter);
    text-align: center;
    margin-right: 20px;
    background: var(--clr-green-light);
    border-radius: 50%;
    transition: var(--trans-duration) ease;
}

.dc-social a:hover {
    text-decoration: none;
    background: #000;
}

.dc-social a:last-child {
    margin-right: 0;
}

.dc-social a:before {
    color: var(--clr-gray);
    vertical-align: middle;
}
/***** end Social Media Links ********/


/***** Search form **********/
#search {
    margin-bottom: 3.5rem;
}

#search .dc-content {
    padding-top: 4rem;
}

footer .search-form {
    position: relative;
    --_line-height: 5rem;
    width: 100%;
}

footer .search-form label span {
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    display: block;
    margin-bottom: 0.6em;
}

footer .search-form input[type="search"] {
    border: none;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: var(--_line-height);
    padding: 0 1em;
    width: 100%;
}

footer .search-form input[type="submit"] {
    -webkit-appearance: none;
    appearance: none;
    font-family: inherit;
    color: #fff;
    font-size: 1.6rem;
    line-height: var(--_line-height);
    height: var(--_line-height);
    letter-spacing: 0.125em;
    background-color: #004990;
    padding: 0 1em 0 2em;
    border: none;
    border-radius: 2em 0 0 2em;
    position: absolute;
    right: 0;
}

@media (min-width: 600px) {
    #search {
        margin-bottom: 6.5rem;
    }

    footer .search-form {
        --_line-height: 5.7rem;
    }

    footer .search-form label span {
        font-size: 3rem;
    }

    footer .search-form input[type="search"] {
        font-size: 2rem;
    }

    footer .search-form input[type="submit"] {
        font-size: 1.8rem;
    }
}
/***** end Search form ******/


/***** Associations section ********/
#associations {
    margin-top: 12px;
}

#associations h3 {
    font-size: 3rem;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 1.2;
    margin-bottom: 12px;
}

#associations h3 strong {
    font-weight: 700;
}

.partners {
	display: grid;
	grid-template-columns: 1fr;
}

.partners .card {
	flex: 1 1 160px;
	text-align: center;
	border: 2px solid var(--clr-gray-border);
	border-bottom: 0;
	border-left: 0;
	border-right-width: 0;
	padding: 0 20px 20px;
}

@media (min-width: 400px) {
	.partners {
		grid-template-columns: repeat(2, 1fr);
	}

	.partners .card:nth-child(odd) {
		border-right-width: 2px;
	}
}

@media (min-width: 600px) {
    #associations h3 {
        font-size: 2.8rem;
    }

	.partners {
		grid-template-columns: repeat(3, 1fr);
	}

	.partners .card,
	.partners .card:nth-child(odd) {
		border-right-width: 2px;
	}
	
	.partners .card:nth-child(3n) {
		border-right-width: 0;
	}
}

@media (min-width: 1000px) {
    #associations .dc-content {
        padding-top: 20px;
    }

    #associations h3 {
        font-size: 3rem;
        margin-bottom: 5px;
    }

	.partners {
		grid-template-columns: repeat(6, 1fr);
	}

	.partners .card,
	.partners .card:nth-child(3n) {
			border-right-width: 2px;
	}

	.partners .card:last-child {
		border-right-width: 0;
	}
}

.partners .card img {
	margin: 30px auto 40px;
}

.partners .card p {
	color: #d2d2d2;
	font-size: 1.6rem;
	font-weight: 300;
}
/***** end Associations section ****/

#copyright {
    font-size: 1.4rem;
    color: #ebf5ff;
    font-weight: 300;
    line-height: 1.7;
    padding: 3.5rem 0;
}

#copyright a,
#copyright a:visited {
    color: var(--clr-green-light);
    font-weight: 700;
}
/***** end Footer**********/
