@charset "UTF-8";
/* Variables */
/*for clearfixing*/
.cf:before,
.cf:after {
  content: "";
  display: block; }
.cf:after {
  clear: both; }
.cf {
  zoom: 1;
  /*for old ie - triger has layout - ie sucks it */ }
/* 
 * https://github.com/jtrost/Complete-CSS-Reset
*/
body * {
  line-height: 1;
  box-sizing: border-box; }
/* Displays for HTML 5 */
article, aside, audio, command, datagrid, details, dialog, embed,
figcaption, figure, footer, header, hgroup, menu, nav, section, summary,
video, wbr {
  display: block; }
bdi, figcaption, keygen, mark, meter, progress, rp, rt, ruby, time {
  display: inline; }
/* Deprecated tags */
acronym, applet, big, center, dir, font, frame, frameset, noframes, s,
strike, tt, u, xmp {
  display: none; }
/* Reset styles for all structural tags */
a, abbr, area, article, aside, audio, b, bdo, blockquote, body, button,
canvas, caption, cite, code, col, colgroup, command, datalist, dd, del,
details, dialog, dfn, div, dl, dt, em, embed, fieldset, figure, form,
h1, h2, h3, h4, h5, h6, head, header, hgroup, hr, html, i, iframe, img,
input, ins, keygen, kbd, label, legend, li, map, mark, menu, meter, nav,
noscript, object, ol, optgroup, option, output, p, param, pre, progress,
q, rp, rt, ruby, samp, section, select, small, span, strong, sub, sup,
table, tbody, td, textarea, tfoot, th, thead, time, tr, ul, var, video {
  background: transparent;
  border: 0;
  font-size: 16px;
  font: inherit;
  margin: 0;
  outline: none;
  padding: 0;
  text-align: left;
  text-decoration: none;
  vertical-align: baseline; }
/* Miscellaneous resets */
ol, ul {
  list-style: none; }
blockquote, q {
  quotes: none; }
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; 
}
table {
  border-collapse: collapse;
  border-spacing: 0; 
}
body{
    font-family: 'Nunito Sans', 'Arial', 'helvetica', sans-serif;
}
img{
    max-width: 100%;
    max-height: 50%;
    /* height: auto; */
}
p{
    line-height: 1.25em;
}
a.btn:hover{
    background-color: black;
    color: white;
}
a.btn{
    display: inline-block;
    /* padding: 1rem; */
    transition-duration: .25s;
    color: white;
    border: 1px solid;
    margin-bottom: 0rem;
}
a.btn_yellow:hover{
    background-color: transparent;
    color: #c97c2c;
}
a.btn_yellow{
    background-color: #c97c2c;
    color: white;
    border-color: #c97c2c;
}
a.btn_red:hover{
    color: #a31f36;
    background-color: transparent;
}
a.btn_red{
    background-color: #a31f36;
    color: white;
    border-color: #a31f36;
}

h1{
    background-color: #7C2324;
    color: white;
    padding: 1rem;
    text-align: center;
    margin-top: 44px;
    /* margin-bottom: 40px; */
}
h1 span{
    font-weight: bold;
}
/* .part1{
    padding: 2rem 1rem;
    text-align: center;
    background-image: url(../img/swirl.png);
    background-size: auto 90%;
    background-repeat: no-repeat;
    background-position: -5% 50%;
}
.part1 img{
    max-width: 400px;
    width: 100%;
    display: block;
    margin: 0 auto 2rem;
}
.part1 p{
    text-align: center;
}
p.sub{
    font-size: 3rem;
    margin-bottom: 1rem;
    text-transform: uppercase;
    color: #57585b;
    font-weight: bold;
}
.part1 p strong{
    color: #a31f36;
    font-size: 4.0rem;
    text-transform: uppercase;
    font-weight: bold;
}
/*
.part1 p strong{
    color: #a31f36;
    font-size: 2.8rem;
    text-transform: uppercase;
    font-weight: bold;
}
*/
/* .part2{
    background-color: #fff;
    padding: 2rem 1rem;
}
.part2 .container{
    text-align: center;
    max-width: 450px;
    margin: 0 auto;
}
.part2 .container p.intro{
    color: #57585b;
}
.part2 p strong{
    font-weight: bold;
}
.part2 a.btn{
    width: 100%;
    max-width: 300px;
    margin: 0 auto 1rem;
    text-align: center;
    position: relative;
}
.part2 a.btn span{
    font-size: .65em;
    display: block;
    position: absolute;
    width: 100%;
    text-align: center;
    left: 0;
}
.part2 p{
    text-align: center;
 /* color: #a31f36; 
    font-size: 1.25rem;
    margin-bottom: .75em;
}*/

.part2 p.grad strong{
    color: #c97c2c;
    font-weight: bold;
    font-size: 2rem;
    font-style: italic;
}

.part2 .foot{
    text-align: center;
}
.part2 .foot a{
    color: #a31f36;
    display: block;
    margin-bottom: 1rem;
    text-align: center;
    font-style: italic;
}

.part2 .foot a:last-of-type{
    margin-bottom: 0;
} */ */
.ctas{
    padding: 1rem;
    background-color: #f3f4f4;
}
.ctas .container{
    border-top: 1px solid black;
    border-bottom: 1px solid black;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
}
.ctas a{
    display: inline-block;
    width: 50%;
    cursor:default;
    text-align: center;
    padding: 1rem;
    pointer-events: none;
}
/* .classes{
    padding: 1rem 1rem 2rem;
    background-color: #f3f4f4;
}
.classes .container{
    max-width: 1200px;
    margin: 0 auto;
}
.classes h3{
    max-width: 1200px;
    margin: 0 auto;
    margin-bottom: 1rem;
    font-weight: bold;
    font-size: 2rem;
}
.classes ul li{
    margin-bottom: .5rem;
    line-height: 1.2em;
}
.classes ul li:last-of-type{
    margin-bottom: 0;
} */
p.date-gold {
    font-weight: bold;
	font-size: 2.8rem !important;
	color: #c97c2c;
}
.city-logo{
	max-width: 50vh;
	width:50vh; 
	height: auto;
	display: block;
    margin-left: auto;
    margin-right: auto;
}
.splash-photo{
	width:100%;
	height: auto;
}
.message{
	position: relative; 
	float: right; 
	max-width: 75%; 
	background-color: transparent; 
	height: auto; 
	text-align: justify; 
	padding: 15px 150px;
}
.message a{
	color: #a31f36;
}

.side-buttons{
	position: relative; 
	float: leftt; 
	max-width: 25%; 
	background-color: transparent; 
	height: auto; 
	text-align: center;
}
@media only screen and (max-width:768px){
	.side-buttons{
		display: none;
		visibility: hidden;
	}
	.message{
		padding: 15px !important;
		max-width: 100% !important;
	}	
}
@media only screen and (min-width:768px){
	.mobile{
		display: none;
		visibility: hidden;
	}
    .part2 a.btn span{
        font-size: .5em;
    }
    h1{
        font-size: 1.75rem;
		font-weight: bold;
    }
    .ctas a{
        width: 25%;
        border-right: 1px solid black;
        padding-top: 0;
        padding-bottom: 0;
        margin-top: 1rem;
        margin-bottom: 1rem;
    }
    .ctas a:last-of-type{
        border-right: 0;
    }
    .classes .container{
        display: flex;
        flex-wrap: wrap;
    }
    .classes ul{
        width: 33%;
        padding: 0 1rem;
    }
	/*
	p.date-gold {
		font-size: 3.8rem !important;
	}
	*/

}
@media only screen and (max-width:960px){
	.message {
		padding: 15px 50px;
	}

}
@media only screen and (min-width:960px){
    .hero h1{
        position: relative;
        z-index: 2;
        font-size: clamp(2rem, 4vw, 3.5rem);
        text-align: center;
        line-height: 1.2;
        padding: 2rem 1rem;
    }
    .hero .banner{
        position: relative;
    }
    /* .hero .the-image{
        z-index: 1;
        position: absolute;
        top: -30%;
        left: -30%;
        width: 75%;
        padding-bottom: 75%;
        height: 0;
        overflow: hidden;
        border-bottom-right-radius: 50%;
        border-top-right-radius: 50%;
        border-bottom-left-radius: 50%;
        background-color: white;
        border: 1rem solid #d1d2d3;
    } */
    .hero .the-image img{
        height: 50vh;
        width: 50vh;
        max-width: none;
        position: absolute;
        top: 26%;
        left: 20%;
        right: 0;
        bottom: 0;
        margin: auto auto;
    }
    .hero .the-content{
        width: 100%;
    }
    .part2 .positioner,
    .part1 .positioner{
        padding-left: 50%;
    }
    .part1{
        padding-top: 2rem;
        padding-bottom: 4rem;
        background-position: 40% 50%;
    }
    .part1 p.sub{
        font-size: 4vw;
    }
    .part1 p{
        font-size: 3vw;
        line-height: .9em;
    }
	/*
    .part1 p{
        font-size: 7vw;
        line-height: .9em;
    }
	*/
	/*
    .part1 p strong{
        font-size: 1em;
    }
	*/
    .part2 .container{
        max-width: 80%;
        margin: 0 auto;
    }
    .part2 p.grad{
        font-size: 4vw;
        margin-bottom: 1rem;
    }
    .part2 p.grad strong{
        font-size: 1em;
    }
    .part2 p{
        font-size: 1.6vw;
    }
    .part2 a.btn{
        display: inline-block;
        width: auto;
        font-size: 1.25vw;
        margin: 0 .25rem 1.25vw;
    }
    .part2 .foot a{
        text-align: right;
        font-size: 1vw;
    }

    .round-button{
      position:absolute;
      bottom:4em;
      left:40%;
      transform: translateX(-50%);
      z-index:99
    }
}
@media only screen and (min-width:1240px){
    .hero .the-image{
        width: 960px;
        height: 960px;
        padding-bottom: 0;
        left: -350px;
    }
    .part2 .positioner,
    .part1 .positioner{
        padding-left: 580px;
    }

    .round-button{
      bottom:2em;
      font-size: 1.5em;
    }
} 


.round-button{
  text-align:center;
  margin: 3em auto 0;
  display: block;
  box-shadow: inset 0 0 40px 0 rgba(0,0,0,.25);
  border: 5px solid #a31f36;
  background:#FFF;
  width: 8.25em;
  height: 8.25em;
  border-radius: 50%;
  padding: 1.875em 1em;
  color: #a31f36;
  font-size: 1.5em;
}

/* Adjustment for New page */

.heading-bar {
    background-color: black;
    padding: 2rem 0;
  }
  .heading-bar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
  }
  .heading-bar img {
    max-height: 100px;
    width: 30%;
  }
  @media (max-width: 768px) {
    .heading-bar .container {
      flex-direction: column;
      gap: 1rem;
    }
  }

  .hero-callout {
  background-color: #fff;
  padding: 2rem 1rem;
}

.hero-callout .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  gap: 2rem;
}

.hero-callout h2 {
  font-size: 3.5rem;
  font-weight: 800;
  line-height: 1.2;
  color: #222;
  text-align: center;
}

.callout-buttons {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.btn_orange {
  background-color: #d6722a;
  color: white;
  padding: 1rem 5rem;
  border-radius: 6px;
  text-align: center;
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: 500;
  transition: background-color 0.3s ease;
}

.btn_orange:hover {
  background-color: #b85c1b;
}

.info-columns {
  background-color: white;
  padding: 2rem 1rem;
}

.info-columns .container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: space-between;
}

.info-block {
  flex: 1 1 45%;
  min-width: 300px;
  text-align: left;
}

.info-block h2 {
  font-size: 1.5rem;
  color: #a31f36;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.info-block p {
  font-size: 1rem;
  color: #333;
  line-height: 1.5;
}

/* Program Highlights CSS */

/* .program-feature {
  padding: 100;
} */

.program-feature .program-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}


.program-text {
  flex: 1 1 50%;
  /* padding: 2rem; */
  padding-left: 10rem;
  padding-right: 20rem;
}

.program-text h2 {
  color: #a31f36;
  font-size: 1.75rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.program-text p {
  font-size: 1rem;
  color: #333;
  margin-bottom: 1rem;
}

.learn-link {
  font-weight: bold;
  color: #000;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: border-color 0.3s ease;
}

.learn-link:hover {
  border-color: #a31f36;
}

.program-image {
  flex: 1 1 50%;
  overflow: hidden;
  height: 100%;
  position: relative;
}

.program-image img {
  width: 100%;
  height: 450px;
  object-fit: cover;
  object-position: center;
}

/* Cyber Image */

.shift-down {
  object-fit: cover;
  object-position: center 30%; /* this is what actually shifts it */
  width: 100%;
  height: 100%;
  display: block;
}
/* Image clippins */

.clip-right img {
  clip-path: polygon(
    15% 0,
    100% 0,
    100% 100%,
    15% 100%,
    0 50%
  );
}

.clip-left img {
  clip-path: polygon(
    0 0,
    85% 0,
    100% 50%,
    85% 100%,
    0 100%
  );
  object-fit: cover;
  object-position: center 25%; /* adjust as needed */
  width: 100%;
  display: block;
}

/* Prorgam Mobile Queries */

@media (max-width: 768px) {
  .program-content {
    flex-direction: column;
  }

  .program-content:nth-child(even) {
    flex-direction: column-reverse;
  }

  .program-text,
  .program-image {
    flex: 1 1 100%;
    width: 100%;
  }

  .program-image {
    width: 100%;
  }

  .program-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    object-position: center top;
    clip-path: none;
  }

    .program-text {
    padding: 2rem 1rem; /* Reset padding for smaller screens */
  }
}

@media (max-width: 768px) {
  .clip-left img,
  .clip-right img {
    clip-path: none;
  }
}

/* Virtual Tour */
.virtual-tour{
    height: 25vh;
}

/* Social Media */

.social-section {
  background-color: #fff;
}

.social-header {
  background-color: #a31f36;
  color: white;
  padding: 1rem 2rem;
  text-align: center;
}

.social-header h2 {
  margin: 0;
  font-size: 1.75rem;
}

.social-body {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 1rem;
  gap: 2rem;
}

.social-text {
  flex: 1 1 45%;
}

.social-text h3 {
  color: #a31f36;
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.social-icons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.social-icons a {
  background-color: #A31F36;
  color: rgb(255, 255, 255);
  font-size: 1.75rem;
  width: 48px;
  height: 48px;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.social-icons a:hover {
  background-color: #D6722A;
}

.social-icons a:hover {
  background-color: #891a2d;
}

/* Footer */

.site-footer {
  background-color: #000;
  color: #fff;
  padding: 3rem 1rem;
}

.site-footer .container {
  max-width: 800px;
  margin: 0 auto;
  display: block;
  text-align: center;
}

.site-footer h2 {
  color: #a31f36;
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  text-align: center;
  font-weight: 700;
}

.site-footer p {
  font-size: 1rem;
  margin: 0.5rem 0;
  line-height: 1.6;
  text-align: center;
}

.site-footer strong {
  font-weight: 700;
}
