clone of olivero for island lives
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

174 lines
4.0 KiB

10 months ago
/**
* @file
* Header Search Narrow Block.
*/
@import "../base/media-queries.pcss.css";
.block-search-narrow {
margin-inline: calc(-1 * var(--sp));
margin-block-end: var(--sp2);
background: var(--color--black);
& .search-block-form {
display: flex;
}
& .form-item {
flex-grow: 1;
margin: 0;
}
& .form-actions {
margin: 0;
}
& input[type="search"] {
width: calc(100% + var(--sp2));
height: calc(3 * var(--sp));
padding-block: 0;
padding-inline-start: var(--sp);
padding-inline-end: var(--sp);
transition: background-size 0.4s;
color: var(--color--white);
border: solid 1px transparent;
background-color: transparent;
background-image: linear-gradient(var(--color--primary-50), var(--color--primary-50)); /* Two values are needed for IE11 support. */
background-repeat: no-repeat;
background-position: bottom left; /* LTR */
background-size: 0% 5px;
box-shadow: none;
font-family: var(--font-serif);
font-size: 16px;
-webkit-appearance: none;
&:focus {
outline: solid 4px transparent;
outline-offset: -4px;
background-size: 100% 5px;
}
@media (--md) {
height: calc(4 * var(--sp));
padding-inline-start: var(--sp2);
padding-inline-end: var(--sp2);
}
}
& .search-form__submit {
position: relative;
overflow: hidden;
align-self: stretch;
width: var(--sp3);
height: auto;
margin-block: 0;
margin-inline-start: 0;
margin-inline-end: 0;
padding-block: 0;
padding-inline-start: 0;
padding-inline-end: 0;
cursor: pointer;
border-color: transparent;
background-color: transparent;
/*
When in Windows high contrast mode, FF will not output either background
images or SVGs that are nested directly within a <button> element, so we add a <span>.
*/
& .icon--search {
position: absolute;
inset-block-start: 0;
inset-inline-start: 0;
display: block;
width: 100%; /* Width of the SVG background image. */
height: 100%;
pointer-events: none;
background-image: url("../../images/search--white.svg");
background-repeat: no-repeat;
background-position: center;
background-size: auto;
&::after {
position: absolute;
inset-block-end: 0;
inset-inline-start: 0;
width: 100%;
height: 0;
content: "";
transition: transform 0.2s;
transform: scaleX(0);
transform-origin: left; /* LTR */
border-block-start: solid 5px var(--color--primary-50);
}
@media (forced-colors: active) {
background: buttontext;
mask-image: url("../../images/search--white.svg");
mask-repeat: no-repeat;
mask-position: center;
}
}
&:focus {
outline: solid 4px transparent;
outline-offset: -4px;
box-shadow: none;
& span::after {
transform: scaleX(1);
}
@media screen and (-ms-high-contrast: active) {
border-bottom-width: var(--sp0-5);
& span::after {
content: none;
}
}
}
@media (--md) {
width: 80px;
}
@media screen and (-ms-high-contrast: active) {
/* IE11's high contrast show will not show the background image, so we show the text. */
& .visually-hidden {
position: static;
overflow: visible;
clip: auto;
width: auto;
height: auto;
text-align: center;
}
/* Edge's high contrast does show the background image, so we hide it. */
& .icon--search {
display: none;
}
}
}
/* 500px is the width of the primary nav at mobile. */
@media (min-width: 500px) {
margin-inline-start: 0;
margin-inline-end: 0;
}
}
body:not(.is-always-mobile-nav) .block-search-narrow {
@media (--nav) {
display: none;
}
}
[dir="rtl"] .block-search-narrow {
& input[type="search"] {
background-position: bottom right;
}
& .search-form__submit .icon--search::after {
transform-origin: right;
}
}