@import url('https://fonts.googleapis.com/css?family=Archivo:400,400i,700&display=swap');
@import url('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');

/*
Theme Name:     generatepress-child
Description:    Generatepress child theme for Te Taumata
Author:         Pivot Design
Template:       generatepress
*/



:root {
	--colour-white: #fff;
	--brand-yellow: #f2efde;
	--brand-blue: #0c3251;
	--brand-blue-r: 12;
	--brand-blue-g: 50;
	--brand-blue-b: 81;
	--brand-brown: #553a33;
	--menu-item-padding-h: 1rem;
}

body {
	color: #000;
	font-family: 'Archivo', 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
	overflow-x: hidden;
}

body, button, input, select, textarea {
	font-size: 16px;
}

h1 {
	background: var(--brand-blue);
	color: #fff;
	font-size: 1.8rem;
	margin-bottom: 2.5rem;
	padding: 2rem 0;
	text-align: center;
	word-spacing: 0.25em;
}

h2 {
	color: var(--brand-blue);
	font-size: 25px;
	margin-bottom: 0.5rem;
}

.padding-vertical {
	padding: 3rem 0 2rem 0;
}
.padding-vertical + .padding-vertical {
	padding-top: 1rem;
}
.text-blue {
	color: var(--brand-blue);
}
.text-brown {
	color: var(--brand-brown);
}
.text-yellow {
	color: var(--brand-yellow);
}

@media (min-width: 846px) {
	.inside-header {
		padding-bottom: 0;
	}
	#site-navigation {
		margin: 30px 0;
	}
}


/****************************************
	IMAGES AND FIGURES
****************************************/

.wp-block-cover, .wp-block-cover-image {
	align-items: flex-end;
}
.wp-block-cover p {
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 1);
}

figure.alignleft {
	display: block;
	float: none !important;
	margin-right: 0 !important;
}
figure.alignright {
	display: block;
	float: none !important;
	margin-left: 0 !important;
}
@media (min-width: 400px) {
	figure.alignleft.size-thumbnail {
		float: left !important;
		margin-right: 3rem !important;
	}
	figure.alignright.size-thumbnail {
		float: right !important;
		margin-left: 3rem !important;
	}
}
@media (min-width: 640px) {
	figure.alignleft.size-medium {
		float: left !important;
		margin-right: 3rem !important;
	}
	figure.alignright.size-medium {
		float: right !important;
		margin-left: 3rem !important;
	}
}
@media (min-width: 768px) {
	figure.alignleft.size-large,
	figure.alignleft.size-full {
		float: left !important;
		margin-right: 3rem !important;
	}
	figure.alignright.size-large,
	figure.alignright.size-full {
		float: right !important;
		margin-left: 3rem !important;
	}
}


/****************************************
	BUTTONS
****************************************/
button,
html input[type="button"],
input[type="reset"],
input[type="submit"],
.main-navigation .main-nav > ul > li.nav-button a,
a.button,
a.button:visited,
a.wp-block-button__link:not(.has-background) {
	background: transparent;
	border: 2px solid var(--brand-brown);
	border-radius: 4px;
	color: var(--brand-blue);
	font-weight: bold;
	text-transform: uppercase;
	transition: 200ms all;
}
button:hover,
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.main-navigation .main-nav > ul > li.nav-button a:hover,
a.button:hover,
a.button:visited:hover,
a.wp-block-button__link:not(.has-background):hover {
	background: var(--brand-brown) !important;
	color: #fff !important;
}



/****************************************
	COLUMNS
****************************************/



/****************************************
	OVERRIDE CLASSES
****************************************/
.p-0 {
	padding: 0 !important;
}


#page {
	padding-left: 1rem;
	padding-right: 1rem;
}


header#masthead {
	background: var(--brand-yellow);
}

/****************************************
	NAVIGATION
****************************************/
.main-navigation,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	background-color: transparent;
}
.main-navigation .main-nav > ul > li > a {
	font-weight: bold;
	padding: 0 var(--menu-item-padding-h);
	text-transform: uppercase;
}
.main-navigation .main-nav a {
	color: var(--brand-blue) !important;
	font-weight: bold;
}
.main-navigation .main-nav > ul > li[class*="current-menu-"] > a {
	background: transparent !important;
	color: var(--brand-brown) !important;
}
.main-navigation .main-nav > ul > li[class*="current-menu-"] > a:after {
	background: var(--brand-brown);
}
.main-navigation .main-nav > ul > li:hover > a,
.main-navigation .main-nav > ul > li.sfHover > a {
	background: transparent !important;
}
/* Underline */
.main-navigation .main-nav > ul > li > a:after {
	background: var(--brand-blue);
	bottom: 12px;
	content: " ";
	height: 0.2rem;
	left: var(--menu-item-padding-h);
	overflow: hidden;
	position: absolute;
	right: var(--menu-item-padding-h);
	transition: 200ms all;
	max-width: 0;
}
.main-navigation .main-nav > ul > li[class*="current-menu-"] > a:after,
.main-navigation .main-nav > ul > li:hover > a:after,
.main-navigation .main-nav > ul > li.sfHover > a:after {
	max-width: 1.25rem;
}
.main-navigation ul ul {
	background: var(--colour-white);
}
.main-navigation .main-nav > ul > li.nav-button {
	padding: inherit;
}
.main-navigation .main-nav > ul > li.nav-button a {
	line-height: 2.5 !important;
	margin-top: 0.53rem;
}
.main-navigation .main-nav > ul > li.nav-button a:after {
	content: none !important;
}

#site-navigation.main-navigation .main-nav ul ul a:hover,
#site-navigation.main-navigation .main-nav ul ul li[class*="current-menu-"] > a {
	background: var(--brand-blue) !important;
	color: var(--brand-yellow) !important;
}

@media (min-width: 846px) {
	.main-navigation ul ul {
		background: var(--brand-yellow);
	}
	#site-navigation.main-navigation .main-nav ul ul a:hover,
	#site-navigation.main-navigation .main-nav ul ul li[class*="current-menu-"] > a {
		background: var(--colour-white) !important;
		color: var(--brand-blue) !important;
	}
}


/****************************************
	CONTENT HEADER AND BACKGROUNDS
****************************************/
h1,
header.entry-header,
.bg-blue.wide,
.bg-yellow.wide {
	position: relative;
	z-index: 999;
}
.bg-blue.wide > *,
.bg-yellow.wide > * {
	position: relative;
}
h1:before,
header.entry-header:before,
.bg-blue.wide:before,
.bg-yellow.wide:before {
	background: var(--brand-blue);
	bottom: 0;
	content: " ";
	display: block;
	left: 0;
	margin-left: calc( -100vw / 2 + 100% / 2 );
	margin-right: calc( -100vw / 2 + 100% / 2 );
	max-width: 100vw;
	position: absolute;
	right: 0;
	text-indent: -99rem;
	top: 0;
	width: auto;
	z-index: -1;
}
h1:before,
.bg-blue:before,
.bg-blue:not(.wide) {
	background: var(--brand-blue) !important;
}
.bg-brown:before,
.bg-brown:not(.wide) {
	background: var(--brand-brown) !important;
}
.bg-yellow:before,
.bg-yellow:not(.wide) {
	background: var(--brand-yellow) !important;
}





.entry-title {
	padding: 2rem 0;
	position: relative;
}




.page-header-image {
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.separate-containers .site-main {
	margin-top: 0;
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .site-content,
.inside-page-header {
	padding-top: 0;
}
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .site-content,
.inside-page-header,
.wp-block-group__inner-container {
	padding: 0;
}

.page .entry-content {
	margin-bottom: 40px;
	margin-top: 40px;
}
/* Remove gap above cover if cover is first block */
.page .entry-content .wp-block-cover:first-child {
	margin-top: -40px;
}
.page .entry-content .wp-block-cover + h1 {
	margin-top: -2rem;
}


.sidebar .widget,
.footer-widgets .widget {
	font-size: 14px;
}
.footer-widgets {
	background: var(--brand-blue);
	color: #fff;
}
.footer-widgets a {
	color: var(--brand-yellow) !important;
}
.footer-widgets a:hover {
	text-decoration: underline;
}
#footer-contact > div {
	padding-left: 2.5rem;
	position: relative;
}
#footer-contact > div + div {
	margin-top: 1rem;
}
#footer-contact .fa {
	font-size: 1.25rem;
	left: 0;
	position: absolute;
}
#footer-contact .fa.fa-home {
	font-size: 1.5rem;
	margin-top: 0.1rem;
}
#footer-contact .fa.fa-facebook {
	background: #fff;
	border-radius: 50%;
	color: var(--brand-blue);
	height: 1.5rem;
	width: 1.5rem;
	text-align: center;
	line-height: 1.7rem;
}

footer.site-info {
	background: var(--brand-brown);
}



.footer-bar {
	float: none !important;
	margin: 0;
}
.footer-bar a {
	color: #fff !important;
}
.footer-bar > aside.widget {
	float: none;
}
@media (max-width: 639px) {
	.footer-bar {
		text-align: left !important;
	}
	.footer-bar > aside.widget.widget_nav_menu .menu {
		display: block;
	}
	.footer-bar > aside.widget.widget_nav_menu li,
	.footer-bar > aside.widget.widget_nav_menu a {
		display: block !important;
		margin: 0 !important;
		padding: 3px 0 !important;
	}
	.footer-bar > aside.widget + aside.widget {
		margin-top: 2rem !important;
	}
}
@media (min-width: 768px) {
	.footer-bar > aside.widget {
		float: left;
		margin: 0;
	}
	.footer-bar > aside.widget:last-child {
		float: right;
	}
}

.byline {
	background: #000;
	color: #fff;
	display: block;
	font-size: 0.8rem;
	padding: 1rem;
	text-align: center;
}
.byline a {
	color: var(--brand-yellow) !important;
}
.byline a:hover {
	text-decoration: underline;
}




/*
 * CLASSIFIEDS
 */
.classifieds-list .classifieds-listing + .classifieds-listing {
	border-top: 1px solid lightgrey;
	margin-top: 2rem;
	padding-top: 2rem;;
}
.classifieds-list .content {
	vertical-align: top;
}
.abri-link-wrap,
.classifieds-list .stats {
	margin-top: 1rem;
}

@media (min-width: 769px) {
	.classifieds-list .image-wrap {
		display: inline-block;
		width: 30%;
	}
	.classifieds-list .content {
		display: inline-block;
		margin-left: 5%;
		width: 60%;
	}
}
