/*
Theme Name: Colourfield 2026
Theme URI: 
Update URI: ninepoint-theme-colourfield2026
Author: Ninepoint
Author URI: https://ninepoint.cc
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
:focus {/* remember to define focus styles! */
	outline: 0;
}
body {
	background: #fff;
	line-height: 1;
}
ol, ul {
	list-style: none;
}
table {/* tables still need 'cellspacing="0"' in the markup */
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
a img {
	border: 0;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

/* ----------------------------- 
Theme Basics 
----------------------------- */

/* =Structure */
html {
	height: 100%;
}
body {
	background: #fff;
	height: 100%;
}
#page {
	background: #fff;
	min-height: 100%;
}

/* Alignment */
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.625em;
}
.alignright {
	display: inline;
	float: right;
	margin-left: 1.625em;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* =Global */
body, input, textarea {
	color: #232323;
	font-size: 15px; 
	font-weight: 400;
	font-family: "neue-haas-grotesk-text", sans-serif;
}

/* Headings */
h1,h2,h3,h4,h5,h6 {
	clear: both;
}
hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 5px;
}

/* Media */
.entry-content img,
.comment-content img,
.widget img {
	max-width:100%;
}
img[class*="align"],
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto; 
}
img.size-full,
img.size-large {
	max-width: 100%;
	width: auto; 
	height: auto;
}
embed,
iframe,
object {
	max-width: 100%;
}

/* Text elements */
ul, ol {
	margin: 0;
}
ul {
	list-style: disc;
}
ol {
	list-style: decimal;
}
ol ol {
	list-style: upper-alpha;
}
ol ol ol {
	list-style: lower-roman;
}
ol ol ol ol {
	list-style: lower-alpha;
}
ul ul, ol ol, ul ol, ol ul {
	margin-bottom: 0;
}
dl {
	margin: 0 1.625em;
}
dt {
	font-weight: bold;
}
dd {
	margin-bottom: 1.625em;
}
strong {
	font-weight: bold;
}
cite, em, i {
	font-style: italic;
}
blockquote {
	font-family: Georgia, "Bitstream Charter", serif;
	font-style: italic;
	font-weight: normal;
	margin: 0 3em;
}
blockquote em, blockquote i, blockquote cite {
	font-style: normal;
}
blockquote cite {
	color: #666;
	font: 12px "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 300;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
pre {
	background: #f4f4f4;
	font: 13px "Courier 10 Pitch", Courier, monospace;
	line-height: 1.5;
	margin-bottom: 1.625em;
	overflow: auto;
	padding: 0.75em 1.625em;
}
code, kbd, samp, var {
	font: 13px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}
abbr, acronym, dfn {
	border-bottom: 1px dotted #666;
	cursor: help;
}
address {
	display: block;
	margin: 0;
}
ins {
	background: #fff9c0;
	text-decoration: none;
}
sup,
sub {
	font-size: 10px;
	height: 0;
	line-height: 1;
	position: relative;
	vertical-align: baseline;
}
sup {
	bottom: 1ex;
}
sub {
	top: .5ex;
}
small {
	font-size: smaller;
}

/* Links */
a {
	color: #849698;
}
a:focus,
a:active,
a:hover {
	text-decoration: underline;
}

/* =Menu */
.mainmenu {
}
.mainmenu li {
	display: inline-block;
	position: relative;
	margin: 0 0 0 30px;
}
.mainmenu a:link, .mainmenu a:visited {
	display: block;
	text-decoration: none;
	color: #232323;
	font-family: "neue-haas-grotesk-display", sans-serif;
	font-size: 18px;
	line-height: 21px;
	font-weight: 600;
	padding: 0 0 12px;
	box-sizing: border-box;
	border-bottom: 2px solid transparent;
	transition: 0.2s linear;
}
.mainmenu li:nth-child(7n+1) a:hover {
	border-bottom: 2px solid #E52A6C;
}
.mainmenu li:nth-child(7n+2) a:hover {
	border-bottom: 2px solid #7A227F;
}
.mainmenu li:nth-child(7n+3) a:hover {
	border-bottom: 2px solid #633FA4;
}
.mainmenu li:nth-child(7n+4) a:hover {
	border-bottom: 2px solid #346BBC;
}
.mainmenu li:nth-child(7n+5) a:hover {
	border-bottom: 2px solid #06B5A1;
}
.mainmenu li:nth-child(7n+6) a:hover {
	border-bottom: 2px solid #A0CD6E;
}
.mainmenu li:nth-child(7n+7) a:hover {
	border-bottom: 2px solid #F8C631;
}
.mainmenu ul {
	display: none;
}


/* 404 */
.result-404 { padding: 18vw 4% 15vw; text-align: center; }
.result-404 .entry-title { font-size: 32px; line-height: 36px; padding-bottom: 30px }


/* styling */
.ctitleh1 {
	font-family: "miller-display",serif;
	font-size: 55px;
	line-height: 55px;
	font-weight: 250;
	margin-bottom: 2vw;
}
.ctitleh2 {
	font-family: "miller-display",serif;
	font-size: 50px;
	line-height: 56px;
	font-weight: 350;
	margin-bottom: 30px;
}
.ctitleh3 {
	font-family: "miller-display",serif;
	font-size: 40px;
	line-height: 46px;
	font-weight: 300;
	margin-bottom: 15px;
}
.ctitleh4 {
	font-family: "neue-haas-grotesk-display", sans-serif;
	font-size: 25px;
	line-height: 31px;
	font-weight: 600;
	margin-bottom: 20px;
}
.cpylrg {
	font-family: "neue-haas-grotesk-text", sans-serif;
	font-size: 20px;
	line-height: 27px;
	font-weight: 300;
}


/* ----------------------------- 
Theme Custom 
----------------------------- */
p {
	line-height: 21px;
	margin-bottom: 20px;
}
.ibvtop {
	display: inline-block;
	vertical-align: top;
}
.ibvmid {
	display: inline-block;
	vertical-align: middle;
}
.ibvbtm {
	display: inline-block;
	vertical-align: bottom;
}
.stdlink a {
	color: inherit;
	text-decoration: none;
}
.stdh {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 5000;
	display: flex;
	justify-content: end;
	box-sizing: border-box;
	padding: 38px 3.8% 0;
	background-color: #FFF;
}
.hlogo {
	position: absolute;
	top: 20px;
	left: 3.8%;
	width: 215px;
	z-index: 10;
}
.home .stdh .hlogo {
	display: none;
}
.hflh.hlogo {
	display: none;
}
.hflh.hlogo {
	position: sticky;
	top: 20px;
	margin-bottom: -50px;
	z-index: 5000;
}
.home .hflh.hlogo {
	display: block;
}
.hlogo a {
	display: block;
}
.hlogo img {
	width: 100%;
}
.hmtog {
	display: none;
	width: 30px;
	height: 24px;
	cursor: pointer;
	flex-wrap: wrap;
	align-items: space-between;
}
.hmtog div {
	height: 2px;
	background-color: #232323;
	border-radius: 1px;
	width: 100%;
}
.hmenu {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	height: 100vh;
	overflow-y: auto;
	width: 100%;
	z-index: 5000;
	max-width: 340px;
	box-sizing: border-box;
	padding: 120px 60px 50px;
	background-color: #FFF;
}
.hmclose {
	position: absolute;
	top: 30px;
	right: calc(3.8% + 10px);
	width: 30px;
	height: 25px;
	cursor: pointer;
}
.hmclose::after, .hmclose::before {
	content: '';
	position: absolute;
	background-color: #232323;
	height: 1px;
	width: 30px;
	top: 10px;
	right: 0px;
}
.hmclose::after {
	transform: rotate(45deg) translateZ(1px);
}
.hmclose::before {
	transform: rotate(-45deg) translateZ(1px);
}
.noscroll {
	height: 100vh;
	overflow: hidden;
}
.preload {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	bottom: 0;
	z-index: 9999;
	background-color: #232323;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
}
.preloadlogo {
	width: 100%;
	margin-bottom: 20px;
	text-align: center;
}
.preloadbar {
	display: flex;
	border: 1px solid #CCC;
	height: 15px;
	width: 300px;
	box-sizing: border-box;
	padding: 2px;
}
.preloadtext {
	width: 100%;
	text-align: center;
	font-family: "miller-display",serif;
	font-size: 16px;
	line-height: 16px;
	letter-spacing: 0.02em;
	color: #CCC;
	margin-top: 20px;
	margin-left: -12px;
}
.preloadtext span {
	position: relative;
	top: 1px;
	left: 13px;
	display: inline-block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #CCC;
	animation: dot-flashing 1s infinite linear alternate;
	animation-delay: 0.5s;
}
.preloadtext span::before, .preloadtext span::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
}
.preloadtext span::before {
	left: -8px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #CCC;
	animation: dot-flashing 1s infinite alternate;
	animation-delay: 0s;
}
.preloadtext span::after {
	left: 8px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #CCC;
	animation: dot-flashing 1s infinite alternate;
	animation-delay: 1s;
}
@keyframes dot-flashing {
  0% {
    background-color: #CCC;
  }
  50%, 100% {
    background-color: #232323;
  }
}
.preloadprogress {
	position: relative;
	width: 100%;
	overflow: hidden;
	background-image: linear-gradient(to right, #A4276D 0%, #A4276D 25%, #992B71 26.89%, #5E458B 37.74%, #39559B 45.75%, #2C5CA2 50%, #2D6EAC 54.29%, #318DBF 62.81%, #33A1CA 70.02%, #34A8CF 75%, #81BA41 100%);
}
.preloadprogress div {
	position: absolute;
	background-color: #232323;
	top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	transition: left 0.3s ease;
}


/* standard */
.stdpg {
	padding: 160px 3.8%;
}
.stdpgw {
	max-width: 1100px;
}
.stdpg .htxt {
}
.stdpg .htxt ul {
	margin: 0 0 20px 14px;
}
.stdpg .htxt li {
	line-height: 21px;
}


/* home */
#homepg {
}
.hintro {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	background-color: #FFF;
	min-height: 100vh;
	box-sizing: border-box;
	padding: 2vw 0 0;
}
.hintrow {
	padding: 0 3.8% 4vw;
}
.hintrotitle {
	position: relative;
	display: inline-block;
	overflow: hidden;
	background-color: #F2F1EE;
	margin: 2vw 3.8% 0vw;
}
.hintrotitle img, .hintrotitle video {
	position: absolute;
	z-index: 9;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	line-height: 0;
}
.intro-element {
	/*
	position: absolute;
	z-index: 10;
	top: 20%;
	left: 20%;
	background-color: #F2F1EE;
	border-radius: 50%;
	width: 19vw;
	height: 19vw;
	transition: 2s;
	*/
}
.intro-text {
	display: inline-block;
	position: relative;
	z-index: 11;
	font-family: "miller-banner", serif;
	font-size: 23.4vw;
	line-height: 1.3;
	background: #FFF;
	mix-blend-mode: screen;
}
.intro-text span {
	position: relative;
	font-family: sans-serif;
	font-size: 23vw;
	top: 3vw;
	margin: 0 -1vw;
}
.hintro:first-child .intro-text {
	font-size: 20.3vw;
}
.hintro .htxt {
	max-width: 55%;
}
.hmain {
	position: relative;
	background-color: #FFF;
	z-index: 10;
}
.hservices {
	position: sticky;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: 100vh;
	background-color: #232323;
	color: #FFF;
}
.hservicesw {
	padding: 4vw 3.8%;
}
.hservices .htxt {
	max-width: 900px;
}
.hservices .htxt ul {
	margin: 50px 0 0;
	max-width: 485px;
	list-style: none;
}
.hservices .htxt ul li {
	font-family: "neue-haas-grotesk-text", sans-serif;
	font-size: 20px;
	line-height: 27px;
}
.hservices .htxt ul li:first-child::before, .hservices .htxt ul li::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-image: linear-gradient(to right, #A4276D 0%, #A4276D 25%, #992B71 26.89%, #5E458B 37.74%, #39559B 45.75%, #2C5CA2 50%, #2D6EAC 54.29%, #318DBF 62.81%, #33A1CA 70.02%, #34A8CF 75%, #81BA41 100%);
	margin: 10px 0;
}
.hpeople {
	position: relative;
	z-index: 3;
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	align-content: end;
	min-height: 100vh;
	background-color: #FFF;
}
.hpeoplew {
	width: 100%;
	box-sizing: border-box;
	padding: 8vw 3.8% 0;
}
.hpeople .htxt {
	margin-bottom: 50px;
	max-width: 880px;
}
.hpeopleimg {
	line-height: 0;
}
.hpeopleimg img {
	width: 100%;
}
.hprofiles {
	position: relative;
	z-index: 4;
	background-color: #CCC;
}
.hprofilenavs {
	position: sticky;
	top: 0;
	z-index: 10;
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	align-items: center;
	height: 100vh;
	overflow-y: auto;
	margin-bottom: -100vh;
}
.hprofilenavsw {
	padding: 0 3.8%;
	text-align: right;
}
.hprofilenav {
	position: relative;
	width: 100%;
	color: #FFF;
	opacity: 0.5;
	font-size: 18px;
	line-height: 24px;
	margin: 8px 0;
	cursor: pointer;
}
.hprofilenavc {
	opacity: 1;
	font-weight: 600;
}
.hprofilenavc::before {
	content: '•';
	display: inline-block;
	vertical-align: middle;
	font-size: 24px;
	line-height: 24px;
	margin-right: 8px;
}
.hprofilebgs {
	position: sticky;
	top: 0;
	width: 100%;
	height: 100vh;
	margin-bottom: -100vh;
	z-index: 2;
}
.hprofilebg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	transition: 0.4s linear;
	opacity: 0;
}
.hprofilevid {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: 0.4s linear;
	opacity: 0;
}
.hprofilevid video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.profilevidtr {
}
.profilevidfb {
	display: none;
}
.hprofilevid.hprofilevidc {
	opacity: 1;
}
.hprofilegrps {
	position: relative;
	z-index: 8;
}
.hprofile {
	display: flex;
	align-items: center;
	min-height: 120vh;
	padding: 0 3.8%;
	box-sizing: border-box;
}
.hprofiletxt {
	height: 100%;
	width: 37%;
	min-width: 300px;
	z-index: 10;
	transition: 0.2s linear;
	opacity: 0;
}
.hprofiletxt .htxt {
	color: #FFF;
}
.hprofilebgc, .hprofilec .hprofiletxt {
	opacity: 1;
}

.profilemobilenav {
	display: none;
	margin-bottom: 20px;
}
.profilemobilenav span {
	display: inline-block;
	cursor: pointer;
	font-weight: 600;
}
.profilebio {
	display: none;
	background-color: #000;
	color: #FFF;
	border-radius: 30px;
	width: 80px;
	height: 30px;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-size: 12px;
	line-height: 21px;
	font-weight: 700;
	cursor: pointer;
}
/*
.prflmbnavdd {
	display: none;
	position: absolute;
	left: 0%;
	width: 100%;
	max-height: 400px;
	overflow-y: auto;
	background-color: #333;
	box-sizing: border-box;
	padding: 8px 15px 20px;
	margin-top: 4px;
}
*/


/* art */
#artpg {
}
.artintro {
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	padding: 120px 3.8% 60px;
	min-height: 100vh;
}
.artintro .htxt {
	max-width: 715px;
}
.artitems {
	position: relative;
	z-index: 4;
}
.artitem {
	display: flex;
	align-items: center;
	background-color: #232323;
	padding: 12vh 9.5% 12vh 3.8%;
	height: 100vh;
	box-sizing: border-box;
	line-height: 0;
}
.artitemw {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.arttxt {
	width: 42.5%;
	box-sizing: border-box;
	padding: 0 4% 0 0;
}
.arttxt .htxt {
	color: #FFF;
	max-width: 440px;
}
.artmedia {
	display: flex;
	justify-content: end;
	width: 57.5%;
	height: 100%;
}
.artmedia img {
	max-height: 100%;
	max-width: 100%;
}
.artmedia video {
	max-height: 100%;
	max-width: 100%;
}


/* footer */
.footer {
	display: flex;
	align-content: center;
	position: relative;
	z-index: 20;
	background-color: #232323;
	color: #FFF;
	padding: 0 3.8%;
	line-height: 0;
	min-height: calc(100vh - 50px);
}
.ftrw {
	width: 100%;
}
.ftrtop {
	padding: 70px 0 14px;
}
.ftrtop-info {
}
.ftrtop-info .ctitleh2 {
	margin-bottom: 20px;
}
.ftrtop-info p {
	max-width: 700px;
}
.ftrtop-info table {
	width: 100%;
}
.ftrtop-info table td {
	line-height: 22px;
	padding: 0 0 25px 0;
}
.ftrtop-info table td:nth-child(1) {
	width: 92px;
}
.ftrtop-info table td strong {
	font-size: 18px;
	font-weight: 600;
}
.fsocial {
}
.fsocial a {
	position: relative;
	display: inline-block;
	margin: 0 14px 14px 0;
}
.socicon {
	display: block;
	width: 33px;
	height: 33px;
	background-size: contain;
	background-repeat: no-repeat;
}
.socicon::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 33px;
	height: 33px;
	opacity: 1;
	transition: 0.3s linear;
	background-size: contain;
	background-repeat: no-repeat;
}
.socicon::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 33px;
	height: 33px;
	background-size: contain;
	background-repeat: no-repeat;
}
.socicon:hover::after {
	opacity: 0;
}
.socicon-linkedin::after {
	background-image: url('images/social-linkedin.svg');
}
.socicon-linkedin::before {
	background-image: url('images/social-linkedin-on.svg');
}
.socicon-youtube::after {
	background-image: url('images/social-youtube.svg');
}
.socicon-youtube::before {
	background-image: url('images/social-youtube-on.svg');
}
.ftrhr {
	width: 100%;
	height: 1px;
	background-image: linear-gradient(to right, #A4276D 0%, #A4276D 25%, #992B71 26.89%, #5E458B 37.74%, #39559B 45.75%, #2C5CA2 50%, #2D6EAC 54.29%, #318DBF 62.81%, #33A1CA 70.02%, #34A8CF 75%, #81BA41 100%);
}
.ftrbtm {
	display: flex;
	justify-content: space-between;
	align-items: end;
	padding: 28px 0 18px;
}
.ftrlogo {
	width: 174px;
	margin-bottom: 8px;
}
.ftrlogo a {
	display: block;
}
.ftrlogo img {
	width: 100%;
}
.ftrbtm-links {
	display: flex;
}
.ftrbtm-links .widget {
	margin-left: 6vw;
}
.ftrbtm-links .menu {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
}
.ftrbtm-links .menu li {
	margin: 0 0 15px 40px;
}
.ftrbtm-links .menu a {
	display: block;
	color: #7E7E7E;
	font-family: "neue-haas-grotesk-text", sans-serif;
	font-size: 11px;
	line-height: 15px;
	font-weight: 400;
}
.ftrbtm-links .widget_text {
}
.ftrbtm-links .widget_text .textwidget {
	display: flex;
}
.ftrbtm-links .widget_text p {
	color: #7E7E7E;
	font-family: "neue-haas-grotesk-text", sans-serif;
	font-size: 11px;
	line-height: 15px;
	font-weight: 400;
	margin: 0 0 15px 30px;
}