/** * Home CSS */ /** * Basic layout and structural CSS */ #home-index_home-index { height:100%; } #home-index_portlets { background-color: inherit; display: grid; grid-auto-columns: 25ex; grid-auto-rows: 25ex; grid-auto-flow: dense; gap: 2ex; justify-content: stretch; align-content: stretch; justify-items: stretch; align-items: stretch; } #portlets { border: 1px solid silver; width: 100%; min-width: 100px; min-height: 100px; position: relative; } .home .et2_portlet > .ui-widget-header { cursor: pointer; } .et2_portlet.ui-widget-content > div { } .et2_portlet .et2_container { height: 100%; } /* give not automatic sizing old calendar views a scrollbar, if necessary */ div.calendar_favorite_portlet.et2_portlet.ui-widget-content > div:last-of-type { overflow-y: auto; } /* Gridster */ #portlets { position: relative; } .home .et2_portlet { position: absolute; } .home .et2_portlet.dragging { z-index: 99; } .preview-holder { margin: 5px; list-style: none; background: rgba(0,0,0,.3); border: 1px solid silver; position: absolute; } /** * Portlet styling (cosmetic) */ .et2_portlet.ui-widget-content > div:last-of-type > .et2_container { background: linear-gradient(to bottom, rgba(255,255,255,.9) 10%,rgba(255,255,255,.75) 90%) /* W3C */ } /* Single entry */ .et2_portlet.home_link_portlet > .ui-widget-header { display: none; position: relative; top: -20px; } .et2_portlet.home_link_portlet.ui-widget-content > div:last-of-type { position: relative; margin-top: -20px; height: 100%; min-height: 45px; transition: none; -webkit-transition: none; -moz-transition: none; -o-transition: none; } .et2_portlet.home_link_portlet > div:last-of-type > div { padding: 10px; } /* Thumbnail / icon */ .et2_portlet.home_link_portlet > div:last-of-type img:first-of-type { float: left; margin-right: 8px; margin-bottom: 8px; max-width: 100%; max-height: 64px; } /* Single entry hover */ .et2_portlet.home_link_portlet:hover > .ui-widget-header { display: block; z-index: 90; } .et2_portlet.home_link_portlet:hover > div:last-of-type { top: 1px; } /* Favorite / nextmatch * NB: using class attribute contains as favorites have an app-specific prefix */ [class*="favorite_portlet"].et2_portlet .ui-widget-header > .et2_button { float: left; padding: 0px !important; margin-top: 3px; height: 12px; width: 12px; z-index: 50; } [class*="favorite_portlet"].et2_portlet .ui-widget-header > button.et2_button_with_image.closed { background-position: 0 0 !important; } [class*="favorite_portlet"].et2_portlet .ui-widget-header > button.et2_button_with_image.opened { background-position: -10px 0 !important; } /* We can't just set display:none for the header as that changes the column spacing */ [class*="favorite_portlet"].et2_portlet .et2_nextmatch.header_hidden { padding-top: 0px; } [class*="favorite_portlet"].et2_portlet .et2_nextmatch.header_hidden .egwGridView_outer thead:first-of-type th, [class*="favorite_portlet"].et2_portlet .et2_nextmatch.header_hidden .egwGridView_outer thead:first-of-type div.innerContainer, [class*="favorite_portlet"].et2_portlet .et2_nextmatch.header_hidden .egwGridView_outer thead:first-of-type th.optcol span.selectcols { height: 0px; padding-top: 0px; padding-bottom: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 0px; } [class*="favorite_portlet"].et2_portlet .et2_nextmatch.header_hidden .egwGridView_outer thead:first-of-type th { visibility:hidden; } /** * Weather */ .home_weather_portlet table[id$="current"] { max-width: 250px; } .home_weather_portlet .temperature:after { content: "\00B0"; } .home_weather_portlet .current { font-size: large; } .home_weather_portlet .forecast [id$="day"] { font-size: smaller; } .home_weather_portlet .forecast > div { display: inline-block; margin-bottom: 15px; width: 52px; } .home_weather_portlet .forecast img { margin: -10px -6px; width: 40px; height: auto; } .home_weather_portlet .high_low { padding: 3px; } .home_weather_portlet .high_low[id$="min"] { background-color: rgba(200,200,255,.3); } .home_weather_portlet .attribution { position: relative; bottom: 0.5em; font-size: smaller; }