/* FONTS */
@font-face {
    font-family: 'Merriweather';
    src: url('../css/Merriweather/Merriweather-VariableFont_opsz,wdth,wght.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Merriweather';
    src: url('../css/Merriweather/Merriweather-Italic-VariableFont_opsz,wdth,wght.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Lato';
    src: url('../css/Lato/Lato-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Lato';
    src: url('../css/Lato/Lato-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Lato';
    src: url('../css/Lato/Lato-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}


/* @font-face {
  font-family: "Figure";
  src: url("Figure/Figure-Regular.woff2") format("woff2"), 
    url("Figure/Figure-Regular.woff")
    format("woff");
}

@font-face {
  font-family: "Figure Bold";
  src: url("Figure/Figure-Bold.woff2") format("woff2"), 
    url("Figure/Figure-Bold.woff")
    format("woff");
} */

/* COLORS - Primary */
/* Ink #141414 */
.ink {color: #141414;}
.ink-background {background-color: #141414;}
/* Newsprint #f5f1f0 */
.newsprint {color: #f5f1f0;}
.newsprint-background {background-color: #f5f1f0;}
/* salmon #E56953*/
.salmon {color: #E56953;}
.salmon-background {background-color: #E56953;}

/* COLORS - Secondary */
/* Plum #E56953*/
.plum {color: #8f00db;}
.plum-background {background-color: #8f00db;}
/* Orange #ff3b05*/
.orange {color: #ff3b05;}
.orange-background {background-color: #ff3b05;}



html {
    box-sizing: border-box;
    overflow-x: hidden;
    font-family: Arial, Helvetica, sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
*, *:before, *:after {
    box-sizing: inherit;
}
body {
    margin: 0;
    background-color: #f5f1f0; /* newsprint */
    color: #141414; /* ink */
    overflow-x: hidden;
    font-size: 1.6em;
	min-height: 100vh;
    font-family: "Merriweather", serif;
}
header, h1, h2, h3, h4, .trailer {
    font-family: "Lato", sans-serif;
}
footer {
    font-family: "Lato", sans-serif;
}
header, footer, .main-footer {
    line-height: 1.4em;
}
header, main, .page-block {
    margin-bottom: 2em;
}
main {
  padding: 1em 1em;
}

header {
    background-color: #314253;
    color: #141414; 
}
header .logo-type {
    color: #E56953; /* salmon */
}


.page-container {
    max-width: 900px;
    margin: 0 auto;
}
a {
    color: #8f00db; /* plum */
}
h1, h2, h3, h4 {
    line-height: 1.3;
    margin: 0 0 .33em;
}
main h2 {
    margin-top: 1em;
}
.button {
    border: 0;
    border-radius: .25em;
    color: #E56953; /* salmon */
    background-color: #141414; /* ink */
    text-decoration: none;
    font-size: 18px;
    font-weight: 300;
    padding: 1.125rem 1.5rem;
    line-height: 1;
    display: inline-block;
}


header {
    padding-bottom: 1.2em;
    margin-bottom: 2em;
}

header nav {
    background-color: #E56953; /* salmon */
    color: #E56953;
    font-family: "Lato", sans-serif;
    text-align: center;
    font-size: .67em;
    margin-bottom: 1em;
}

header nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem; /* Reduced gap for better visual balance */
    list-style: none;
    padding: 0;
    margin: 0;
}

header nav li {
    list-style: none;
    padding: 1em 1.5em; /* More consistent padding */
    font-weight: bold;
    margin: 0;
}

header nav li a {
    display: block;
    text-transform: uppercase;
    text-decoration: none;
    color: #FFFFFF;
    text-shadow: 0 0 5px rgba(0,0,0,0.7);
    font-size: 1.25em;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}

header nav li a:hover {
    text-decoration: underline;
}

/* Apply button styling */
header nav a[href="/#apply"] {
    background: linear-gradient(135deg, #4A7BA7 0%, #5B8DB8 100%); /* Lighter blue */
    color: white;
    border-radius: 4px;
    padding: 0.6rem 1.5rem;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(74, 123, 167, 0.4);
}

header nav a[href="/#apply"]:hover {
    box-shadow: 0 4px 12px rgba(74, 123, 167, 0.5);
    transform: translateY(-1px);
    text-decoration: none; /* Override the underline on hover */
}

header h1 {
    font-family: "Lato", sans-serif;
    color: #E56953; /* salmon */
    line-height: 1.2;
    padding: 0;
    margin: .33em 0 .2em 0;
    text-align: center;
}
header.homepage h1 {
    font-size: 4em;
    line-height: 1.2;
    margin-bottom: .3em;
    font-family: "Lato", sans-serif;
}
header h1 a {
    text-decoration: none;
    color: #E56953; /* salmon */
}
header .page-intro {
    color: #f5f1f0; /* newsprint */
    font-family: "Merriweather",serif;
    font-weight: normal;
    font-style: normal;
    font-size: 1.2em;
    line-height: 1.3;
    margin-bottom: 1em;
}
footer ul.partner-logos {
    margin: 0 0 0 0;
    padding: 0;
    line-height: .5;
    display: flex;
    align-items: center;
    justify-content: center;
    height: inherit;
}
footer ul.partner-logos {
    margin-bottom: 90px;
}
footer ul.partner-logos li {
    list-style: none;
    padding: 0 1em 0;
}

footer ul.partner-logos img {
    height: 70px;
}

.page-intro {
    text-align: center;
    margin: 0 -1.5em 2em;
    line-height: 1.3;
}
.page-intro .big-type {
    font-family: "Lato", sans-serif;
    font-weight: normal;
    font-size: 1em;
}
.page-intro .contact-options {
    margin-left: .67em;
}
.page-intro .line-splitter {
    font-size: .67em;
    margin: 0 .5em;
    vertical-align: 10%;
}
.sub-nav {
    margin: 1em auto;
    max-width: 800px;
    font-family: "Lato", sans-serif;
    font-size: .83em;
}
.sub-nav .button {
    margin: 0 1em;
    background-color: #8f00db; /* ink */
    color: #f5f1f0; /* newsprint */
}

footer {
    font-size: .8em;
    text-align: center;
    padding-bottom: 2em;
}




/* MAIN CONTENT AREA STYLES */
main {
    padding: 0 1em 1em;
    line-height: 1.6em;
}
main ul, main p {
    margin: 0 0 1em;
}
main input {
    font-size: .75em;
    padding: .25em;
    margin: 0 0 .5em;
}


.testimonials {
    font-family: "Lato", sans-serif;
    padding: 1em 0 0;
    display: grid;
    grid-gap: 1.5em 2em;
    grid-template-columns: 1fr 1fr;
}
.testimonial {
    position: relative;
    padding-left: 1.5em;
    display: inline-block;
    font-size: .83em;
    line-height: 1.3;
}
.pullquote-big-quote {
    font-family: "Denton Condensed", serif;
    position: absolute;
    top: -.1em;
    left: -.1em;
    font-size: 4.2em;
    line-height: 1;
    opacity: .4;
}
.pullquote-name {
    font-family: "Denton Condensed", serif;
    display: block;
    padding-top: .3em;
    text-align: right;
    font-style: italic;
}

#conduct {
    margin-top: 3em;
    padding: 0 2em 1em;
    font-size: .83em;
    line-height: 1.3;
}
#conduct, .airtable-embed {
    background-color: #fff;
    border: 1px solid rgba(20, 20, 20, .2);
}
#conduct h2 {
    margin-top: 1.3em;
}
#conduct h3 {
    margin: 2em 0 1em;
}
#conduct h2 + h3 {
    margin-top: 1em;
}

/* EMFN STYLES
  .emfn article h2 {
    font-size:  3em;
    margin-bottom: 15px;
  }

  .emfn article h3 {
    font-family: "sofia-pro", "Open Sans", Helvetica, Verdana, Arial, sans-serif;
    font-weight: bold;
    color: black;
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
  }

  .booked {
    background-color: #fee4d6;
    padding: 15px 20px;
    border-radius: 4px;
    font-family: "sofia-pro", "Open Sans", Helvetica, Verdana, Arial, sans-serif;
    font-size: 1.2rem;
  }

  blockquote {
    line-height: 1.8rem;
    font-size: 1.2rem;
    color: #5c5c5c;
  } */

  /* @media screen and (max-width: 480px){
    .emfn article h2 {
      font-size:  2em;
    }

    .emfn article h3 {
      font-size:  1.6em;
    }

    .bodybig {
      line-height: 1.6;
      font-size: 1.3rem;
      margin-bottom: 0px;
    }
  } */

/* FOOTER STYLES */
footer p,
.main-footer p {
    margin: 0 0 1em;
}

footer #footer-nav {
    background-color: #232D44;
    margin-bottom: 1em;
    font-size: .6em;
}
footer ul,
.main-footer ul {
    margin: 0 0 2em;
    padding: 0;
}
footer li,
.main-footer li {
    list-style: none;
    padding-left: 0;
}
footer #footer-nav ul {
    line-height: 1;
    display: flex;
    align-items: center;
    height: inherit;
    padding: 0 2em;
    margin: 0;
}
footer #footer-nav li {
    flex-grow: 1;
}
footer #footer-nav li a {
    display: block;
    text-align: center;
    padding: 1em;
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
}
footer #footer-nav a:hover {
    text-decoration: underline;
}
#footer-details .page-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.class-list {
	margin-bottom: 4em;
}
.class-list h2 {
	margin-bottom: 1.5em;
}
.class-list p {
	margin: 2em 0;
	padding-left: 25%;
}
.class-list h2 + p.intro {
	margin-top: -2em;
	padding: 0;
}
.class-list img {
	float: left;
	width: 20%;
	border-radius: 50%;
}


@media screen and (max-width: 960px) {
    .page-intro {
        margin: 0 -.5em 1em;
    }
    footer ul.partner-logos {
        margin-bottom: 50px;
        flex-direction: column; 
        align-items: center;
        line-height: 2em;
    }
}

@media screen and (max-width: 900px) {
    .page-intro {
        margin: 0 0 1em;
        text-align: left;
    }
    header h1 {
        text-align: left;
        padding-top: .5em;
    }
    header .page-container {
        padding-left: 1em;
        padding-right: 1em;
        padding-bottom: .3em;
    }
    footer ul.partner-logos {
        margin-bottom: 50px;
        flex-direction: column; 
        align-items: center;
        line-height: 2em;
    }
}

@media screen and (max-width: 800px) {
    main, .page-block {
        margin-bottom: 1em;
        padding-top: 1em;
    }
    header.homepage {
        margin-bottom: .5em;
        padding-bottom: 0;
    }
    .page-intro {
        margin: 0 0 .5em;
    }
    .page-intro .contact-options {
        white-space: nowrap;
    }
    .page-intro .button {
        margin-top: 1em;
        display: inline-block;
    }
    header h1 {
        font-size: 3.5em;
    }
    footer ul.partner-logos {
        margin-bottom: 50px;
        flex-direction: column; 
        align-items: center;
        line-height: 2em;
    }
}

@media screen and (max-width: 700px) {
    footer #footer-nav ul {
        display: inherit;
        padding: .5em 0;
    }
    footer #footer-nav li a {
        text-align: left;
    }
    .page-intro .big-type {
        font-size: 1.3em;
    }
    header .page-intro {
        font-size: 1.2em;
        margin-bottom: 1em;
    }
    header nav {
        font-size: .66em;
    }
    header h1 {
        font-size: 3em;
    }
    header.homepage h1 {
        font-size: 3em;
    }
    footer ul.partner-logos {
        margin-bottom: 50px;
        flex-direction: column; 
        align-items: center;
        line-height: 2em;
    }
    footer ul.partner-logos li.ncl img {
        height: 100px;
    }
    footer ul.partner-logos li.nsp img {
        height: 100px;
    }
    footer ul.partner-logos li.opn img {
        height: 100px;
    }
    .testimonials {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 600px) {
    header {
        margin-bottom: 3em;
    }
    header.homepage h1 {
        font-size: 2em;
    }
    .sub-nav span {
        display: block;
    }
    .sub-nav .button {
        margin-left: 0;
    }
}

@media screen and (max-width: 540px) {
    header {
        margin-bottom: 3em;
        font-size: 1.5em
    }
    header nav {
        font-size: .5em;
    }
    header.homepage h1 {
        font-size: 1em;
        margin-bottom: 1em;
    }
    .page-intro .big-type {
        font-size: 1em;
    }
    header .page-intro {
        font-size: .75em;
        margin-bottom: 2em;
    }
    footer ul.partner-logos {
        margin-bottom: 50px;
        flex-direction: column; 
        align-items: center;
        line-height: 1.5em;
    }
    footer ul.partner-logos li {
        padding: 0 1em 0;
    }
    footer ul.partner-logos li.ncl img {
        height: 60px;
    }
    footer ul.partner-logos li.nsp img {
        height: 60px;
    }
    footer ul.partner-logos li.opn img {
        height: 60px;
    }
	.class-list p {
		margin-top: .33em;
		padding-left: 0;
	}
	.class-list img {
		float: none;
		width: 40%;
		margin: .5em 0 0 28%;
	}
}

@media screen and (max-width: 480px) {
    header nav li {
        flex-basis: min-content;
        font-size: .5em;
        padding-right: 10px;
    }
}

@media screen and (max-width: 420px) {
    header h1, header.homepage h1 {
        font-size: 1em;
    }
    .page-intro .big-type {
        font-size: .33em;
    }
    header .page-intro {
        font-size: .5em;
    }
    footer ul.partner-logos {
        margin-bottom: 50px;
    }
    footer ul.partner-logos li.ncl img {
        height: 50px;
    }
    footer ul.partner-logos li.nsp img {
        height: 50px;
    }
    footer ul.partner-logos li.opn img {
        height: 50px;
    }
}

@media screen and (max-width: 380px) {
	.class-list img {
		width: 50%;
		margin-left: 23%;
	}
    header h1, header.homepage h1 {
        font-size: .66em;
    }
    .page-intro .big-type {
        font-size: .5em;
    }
    header .page-intro {
        font-size: .5em;
    }
}