/*VARIABLES*/

:root {
  --colour-primary: #00476C;
  --colour-secondary: #F16C74;
  --color-text: rgb(70, 70, 70);
}

/*HELPERS*/

.colour-primary {
	
	color: var(--colour-primary);
	
}

.colour-secondary {
	
	color: var(--colour-secondary);
	
}


@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}

.fade-in {
    opacity: 0;
    animation: fadeIn 3s ease forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

#section_c,
#section_d{
    scroll-margin-top: 180px;
}

#section_e {
    scroll-margin-top: 0px;
}


/*TAGS*/

h1 {
	
	font-weight: normal;
	font-size: 1.5em;
	margin: 0px;
	padding-top: 1em;
	padding-bottom: 1em;
	
}

p {
	margin: 0px;
	margin-bottom: 1em;
	padding: 0px;
	line-height: 1.3em;
	color: var(--color-text);
}

img {

	border: 0px;

}

a {
	
	color: var(--colour-primary);
	text-decoration: none;
	
}

a:hover {
	
	color: var(--colour-secondary);
	
}

ul li {
	
	color: var(--color-text);
	margin-bottom: 1em;
	break-inside: avoid;
}

/*LAYOUT*/

.page_inset {
	
	padding-left: 10vw;
	padding-right: 10vw;
	
}

.text-columns {
    column-count: 2;
    column-gap: 4rem;
    break-inside: avoid;
}

.text-columns p:first-child {
	
	margin-top: 0;
	
}	

body, html {

	min-height: 100%;
	
	font-family: "DM Sans", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	
	color: var(--colour-primary);

}

body {
	
	margin: 0px;
	padding: 0px;

	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;

}


#header-mask {
	
    position: fixed;
    top: 0;
    left: 0;
    right: 0;

    height: 12vw; 

    z-index: 3;

    pointer-events: none;

    background-image: url("/lib/img/section_a_bkg.jpg");
    background-size: 100%;
    background-position: center top;
    
}


header {
	
	position: fixed;
	z-index: 3;
	display: flex;
	padding-top: 4vw;
	
}
	
	header .logo {
		
		height: 7vw;
		
	}
	
	header .divider {
		
		padding-left: 2vw;
		padding-right: 2vw;
		padding-top: 2vw;
		height: 2vw;
		
	}

	header nav ul {
	    display: flex;
	    margin: 0;
	    padding: 0;
	    padding-top: 2.2vw;
	    list-style: none;
	}
	
	header nav li {
	    display: flex;
	    align-items: center;
	    border-right: 1px solid;
	    padding-left: 6px;
	    padding-right: 6px;
	}

#scroll_wrapper {
	
    position: relative;

}


#scroll_wrapper .background {
    position: sticky;
    top: 0;

    height: 68vw;

    background-image: url("/lib/img/section_a_bkg.jpg");
    background-size: 100%;
    background-repeat: no-repeat;
    z-index: 1;
}


/*ELEMENTS*/		

	.quote {
		
		font-family: serif;
		font-size: 4em;
		text-align: left;
		
	}
	
	.quote_ref {
		
		font-size: 1.5em;
		padding-top: 1.5em;
		padding-bottom: 1.5em;
		text-align: left;
		color: var(--colour-secondary);
		
	}
	
	.col_2 {
		
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 64px;
		
	}

/*SECTIONS*/

#section_a {
	
    position: absolute;
    top: 0;

    z-index: 2;
    
    transform: translateY(0px);
    will-change: transform;
    
}

	#section_a .quote {
		
		padding-top: 16vw;
		
	}	

#section_a .scroll_instruct {
	
   display: flex;
   align-items: center;
   margin-top: 7.8vw;
    
}

	#section_a .scroll_instruct .arrow {
		
		height: 2.3vw;
		margin-right: 16px;
		animation: pulse 2s infinite;
	    
	}
	
	#section_a .scroll_instruct .text {
		
		font-size: 1.3em;
	    
	}


#section_b {
	
    position: relative;
    z-index: 2;

    background: white;
    padding-bottom: 2em;
}


#section_c {
	
    position: relative;
    z-index: 2;

    background-image: url("/lib/img/section_c_bkg.jpg");
       
}

#section_c p {
	
 break-inside: avoid;

}

#section_d {
	
    position: relative;
    z-index: 2;

    background-color: white;
    padding-bottom: 12px;
       
}

footer {
	
    position: relative;
    z-index: 2;

    background-color: var(--colour-secondary);
    padding-top: 24px;
       
}

footer .bkg {
	
	background-color: var(--colour-primary);
    padding-top: 24px;
    padding-bottom: 224px;
    
	background-image: url("/lib/img/footer_bkg.svg");
	background-repeat: no-repeat;
	background-position-x: 104%;
	background-position-y: center;
	background-size: 32%;
}

footer .info img {
	
	height: 100px;
	margin-top: 22px;
	margin-bottom: 24px;
	   
}

footer .info p {
	
	   color: white;
}

.contact_form{
    width:420px;
    max-width:100%;
}

.contact_form input,
.contact_form textarea{

    width:100%;
    box-sizing:border-box;

    padding:12px;
    margin-bottom:12px;

    font:inherit;

    border:1px solid #ccc;
    border-radius:4px;
}

.contact_form textarea{
    resize:vertical;
}

.contact_form button{

    padding:12px 24px;

    border:none;

    background:var(--colour-secondary);
    color:white;

    cursor:pointer;
    font-size: 1em;

    border-radius:4px;
}


.success{

    background:#dff6df;
    color:#1d5b1d;

    padding:12px;
    margin-bottom:16px;
}

.error{

    background:#ffe0e0;
    color:#8d0000;

    padding:12px;
    margin-bottom:16px;
}

.hp{
    position:absolute;
    left:-10000px;
}

@media only screen and (max-width: 890px) {
	
	.quote {
		font-size: 3em;
	}
	
	.quote_ref {
		font-size: 1em;
	}
	
	#section_c { 
		
		background-size: cover;
		
	}	

}

@media only screen and (max-width: 640px) {
	
	#header-mask {
	
		height: 16vw;	
		
	}
	
	.text-columns {
		
		column-count: 1;
		
	}
	
	.col_2 {
		
		grid-template-columns: 1fr;
		gap: 0;
	
	}

}


@media only screen and (max-width: 480px) {
	
	.page_inset {
		
			padding-left: 5vw;
			padding-right: 5vw;
	}
	
	header .logo {
		
		height: 9vw;
	
	}
	
	header .divider {

		height: 4vw;
		
	}
	
	header nav li {
		
		font-size: 0.7em;
		
	}	
	
	#section_a .scroll_instruct {
		
		display: none;
		
	}
	
	.quote {
		font-size: 2em;
		line-height: 1.2em;
	}
	
	.quote_ref {
		font-size: 1em;
	}
	
	

}