.ontario-tooltip,
.quebec-tooltip,
.atlantic-tooltip,
.western-tooltip {
  opacity: 0;
  position: fixed;
  background-color: #fff;
  font-size: 10px;
  padding: 5px 8px 5px 8px;
  border-radius: 3px;
  z-index: 1000;
  border: 1px solid #bdbdbd;
  box-shadow: 0px 2px 7px 0px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 2px 7px 0px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0px 2px 7px 0px rgba(0, 0, 0, 0.2);
  min-width: 190px;
  display: flex;
  flex-direction: column; }
  @media (max-width: 375px) {
    .ontario-tooltip,
    .quebec-tooltip,
    .atlantic-tooltip,
    .western-tooltip {
      display: none; } }

.tltp-head {
  display: flex;
  flex-direction: row;
  justify-content: space-between; }

.tltp-timestamp-label {
  color: #878787;
  font-size: 11px; }

.tltp-timestamp-value {
  color: #4F4F4F;
  font-size: 11px;
  display: block; }

.tltp-cta {
  border: 0;
  padding: 2px 3px 2px 3px;
  background-color: #FEC20E;
  font-size: 9px;
  border-radius: 2px;
  cursor: pointer;
  color: #000;
  text-decoration: none; }

.tltp-ctaa {
  border: 0;
  padding: 4px 25px 0px 0px;
  background-color: #5bc2e7;
  font-size: 9px;
  border-radius: 2px;
  cursor: pointer;
  color: #000;
  text-decoration: none;
  height: 25px;
  margin-top: 5px; }

.tltp-tryd {
  position: relative;
  left: 15px;
  font-size: 11px; }

.rate-card-container {
  font-family: Arial, Helvetica, sans-serif;
  margin: 0 auto;
  font-weight: 300;
  padding: 0px 0px 10px 0px; }

.rate-card-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%; }

.rate-card__head {
  border-bottom: 1px solid #BAB8B8;
  padding: 0px 0px 5px 0px;
  color: #BAB8B8;
  font-size: 10px;
  text-transform: uppercase; }
  .rate-card__head-provence span {
    display: block;
    text-align: left;
    color: #5bc2e7; }
  .rate-card__head-trend span {
    display: block;
    text-align: center; }
  .rate-card__head-avg span {
    display: block;
    text-align: right; }

.rate-card-column {
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  flex: 1;
  line-height: normal; }

.rate-card__body {
  padding-top: 5px;
  color: #000000;
  font-size: 14px;
  transition: all .2s ease; }
  .rate-card__body:not(:last-child) {
    border-bottom: 1px solid #BAB8B8;
    padding-bottom: 5px; }
  .rate-card__body-vehicle {
    text-transform: capitalize;
    text-align: left; }
  .rate-card__body-trend, .rate-card__body-avg {
    text-align: right; }
  .rate-card__body-trend {
    text-align: center; }
    .rate-card__body-trend > img {
      width: 16px;
      height: 16px; }
  .rate-card__body-avg > span:first-child {
    display: inline-block;
    position: relative;
    font-size: 8px;
    top: -2px;
    left: 3px; }

.map-wrapper {
  width: 100%;
  max-width: 850px;
  position: relative;
  font-family: Arial, Helvetica, sans-serif;
  margin-bottom: 45px; }

canvas {
  display: block;
  width: 100%; }

.map-logo {
  position: absolute;
  right: 0;
  top: 0;
  padding-top: 5px;
  padding-right: 5px;
  z-index: 10;
  transition: opacity .5s; }
  .map-logo > img {
    height: 75px; }

.map-description {
  width: 100%;
  text-align: center;
  z-index: 11;
  padding: 2px;
  border-radius: 5px;
  font-size: 16px;
  transition: opacity .5s; }
  .map-description > span {
    color: #000;
    font-weight: 300; }

.map-container {
  width: inherit;
  position: relative;
  display: inline-block;
  max-width: 100%; }
  @media (max-width: 1000px) {
    .map-container {
      height: 410px; } }
  @media (max-width: 900px) {
    .map-container {
      height: 390px; } }
  @media (max-width: 767px) {
    .map-container {
      height: 350px; } }
  @media (max-width: 767px) {
    .map-container {
      height: 350px; } }
  @media (max-width: 490px) {
    .map-container {
      height: 305px; } }
  @media (max-width: 375px) {
    .map-container {
      height: 150px; } }
  .map-container > svg {
    position: absolute;
    width: inherit;
    cursor: pointer;
    transition: opacity .1s ease; }
    .map-container > svg > .western {
      transition: all .5s ease; }
    .map-container > svg > .other {
      transition: all .5s ease; }
    .map-container > svg > .atlantic {
      transition: all .5s ease; }
    .map-container > svg > .ontario {
      transition: all .5s ease; }
    .map-container > svg > .quebec {
      transition: all .5s ease; }
    .map-container > svg > .quebec:hover {
      fill: #BDCFE6;
      transform: scale(1.005); }

.map-overlay {
  position: absolute;
  height: inherit; }

/* tooltip */
.marker-ontario,
.marker-quebec,
.marker-atlantic,
.marker-western,
.marker-other {
  position: fixed;
  z-index: 400;
  opacity: 0; }
  .marker-ontario__svg,
  .marker-quebec__svg,
  .marker-atlantic__svg,
  .marker-western__svg,
  .marker-other__svg {
    fill: #0B74FF;
    width: 50px;
    height: 50px;
    filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.3));
    -webkit-filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.3)); }
    @media (max-width: 767px) {
      .marker-ontario__svg,
      .marker-quebec__svg,
      .marker-atlantic__svg,
      .marker-western__svg,
      .marker-other__svg {
        width: 40px;
        height: 40px; } }
    @media (max-width: 530px) {
      .marker-ontario__svg,
      .marker-quebec__svg,
      .marker-atlantic__svg,
      .marker-western__svg,
      .marker-other__svg {
        width: 30px;
        height: 30px; } }
  .marker-ontario__value,
  .marker-quebec__value,
  .marker-atlantic__value,
  .marker-western__value,
  .marker-other__value {
    fill: #000;
    font-size: 22px;
    font-weight: 900;
    font-family: 'Courier New', Courier, monospace; }
  .marker-ontario__fadein-1,
  .marker-quebec__fadein-1,
  .marker-atlantic__fadein-1,
  .marker-western__fadein-1,
  .marker-other__fadein-1 {
    animation: marker-fade-in 0.5s forwards;
    -webkit-animation: marker-fade-in 0.5s forwards;
    -moz-animation: marker-fade-in 0.5s forwards; }
  .marker-ontario__fadein-2,
  .marker-quebec__fadein-2,
  .marker-atlantic__fadein-2,
  .marker-western__fadein-2,
  .marker-other__fadein-2 {
    animation: marker-fade-in 1s forwards;
    -webkit-animation: marker-fade-in 1s forwards;
    -moz-animation: marker-fade-in 1s forwards; }
  .marker-ontario__fadein-3,
  .marker-quebec__fadein-3,
  .marker-atlantic__fadein-3,
  .marker-western__fadein-3,
  .marker-other__fadein-3 {
    animation: marker-fade-in 1.25s forwards;
    -webkit-animation: marker-fade-in 1.25s forwards;
    -moz-animation: marker-fade-in 1.25s forwards; }
  .marker-ontario__fadein-4,
  .marker-quebec__fadein-4,
  .marker-atlantic__fadein-4,
  .marker-western__fadein-4,
  .marker-other__fadein-4 {
    animation: marker-fade-in 1.5s forwards;
    -webkit-animation: marker-fade-in 1.5s forwards;
    -moz-animation: marker-fade-in 1.5s forwards; }
  .marker-ontario__notify,
  .marker-quebec__notify,
  .marker-atlantic__notify,
  .marker-western__notify,
  .marker-other__notify {
    animation: pulse 1.5s forwards;
    -webkit-animation: pulse 1.5s forwards;
    -moz-animation: pulse 1.5s forwards; }
  .marker-ontario__notify-text,
  .marker-quebec__notify-text,
  .marker-atlantic__notify-text,
  .marker-western__notify-text,
  .marker-other__notify-text {
    animation: pulse-text 1.5s forwards;
    -webkit-animation: pulse-text 1.5s forwards;
    -moz-animation: pulse-text 1.5s forwards; }

.tooltip-top {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 5px; }

.tooltip-title span {
  font-size: 18px;
  font-weight: 600;
  padding: 0px 10px 0px 0px;
  color: #0052DD;
  text-transform: capitalize; }
  @media (max-width: 767px) {
    .tooltip-title span {
      font-size: 15px;
      font-weight: 600;
      padding: 0px 5px 0px 0px; } }
  @media (max-width: 530px) {
    .tooltip-title span {
      font-size: 12px;
      font-weight: 600;
      padding: 0px 3px 0px 0px; } }

.tooltip-time {
  padding: 3px 0px 0px 10px;
  display: flex;
  flex-direction: column;
  text-align: right; }
  @media (max-width: 767px) {
    .tooltip-time {
      padding: 3px 0px 0px 5px; } }
  @media (max-width: 530px) {
    .tooltip-time {
      padding: 3px 0px 0px 3px; } }
  .tooltip-time__label {
    color: #989898;
    font-size: 10px; }
    @media (max-width: 767px) {
      .tooltip-time__label {
        font-size: 9px; } }
    @media (max-width: 530px) {
      .tooltip-time__label {
        font-size: 8px; } }
  .tooltip-time__value {
    font-size: 13px;
    font-weight: 900;
    color: #4F4F4F; }
    @media (max-width: 767px) {
      .tooltip-time__value {
        font-size: 10px;
        font-weight: 500; } }
    @media (max-width: 530px) {
      .tooltip-time__value {
        font-size: 10px; } }

.tooltip-bottom {
  display: flex;
  flex-direction: row;
  justify-content: space-between; }

.tooltip-monthly-loads {
  display: flex;
  flex-direction: column;
  padding: 0px 8px 0px 0px; }
  @media (max-width: 767px) {
    .tooltip-monthly-loads {
      padding: 0px 5px 0px 0px; } }
  @media (max-width: 530px) {
    .tooltip-monthly-loads {
      padding: 0px 3px 0px 0px; } }
  .tooltip-monthly-loads__label-1 {
    color: #989898;
    font-size: 10px; }
    @media (max-width: 767px) {
      .tooltip-monthly-loads__label-1 {
        font-size: 8px; } }
    @media (max-width: 530px) {
      .tooltip-monthly-loads__label-1 {
        font-size: 8px; } }
  .tooltip-monthly-loads__label-2 {
    color: #989898;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 13px; }
    @media (max-width: 767px) {
      .tooltip-monthly-loads__label-2 {
        font-size: 11px; } }
    @media (max-width: 530px) {
      .tooltip-monthly-loads__label-2 {
        font-size: 10px; } }
  .tooltip-monthly-loads__value {
    color: #4F4F4F;
    font-size: 25px;
    font-weight: 600; }
    @media (max-width: 767px) {
      .tooltip-monthly-loads__value {
        font-size: 20px; } }
    @media (max-width: 530px) {
      .tooltip-monthly-loads__value {
        font-size: 20px; } }

.tooltip-rate-trend {
  display: flex;
  flex-direction: column;
  padding-left: 5px; }
  .tooltip-rate-trend__label {
    color: #989898;
    position: block;
    font-size: 15px;
    padding: 0px 0px 5px 0px;
    text-align: right; }
    @media (max-width: 767px) {
      .tooltip-rate-trend__label {
        font-size: 13px; } }
    @media (max-width: 530px) {
      .tooltip-rate-trend__label {
        font-size: 10px; } }
  .tooltip-rate-trend__value {
    text-align: center; }
    @media (max-width: 767px) {
      .tooltip-rate-trend__value > img {
        width: 18px; } }
    @media (max-width: 530px) {
      .tooltip-rate-trend__value > img {
        width: 15px; } }

@keyframes marker-fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes pulse {
  0% {
    fill: #f1b134; }
  50% {
    fill: #31AA45;
    transform-origin: center; }
  100% {
    fill: #f1b134; } }

@keyframes pulse-text {
  0% {
    fill: #000; }
  50% {
    fill: #fff; }
  100% {
    fill: #000; } }

.marker-other-pin,
.marker-quebec-pin,
.marker-ontario-pin,
.marker-atlantic-pin,
.marker-western-pin {
  opacity: 0;
  transition: opacity .2s ease;
  -webkit-transition: opacity .2s ease;
  /* android, safari, chrome */
  -moz-transition: opacity .2s ease;
  /* old firefox */
  -o-transition: opacity .2s ease;
  /* old opera */
  -ms-transition: opacity .2s ease;
  /* old IE */ }
  .marker-other-pin__pulse,
  .marker-quebec-pin__pulse,
  .marker-ontario-pin__pulse,
  .marker-atlantic-pin__pulse,
  .marker-western-pin__pulse {
    animation-name: live-load-pulse-yellow;
    animation-duration: 2s;
    animation-iteration-count: forwards;
    animation-timing-function: ease-in-out; }

#marker-other-pin__value,
#marker-ontario-pin__value,
#marker-quebec-pin__value,
#marker-atlantic-pin__value,
#marker-western-pin__value {
  opacity: 0;
  transition: opacity .5s ease;
  -webkit-transition: opacity .5s ease;
  /* android, safari, chrome */
  -moz-transition: opacity .5s ease;
  /* old firefox */
  -o-transition: opacity .5s ease;
  /* old opera */
  -ms-transition: opacity .5s ease;
  /* old IE */ }

@keyframes live-load-pulse {
  0% {
    box-shadow: 0px 0px 5px 0px #31aa45; }
  65% {
    box-shadow: 0px 0px 5px 8px rgba(49, 170, 69, 0.5); }
  90% {
    box-shadow: 0px 0px 5px 8px rgba(49, 170, 69, 0.3); }
  100% {
    box-shadow: 0px 1px 1px 0 rgba(0, 0, 0, 0.1); } }

@keyframes live-load-pulse-yellow {
  0% {
    fill: #FFC900; }
  25% {
    fill: #FFC900; }
  50% {
    fill: #FFC900; }
  75% { }
  100% { } }

