:root {
  --palette-main-1: #36474f;
  --palette-main-2: #5c6a70;
  --palette-main-3: #f6f6f7;
  --pallete-main-4: #f8f9fa;
  --palette-primary-1: #358ed7;
  --palette-primary-2: #257dc4;
  --palette-primary-3: #18649f;
  --palette-primary-4: #5da5df;
  --palette-primary-5: #86bbe7;
  --palette-primary-6: #b9d8f1;
  --palette-primary-7: #d7e8f7;
  --palette-positive-1: #7ed321;
  --palette-positive-2: #71c101;
  --palette-positive-3: #66b101;
  --palette-positive-4: #b2e47a;
  --palette-positive-5: #e5f6d3;
  --palette-negative-1: #f01526;
  --palette-negative-2: #d50115;
  --palette-negative-3: #9b0001;
  --palette-negative-4: #f9a1a8;
  --palette-negative-5: #fab8bd;
  --palette-negative-6: #fef3f4;
  --palette-noactive-1: #828d91;
  --palette-noactive-2: #c5c5c5;
  --palette-noactive-3: #9aa3a7;
  --palette-noactive-4: #afb5b9;
  --palette-noactive-5: #d7dadc;
  --palette-noactive-6: #eaeced;
  --palette-noactive-8: #fafafa;
  --palette-warning-1: #f8c51c;
  --palette-warning-2: #f4f7b2;
  --palette-white: #fff;
  --palette-black: #000;

  --campus: hsla(27, 100%, 37%, 0.9);
  --campus-nav-link-active: hsla(210, 11%, 15%, 1);
  --campus-nav-link: hsla(0, 0%, 100%, 0.6);
}

body.CAVEHILL {
  --campus: rgba(242, 169, 0, 0.9);
  --campus-transparent: rgba(242, 169, 0, 0.5);
  --campus-light-transparent: rgba(242, 169, 0, 0.15);
}

body.FIC {
  --campus: rgba(0, 115, 126, 0.9);
  --campus-transparent: rgba(0, 115, 126, 0.5);
  --campus-light-transparent: rgba(0, 115, 126, 0.15);
}

body.MONA {
  --campus: rgba(137, 0, 0, 0.9);
  --campus-transparent: rgba(137, 0, 0, 0.5);
  --campus-light-transparent: rgba(137, 0, 0, 0.15);
}

body.OPEN {
  /* --campus: rgba(191, 87, 0, 0.90);
	--campus-transparent: rgba(191, 87, 0, 0.50); */

  --campus: rgba(216, 96, 24, 0.9);
  --campus-transparent: rgba(216, 96, 24, 0.9);
  --campus-light-transparent: rgba(216, 96, 24, 0.15);
  --campus: rgba(211, 84, 0, 0.9);
  --campus-transparent: rgba(211, 84, 0, 0.9);
  --campus-light-transparent: rgba(211, 84, 0, 0.15);
}

body.STA {
  --campus: rgba(70, 130, 180, 0.9);
  --campus-transparent: rgba(70, 130, 180, 0.5);
  --campus-light-transparent: rgba(70, 130, 180, 0.15);
}

/* rgbHeadingCampuses = {};
  rgbHeadingCampuses.OC = '191, 87, 0'; // OC campus colour
  //rgbHeadingCampuses.OC = '237, 139, 0'; // OC campus colour
  rgbHeadingCampuses.STA = '70, 130, 180'; // STA campus colour
  //rgbHeadingCampuses.STA = '0, 94, 184'; // STA campus colour
  rgbHeadingCampuses.MON = '165, 42, 42'; // MON campus colour
  rgbHeadingCampuses.MON = '137, 0, 0'; // MON campus colour
  rgbHeadingCampuses.CAV = '218, 165, 32'; // CAV campus colour
  rgbHeadingCampuses.CAV = '242, 169, 0'; // CAV campus colour
  rgbHeadingCampuses.XCM = '0, 122, 82'; // CAV campus colour */

@font-face {
  font-family: "Trajan Pro Regular";
  font-style: normal;
  font-weight: normal;
  src: local("Trajan Pro Regular"), url("TrajanPro-Regular.woff") format("woff");
}

@font-face {
  font-family: "Trajan Pro Bold";
  font-style: normal;
  font-weight: normal;
  src: local("Trajan Pro Bold"), url("TrajanPro-Bold.woff") format("woff");
}

.font-uwi {
  font-family: "Trajan Pro Bold";
  font-weight: normal;
  font-size: 2vw;
}
html,
body {
  height: 100vh;
  max-height: 100vh;
  min-height: 100vh;
  overflow-y: hidden;
}

.bg-campus {
  background-color: var(--campus) !important;
}

.bg-light-transparent {
  background-color: hsl(0deg 0% 100% / 60%) !important;
}
.bg-white-transparent {
  background-color: rgba(255, 255, 255, 0.85) !important;
}
.border-campus {
  border-color: var(--campus) !important;
}

.text-campus {
  color: var(--campus) !important;
}

.campus {
  background-color: var(--campus) !important;
  color: var(--white) !important;
}

.bg-001 .card {
  box-shadow: none;
  /* box-shadow: 0 8px 8px rgba(0, 0, 0, 0.5); */
}

.shadow-logo {
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.5));
}

div.card.shadow,
a.square.shadow {
  box-shadow: 0 0.5rem 1rem var(--campus-light-transparent) !important;
}

div.card.shadow:hover,
a.square.shadow:hover {
  /* box-shadow: 0 45px 100px rgba(0, 0, 0, 0.4);
	border-radius: 16px;
	transform:scale(1.01) */
  box-shadow: 0 45px 100px rgb(0 0 0 / 40%) !important;
  transform: scale(1.005);
}
div.card.shadow.no-zoom:hover {
  transform: none;
}

div.card.user-alert:hover {
  box-shadow: 0 0.5rem 1rem var(--campus-light-transparent) !important;
  transform: scale(1.005);
}

.shadow-hover:hover {
  box-shadow: 0 0.5rem 1rem var(--campus-light-transparent) !important;
}


.zoom-hover:hover {
  transform: scale(1.005);
}
.chat-body div.card.fold {
  background-color: transparent !important;
  border-right-color: white !important;
  border-right-width: 1px !important;
}

.chat-body div.card.fold:last-child {
  border-right-width: 0 !important;
}

article.article:hover {
  /box-shadow: 0 8px 8px rgba(0, 0, 0, 0.5);
  box-shadow: 0 45px 100px rgba(0, 0, 0, 0.4);
  transform: scale(1.01);
  border-radius: 16px;
}

.card,
article,
a.square {
  transition: all 0.6s;
}

.chat-body {
  overflow-y: scroll;
  height: calc(100vh - 110px);
}

.chat-body .card {
  background-color: var(--card-bg) !important;
}

.chat-body .card {
  max-width: 100% !important;
  padding: 0 !important;
}

a.slow-link:hover {
  text-decoration: none;
}

body {
  background-size: cover;
  background-attachment: fixed;
  transition: background-image 2s ease-in-out;
}

.bg-001 {
  background-color: rgba(89, 202, 245, 0.9);
  background-image: url("//portal.open.uwi.edu/static/images/bg/003.jpg");
  background-size: cover;
  background-attachment: fixed;
  transition: background-image 2s ease-in-out;
}


.wave {
  -webkit-transform: rotate(-40deg);
  -moz-transform: rotate(-40deg);
  -o-transform: rotate(-40deg);
  -ms-transform: rotate(-40deg);
  transform: rotate(-40deg);
  -webkit-animation: wink 0.5s alternate infinite; /* Safari 4+ */
  -moz-animation: wink 0.5s alternate infinite; /* Fx 5+ */
  -o-animation: wink 0.5s alternate infinite; /* Opera 12+ */
  animation: wink 0.5s alternate infinite; /* IE 10+, Fx 29+ */
  -webkit-transform-origin: 50% 100%;
  -moz-transform-origin: 50% 100%;
  -o-transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation-timing-function: ease; /* Chrome, Safari, Opera */
  animation-timing-function: ease;
}

/* Chrome, Safari, Opera */
@-webkit-keyframes wink {
  0% {
    -webkit-transform: rotate(-40deg);
    -moz-transform: rotate(-40deg);
    -o-transform: rotate(-40deg);
    -ms-transform: rotate(-40deg);
  }

  100% {
    -webkit-transform: rotate(40deg);
    -moz-transform: rotate(40deg);
    -o-transform: rotate(40deg);
    -ms-transform: rotate(40deg);
    transform: rotate(40deg);
  }
}

/* Standard syntax */
@keyframes wink {
  0% {
    -webkit-transform: rotate(-40deg);
    -moz-transform: rotate(-40deg);
    -o-transform: rotate(-40deg);
    -ms-transform: rotate(-40deg);
    transform: rotate(-40deg);
  }

  100% {
    -webkit-transform: rotate(40deg);
    -moz-transform: rotate(40deg);
    -o-transform: rotate(40deg);
    -ms-transform: rotate(40deg);
    transform: rotate(40deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes coffee {
  0% {
    transform: rotate(0deg) scale(1);
  }
  70% {
    transform: rotate(0deg) scale(1);
  }
  75% {
    transform: rotate(0deg) scale(1.1);
  }
  80% {
    transform: rotate(0deg) scale(1.1);
  }
  84% {
    transform: rotate(-10deg) scale(1.1);
  }
  88% {
    transform: rotate(10deg) scale(1.1);
  }
  92% {
    transform: rotate(-10deg) scale(1.1);
  }
  96% {
    transform: rotate(10deg) scale(1.1);
  }
  100% {
    transform: rotate(0deg) scale(1);
  }
}

@keyframes buttonglow {
  0% {
    background: #144bcc;
    box-shadow: 0 0 0px #165bff;
  }
  50% {
    background: #165bff;
    box-shadow: 0 0 15px #165bff;
  }
  100% {
    background: #144bcc;
    box-shadow: 0 0 0px #165bff;
  }
}

.ani {
  animation: coffee 2s;
}

.campus {
  transition: all 1s ease-in-out;
}

.campus .nav-link {
  color: var(--light);
  color: var(--white);
  transition: all 0.5s;
}

.campus .nav-link:hover,
.campus .navside-nav .nav-link.active,
.navside-nav .nav-link:hover {
  color: var(--campus) !important;
  background-color: var(--campus-nav-link) !important;
}

svg > path.campus {
  /*target the image with css*/
  fill: var(--campus);
}

.bg-000 .chat {
  background-color: var(--channel-bg);
}

.bg-001 .chat {
  background-color: transparent !important;
}

.pointer {
  cursor: pointer;
}

/* Works on Firefox */
.campus-nav {
  scrollbar-width: thin;
  scrollbar-color: var(--campus);
}

/* Works on Chrome, Edge, and Safari */
.campus-nav::-webkit-scrollbar {
  width: 0.625em;
}

.campus-nav::-webkit-scrollbar-track {
  -background: var(--campus);
  background-color: transparent;
}

.campus-nav::-webkit-scrollbar-thumb {
  border-radius: 1em;
  -border: 2px solid var(--campus);
  background-color: var(--campus-nav-link);
  border: 2px solid transparent;
  background-clip: content-box;
}

.campus-nav::-webkit-scrollbar-thumb:hover {
  background-color: hsla(0, 0%, 100%, 0.85);
}

.campus-tooltip:before {
  content: attr(title); /* here's the magic */
  position: absolute;

  /* vertically center */
  top: 50%;
  transform: translateY(-50%);

  /* move to right */
  left: 100%;
  margin-left: 15px; /* and add a small left margin */

  /* basic styles */
  width: 200px;
  padding: 10px;
  border-radius: 10px;
  background: #000;
  color: #fff;
  text-align: center;

  display: none; /* hide by default */

  opacity: 0;
  transition: 0.3s opacity;
}
.campus-tooltip.left:before {
  /* reset defaults */
  left: initial;
  margin: initial;

  /* set new values */
  right: 100%;
  margin-right: 15px;
}

.campus-tooltip:after {
  content: "";
  position: absolute;

  /* position tooltip correctly */
  left: 100%;
  margin-left: -5px;

  /* vertically center */
  top: 50%;
  transform: translateY(-50%);

  /* the arrow */
  border: 10px solid #000;
  border-color: transparent black transparent transparent;

  display: none;

  opacity: 0;
  transition: 0.3s;
}
.campus-tooltip:hover:before,
.campus-tooltip:hover:after {
  opacity: 1;
  display: block;
}

body.bg-000 .jumbotron.shadow {
  box-shadow: none !important;
}

body.bg-000 .jumbotron.bg-light-transparent,
body.bg-000 .jumbotron.bg-white-transparent {
  background-color: transparent !important;
}

.bg-hb1 {
  background-image: url(//portal.open.uwi.edu/static/images/bg/hb1.jpg);
}

.bg-001 {
  background-color: rgba(89, 202, 245, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/001.jpg);
}
.bg-002 {
  background-color: rgba(148, 147, 66, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/002.jpg);
}
.bg-003 {
  background-color: rgba(65, 96, 32, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/003.jpg);
}
.bg-004 {
  background-color: rgba(132, 77, 31, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/004.jpg);
}
.bg-005 {
  background-color: rgba(125, 175, 142, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/005.jpg);
}
.bg-006 {
  background-color: rgba(95, 158, 177, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/006.jpg);
}
.bg-007 {
  background-color: rgba(73, 108, 144, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/007.jpg);
}
.bg-008 {
  background-color: rgba(89, 202, 245, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/008.jpg);
}
.bg-009 {
  transition: background-color 2s ease-out;
  background-color: var(--campus)!important;
}

.bg-010 {
  background-color: rgba(0, 94, 184, 0.9);
  transition: background 2s ease-out;
  width: 100wh;
  height: 100vh;
  /* background: linear-gradient(-45deg,
	   rgba(137, 0, 0, 0.90),
	   rgba(137, 0, 0, 0.90),
	   rgba(137, 0, 0, 0.90),
	   rgba(137, 0, 0, 0.90),
	   rgba(0, 94, 184, 0.90),
	   rgba(0, 94, 184, 0.90),
	   rgba(242, 169, 0, 0.90),
	   rgba(242, 169, 0, 0.90),
	   rgba(242, 169, 0, 0.90),
	   rgba(242, 169, 0, 0.90)
	   );
	background-size: 1000% 1000%; */
  background: linear-gradient(
    -45deg,
    rgba(137, 0, 0, 0.9),
    rgba(137, 0, 0, 0.9),
    rgba(0, 94, 184, 0.9),
    rgba(0, 94, 184, 0.9),
    rgba(242, 169, 0, 0.9),
    rgba(242, 169, 0, 0.9)
  );
  background-size: 600% 400%;
  -webkit-animation: campus-colours 60s ease infinite;
  -moz-animation: campus-colours 60s ease infinite;
  animation: campus-colours 60s ease infinite;
}

.bg-011 {
  transition: background 2s ease-out;
  background-color: rgba(247, 247, 247, 0.5);
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.65));
}

.bg-012 {
  background-color: rgba(89, 202, 245, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/012.jpg);
}

.bg-014 {
  background-color: rgba(89, 202, 245, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/014.jpg);
}

.bg-015 {
  background-color: rgba(89, 202, 245, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/015.jpg);
}

.bg-016 {
  background-color: rgba(89, 202, 245, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/016.jpg);
}

.bg-017 {
  background-color: rgba(89, 202, 245, 0.9);
  background-image: url(//portal.open.uwi.edu/static/images/bg/017.jpg);
}

@keyframes campus-colours {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

:root {
  --campus: hsla(27, 100%, 37%, 0.9);
  --campus-nav-link-active: hsla(210, 11%, 15%, 1);
  --campus-nav-link: hsla(0, 0%, 100%, 0.6);
  --nav-campus-width: 88px;
}
/* 
body.CAVEHILL {
  --campus: rgba(242, 169, 0, 0.9);
  --campus-transparent: rgba(242, 169, 0, 0.5);
  --campus-light-transparent: rgba(242, 169, 0, 0.15);
}

body.FIC {
  --campus: rgba(0, 122, 82, 0.9);
  --campus-transparent: rgba(0, 122, 82, 0.5);
  --campus-light-transparent: rgba(0, 122, 82, 0.15);
}

body.MONA {
  --campus: rgba(137, 0, 0, 0.9);
  --campus-transparent: rgba(137, 0, 0, 0.5);
  --campus-light-transparent: rgba(137, 0, 0, 0.15);
}

body.OPEN {
  --campus: rgba(216, 96, 24, 0.9);
  --campus-transparent: rgba(216, 96, 24, 0.9);
  --campus-light-transparent: rgba(216, 96, 24, 0.15);
}

body.STA {
  --campus: rgba(70, 130, 180, 0.9);
  --campus-transparent: rgba(70, 130, 180, 0.5);
  --campus-light-transparent: rgba(70, 130, 180, 0.15);
} */

html,
body,
.v-100 {
  height: 100%;
}

.bg-campus {
  background-color: var(--campus) !important;
}

.bg-light-transparent {
  background-color: hsl(0deg 0% 100% / 60%) !important;
}

.bg-white-transparent {
  background-color: rgba(255, 255, 255, 0.85) !important;
}

.border-campus {
  border-color: var(--campus) !important;
}

.text-campus {
  color: var(--campus) !important;
}

.campus {
  background-color: var(--campus) !important;
  color: var(--white) !important;
}

.grid-container {
  display: grid;
  grid-template-columns: var(--nav-campus-width) 1fr;
  grid-template-rows: 1fr;
  gap: 0px 0px;
}

.nav-campus {
  min-width: var(--nav-campus-width) !important;
  width: var(--nav-campus-width) !important;
  max-width: var(--nav-campus-width) !important;
  grid-area: 1 / 1 / 2 / 3;
  height: 100vh;
  min-height: 100vh;
  max-height: 100vh;
  overflow-y: auto;
}

.bg-009 .nav-campus.campus{
  background: transparent!important;
  box-shadow: none!important;
}

.main-campus {
  grid-area: 1 / 2 / 2 / 3;
  height: 100vh;
  min-height: 100vh;
  max-height: 100vh;
  overflow-y: auto;
}

.shadow-logo {
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.5));
  width: calc(var(--nav-campus-width) - 10px);
  min-width: calc(var(--nav-campus-width) - 10px);
  max-width: calc(var(--nav-campus-width) - 10px);
  height: calc(var(--nav-campus-width) + 20px);
  /* height: var(--nav-campus-width);
	min-height: var(--nav-campus-width);
	min-height: var(--nav-campus-width); */
}

.square-grid {
  --gap: 16px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: var(--gap);
  grid-row-gap: var(--gap);
  list-style: none;
  padding: 0;
}

.square-grid {
	--gap: 2em;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	grid-column-gap: var(--gap);
	grid-row-gap: var(--gap);
	list-style: none;
	padding: 0;
  }

.square {
min-height: 180px;
/* min-width: 180px; */
  /* height: 0;
  padding-bottom: 100%; */
}

.square.course-tile {
	border: 1px dotted var(--campus) !important;
	/* border: 1px solid var(--bs-secondary) !important;
	border: 1px solid var(--campus) !important; */
	-border-radius: 0.875rem !important;
	border-left: 4px solid var(--bs-light) !important;
	border-left: 4px solid var(--campus) !important;

}
.square.course-tile .course-code{
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 1px 6px 1px 10px;
}

.square.course-tile:hover {
  /* border: 1px dotted transparent !important;
  border: 1px solid var(--bs-secondary) !important; */

}

.square.course-tile:hover p:first-child {
  color: var(--campus) !important;
  /* border-top: none!important;
	border-bottom: solid 4px var(--campus)!important; */
}

.menu-wrapper {
  display: none;
}
@media only screen and (max-width: 1280px) {
  :root {
    --nav-campus-width: 72px;
  }

  html,
  body {
    font-size: 0.6825em;
    font-size: 0.8125em;
  }

  .square-grid {
    --gap: 2rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(150px, 1fr));
    grid-column-gap: var(--gap);
    grid-row-gap: var(--gap);
    list-style: none;
    padding: 0;
  }

  .square {
    /* height: 0;
    padding-bottom: 56.25%; */
	min-height: 144px;
	/* min-width: 144px; */
	}
  .square.course-tile.invisible {
    display:none
  }
}
.show {
  display: block !important;
}

.hide {
  display: none !important;
}

@media only screen and (max-width: 575.98px)  {
  :root {
    --nav-campus-width: 44px;
  }

  html,
  body {
    font-size: 1em;
  }

  .grid-container {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    gap: 0px 0px;
    grid-template-areas: "main-campus";
  }

  .nav-campus {
    display: none;
    min-width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-area: main-campus;
  }

  .nav-campus .shadow-logo {
    max-width: 128px !important;
    margin: auto;
  }
  .main-campus {
    height: 100vh !important;
    max-height: 100vh !important;
    grid-area: main-campus;
  }

  .square-grid {
    --gap: 2rem;
    display: grid;
    grid-template-columns: repeat(1, minmax(120px, 1fr));
    grid-column-gap: var(--gap);
    grid-row-gap: var(--gap);
    list-style: none;
    padding: 0;
  }

  .square {
    height: 0;
    padding-bottom: 40%;
  }

  .menu-wrapper {
    border: 2px solid var(--campus);
    width: 50px;
    height: 50px;
    cursor: pointer;
    border-radius: 25px;
    background-color: whitesmoke;
    /* box-shadow: 0 45px 100px rgb(0 0 0 / 40%) !important; */
    display: inline-block;
    transition: all 0.3s ease-out;
    bottom: 2em;
    right: 2em;
    z-index: 2;
    position: fixed;
  }

  .menu-btn,
  .menu-btn:before,
  .menu-btn:after {
    height: 4px;
    width: 34px;
    background-color: var(--campus);
    margin: 23px 8px;
    border-radius: 3px;
    -webkit-transition: all 0.5s ease;
  }
  .menu-btn:before,
  .menu-btn:after {
    content: " ";
    position: absolute;
    margin-top: -10px;
    margin-left: 0;
    -webkit-transform: rotateZ(0deg);
    -webkit-transform-origin: 3px 3px;
  }
  .menu-btn:after {
    margin-top: 10px;
  }

  .menu-btn-on {
    background-color: transparent;
    margin-left: 12px;
  }
  .menu-btn-on.menu-btn:before {
    -webkit-transform: rotateZ(45deg);
    background-color: var(--campus);
  }
  .menu-btn-on.menu-btn:after {
    -webkit-transform: rotateZ(-45deg);
    background-color: var(--campus);
  }
  .menu-wrapper-on {
    /* box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) inset; */
    background-color: whitesmoke;
    border-color: whitesmoke;
  }
}

/* @media (prefers-color-scheme: dark) {
	body {
		background: hsl(0, 0%, 7%);
		color: hsl(0, 0%, 87%);
	}

	li.list-group-item {
		background: hsl(0, 0%, 14%) !important;
	}
} */

.font-monospace {
  font-family: ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono",
    "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro",
    "Fira Mono", "Droid Sans Mono", "Courier New", monospace !important;
}


.fs-7{
	font-size: 0.875rem !important;
}

.fs-8{
	font-size: 0.625rem !important;
}


.frosted-glass {
  background-color: hsl(263,6%,68%,.5);
  -webkit-backdrop-filter: blur(48px);
  backdrop-filter: blur(48px)
}

.btn.frosted-glass:focus,.btn.frosted-glass:hover {
  background-color: hsl(263,6%,68%,.4)
}

.btn.frosted-glass:active {
  background-color: hsl(263,6%,68%,.3)
}


.dropdown-item:focus, .dropdown-item:hover {
  color: var(--campus);
  transform: scale(1.005);
}



.my-bell {
  animation-name: ring-my-bell;
  animation-duration: 1s;
  animation-iteration-count: 2;
  animation-delay: 0.2s;
  animation-direction: normal;
  transform-origin:50% 0%;
  animation-timing-function: ease-out;
}

@keyframes ring-my-bell {
  0% 	{ transform: rotate(0deg); }
  20%  	{ transform: rotate(-30deg); }
  40% 	{ transform: rotate(30deg); }
  60% 	{ transform: rotate(-15deg) }
  80% 	{ transform: rotate(15deg); }
  100% 	{ transform: rotate(0deg); }
}​




.tn-000{
  background-color: rgba(247, 247, 247, 0.9);
}
.tn-001{
  background-image: url(//portal.open.uwi.edu/static/images/bg/001_tn.jpg);
}
.tn-002{
  background-image: url(//portal.open.uwi.edu/static/images/bg/002_tn.jpg);
}
.tn-003{
  background-image: url(//portal.open.uwi.edu/static/images/bg/003_tn.jpg);
}
.tn-004{
  background-image: url(//portal.open.uwi.edu/static/images/bg/004_tn.jpg);
}
.tn-005{
  background-image: url(//portal.open.uwi.edu/static/images/bg/005_tn.jpg);
}
.tn-006{
  background-image: url(//portal.open.uwi.edu/static/images/bg/006_tn.jpg);
}
.tn-007{
  background-image: url(//portal.open.uwi.edu/static/images/bg/007_tn.jpg);
}
.tn-008{
  background-image: url(//portal.open.uwi.edu/static/images/bg/008_tn.jpg);
}
.tn-009 {
  background-color: var(--campus)!important;
}
.tn-010 {
  color: #fff;
  background: linear-gradient(-45deg,
     rgba(137, 0, 0, 0.90),
     rgba(137, 0, 0, 0.90),
     rgba(0, 94, 184, 0.90),
     rgba(242, 169, 0, 0.90),
     rgba(242, 169, 0, 0.90)
     );
  background-size: 400% 400%;
  -webkit-animation: Gradient 90 ease infinite;
  -moz-animation: Gradient 90 ease infinite;
  animation: Gradient 90 ease infinite;
}
.tn-011 {
  background-color: rgba(247, 247, 247, 0.9);
  background: linear-gradient(
     rgba(0,0,0,0),
     rgba(0,0,0,0.65)
  );
}

.tn-012{
  background-image: url(//portal.open.uwi.edu/static/images/bg/012_tn.jpg);
}
.tn-014{
  background-image: url(//portal.open.uwi.edu/static/images/bg/014_tn.jpg);
}
.tn-015{
  background-image: url(//portal.open.uwi.edu/static/images/bg/015_tn.jpg);
}
.tn-016{
  background-image: url(//portal.open.uwi.edu/static/images/bg/016_tn.jpg);
}
.tn-017{
  background-image: url(//portal.open.uwi.edu/static/images/bg/017_tn.jpg);
}

@media only screen and (max-device-width: 767px) {
  div.card-flush {
    padding: 0 !important;
    margin: 0 !important;
  }
}
/* @media only screen and (min-device-width: 768px) {
  .row-cols-md-2 div.card-flush:nth-child(1),
  .row-cols-md-2 div.card-flush:nth-child(2n + 1) {
    padding-left: 0 !important;
    padding-inline-start: 0 !important;
  }
  .row-cols-md-3 div.card-flush:nth-child(2n) {
    padding-right: 0 !important;
    padding-inline-end: 0 !important;
  }

  .row-cols-md-3 div.card-flush:nth-child(1),
  .row-cols-md-3 div.card-flush:nth-child(3n + 1) {
    padding-left: 0 !important;
    padding-inline-start: 0 !important;
  }
  .row-cols-md-3 div.card-flush:nth-child(3n) {
    padding-right: 0 !important;
    padding-inline-end: 0 !important;
  }

  .row-cols-md-4 div.card-flush:nth-child(1),
  .row-cols-md-4 div.card-flush:nth-child(4n + 1) {
    padding-left: 0 !important;
    padding-inline-start: 0 !important;
  }
  .row-cols-md-5 div.card-flush:nth-child(4n) {
    padding-right: 0 !important;
    padding-inline-end: 0 !important;
  }
}


@media only screen and (max-width: 1399.98px)  {
  .square-grid a.square.course-tile.invisible:nth-child(1),
  .square-grid a.square.course-tile.invisible:nth-child(3) {
    display: none !important;
  }
} */



// X-Small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// X-Large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

// XX-Large devices (larger desktops, 1400px and up)
@media (min-width: 1400px) { ... }



// X-Small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }

// Small devices (landscape phones, less than 768px)
@media (max-width: 767.98px) { ... }

// Medium devices (tablets, less than 992px)
@media (max-width: 991.98px) { ... }

// Large devices (desktops, less than 1200px)
@media (max-width: 1199.98px) { ... }

// X-Large devices (large desktops, less than 1400px)
@media (max-width: 1399.98px) { 
  
  .square.course-tile.invisible:nth-child(1) {
    display:none;
  }

 }

// XX-Large devices (larger desktops)
// No media query since the xxl breakpoint has no upper bound on its width



// Example
// Apply styles starting from medium devices and up to extra large devices
@media (min-width: 768px) and (max-width: 1199.98px) { ... }






  .ib,
  .map-path {
    transition: all 1.2s ease-in-out;
  }

  .ib {
    margin-left: -3em !important;
    transform: scale(1);

  }

  .ib:hover {
    color: var(--campus)!important;
    transition: color 0.3s linear;
  }

  .ib.shadow {
    transform: scale(1.005);
  }

  .ic {
    font-size: 3em;
  }

  .id {
    max-width: 480px;
  }

  .border-campus {
    border-color: var(--campus) !important;
  }



.ellipsis-anim span {
  opacity: 0;
  -webkit-animation: ellipsis-dot 1s infinite;
  animation: ellipsis-dot 1s infinite;
}

.ellipsis-anim span:nth-child(1) {
  -webkit-animation-delay: 0.0s;
  animation-delay: 0.0s;
}
.ellipsis-anim span:nth-child(2) {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}
.ellipsis-anim span:nth-child(3) {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

@keyframes ellipsis-dot {
    0% { opacity: 0; }
   50% { opacity: 1; }
  100% { opacity: 0; }
}