@import 'https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i';

/* GENERAL
*******************************/
body {
   font-family: 'Roboto', sans-serif;
}
/* SEARCH WIDGET 
*******************************/
.search-widget {
   top: 20px;
   left: 20px;
   position: absolute;
   z-index: 100;
   width: 340px;
   background: #fff;
   padding: 20px 15px;
   border: 4px solid #d4d5d6;
   height: 391px;
}

.search-widget.forecast-search {
   position: relative;
   top: 0;
   left: 0;
}

@media (max-width: 991px) {
   .search-widget.forecast-search {
      height: auto;
      padding: 0;
      margin-bottom: 32px;
      position: static;
      width: unset;
      background: none;
      border: none;
   }
}

.search-widget h3 {
   font-size: 25px;
   font-weight: 300;
}

.autocomplete-menu {
   max-height: 270px;
   font-size: 14px;
   padding: 0 0.75rem;
   background-color: white;
   overflow-y: auto;
   border: 1px solid rgba(0,0,0,.15);
   border-bottom-right-radius: 4px;
   border-bottom-left-radius: 4px;
   -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
   box-shadow: 0 6px 12px rgba(0,0,0,.175);
}

.autocomplete-item {
   padding-top: 8px;
   cursor: pointer;
}

.search-widget-additional {
   position: absolute;
    z-index: -1;
    top: 120px;
    left: 16px;
}

/* WEATHER MAP 
*******************************/
.celsius-table {
   display: table;
   background-color: transparent!important;
}

.celsius-table .celsius-cell {
   display: table-cell;
   vertical-align: middle;
   text-align: center;
   font-size: 25px;
   font-weight: bold;
   text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
   white-space: nowrap;
}

.celsius-cell .celsius.hidden {
   display: none;
}

/* FORECAST
*******************************/
.forecast-location p {
   margin: 0;
   font-size: 24px;
}

.tabs-holder {
   padding-bottom: 16px;
   border-bottom: 1px solid #ccc;
}

.forecast-tab,
.health-tab {
   font-size: 20px;
   padding: 0 15px;
   border-left: 1px solid #ccc; 
}

.forecast-tab:first-child,
.health-tab:first-child {
   border-left: none; 
}

.forecast-tab:last-child,
.health-tab:last-child {
   padding-right: 0;
}

.health-tab-content .tab-pane,
.severe-weather-content {
   text-align: right;
}

.health-tab-content img,
.severe-weather-content img {
   max-width: 100%;
}

.day-temperature {
   width: 230px;
   height: 230px;
   color: #fff;
   font-size: 20px;
   border-radius: 50%;
   background-color: #dc4852;
}

.day-high-low div {
   display: inline-block;
   padding: 0 12px;
   margin-bottom: 18px;
}

.day-high-low .point {
   width: 6px;
   height: 6px;
   padding: 0;
   background-color: rgba(255,255,255,.69);
   border-radius: 50%;
   vertical-align: -15px;
}

.current-temp {
   font-size: 72px;
   line-height: 72px;
}

.unit {
   vertical-align: top;
}
.day-temperature-icon p {
   font-size: 14px;
   margin-top: 20px;
   position: absolute;
}

.day-forecast {
   font-size: 14px;
   width: 110px;
   padding-right: 6px;
}

@media (max-width: 768px) {
   .day-forecast {
      width: 100%;
   }
}

.day-forecast .forecast-header {
   height: 36px;
   color: #fff;
   background-color: #454545;
   text-align: center;
}

.day-forecast .forecast-header p {
   margin: 0;
}

.day-forecast .forecast-header span {
   padding: 0 3px;
}

.day-forecast .forecast-body {
   color: #000;
   background-color: #e9e9e9;
   font-weight: bold;
   height: 150px;
}

.day-forecast .forecast-body span {
   border-left: 2px solid #a0a0a0;
   padding: 0 4px;
}

.day-forecast .forecast-body span:first-child {
   border-left: none;
}

.hourly-weather-table {
   font-size: 15px;
}

.hourly-weather-table th {
   border-top: none;
}

.hourly-weather-table tr:nth-child(odd) {
   background-color: #f2f2f2;
}

.hourly-weather-table.table thead tr {
   background-color: inherit;
}

.forecast-tabs .loader {
   display: none;
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   background-color: #fff;
   background-image: url(../img/loader.gif);
   background-position: center 110px;
   background-repeat: no-repeat;
   background-size: 70px;
   padding: 200px 0;
   text-align: center;
}

/* HEADER
*******************************/
.header {
   padding: 11px 0;
   background-color: #fff;
   border-bottom: 3px solid #c2c2c2;
   display: flex;
   align-items: center;
}

.header .navbar-brand img {
   opacity: 1;
   -webkit-transition: 160ms ease-in-out;
   transition: 160ms ease-in-out;
}

.header .navbar-brand img:hover {
   opacity: 0.8;
}

.header .navbar-brand img {
   margin: 20px 0;
}

.header .navbar-nav .nav-link {
   color: #747876;
   font-size: 16px;
   font-weight: bold;
   -webkit-transition: 160ms ease-in-out;
   transition: 160ms ease-in-out;
}

/* TIPS ITEMS
*******************************/
.tips-container {
   justify-content: center;
}
#tips-items {
   background-color: #454545;
   border-bottom: 3px solid #c2c2c2;
   color: #fff;
}

#tips-items .tips-title {
   display: inline;
   color: #fff;
   font-size: 14px;
   text-align: center;
   padding: 0px 30px 0 10px;
   margin: 10px 20px 10px 0;
   border-right: 1px solid #616161;
}

@media (max-width: 768px) {
   #tips-items .tips-container {
      flex-direction: column;
   }
   #tips-items .tips-title {
      border: none;
   }
   #tips-items .tips-list {
      justify-content: center;
   }
}

#tips-items .tips-title .glyphicon {
   font-size: 20px; vertical-align: top;
}

#tips-items ul li {
   padding: 13px 25px 9px 25px;
   color: #fff;
   font-size: 12px;
   cursor: pointer;
   -webkit-transition: 150ms ease-in-out;
   transition: 150ms ease-in-out;      
}

#tips-items ul li:hover {
   color: #cecece;
}

/* MODAL ITEMS
*******************************/
.modal-header {
   border-bottom: 4px solid #8b9294;
   margin-bottom: 16px;
}

.modal-dialog {
   width: 50%;
   max-width: 768px;
   min-width: 300px;
}
.modal-content {
   font-family: 'Noto Sans JP', sans-serif;
   border-radius: 15px;
   padding: 20px;
}

.modal-header .close {
   color: #8b9294;
   opacity: 1;
}

.modal-title {
   font-size: 30px;
}

.modal-body {
   min-height: 500px;
   max-height: 700px;
   font-size: 18px;
}

.modal-body h4 {
   font-size: 18px;
}

/* ROW WITH TITLE
*******************************/
.row-title {
   font-size: 25px;
   max-width: 600px;
   line-height: 1.5;
}

/* IMAGE MENU
*******************************/
.image-menu-item img {
   box-shadow: 0 0 10px 0 rgba(0,0,0,.23);
   margin-bottom: 20px
}

/* FOOTER
*******************************/
footer {
   background-color: #f1f1f1;
   color: #a5a5a5;
   border-top: 3px solid #a5a5a5;
   font-size: 14px;
   -webkit-box-shadow: 0 0 30px 0 #888;
   -moz-box-shadow: 0 0 30px 0 #888;
   box-shadow: 0 0 30px 0 #888;
}
.footer-logo {
   filter: grayscale();
}
.footer-logo:hover {
   filter: none;
}

.footer a.nav-link {
   color: inherit;
}

.footer a.nav-link:hover {
   color: #6b6b6b;
}

.copyright {
   letter-spacing: 2px;
}

.copyright a {
   color: #a5a5a5;
}

/* Themes styles
-------------------------------------------------- */
.header {
   border-bottom-color: var(--main-color);
}

.header .navbar-nav .nav-link {
   color: var(--secondary-color);
}

.header .navbar-nav .nav-link:focus, .header .navbar-nav .nav-link:hover, .header .navbar-nav .nav-item.active .nav-link, .header .navbar-nav .nav-link:hover {
   color: var(--main-color);
}

.day-forecast .forecast-header{
   background-color: var(--main-color);
}

.modal-header {
   border-bottom-color: var(--main-color);
}

.modal-header .close {
   color: var(--main-color);
}

#tips-items {
   border-bottom-color: var(--main-color);
}

#tips-items ul li:hover {
   color: var(--main-color);
}

.footer .nav-item a.nav-link:hover {
   color: var(--secondary-color);
}

.copyright a {
   color: var(--main-color);
}

.forecast-location p {
   color: var(--secondary-color);
}

.forecast-tab a.active,
.health-tab a.active {
   color: var(--main-color);
}

.day-forecast .forecast-body span {
   border-left-color: var(--secondary-color);
}

.day-forecast .forecast-body p:first-child {
   margin-top: 40px;
}

