/* Variables */

:root {
  --maroon: #8b1843;
  --dark-green: #005065;
  --dark-gray: #4c748b;
  --teal: #51ded6;
  --yellow: #ff9f2b;
  --dark-blue: #072938;
  --orange: #c64600;
  --light-gray: #e3ebfb;
  --lightest-gray: #f4f7fd;

  --box-shadow: 0px 2px 4px rgba(0,0,0,0.2);
  --max-width: 1650px;
}


/* Globals */

html, body, p, a {
  font-family:Arial, sans-serif !important;
  color:var(--dark-blue);
}
h1, h2, h3, h4, h5, h6 {
  font-family:'Epilogue', sans-serif;
  font-weight:700;
  display:block !important;
}
h2 {
  color:#8b1843;
  font-size:2.2em;
}
p {
  font-size:18px;
  margin-bottom:40px;
  display:block;
  line-height:1.5;
}

a[href^=http]:not(a[href*="vt.edu"])::after {
    font: var(--fa-font-solid);
    content: "\f35d";
    margin-left: 6px;}


.ext-button, #submit {
  background: var(--orange);
  padding: 10px 20px;
  color:white;
  font-size:18px;
  margin-bottom:0;
  margin-top:20px;
  display:inline-block;
  border-radius:4px;
}
.vt-rawhtml {
  margin-bottom:0 !important;
}
.vt-text li a {
  font-weight:normal;
}
.vt-text ol>li, .vt-text ol>li::before {
  font-family: Arial, sans-serif !important;
  color: var(--dark-blue);
}
#vt_subnav_control > span.vt-subnav-symbol-height-adjuster > span > svg {
  color:var(--dark-blue);
}
#vt_with_rb .nav-briefs, #vt_with_rb .vt-building-data, #vt_with_rb .vt-nav-briefs.active, #vt_with_rb .vt-programStudy-contact, #vt_with_rb .vt-rightcol-content {
  background-color:var(--lightest-gray);
}
#vt_right_col {
  box-shadow: none;
  border:none;
}


/* Header modifications */

.contact .fa-phone {
  margin-right:10px;
}

.vt-home .home-content, .vt-callToAction {
  display:none;
}
.vt-one-preHeader {
  background-color:#e3ebfb;
  position:relative;
  z-index:1;
  padding-top:6px;
  height:45px;
}
.vt-one-preHeader a {
  color:black !important;
}
.vt-home .vt-page-path {
  background: var(--dark-gray);
}
header.header {
  background: url("https://i.ibb.co/sVHvMgP/vce-pattern-family-rgb-yellow.png"); /* Change this to image or whatever */
  background-position: right !important;
  background-size: 50% !important;
  border-bottom:none;
  position:relative;
}
.header .vt-one-headerRow {
  background-color:unset;
}
.vt-one-headerRow {
  min-height:350px;
}
.header-col {
  align-self:flex-end;
  padding-bottom:30px;
  z-index:1;
}
#vt_logo .vt-logo-text {
  color:white;
  font-size:3.25em;
  max-width:unset;
  font-family:'Epilogue', sans-serif;
  text-transform:none;
}
.vt-logo-text svg {
  margin-right:15px;
}
#vt_logo .vt-logo-link {
  max-width:unset;
  height:unset;
}
#ext-header {
  background:white;
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
  position:relative;
}
#ext-header img {
  max-width:200px;
}
#ext-header > div {
  padding-left:2vw;
}
#logo-row {
  display:table;
  padding-top:25px;
  padding-bottom:20px;
}
#logo-row > div:nth-child(1) {
  display:table-cell;
  border-right:1px solid #8e7c8e;
}
#logo-row > div:nth-child(2) {
  display:table-cell;
  vertical-align: top;
  font-size:.85em;
  font-weight:600;
  line-height:1.4;
}
#topic-links {
  width:100%;
  justify-content: space-evenly;
  padding-left:10%;
}
#topic-links a {
  font-size:.85em;
  line-height:1.4 !important;
  display:block;
  color:black;
}
#vt_logo {
  max-width:1900px;
  display:block;
  margin-left:auto;
  margin-right:auto;
}
#vt_navtrail {
  max-width:1900px;
  padding-top:4px;
  padding-bottom:4px;
  margin-left:auto;
  margin-right:auto;
  display:block;
}
.contact {
  display:block;
  font-size:.5em;
  margin-top:15px;
  text-transform:none;
  font-family:'Arial', sans-serif;
}
#topics-container {
  display:flex;
  align-items: self-end;
  padding-bottom:20px;
}
#ext-header svg {
  height:123px;
  margin-left:100%;
}
#swoosh-container {
  position:absolute;
  left:-2vw;
  z-index:1;
  width:30%;
}
#swoosh-container {
  transition: background-color .25s ease;
  transition-delay: .5s;
}
.st0 {
  transition: fill .25s ease;
  transition-delay: .5s;
}
#logo-img-color, #logo-img-white{
  position:relative;
  z-index:2;
}
#logo-img-white {
  position:absolute;
  left:15px;
}


/* Animation */
#topic-links a:hover {
  text-decoration:none;
}
#topic-links a.topic-heading:not(.topic-subtitle){
  font-size:1.25em;
  font-weight:bold;
}
.topic-heading {
  font-family:'Epilogue', sans-serif !important;
}
.topic-subtitle {
  display:block;
  font-size:.75em;
  font-family:Arial, sans-serif !important;
  padding-top:5px;
}
#topic-button a {
  margin-left:20px;
  color:white;
  padding:10px 20px;
  display:inline;
  border-radius:5px;
}
#go svg, #close svg {
  height:unset;
  margin:unset;
}
#swoosh-container {
  background-size: 100% 0%;
  background-repeat:no-repeat;
  background-position: top;
  transition: all 0.5s ease-in-out;
  transition-delay: .33s;
}
#swoosh rect {
  transform: translateY(-100%);
  fill:transparent;
  transition: transform 0.5s ease-in-out;
  transition-delay: .33s;
}

/* Search */
#search-label {
  color:white;
}
#search-label:before {
  font: var(--fa-font-solid);
  content: "\f059";
  margin-right:8px;
}
input[name="search"]{
  border-bottom:1px solid white !important;
  height:auto !important;
  color:white;
  margin-bottom:10px !important;
  border-left:none;
  border-right:none;
  background:transparent;
  margin-top: -3px;
}
input:not([type]):focus:not([readonly]), input[type=text]:not(.browser-default):focus:not([readonly]), input[type=password]:not(.browser-default):focus:not([readonly]), input[type=email]:not(.browser-default):focus:not([readonly]), input[type=url]:not(.browser-default):focus:not([readonly]), input[type=time]:not(.browser-default):focus:not([readonly]), input[type=date]:not(.browser-default):focus:not([readonly]), input[type=datetime]:not(.browser-default):focus:not([readonly]), input[type=datetime-local]:not(.browser-default):focus:not([readonly]), input[type=tel]:not(.browser-default):focus:not([readonly]), input[type=number]:not(.browser-default):focus:not([readonly]), input[type=search]:not(.browser-default):focus:not([readonly]), textarea.materialize-textarea:focus:not([readonly]) {
  border-bottom: 1px solid #26a69a;
  -webkit-box-shadow: 0 1px 0 0 #26a69a;
  box-shadow: 0 1px 0 0 #26a69a;
}


/* For inner pages */
.vt-one-content-area {
  line-height:1.5;
}
.vt-page-path, .vt-page-info, main {
  background-color: var(--light-gray);
}
h1.vt-page-title {
  color:var(--dark-blue) !important;
  font-family: 'Epilogue', sans-serif;
  font-weight:bold !important;
}
.vt-subnav .vt-subnav-droplist-control, .vt-subnav .vt-subnav-droplist-control:focus {
  background-color: white;
  color: var(--dark-blue);
}
#header-swoosh {
  position:absolute;
  max-height:calc(100% - 128px - 40px);
  bottom:0;
  left:50%;
  fill:var(--dark-green);
}
#push-header-swoosh {
  position:absolute;
  left:0;
  width:50%;
  background:var(--dark-green);
  height:calc(100% - 128px - 40px);
  bottom:0;
}


/* Tables */
.vt-deans-list table tbody tr:nth-child(even), .vt-rawhtml table tbody tr:nth-child(even), .vt-text table tbody tr:nth-child(even){
  background-color:var(--lightest-gray);
}

.table td, .table th, .vt-deans-list table tr, .vt-rawhtml table tr, .vt-text table tr {
  border-top: none !important;
  border-bottom: none !important;
}
.vt-deans-list table thead tr, .vt-rawhtml table thead tr, .vt-text table thead tr {
  background-color:var(--dark-green);
  color:white;
  font-family:"Arial", sans-serif;
}
.vt-table-headerTitle {
  text-transform: none;
}



/* Accordion component */
.panel-group .panel-default .panel-heading {
  background: var(--lightest-gray);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 5%;
  color: #c64600;
  width: 100%;
  height: 100%;
}
#vt_body_col div.vtAccordion div.panel-heading h4 {
  margin-bottom:22px;
}
#vt_body_col div.vtAccordion div.panel-heading h4 a, #vt_body_col div.vtAccordion div.panel-heading h4 a:visited {
  background:unset;
  padding:unset;
}
#vt_body_col div.vtAccordion div.panel-heading:first-child, #vt_body_col div.vtAccordion div.panel-heading {
  border:none;
}
#vt_body_col div.vtAccordion div.panel-heading h4 a:hover {
  background:unset;
  color:unset;
}
.panel-group .panel-default .panel-heading .panel-title {
  margin-top:22px 0 !important;
}
h4.panel-title a {
  font-weight:normal;
  font-family:Arial, sans-serif;
}
@media screen and (min-width: 768px) {
  .panel-group .panel-default .panel-heading {
    padding:0 26px !important;
  }
}
.fa-times:not(#close .fa-times) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.fa-times.rotate {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: all .2s;
  transition: all .2s;
}
.panel-heading .fa-times {
  display: block;
  font-size: 1em;
  font-weight: 200;
  color: #c64600;
  -webkit-transition: all .2s;
  transition: all .2s;
  cursor: pointer;
}
#vt_body_col .panel-group div.vtAccordion .panel-collapse .panel-body {
  background:var(--lightest-gray);
}
#vt_body_col .panel-group div.vtAccordion .panel-collapse:last-child, #vt_body_col .panel-group div.vtAccordion .panel-collapse {
  border:none;
}

/* Right column */
#vt_right_col {
  border:none;
}


/* Footer */
#vt_theme_one > footer > div.row.active {
  display:none;
}

#vsu-logo, #vsu-logo img {
  width:100px !important;
}
#vt-logo, #vt-logo img {
  width:170px !important;
}
.follow-virginia-tech-icons {
  align-items: center;
}

.footer-link:after {
  content: " | ";
}
#footer-links > span:last-child:after {
  content: "" !important;
}
footer {
  font-family: Arial, sans-serif !important;
  background:#072938;
}
footer h2 {
  display:block !important;
  color:white;
  margin-bottom:0;
}
footer input, footer textarea {
  display:block;
  width:100%;
  background:#e3ebfb;
  border:none;
  padding:10px 15px;
}
footer label {
  margin-top:20px;
  margin-bottom:10px;
  font-size:1.15em;
}
#submit {
  font-size:1.15em;
  margin-top:30px;
}
/* Map */
#map {
  position:relative;
  height:calc(100% - 140px);
  width:100%;
  overflow:hidden;
}
#mapControlsContainer ul {
  display: flex;
  flex-direction: row;
  margin-left: 0;
}
#mapControlsContainer li {
  margin-right:80px;
}
#pac-input{
  background:white;
}
#pac-input::-webkit-input-placeholder {
  font-size:1rem;
  font-style:italic;
  color:rgba(0,0,0,0.42);
}
#mapControlsContainer label:before, #mapControlsContainer label:after {
  content: '';
  left: 0;
  position: absolute;
  -webkit-transition: border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;
  transition: border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;
  z-index: 1;
}
#mapControlsContainer [type="checkbox"]:not(:checked), [type="checkbox"]:checked {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
#mapControlsContainer [type="checkbox"] + label {
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  display: inline-block;
  height: 25px;
  line-height: 25px;
  font-size: 1rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#mapControlsContainer [type="checkbox"]:checked + label:before {
  top: 0;
  left: 1px;
  width: 8px;
  height: 13px;
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  -webkit-transform: rotateZ(37deg);
  transform: rotateZ(37deg);
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  margin-top: 7px;
}
#mapControlsContainer [type="checkbox"]:not(:checked) + label:before {
  width: 0;
  height: 0;
  border: 3px solid transparent;
  left: 6px;
  top: 10px;
  -webkit-transform: rotateZ(37deg);
  transform: rotateZ(37deg);
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
  margin-top: 7px;
}

#mapControlsContainer [type="checkbox"]:checked + label:after {
  top: 0;
  width: 20px;
  height: 20px;
  border: 2px solid var(--teal);
  background-color: var(--teal);
  z-index: 0;
  margin-top: 4px;
}
#mapControlsContainer [type="checkbox"]:not(:checked) + label:after {
  height: 20px;
  width: 20px;
  background-color: transparent;
  border: 2px solid #5a5a5a;
  top: 0px;
  z-index: 0;
  margin-top: 4px;
}
footer p, footer h2, footer a, footer svg, footer i {
  color:white !important;
  margin-bottom:15px !important;
}
footer i {
  margin-right:30px;
}
@media screen and (min-width: 992px){
  .vt-footer-info {
    flex-basis:60%;
    flex-direction:column;
  }
}
@media screen and (min-width: 992px){
  .vt-footer-links {
      flex-basis: 40%;
  }
}

footer h2 {
  font-size:35px;
}
.vt-footer-links {
  padding:20px 0;
}
.vt-footer-links > div > div {
  display:flex;
}
.vt-footer-links > div > div > div {
  flex: 1 1 400px;
  font-size:18px;
  max-width:400px;
}
.vt-footer-links > div > div > div li {
  list-style:disc;
  margin-left:20px;
}
@media screen and (min-width: 1300px){
  .vt-footer-rowSpacer{
    flex-basis:10%;
  }
}
#map {
  min-height:400px;
}
#mapControlsContainer {
  width:100%;
  padding-top:10px;
}
#mapControlsContainer label {
  color:white;
}

.vt-universal-access {
  display:none;
}
@keyframes wave-animation {
    0% { transform: rotate( 0.0deg) }
   10% { transform: rotate(14.0deg) }  /* The following five values can be played with to make the waving more or less extreme */
   20% { transform: rotate(-8.0deg) }
   30% { transform: rotate(14.0deg) }
   40% { transform: rotate(-4.0deg) }
   50% { transform: rotate(10.0deg) }
   60% { transform: rotate( 0.0deg) }  /* Reset for the last half to pause */
  100% { transform: rotate( 0.0deg) }
}
/* https://codepen.io/jakejarvis/pen/pBZWZw */
.wave {
  animation-name: wave-animation;  /* Refers to the name of your @keyframes element below */
  animation-duration: 3s;        /* Change to speed up or slow down */
  animation-iteration-count: infinite;  /* Never stop waving :) */
  transform-origin: 70% 70%;       /* Pivot around the bottom-left palm */
}
/* get rid of the map */
.vt-footer-info, .vt-footer-rowSpacer {
  display:none;
}
.vt-footer-links {
  flex-basis:unset;
}