/** * Morphing Search Page Styles */ /* 1- hide the main div (
) containing the Morphing Search Page */ .morphsearch { visibility: hidden; width: 100%; height: 100%; background: #f1f1f1; position: absolute; z-index: 99997; top: 0; right: 0; -webkit-transform-origin: 100% 0; transform-origin: 100% 0; -webkit-transition-property: min-height, width, top, right; transition-property: min-height, width, top, right; -webkit-transition-duration: 0.5s; transition-duration: 0.5s; -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } /* 2- Showing the Morphing Search Page once the .open class is added to the main div */ .morphsearch.open { visibility: visible; opacity: 1; width: 100%; min-height: 100%; top: 0px; right: 0px; } /* Morphing Search Page Search Form */ .morphsearch-form { width: 100%; height: 40px; margin: 0 auto; position: relative; -webkit-transition-property: width, height, -webkit-transform; transition-property: width, height, transform; -webkit-transition-duration: 0.5s; transition-duration: 0.5s; -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } .morphsearch.open .morphsearch-form { width: 80%; height: 160px; -webkit-transform: translate3d(0, 3em, 0); transform: translate3d(0, 3em, 0); } /* Morphing Search Page Search Input */ .morphsearch-input { padding: 0 10% 0 10px !important; font-weight: 700; border: none !important; background: transparent !important; font-size: 0.8em; -webkit-transition: font-size 0.5s cubic-bezier(0.7, 0, 0.3, 1); transition: font-size 0.5s cubic-bezier(0.7, 0, 0.3, 1); } #morphsearch .morphsearch-input { width: 100%; height: 100%; font-style: italic; color: #ec5a62; outline: none; /* Using ID '#morphsearch' to avoid using !important */ } .morphsearch-input::-ms-clear { /* remove cross in IE */ display: none; } .morphsearch.open .morphsearch-input { font-size: 7em; } /* Morphing Search Page Search Placeholder */ .morphsearch-input::-webkit-input-placeholder { color: var(--morphsearch-input-placeholder, #c2c2c2); } .morphsearch-input:-moz-placeholder { color: var(--morphsearch-input-placeholder, #c2c2c2); } .morphsearch-input::-moz-placeholder { color: var(--morphsearch-input-placeholder, #c2c2c2); } .morphsearch-input:-ms-input-placeholder { color: var(--morphsearch-input-placeholder, #c2c2c2); } /* hide placeholder when active in Chrome */ .gn-search:focus::-webkit-input-placeholder { color: transparent; } input[type="search"] { /* reset normalize */ -webkit-box-sizing: border-box; box-sizing: border-box; } /* Morphing Search Page Submit Button */ .morphsearch-input:focus, .morphsearch-submit:focus { outline: none; background: transparent; border: none; } .morphsearch-submit { display: grid; position: absolute; width: 80px; height: 80px; padding: 0; text-indent: 100px; overflow: hidden; right: 0; top: 50%; background: transparent; background-size: 100%; border: none; pointer-events: none; transform-origin: 50% 50%; opacity: 0; -webkit-transform: translate3d(-30px, -50%, 0) scale3d(0, 0, 1); transform: translate3d(-30px, -50%, 0) scale3d(0, 0, 1); box-shadow: none; } .morphsearch.open .morphsearch-submit { pointer-events: auto; opacity: 1; -webkit-transform: translate3d(-30px, -50%, 0) scale3d(1, 1, 1); transform: translate3d(-30px, -50%, 0) scale3d(1, 1, 1); -webkit-transition: opacity 0.3s, -webkit-transform 0.3s; transition: opacity 0.3s, transform 0.3s; -webkit-transition-delay: 0.5s; transition-delay: 0.5s; } .morphsearch-submit:hover { background-color: transparent !important; /* Added !important to remove background-color on button hover for themes like 2017 */ box-shadow: none; background-image: none; border: none; padding: 0; } .morphsearch-submit:active { background-color: transparent; box-shadow: none; background-image: none; border: none; padding: 0; } /* 3- Hidding the Morphing Search Page once the .close class is added to the main div */ .morphsearch-close { width: 36px; height: 36px; position: absolute; right: 1em; top: 1em; overflow: hidden; text-indent: 100%; cursor: pointer; pointer-events: none; opacity: 0; -webkit-transform: scale3d(0, 0, 1); transform: scale3d(0, 0, 1); } .morphsearch.open .morphsearch-close { opacity: 1; pointer-events: auto; -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); -webkit-transition: opacity 0.3s, -webkit-transform 0.3s; transition: opacity 0.3s, transform 0.3s; -webkit-transition-delay: 0.5s; transition-delay: 0.5s; } .morphsearch-close::before, .morphsearch-close::after { content: ""; position: absolute; width: 2px; height: 100%; top: 0; left: 50%; border-radius: 3px; opacity: 0.2; background: var(--morphsearch-close-background, black); /* @see https://stackoverflow.com/a/49618941/6837428 */ } .morphsearch-close:hover.morphsearch-close::before, .morphsearch-close:hover.morphsearch-close::after { opacity: 1; } .morphsearch-close::before { -webkit-transform: rotate(45deg); transform: rotate(45deg); } .morphsearch-close::after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); } .morphsearch-content { color: #333; margin-top: 4.5em; width: 100%; /* Firefox: old themes */ width: -moz-available; /* Chrome: old themes */ width: -webkit-fill-available; height: 0; overflow: hidden; padding: 0 10.5%; background: #f1f1f1; position: absolute; pointer-events: none; opacity: 0; z-index: -1; } /* Morphing Search Page Content */ .morphsearch.open .morphsearch-content { opacity: 1; height: auto; overflow: visible; /* this breaks the transition of the children in FF: https://bugzilla.mozilla.org/show_bug.cgi?id=625289 */ pointer-events: auto; -webkit-transition: opacity 0.3s 0.5s; transition: opacity 0.3s 0.5s; } .dummy-column { width: 30%; padding: 0 0 6em; float: left; opacity: 0; -webkit-transform: translate3d(0, 100px, 0); transform: translateY(100px); -webkit-transition: -webkit-transform 0.5s, opacity 0.5s; transition: transform 0.5s, opacity 0.5s; } .morphsearch.open .dummy-column:first-child { -webkit-transition-delay: 0.4s; transition-delay: 0.4s; } .morphsearch.open .dummy-column:nth-child(2) { -webkit-transition-delay: 0.45s; transition-delay: 0.45s; } .morphsearch.open .dummy-column:nth-child(3) { -webkit-transition-delay: 0.5s; transition-delay: 0.5s; } .morphsearch.open .dummy-column { opacity: 1; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } .dummy-column:nth-child(2) { margin: 0 5%; } .dummy-column h2 { font-size: 1em; letter-spacing: 1px; text-transform: uppercase; font-weight: 800; color: #c2c2c2; padding: 0.5em 0; } .round { border-radius: 50%; } .dummy-media-object { padding: 0.75em; display: block; margin: 0.3em 0; cursor: pointer; border-radius: 5px; background: #ebebeb; } .dummy-media-object:hover, .dummy-media-object:focus { background: #e4e4e5; } .dummy-media-object img { display: inline-block; width: 50px !important; height: 50px !important; margin: 0 10px 0 0; vertical-align: middle; } .dummy-media-object h3 { vertical-align: middle; font-size: 0.85em; display: inline-block; font-weight: 700; margin: 0 0 0 0; width: calc(100% - 70px); color: #b2b2b2; } .dummy-media-object:hover h3 { color: #ec5a62; } /* Morphing Search Page Media Queries */ @media screen and (max-width: 53.125em) { .morphsearch-input { padding: 0 25% 0 10px; } .morphsearch.open .morphsearch-input { font-size: 2em; } .dummy-column { float: none; width: auto; padding: 0 0 2em; } .dummy-column:nth-child(2) { margin: 0; } .morphsearch.open .morphsearch-submit { -webkit-transform: translate3d(0, -50%, 0) scale3d(0.5, 0.5, 1); transform: translate3d(0, -50%, 0) scale3d(0.5, 0.5, 1); } } @media screen and (max-width: 80em) { .morphsearch-close { top: 3em; } } @media screen and (min-width: 38.75em) { body { position: relative; } .morphsearch.open { height: 100%; } } @media screen and (min-height: 71.5625em) { .morphsearch.open { height: 100% !important; } } /* autoComplete styles */ .autoComplete_wrapper { position: relative; display: inline-block; width: 370px; } #autoComplete { height: 3rem; width: 370px; margin: 0; padding: 0 2rem 0 3.2rem; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; font-size: 1rem; text-overflow: ellipsis; color: rgba(255, 122, 122, 0.3); outline: none; border-radius: 10rem; border: 0; border: 0.05rem solid rgba(255, 122, 122, 0.5); background-image: url(./images/search.svg); background-size: 1.4rem; background-position: left 1.05rem top 0.8rem; background-repeat: no-repeat; background-origin: border-box; background-color: #fff; transition: all 0.4s ease; -webkit-transition: all -webkit-transform 0.4s ease; } #autoComplete::placeholder { color: rgba(255, 122, 122, 0.5); transition: all 0.3s ease; -webkit-transition: all -webkit-transform 0.3s ease; } #autoComplete:hover::placeholder { color: rgba(255, 122, 122, 0.6); transition: all 0.3s ease; -webkit-transition: all -webkit-transform 0.3s ease; } #autoComplete:focus::placeholder { padding: 0.1rem 0.6rem; font-size: 0.95rem; color: rgba(255, 122, 122, 0.4); } #autoComplete:focus::selection { background-color: rgba(255, 122, 122, 0.15); } #autoComplete::selection { background-color: rgba(255, 122, 122, 0.15); } #autoComplete:hover { color: rgba(255, 122, 122, 0.8); transition: all 0.3s ease; -webkit-transition: all -webkit-transform 0.3s ease; } #autoComplete:focus { color: rgba(255, 122, 122, 1); border: 0.06rem solid rgba(255, 122, 122, 0.8); } #autoComplete_list { position: absolute; top: 100%; left: 0; right: 0; padding: 0; margin-top: 0.5rem; border-radius: 0.6rem; background-color: #fff; box-shadow: 0 3px 6px rgba(149, 157, 165, 0.15); border: 1px solid rgba(33, 33, 33, 0.07); z-index: 1000; outline: none; } .autoComplete_result { margin: 0.3rem; padding: 0.3rem 0.5rem; list-style: none; text-align: left; font-size: 1.5em; color: #212121; transition: all 0.1s ease-in-out; border-radius: 0.35rem; background-color: rgba(255, 255, 255, 1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: all 0.2s ease; } .autoComplete_result::selection { color: rgba(#ffffff, 0); background-color: rgba(#ffffff, 0); } .autoComplete_result:hover { cursor: pointer; background-color: rgba(255, 122, 122, 0.15); } .autoComplete_highlighted { color: rgba(255, 122, 122, 1); font-weight: bold; } .autoComplete_highlighted::selection { color: rgba(#ffffff, 0); background-color: rgba(#ffffff, 0); } .autoComplete_selected { cursor: pointer; background-color: rgba(255, 122, 122, 0.15); } @media only screen and (max-width: 600px) { .autoComplete_wrapper { width: 320px; } #autoComplete { width: 18rem; background-size: 1.6rem; background-position: left 1.1rem top 0.75rem; } #autoComplete_list { margin: 10px; } } @media screen and (-webkit-min-device-pixel-ratio: 0) { #autoComplete { border-width: 1px; } } @-moz-document url-prefix() { #autoComplete { background-size: 1.2rem; background-origin: border-box; border-width: 1px; background-position: left 1.1rem top 0.8rem; } }