/** All custom style definitions go here **/
/*** COMMON STYLING ***/

/*** PAGERS STYLINGS ***/
nav[role="navigation"][aria-labelledby*="pagination-heading"] {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 2rem;
}
ul.js-pager__items {
  list-style-type: none;
  display: flex;
  justify-content: center;
}
ul.js-pager__items li {
  font-size: 1.5rem;
}
a[rel="next"] span,
a[rel="prev"] span {
  margin-left: 10px;
  margin-right: 10px;
  font-weight: bolder;
}

/*** FULL CALENDAR - CSS STYLING ***/
.fc-content {
  display: flex;
  flex-direction: column;
  white-space: normal !important;
}

.block {
  margin-bottom: 1.5rem;
  margin-top: 1.5rem;
  /*border : 1px solid green;*/
}

.heading_intro {
  color: #999292;
  text-transform: uppercase;
  font-family: "LatoBlack";
  font-weight: bolder;
  margin: 0px;
}
.heading_strong {
  font-family: "LatoBlack";
  text-transform: uppercase;
  letter-spacing: 0.3rem;
}

.heading_highlight_middle {
  position: relative;
  text-align: center;
}
.heading_highlight_middle:before {
  content: "";
  position: absolute;
  width: 4%;
  height: 5px;
  bottom: -1vh;
  left: 48%;
  border-bottom: 5px solid #e72029;
}

.theme-blue-color {
  color: #002d68 !important;
}

/*used for testing layouts, change to 1px to add border to marked elements with this class*/
.red-border {
  border: 0px solid red;
}
/*custom red button, can be used with div and a element inside it*/

.red-button,
.blue-button,
.transparent-button {
  display: block !important;
  border: 2px solid white;
  border-radius: 9px;
  background-color: transparent;
  width: fit-content !important;
  height: fit-content !important;
  padding: 1px;
  cursor: pointer;
}
.blue-button a,
.red-button a,
.transparent-button a {
  background-color: transparent;
  display: inline-block;
  text-align: center;
  width: fit-content;
  border-radius: 7px;
  color: white;
  text-transform: uppercase;
  font-family: "LatoBlack";
  font-size: 0.8rem;
  padding: 10px;
}

.red-button {
  border: 1px solid black;
  background-color: white;
}
.red-button a {
  background-color: #e72029;
}
.blue-button {
  background-color: transparent;
  padding-left: 0px;
  padding-right: 0px;
  border: 0px;
}
.blue-button a {
  border: 0px;
  background-color: #002d68 !important;
  /*
    padding-top: 12px;
    padding-bottom: 12px;*/
}
/*** flexslider main styling for slideshows ***/
/*navigation div, make sure to overlay the image in bottom region*/
.flex-control-nav {
  width: 40% !important;
  position: absolute !important;
  bottom: 5% !important;
  z-index: 101 !important;
}
/*all flexslider circle navigation elements defaults*/
.flex-control-paging li a {
  width: 25px;
  height: 25px;
  background-color: white;
  border: 1px solid black;
}
/*creates smaller circle of red color under parent navigation circle and putting it inside parent circle*/
.flex-control-paging li a:after {
  content: "";
  background-color: #e72029;
  display: block;
  padding: 5px;
  z-index: 102;
  width: 21px;
  height: 21px;
  border-radius: 200px;
  position: absolute;
  bottom: 0.23rem;
  margin-left: 1px;
}
/*styling of active navigation circle of flexslider*/
.flex-control-paging li a.flex-active {
  background: white;
  border: 1px solid black;
  cursor: default;
}
/*creates smaller circle of black color under active parent navigation circle and putting it inside parent circle*/
.flex-control-paging li a.flex-active:after {
  content: "";
  background-color: black;
  display: block;
  padding: 5px;
  z-index: 102;
  width: 21px;
  height: 21px;
  border-radius: 200px;
  position: absolute;
  bottom: 0.23rem;
  margin-left: 1px;
}

.promote_info_node {
  /*background-color: #dddeee;*/
  background-color: #c9c7c7;
  background-repeat: no-repeat;
  background-size: auto;
  background-position: right;
  min-height: 523px;
}

.promote_info_node .transparent-button {
  margin-left: 13rem;
}
.promote_info_node_image {
  display: flex;
  justify-content: flex-end;
}
.promote_info_node_text {
  position: absolute;
  width: 70%;
  color: white;
  /*padding: 3.5vw 1vw 1vw 2.5vw;*/
  /*padding : 1rem;*/
}
.promote_info_node_title {
  font-family: "LatoBlack";
  color: white;
  /*font-size: 3.5vw;*/
  text-shadow: 3px 3px 9px rgba(150, 150, 150, 1);
  margin-bottom: 10px;
  padding-left: 9.375rem;
  padding-top: 4.68rem;
  font-size: 3.125rem;
  margin-bottom: 1.5rem;
}

.promote_info_node_message {
  /*text-shadow: 3px 3px 9px rgba(150, 150, 150, 1); */
  font-weight: bold;
  margin-left: 13rem;
}
.promote_info_node_message p {
  color: white;
  font-size: 1rem;
}

/* Extra small devices (phones, 400px and down) */
@media only screen and (max-width: 400px) {
  .promote_info_node {
    min-height: 250px;
    background-size: cover;
  }
  .promote_info_node_title {
    padding-left: 1.562rem;
    padding-top: 0.78rem;
    font-size: 1.04rem;
    margin-bottom: 0.25rem;
  }
  .promote_info_node_message {
    margin-left: 2.16rem;
    width: 52vw;
  }
  .promote_info_node_message p {
    color: white;
    font-size: 0.5rem;
  }
  .promote_info_node .transparent-button {
    margin-left: 2.3rem;
  }
}
/* Extra small devices (phones, 600px and down) */
@media only screen and (min-width: 401px) {
  .promote_info_node {
    background-size: cover;
    min-height: 300px;
  }
  .promote_info_node_title {
    padding-left: 1.562rem;
    padding-top: 0.78rem;
    font-size: 1.3rem;
    margin-bottom: 0.25rem;
  }
  .promote_info_node_message {
    margin-left: 2.16rem;
    width: 52vw;
  }
  .promote_info_node_message p {
    color: white;
    font-size: 0.59rem;
  }
  .promote_info_node .transparent-button {
    margin-left: 2.3rem;
  }
}
/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
  .promote_info_node {
    background-size: cover;
    min-height: 350px;
  }
  .promote_info_node_title {
    padding-left: 1.562rem;
    padding-top: 0.78rem;
    font-size: 1.5rem;
    margin-bottom: 0.25rem;
  }
  .promote_info_node_message {
    margin-left: 2.16rem;
    width: 42vw;
  }
  .promote_info_node_message p {
    color: white;
    font-size: 0.8rem;
  }
  .promote_info_node .transparent-button {
    margin-left: 2.3rem;
  }
}
/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
  .promote_info_node {
    min-height: 400px;
    background-size: cover;
  }
  .promote_info_node_title {
    padding-left: 1.562rem;
    padding-top: 0.78rem;
    font-size: 1.7rem;
    margin-bottom: 0.25rem;
  }
  .promote_info_node_message {
    margin-left: 2.16rem;
    width: 42vw;
  }
  .promote_info_node_message p {
    color: white;
    font-size: 1rem;
  }
  .promote_info_node .transparent-button {
    margin-left: 2.3rem;
  }
}
/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
  .promote_info_node {
    min-height: 450px;
    background-size: cover;
  }
  .promote_info_node_title {
    padding-left: 1.562rem;
    padding-top: 0.78rem;
    font-size: 1.8rem;
    margin-bottom: 0.25rem;
  }
  .promote_info_node_message {
    margin-left: 2.16rem;
    width: 42vw;
  }
  .promote_info_node_message p {
    color: white;
    font-size: 1.2rem;
  }
  .promote_info_node .transparent-button {
    margin-left: 2.3rem;
  }
}
/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
  .promote_info_node {
    background-repeat: no-repeat;
    background-size: auto;
    background-position: right;
    min-height: 523px;
  }
  .promote_info_node_text {
    width: 60%;
  }
  .promote_info_node_title {
    margin-bottom: 10px;
    padding-left: 9.375rem;
    padding-top: 4.68rem;
    font-size: 3.125rem;
    margin-bottom: 1.5rem;
  }
  .promote_info_node_message {
    margin-left: 13rem;
    width: 30vw;
  }
  .promote_info_node_message p {
    color: white;
    font-size: 1rem;
  }
  .promote_info_node .transparent-button {
    margin-left: 13rem;
  }
}

#block-custom-main-banner-view-block {
  margin: 0px;
}
#block-views-block-custom-secondary-pages-banner {
  margin-top: 0px;
}

/*** HEADER REGION STYLING ***/
/*****************************/
/*makes container to drop and overlays banner slider underneath*/
#header_logo_container {
  position: absolute;
  z-index: 301;
  width: 100%;
}
/*eliminate padding*/
#primary_menu {
  padding-right: 0px;
}

/*make sure that website logo div container within image stays consistent with width across different viewports*/
#logo {
  position: absolute;
  left: 0px;
  z-index: 301;
  display: flex;
  justify-content: center;
  /*max-width: 18vw;*/
}

/*PRIMARY MENU STYLING - OLD*/
/*Affects UL as parent element that contains links of primary menu*/
/*
ul.menu.main {
    display : flex;
    justify-content: flex-start;
}*/
/*make li elements higher*/
/*
ul.clearfix.menu.main li {
    margin : 0px; 
    height : 70px;
    width: fit-content;
}*/
/*stylig link inside li elements*/
/*
 ul.clearfix.menu.main a {
     color : #7f7f7f; 
     height: inherit;
     padding: 1.5rem 0.8rem 1rem 0.8rem;
 }*/
/*hover effect on primary menu links*/
/*
 ul.clearfix.menu.main li a:hover {
     background-color: #002d68;
     color : white;
     border-bottom : 2px solid white;
 }*/

/*PRIMARY MENU STYLING - NEW - SUPERFISH*/
/*Affects UL as parent element that contains links of primary menu*/
#block-main-navigation-superfish {
  display: flex;
  justify-content: flex-end;
  margin-top: 0px;
  margin-bottom: 0px;
  background-color: white;
}
#block-main-navigation-superfish .block {
  margin: 0px;
}
/*stylig link inside li elements*/
#block-main-navigation-superfish a {
  color: #7f7f7f;
  height: inherit;
  text-transform: capitalize;
}
/*hover effect on primary menu links*/
#block-main-navigation-superfish li a:hover {
  background-color: #002d68;
  color: white;
  border-bottom: 2px solid white;
}
#block-main-navigation-superfish li[class*="sf-depth-"] {
  background-color: white;
}
.sticky.is-at-top.is-stuck {
  margin-top: 0px !important;
}

#block-footer-navigation-superfish {
  margin-top: 0px;
  margin-bottom: 0px;
}
#superfish-footer-navigation {
  display: flex;
  justify-content: center;
}
#superfish-footer-navigation li {
  font-family: "LatoBlack";
  text-transform: uppercase;
}
#block-footer-navigation-superfish a[class*="sf-depth-"]:hover {
  background-color: #002d68 !important;
  color: white;
}

/*** SECONDARY MENU in header part ***/
/*make sure UL with links floats to very right side*/
#block-secondary-navigation {
  display: flex;
  justify-content: flex-end;
}
/*affects UL with links, fit to content set provided background color*/
ul.clearfix.menu.secondary-navigation {
  width: fit-content;
  background-color: #96959a;
}
/*padding of links inside LI element*/
ul.clearfix.menu.secondary-navigation a {
  color: white;
  padding: 1rem 0.8rem 1rem 0.8rem;
}
/*IN order to set secondary navigation menu, we need to set its parent height*/
#block-secondary-navigation {
  height: 50px;
  margin-top: 1.5%;
}
/*then we can push down the 2nd navigation menu in the upper right corner*/
div.clearfix.menu.secondary-navigation {
  position: relative;
  z-index: 100;
  top: 100%;
}

/*** MAIN FLEXSLIDE BANNER STYLING (across all pages) ***/
/*remove border*/
#main_banner {
  display: flex;
  justify-content: center;
  border: 0px;
}
/*make sure that UL with slides LI and images are wide of full width*/
ul.slides {
  width: 100%;
}
/*CLASSES for single banner image logo, caption and paragraph inside it*/
/*bottom left position for now*/
.main_banner_single_image_logo {
  max-width: 5vw;
  position: absolute;
  margin-top: -4%;
  margin-left: 1%;
}
/*bottom left position*/
.main_banner_single_image_caption {
  position: absolute;
  bottom: 10%;
  left: 5%;
}
/*text inside - font size to stay consistent across different viewports*/
.main_banner_single_image_caption p {
  font-family: "LatoBold";
  font-size: 3vw;
  color: white;
  line-height: 2.5vw;
}
.main_banner_single_image_caption .red-button {
  margin-left: 4vw;
}

/**** NEWS AND NOTES SECTION ****/
#block-views-block-custom-view-news-and-notes-homepage {
  padding: 0% 8% 0% 8%;
  margin-top: 5rem;
  margin-bottom: 2rem;
}
#block-views-block-custom-view-news-and-notes-homepage h2 {
  text-align: center;
  font-family: "LatoBlack";
  font-size: 3rem;
}
#block-views-block-custom-view-news-and-notes-homepage .content > div > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#block-views-block-custom-view-news-and-notes-homepage footer {
  display: flex;
  justify-content: center;
  width: 100%;
}
.info-news-note-node {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  position: relative;
}
.info-news-note-node .readmore-news {
  margin-top: auto;
}

.info-news-note-node p {
  color: #7f7f7f;
  padding: 0px 2rem 0px 0px;
  margin: 0px 0px 1rem 0px;
  font-size: 0.9rem;
}

.info-news-note-node .body-info div p {
  padding-bottom: 2rem;
}

.info-news-note-node a {
  color: black;
  font-weight: bold;
  text-decoration: none;
}
.info-news-note-node h4 {
  font-size: 1.1rem;
  margin: 0px;
}
.info-news-note-node strong {
  margin: 0px;
  font-size: 0.9rem;
}
.info-news-note-authoredinfo {
  margin: 0px;
  font-size: 0.9rem;
}
#block-views-block-custom-view-news-and-notes-homepage .blue-button {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/*** CALENDAR VIEW ON HOMEPAGE ***/
/*********************************/
#bottom_content {
  padding: 0px;
}
#block-block-views-block-custom-view-show-all-calendar-events-homepage {
  margin: 0px;
}
#block-block-views-block-custom-view-show-all-calendar-events-homepage * {
  background-color: #002d68;
  color: white;
}
.calendar-dates-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0px;
  /*padding : 3% 6% 3% 6%;*/
  padding-bottom: 2%;
  padding-top: 2%;
}
.calendar-dates-wrapper header {
  flex: 1 1 100%;
  margin-bottom: 1rem;
}
.calendar-dates-wrapper footer {
  flex: 1 1 100%;
}
.calendar-dates-wrapper footer div.row > div {
  display: flex;
  justify-content: center;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.calendar-date {
  border: 1px solid white;
  flex-basis: 220px;
  margin-top: 1.5rem;
  min-height: 150px;
}

.calendar-date h3 {
  border-bottom: 2px solid white;
  text-transform: uppercase;
  margin: 0px;
  font-size: 0.8rem;
  text-align: center;
  padding: 10px 0px 10px 0px;
}
.calendar-date ul {
  list-style-type: none;
  margin: 0.5rem 0rem 0rem 0rem;
  padding: 5px;
}
.calendar-event {
  text-align: center;
  font-size: 0.7rem;
  margin-bottom: 2rem;
}
.calendar_event_arena {
  text-transform: uppercase;
  font-family: "LatoBlack";
}
.calendar_event_event_type {
  text-transform: uppercase;
  font-family: "LatoBlack";
}

#calendar_homepage_filters {
  display: flex;
  flex-direction: column;
  width: fit-content;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 1rem;
  margin-bottom: 0px;
  float: right;
  /*margin-right: 15%;*/
}
#calendar_homepage_filters span {
  font-weight: bold;
  margin-right: 2rem;
}
#calendar_homepage_filters span:hover {
  border-bottom: 0px solid transparent;
  text-decoration: underline;
  cursor: pointer;
}

.calendar_events_filter_all {
  color: white !important;
}
.calendar_events_filter_arena_eddie {
  color: #00c0ff !important;
}
.calendar_events_filter_arena_devonaire {
  color: #18ff00 !important;
}
.calendar_events_filter_nonarena {
  color: #ca39ff !important;
}
#calendar_homepage_current_filter {
  text-align: center;
  padding-top: 2rem;
}

#btn_calendar_previous_week_events {
  padding: 0px;
  margin: 0px;
  text-align: center;
  padding-bottom: 5%;
  padding-top: 5%;
  cursor: pointer;
}
#btn_calendar_next_week_events {
  padding: 0px;
  margin: 0px;
  text-align: center;
  padding-bottom: 5%;
  padding-top: 5%;
  cursor: pointer;
}

/*** CALENDAR VIEW ON SCHEDULE PAGE ***/
/*********************************/
.fc-dayGridMonth-view .fc-week {
  background-color: #fff;
}
.fc-dayGridMonth-view .fc-week .fc-other-month .fc-title {
  background-color: #999292;
}
.fc-dayGridMonth-view .fc-week .fc-past {
}
.fc-dayGridMonth-view .fc-week tbody a {
  background-color: #c9c7c7 !important;
}
.fc-unthemed td.fc-today {
  background: #fff;
}

/*** CLINICS PAGE ***/
/********************/
.clinic-node {
  border-bottom: 1px solid lightgray;
  margin-bottom: 2rem;
}
.clinic-pdf {
  padding: 10px;
}

.clinic-pdf a {
  text-decoration: underline;
}

.clinic-start-datetime,
.clinic-end-datetime {
  margin: 0px;
  padding: 0px;
  line-height: 1.2rem;
}
.clinic-start-datetime {
  margin-top: 2rem;
}

.clinic-start-datetime > div {
  display: flex;
}
.clinic-start-datetime > div > div {
  margin-right: 10px;
}

.clinic-end-datetime > div {
  display: flex;
}
.clinic-end-datetime > div > div {
  margin-right: 10px;
}

.clinic-pdf:before {
  content: url("/themes/igd/images/pdf_icon.png");
  padding-right: 10px;
}
.clinic-pdf > div {
  display: flex;
}

.clinic-body-text p,
.clinic-body-text p p {
  margin: 0px;
  padding: 0px;
  line-height: 1.1rem;
}
.clinic-body-text {
  margin-top: 1rem;
}

/*** HOCKEY LEAGUES PAGES ***/
/***************************/
.league {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3),
    0 0 40px rgba(255, 255, 255, 0.1) inset;
  padding: 10px 20px 20px;
  margin-bottom: 1rem !important;
}

.league-title {
  margin: 1.5rem 0px 0.5rem 0px !important;
}
.league-buttons {
  padding-left: 1.2rem;
}

/*
.league-buttons .red-button {
    padding-top: 6px;  
}*/

.league-buttons .red-button a {
  text-transform: capitalize;
}

.league-teams,
.league-schedule,
.league-standings,
.league-sponsors,
.league-seasons {
  display: flex;
  justify-content: center;
}
.leagues-more-info {
  margin-top: 3rem !important;
  text-align: center;
}

.league-division {
  margin-top: 1rem !important;
}

/*** CUSTOM table styling ***/
.tbl_custom {
  width: 100%;
  margin-bottom: 2rem;
}
.tbl_custom tr:nth-child(odd),
.tbl_custom tr:nth-child(even) {
  text-align: center;
}
.tbl_custom tr:nth-child(odd) {
  background-color: #f5f5f5;
}
.tbl_custom tr:nth-child(even) {
  background-color: white;
}
.tbl_custom_heading_row {
  background-color: #002d68 !important;
  color: white;
  font-family: "LatoBlack";
  text-transform: uppercase;
  font-size: 1rem;
  font-size: 0.8rem;
  text-align: center;
}

/*** Custom message error ***/

.messages--error {
  font-weight: bold;
  color: red;
}
.messages--error div[role="alert"] {
  padding: 20px;
  background-color: #ffe5b4;
}

/*** LOCATION AND HOURS ***/
.arenas-location {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.arenas-location iframe {
  width: 100%;
}

/*** FOOTER REGION ***/
/*********************/
/*set that all elements in footer have provided background color with white color of font*/
footer.site-footer {
  border-top: 4px solid white;
  background-color: #161616;
}
footer.site-footer * {
  color: white;
}

/*used for styling headings or first P element of info blocks in footer*/
.footer_title_highlight {
  color: cadetblue !important;
  font-family: "LatoBold";
}
/*main footer container, provide some padding of all footer content*/
#footer_container {
  display: inline-block;
  width: 100%;
  padding: 2% 5% 2% 5%;
}
/*footer info block region, give some spacing at top*/

#footer_info1,
#footer_info2,
#footer_info3,
#footer_info4,
#footer_social {
  display: flex;
  justify-content: center;
  text-align: center;
}

/** main container that holds footer menu, give some spacing from bottom **/
#block-footer-navigation {
  margin-bottom: 2rem;
}

/** main UL of footer menu **/
ul.clearfix.menu.footer-navigation {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
/*** styling footer links ***/
ul.clearfix.menu.footer-navigation li a {
  color: white;
  text-transform: uppercase;
  font-family: "LatoBold";
}

/*** footer logo region, center text***/
#block-footer-logo .content div p {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/*** styling social links region ***/
#block-footer-social-icons .content div ul {
  list-style-type: none;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0px;
}
#block-footer-social-icons .content div ul li {
  padding: 4px;
}
#block-footer-social-icons .content div ul li a {
  cursor: pointer;
}

/*** website copyright and igd ***/
#igd,
#copyright {
  text-align: center;
  padding: 10px;
  font-size: 0.8rem;
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1024px) and (max-width: 1599px) {
  div.clearfix.menu.secondary-navigation {
    position: relative;
    z-index: 100;
    top: 157%;
  }
}

@media only screen and (max-width: 767px) {
  #btn_calendar_next_week_events {
    width: 100%;
  }
  #btn_calendar_previous_week_events {
    width: 100%;
  }
}
