
        
        .forecastwidget {
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            padding: 5px;
            font-size: 14px;
            background-color: #ffffff;
            overflow:hidden;
            border-radius: 5px;
        }
        .forecastwidget .icon {
            height:40px;
            width:40px;
             
        }
        .forecastwidget .icon.sunny {background-image:url(images/sun.png);}
        .forecastwidget .icon.partsunny {background-image:url(images/partsun.png);}
        .forecastwidget .icon.cloudy {background-image:url(images/cloudy.png);}
        .forecastwidget .icon.rain {background-image:url(images/rain.png);}
        .forecastwidget .icon.snow {background-image:url(images/snow.png);}

        .forecastwidget .noselect {
            -webkit-user-select: none; /* Safari */
            -ms-user-select: none; /* IE 10+ and Edge */
            user-select: none; /* Standard syntax */
        }
        
        .forecastwidget .days {
           position: relative;
          
            max-height: 100px;
          
            flex: 1;
        }
        .forecastwidget .chart {
            flex: 1;
        }
        .forecastwidget .chart .line {
            fill: url(#temperature-gradient);
            stroke-width: 05px;
        }
        .forecastwidget .chart .precipbar {
            fill: #196eb7;
        }

        .forecastwidget .chart .grid line {
            stroke: darkgray;

            shape-rendering: crispEdges;
            }

        .forecastwidget .chart .grid path {
            stroke-width: 0;
        }


        .forecastwidget .days.vertical {
            flex-direction: column;
            font-size: 1.2em;
        }

        /*define a grid layout with two columns*/
        .forecastwidget .days .day {
            position: absolute;


            display: grid;
			grid-template-columns: 50% 50%;
			
            justify-content: center;
            align-items: center;
            padding: 0px 5px;
            font-size: 0.9em;
            justify-items: center;
            grid-gap: 1px;
            cursor: grab;
        }   
        /*
        .forecastwidget .days .day:hover {
            background-color:lightgrey;
        }
        */
		/*most forecast elements take up two columns*/
        .forecastwidget .days .day * {
            grid-column: span 2;
            display: flex;
            align-items: center;
            justify-content: center;
        }
		/*maximum and minimum elements are arrange side by side*/
        .forecastwidget .days .day .maxt {
            grid-column: 1 ;
        }
        .forecastwidget .days .day .mint {
            grid-column: 2 ;
        }
        
        /*define a grid layout with size columns*/
        .forecastwidget .days.vertical .day {
            grid-template-columns: 50px 30px 30px 30px 60px auto;
            grid-gap: 4px;
            justify-content: start;
            margin: 2px 0px;
            padding: 4px 0px;
        }
        /*Every element takes up a single grid cell*/
        .forecastwidget .days.vertical .day * {
            grid-column: span 1;
        }
         /*No special layout is required for the temperature values*/
        .forecastwidget .days.vertical .day .maxt,  .forecastwidget .days.vertical .day .mint  {
            grid-column: default ;
        }
       
        /*element styling rules*/
        .forecastwidget .location {
           
            flex: 0;
            
            display: flex;
            justify-content: flex-start;
            align-items: center;
        }
        .forecastwidget .location .value {
            font-size: 1em;
            font-weight: bold;
            cursor: pointer;

        }
        .forecastwidget .location .editor {
            display:none;
            position: absolute;
            padding: 5px;
            margin: 1px 0px;
            font-size: 1.2em;
            z-index: 1;
        }
        .forecastwidget .location .value:hover {
            color:darkgrey;
        }
        .forecastwidget .location.edit .editor {
            display:block;
        }
        
        .forecastwidget .footer {
            font-size: 0.8em;
            color: darkgrey;
            display: flex;
            justify-content: flex-end;
            align-items: center;
        }
        .forecastwidget .footer *{
            padding:2px 5px;
        }
        .forecastwidget .viewchooser {
            font-size: 0.8em;
            padding: 2px 5px;
            cursor: pointer;
            border-radius: 3px;
            margin: 1px 0px;

        }
        .forecastwidget .viewchooser.day {
            margin-left:auto;
        }
        .forecastwidget .viewchooser:hover {
            background-color:lightgrey;
        }
        .forecastwidget .viewchooser.selected {
            background-color:darkgrey;
            color:white;
           
        }

        .forecastwidget .days .day .date {
            color: darkgrey;
            font-size: 1.1em;
            white-space: nowrap;
            
        }
        .forecastwidget.edit .days {
            opacity: 0.1;
        }

       
        .forecastwidget .days .day .icon {
            padding: 5px 0px;
        }
        .forecastwidget .days .day .conditions {
            display:none;
            color:darkgrey;
            font-size: 0.9em;
        }
        .forecastwidget .days.vertical .day .conditions {
            display:block;
        }
        .forecastwidget .days .day  .maxt {
            font-weight: bold;
        }
        .forecastwidget .days .day  .mint {
            font-size: 0.9em;
            color:darkgrey;
        }
       
        .forecastwidget .days .day  .hidden {
           visibility: hidden;
           display:none;
        }