/*  ============= WEB BROWSER RESETS ============ */
* { margin: 0; padding: 0; border: none }
*, *::before, *::after { box-sizing: border-box }
html { height: 100%; font-size: 100%; font: inherit; vertical-align: baseline;
scroll-behavior: smooth; scroll-padding-top: 20px }
body { max-width: 1920px; line-height: 1.5; margin-left: auto; margin-right: auto; 
min-height: 100vh; text-rendering: optimizeSpeed }  
img { width: 100%; height: auto; display: block }
h1, h2, h3, h4 { width: 100% }
input, button, textarea, select { font: inherit }

/* ================= ENDS ================ */


/* ============== HEADERS AND SECTIONS ============ */

/* Default header and widths */
header, section { width: 100% }

/* Last paragraph at bottom of container block */
section *:last-child { margin-bottom: 0 }

/* =================== HEADER ================ */

/* Regular and larger screens */
@media (min-width: 1200px) { 
	header { 
		margin-left: auto;
		margin-right: auto;
		padding: 1% 0 3% 0; 
		padding-left: calc( (100% - 1140px)/2 );
		padding-right: calc( (100% - 1140px)/2 );
	}
	.header-narrow {
		padding-left: calc( (100% - 920px)/2 );
		padding-right: calc( (100% - 920px)/2 );
	}

}

/* Tablets and smaller desktops */
@media (min-width: 1025px) and (max-width: 1199px ) { 
	header { padding: 3% 10% 4% 10% }
}

/* Tablets */
@media (min-width: 768px) and (max-width: 1024px) { 
	header { padding: 4% 5% 4% 5% }
}

/* Larger mobiles */
@media (min-width: 400px) and (max-width: 767px)  { 
	header { padding: 7% 13% 8% 13% }
}

/* Smaller mobiles */
@media (max-width: 399px) { 
	header { padding: 7% 10% 8% 10% } 
}

/* Image in header */
header img {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 24px;
}

/* Main heading in header */
header h1 {
	font-family: 'Roboto Condensed', sans-serif;
    font-size: calc(48px + (84 - 48) * ((100vw - 320px) / (1140 - 320)));
    color: #3e414f;
    letter-spacing: 8px;
	word-spacing: 102%;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 6px;
}

/* Sub-heading in header */
header h2 {
	font-family: 'Roboto Condensed', sans-serif;
    font-size: calc(26px + (22 - 18) * ((100vw - 320px) / (1140 - 320)));
    color: #000;
    line-height: 1.6;
}

/* ======================= SECTIONS ======================== */


/* Regular and larger screens */
@media (min-width: 1200px) { 
	section { 
		margin-left: auto;
		margin-right: auto;
		padding: 3.5% 0 4% 0; 
		padding-left: calc( (100% - 1140px)/2 );
		padding-right: calc( (100% - 1140px)/2 );
	}
	.section-narrow {
		padding-left: calc( (100% - 920px)/2 );
		padding-right: calc( (100% - 920px)/2 );
	
	}
}

/* Tablets and smaller desktops */
@media (min-width: 1025px) and (max-width: 1199px ) { 
	section { padding: 3% 10% 4% 10% }
}

/* Tablets */
@media (min-width: 768px) and (max-width: 1024px) { 
	section { padding: 4% 5% 4% 5% }
}

/* Larger mobiles */
@media (min-width: 400px) and (max-width: 767px)  { 
	section { padding: 7% 13% 8% 13% }
}

/* Smaller mobiles */
@media (max-width: 399px) { 
	section { padding: 7% 10% 8% 10% } 
}

/* Sections: main heading */
section h1 {
	font-family: 'Roboto Condensed', sans-serif;
    font-size: calc(32px + (48 - 32) * ((100vw - 320px) / (1140 - 320)));
	font-weight: normal;
    letter-spacing: 4px;
	word-spacing: 102%;
    color: #e1f5fe;
    margin-bottom: 12px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 3px;
}

/* Sections: text paragraphs */
section p, section a {
    font-family: 'PT Sans', sans-serif;
    font-size: calc(17px + (20 - 17) * ((100vw - 320px) / (1140 - 320)));
    color: #fff;
    margin-bottom: 22px;
    line-height: 1.5;
}

/* Coloured backgrounds */
.bg-header { background-color: #b2e6fe }
.bg-dark-1 { background-color: #000000 }
.bg-dark-2 { background-color: #3e414f }


/* ======================= UTILITY STYLES OR CLASSES ======================== */

.text-center {
	text-align: center !important /* Important means that the style overrides any other style*/
}