/*
Theme Name: KPU
Author: Digital Convergence
Description: Block theme for the Kwantlen Polytechnic University fallback Wordpress site
Version: 1.1
*/

/* Source Sans Pro
 * https://fonts.google.com/specimen/Source+Sans+Pro
 */
@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;500;600;700&display=swap');

/* Base properties */
html,
body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	color: #333f48;
	font-family: "Source Sans Pro", sans-serif;
	font-size: 17px;
	height: 100%;
}

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: flex;
	flex-direction: column;
	line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
	line-height: 1.15;
}

/* Overrides Gutenburg index.php styles for (body .is-layout-flow > *) */
body .entry-content * + h1,
body .entry-content * + h2,
body .entry-content * + h3,
body .entry-content * + h4,
body .entry-content * + h5,
body .entry-content * + h6 {
	margin-block-start: 45px;
}

h1, h2, h3, h4, h5, h6, p, a {
	font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}

h1 {
	font-size: 2.647rem;
	letter-spacing: 0.01em;
}

h2 {
	font-size: 1.882rem;
}

h3 {
	font-size: 1.412rem;
}

ul {
	padding-left: 2.5rem;
	list-style: disc;
}

ul li + li {
	margin-top: 1rem;
}

a {
	color: var(--wp--preset--color--kpu-red);
	text-decoration: none;
}

a:hover,
a:focus {
	text-decoration: underline;
}


/* Layout Specific */

.wp-site-blocks {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.wp-site-blocks .alignfull,
.wp-site-blocks > .wp-block-group.has-background,
.wp-site-blocks > .wp-block-cover,
.wp-site-blocks > .wp-block-template-part > .wp-block-group.has-background,
.wp-site-blocks > .wp-block-template-part > .wp-block-cover,
body > .is-root-container > .wp-block-cover,
body > .is-root-container > .wp-block-template-part > .wp-block-group.has-background,
body > .is-root-container > .wp-block-template-part > .wp-block-cover,
.is-root-container .wp-block[data-align="full"] {
	/*margin-left: calc(-1 * var(--wp--custom--spacing--outer, 1.25rem)) !important;*/
	/*margin-right: calc(-1 * var(--wp--custom--spacing--outer, 1.25rem)) !important;*/
	width: unset;
}

.wp-site-blocks > header {
	box-shadow: 0 5px 10px -5px rgb(0 0 0 / 20%)
}

.wp-site-blocks header .site-branding-group {
	padding: 1.5rem 0;
}

header .site--title {
	text-transform: uppercase;
	font-weight: 500;
}

header .nav-wrap {
	display: flex;
	max-width: unset;
	max-height: 45px;
	width: 100vw;
}

header .nav-wrap > div {
	width: 100%;
}

header .wp-block-navigation-item__content {
	font-size: inherit;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}

header .wp-block-navigation-item__label:hover {
	text-decoration: underline;
}

.site-main {
	flex: 1;
	margin-top: 0;
	padding: 3.75rem 3.438rem;
}

.site-main * {
	font-family: "Source Sans Pro", sans-serif;
}

.site-header :where(.wp-block-group.has-background) {
	/*padding-left: var(--wp--custom--spacing--outer, 1.25rem);*/
  	/*padding-right: var(--wp--custom--spacing--outer, 1.25rem);*/
}

.site-footer {
	margin-top: 4rem;
}

.site-footer a {
	color: var(--wp--preset--color--white);
}

.site-footer .wp-block-column p,
.site-footer .wp-block-column a {
	margin-block-start: 0.5rem;
}

.site-footer .site-footer__telephone {
	display: inline-block;
	margin-top: 1.5rem;
	text-decoration: none;
	font-size: 18px;
	font-weight: bold;
}

.site-footer .site-footer__telephone:hover {
	text-decoration: underline;
}

.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5, .site-footer h6 {
	font-size: 1.11111em;
	font-weight: 600;
}

.site-footer .footer-logo {
	margin-bottom: 5px;
}

.site-footer .wp-block-social-links {
	margin-left: auto;
}

.site-footer .wp-block-social-links:not(.is-style-logos-only) li {
	color: #333f48;
}

.site-footer .wp-block-social-links:not(.is-style-logos-only) li:hover {
	color: var(--wp--preset--color--kpu-orange);
	fill: var(--wp--preset--color--kpu-orange);
}

@media (min-width: 782px) {
	.site-footer .wp-block-columns.alignwide {
    gap: var( --wp--style--block-gap, 2em );
	}
}

.site-footer .wp-block-navigation.is-vertical {
	margin: 0;
}

.site-footer .wp-block-navigation.is-vertical .wp-block-navigation__container {
	gap: 0;
}

/* Block Specific */

.wp-block-navigation ul li {
	margin: 0;
}

.wp-block-spacer {
	margin-block-start: 0 !important;
}

@media screen and (min-width: 601px) {
	.wp-block-media-text__content :first-child {
		margin-top: 0;
	}


	.wp-block-media-text__content :last-child {
		margin-bottom: 0;
	}
}

@media (min-width: 782px) {
	.wp-block-columns.alignwide {
    column-gap: 4rem;
	}
}

.wp-block-button__link {
	background-color: var(--wp--preset--color--black);
	border-radius: 0;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--forma-djr-display);
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.15;
	padding: 1rem 2rem;
}

@media screen and (max-width: 599px) {
	.site--title {
		display: none;
	}

	.site-branding-group, .site-main, .site-footer .wp-block-group {
		padding-left: 35px!important;
		padding-right: 35px!important;
	}

	.wp-site-blocks header .site-branding-group {
		padding: 0.875rem 0;
	}

	.wp-block-site-logo img {
		height: 40px;
	}

	.site-footer div.is-horizontal {
		flex-direction: column;
	}

	.site-footer .wp-block-columns > .wp-block-column {
		display: flex;
		flex-direction: column;
		justify-content: center;
		text-align: center;
	}

	.site-footer .is-layout-flex {
		width: 100%;
		justify-content: center;
	}

	.site-footer .is-layout-flex > * {
		margin: 0 auto;
	}
}

@media (max-width: 781px) {
	.wp-block-cover.page-hero {
		display: block;
	}

	.wp-block-cover.page-hero img {
		margin-left: -1rem;
		margin-right: -1rem;
		position: static;
		width: calc(100% + 2rem);
	}

	.wp-block-cover.page-hero .wp-block-cover__inner-container	{
		margin-top: 2rem;
	}

}

/* Form Elements */
input {
	font-size: 1.125rem;
}

.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper .gform_validation_errors>h2 {
	font-family: var(--wp--preset--font-family--forma-djr-display);
	font-size: 1.125rem;
	font-weight: 600;
}

[type="text"],
[type="password"],
[type="email"],
[type="number"],
[type="tel"],
[type="date"],
[type="url"],
select,
textarea {
	border-radius: 0;
	border: solid 1px var(--wp--preset--color--black);
}

input[type=submit] {
	appearance: none;
	background-color: var(--wp--preset--color--black);
	border: 0;
	border-radius: 0;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--forma-djr-display);
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.15;
	padding: 1rem 2rem;
	cursor: pointer;
}
