/***************************************************************************************************************************************************************************************/

/*FOOTER STYLES*/

/***************************************************************************************************************************************************************************************/

footer {
	background: var(--navy-gradient);
	overflow: hidden;
	padding: 120px 0 40px;
	position: relative;
	z-index: 3;
}

footer .container {
	clear: both;
	margin: 0 auto; 
	max-width: 1600px;
	padding: 0 50px;
	position: relative;
	width: 90vw; /*Based off 1200 Sketch files*/
	z-index: 1;
}

footer .grid {
	gap: 40px;
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

footer .left-blur {
    aspect-ratio: 693 / 840;
    backdrop-filter: blur(0px);
    height: auto;
    opacity: 0.7;
    pointer-events: none;
    position: absolute;
    right: calc(100% - 50px);
    top: 416px;
    width: 777px;
}

footer .right-blur {
    aspect-ratio: 693 / 840;
    backdrop-filter: blur(0px);
    height: auto;
    left: calc(100% - 80px);
    opacity: 0.7;
    pointer-events: none;
    position: absolute;
    top: -88px;
    width: 573px;
    z-index: 99;
}

footer .left-blur svg,
footer .right-blur svg {
    height: 100%;
    width: 100%;
}

footer .triangle-pattern .triangle:nth-of-type(1n+21) {
	--triangle-color: var(--onyx);
}

/***Company Info***/

footer .company-info {
    grid-column: 1 / span 3;
}

footer .logo {
    aspect-ratio: 192 / 29;
    display: flex;
    height: auto;
    width: 192px;
}

footer .logo img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

footer .company-info p {
    color: #878E9B;
	font: 400 calc(14rem / 16)/calc(22.4 / 14) var(--body-font);
	letter-spacing: 0;
    margin: 60px 0 0;
}

/*Contact / Socials*/

footer .contact {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 36px 0 0;
}

footer .contact a {
    color: #878E9B;
}

footer .contact a:hover,
footer .sub-menu a:hover,
footer .sub-footer .bottom-links a:hover {
    color: #96AFEE;
}

footer .contact a.email,
footer .sub-footer .bottom-links a {
	font: 400 calc(14rem / 16)/calc(22.4 / 14) var(--body-font);
    text-decoration: underline;
    text-underline-offset: 4px;
}

footer .contact .social {
    display: flex;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

footer .contact .social a {
    font-size: calc(24rem / 16);
    line-height: 1;
}

/***Footer Menu***/

footer .menu {
    column-count: 3;
    column-gap: 40px;
    grid-column: 4 / -1;
    list-style: none;
    margin: 0 0 50px;
    padding: 0;
}

footer .menu > li {
	break-inside: avoid-column;
    margin: 0 0 60px;
}

footer .menu > li:not(.menu-item-has-children) {
	margin: 0 0 17px;
}

footer .menu-item-object-custom:not(.menu-item-has-children) + .menu-item-has-children {
	margin-top: 43px;
}

footer .menu-item-has-children > a {
    pointer-events: none;
}

footer .menu-item-has-children > a,
footer .menu-item-object-custom > a {
    color: #878E9B;
	display: block;
	font: 700 calc(14rem / 16)/calc(20 / 14) var(--body-font);
	letter-spacing: 1.12px;
	text-transform: uppercase;
}

footer .menu-item-object-custom:not(.menu-item-has-children) > a {
	color: #CCCFD4;
	font: 500 calc(15rem / 16)/calc(24 / 15) var(--body-font);
	letter-spacing: 0;
	text-transform: unset;
}

footer .sub-menu {
    list-style: none;
    margin: 17px 0 0;
    padding: 0;
}

footer .sub-menu li {
    display: flex;
}

footer .sub-menu li + li {
    margin-top: 15px;
}

footer .sub-menu a {
    color: #CCCFD4;
    font: 500 calc(15rem / 16)/calc(24 / 15) var(--body-font);
    letter-spacing: 0;
}

footer .menu-item-object-custom:not(.menu-item-has-children) > a:hover,
footer .sub-menu a:hover {
	color: #96AFEE;
}

/***Sub-Footer***/

footer .sub-footer {
    align-items: center;
    grid-column: 1 / -1;
}

footer .sub-footer .copyright-container {
    display: flex;
    flex-direction: column;
    gap: 2px;
    grid-column: 1 / span 6;
}

footer .sub-footer .copyright {
    color: #878E9B;
	font: 400 calc(14rem / 16)/calc(22.4 / 14) var(--body-font);
	letter-spacing: 0;
    margin: 0;
}

footer .sub-footer .bottom-links {
    display: flex;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

footer .sub-footer .bottom-links a {
    color: #878E9B;
	font: 400 calc(14rem / 16)/calc(22.4 / 14) var(--body-font);
	letter-spacing: 0;
}

footer .sub-footer .footer-badge {
    display: flex;
    grid-column: 7 / -1;
    justify-content: flex-end;
    max-height: 81px;
}

footer .sub-footer .footer-badge img {
    height: 100%;
    object-fit: contain;
}

@media only screen and (max-width: 1400px) {
	
	footer .container {
		width: 100%;
	}
	
}

@media only screen and (max-width: 1200px) {

	footer .container {
		padding: 0 40px;
	}

    footer .company-info {
        grid-column: 1 / -1;
        margin-bottom: 50px;
        max-width: 600px;
    }

    footer .menu {
        grid-column: 1 / -1;
    }

}

@media only screen and (max-width: 960px) {

	/***FOOTER***/

    footer .menu {
        column-count: 2;
    }

    footer .sub-footer .copyright-container {
        grid-column: 1 / -1;
        order: 2;
    }

    footer .sub-footer .footer-badge {
        grid-column: 1 / -1;
        justify-content: start;
        order: 1;
    }

    footer .grid {
        grid-template-columns: 1fr;
    }

}

@media only screen and (max-width: 650px) {
	
	/***FOOTER***/

	footer .container {
		padding: 0 20px;
	}

    footer .menu {
        column-count: 1;
    }

    footer .sub-footer .copyright {
        margin-bottom: 20px;
    }

}