/*----------------------------------------------------------------------------*\ Form Form elements \*----------------------------------------------------------------------------*/ /* Variables \*----------------------------------------------------------------------------*/ $use-forms: true !default; $inputBackgroundColor: #fff; $inputBorderColor: #eee; $inputBorderFocusColor: #444; $radioBackgroundColor: #eee; $placeholderColor: #000; /* Component \*----------------------------------------------------------------------------*/ @if $use-forms == true{ form { text-align: left; } input[type="text"], input[type="tel"], input[type="email"], input[type="password"], input[type="number"], textarea, select, .form-control { width: 100%; height: auto; font-size: 1.6rem; padding: 1rem 1.5rem; margin-bottom: 0.5rem; -webkit-appearance: none; -moz-appearance: none; outline: none; background: $inputBackgroundColor no-repeat; border: 0; border-bottom: 0.1rem solid rgba(color(brand), 0.2); border-radius: 0; box-shadow: none; outline: none; transition: all .3s; font-family: $font-base; /* Read-only */ &[readonly] { background-color: $inputBackgroundColor; } /* Disabled */ &[disabled] { opacity: 0.5; background-color: $inputBorderColor; cursor: not-allowed; } /* Focus */ &:focus { border-color: $inputBorderFocusColor; box-shadow: none; outline: none; } } // Select inner .select-inner { line-height: 1; position: relative; white-space: nowrap; padding-right: 0; padding-left: 0; cursor: pointer; border: 0.1rem solid $inputBorderColor; // Arrow icon &:after { width: 1.3rem; height: 0.7rem; background-image: url("../img/icons/arrow-down.svg"); background-size: 100% 100%; background-repeat: no-repeat; background-position: center center; position: absolute; top :0; bottom: 0; right: 2rem; content: ''; margin: auto 0; } span { font-size: 1.6rem; color: #49505A; height: 5rem; line-height: 4.8rem; white-space: nowrap; padding-right: 4rem; text-overflow: ellipsis; padding-left: 2rem; max-width: 100%; display: inline-block; overflow: hidden; } } // Select inner list .select-inner-list { display: inline-block; width: 25rem; height: auto; position: absolute; top: 100%; opacity: 0; visibility: hidden; left: 0; background-color: #fff; box-shadow: 0 0.6rem 2.4rem rgba(0,0,0,0.1); padding: 0; border-radius: 0.5rem; z-index: 9999; transition: all .3s; margin-bottom: 0; margin-top: 0; transform: translateY(-2rem); &._active { opacity: 1; visibility: visible; top: 100%; transform: translateY(0); } // List item li { color: #69737F; font-size: 1.6rem; font-weight: 700; display: inline-block; position: relative; text-decoration: none; width: 100%; height: auto; line-height: 2.5rem; padding: 1.5rem 2rem; border-bottom: 0.1rem solid #EBEBEB; float: left; transition: all .3s; cursor: pointer; &:hover { background: #F4F5F6; } &:before {display: none;} &:last-of-type { border-bottom-left-radius: 0.5rem; border-bottom-right-radius: 0.5rem; border-bottom: none; } } } // Selectboxes select.form-control { background-image: url('data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDYxMiA2MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDYxMiA2MTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8ZyBpZD0iX3gzMV8wXzM0XyI+CgkJPGc+CgkJCTxwYXRoIGQ9Ik02MDQuNTAxLDEzNC43ODJjLTkuOTk5LTEwLjA1LTI2LjIyMi0xMC4wNS0zNi4yMjEsMEwzMDYuMDE0LDQyMi41NThMNDMuNzIxLDEzNC43ODIgICAgIGMtOS45OTktMTAuMDUtMjYuMjIzLTEwLjA1LTM2LjIyMiwwcy05Ljk5OSwyNi4zNSwwLDM2LjM5OWwyNzkuMTAzLDMwNi4yNDFjNS4zMzEsNS4zNTcsMTIuNDIyLDcuNjUyLDE5LjM4Niw3LjI5NiAgICAgYzYuOTg4LDAuMzU2LDE0LjA1NS0xLjkzOSwxOS4zODYtNy4yOTZsMjc5LjEyOC0zMDYuMjY4QzYxNC41LDE2MS4xMDYsNjE0LjUsMTQ0LjgzMiw2MDQuNTAxLDEzNC43ODJ6IiBmaWxsPSIjNDQ0NDQ0Ii8+CgkJPC9nPgoJPC9nPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo='); background-size: 1rem 1rem; background-position: right 1rem center; &::-ms-expand { display: none; } } // File uploads .input-group.file { input[type="file"] { opacity: 0; position: absolute; z-index: 10; width: 100%; height: 100%; padding: 0; margin: 0; cursor: pointer; &:hover + .sitekick-forms-fileupload-label { border-color: $inputBorderFocusColor !important; } } .sitekick-forms-fileupload-label { font-weight: normal; cursor: pointer; pointer-events: none; display: block; @extend .form-control; background-image: url('data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMS4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ4Ni4zIDQ4Ni4zIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0ODYuMyA0ODYuMzsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiPgo8Zz4KCTxnPgoJCTxwYXRoIGQ9Ik0zOTUuNSwxMzUuOGMtNS4yLTMwLjktMjAuNS01OS4xLTQzLjktODAuNWMtMjYtMjMuOC01OS44LTM2LjktOTUtMzYuOWMtMjcuMiwwLTUzLjcsNy44LTc2LjQsMjIuNSAgICBjLTE4LjksMTIuMi0zNC42LDI4LjctNDUuNyw0OC4xYy00LjgtMC45LTkuOC0xLjQtMTQuOC0xLjRjLTQyLjUsMC03Ny4xLDM0LjYtNzcuMSw3Ny4xYzAsNS41LDAuNiwxMC44LDEuNiwxNiAgICBDMTYuNywyMDAuNywwLDIzMi45LDAsMjY3LjJjMCwyNy43LDEwLjMsNTQuNiwyOS4xLDc1LjljMTkuMywyMS44LDQ0LjgsMzQuNyw3MiwzNi4yYzAuMywwLDAuNSwwLDAuOCwwaDg2ICAgIGM3LjUsMCwxMy41LTYsMTMuNS0xMy41cy02LTEzLjUtMTMuNS0xMy41aC04NS42QzYxLjQsMzQ5LjgsMjcsMzEwLjksMjcsMjY3LjFjMC0yOC4zLDE1LjItNTQuNywzOS43LTY5ICAgIGM1LjctMy4zLDguMS0xMC4yLDUuOS0xNi40Yy0yLTUuNC0zLTExLjEtMy0xNy4yYzAtMjcuNiwyMi41LTUwLjEsNTAuMS01MC4xYzUuOSwwLDExLjcsMSwxNy4xLDNjNi42LDIuNCwxMy45LTAuNiwxNi45LTYuOSAgICBjMTguNy0zOS43LDU5LjEtNjUuMywxMDMtNjUuM2M1OSwwLDEwNy43LDQ0LjIsMTEzLjMsMTAyLjhjMC42LDYuMSw1LjIsMTEsMTEuMiwxMmM0NC41LDcuNiw3OC4xLDQ4LjcsNzguMSw5NS42ICAgIGMwLDQ5LjctMzkuMSw5Mi45LTg3LjMsOTYuNmgtNzMuN2MtNy41LDAtMTMuNSw2LTEzLjUsMTMuNXM2LDEzLjUsMTMuNSwxMy41aDc0LjJjMC4zLDAsMC42LDAsMSwwYzMwLjUtMi4yLDU5LTE2LjIsODAuMi0zOS42ICAgIGMyMS4xLTIzLjIsMzIuNi01MywzMi42LTg0QzQ4Ni4yLDE5OS41LDQ0Ny45LDE0OS42LDM5NS41LDEzNS44eiIgZmlsbD0iIzQ0NDQ0NCIvPgoJCTxwYXRoIGQ9Ik0zMjQuMiwyODBjNS4zLTUuMyw1LjMtMTMuOCwwLTE5LjFsLTcxLjUtNzEuNWMtMi41LTIuNS02LTQtOS41LTRzLTcsMS40LTkuNSw0bC03MS41LDcxLjVjLTUuMyw1LjMtNS4zLDEzLjgsMCwxOS4xICAgIGMyLjYsMi42LDYuMSw0LDkuNSw0czYuOS0xLjMsOS41LTRsNDguNS00OC41djIyMi45YzAsNy41LDYsMTMuNSwxMy41LDEzLjVzMTMuNS02LDEzLjUtMTMuNVYyMzEuNWw0OC41LDQ4LjUgICAgQzMxMC40LDI4NS4zLDMxOC45LDI4NS4zLDMyNC4yLDI4MHoiIGZpbGw9IiM0NDQ0NDQiLz4KCTwvZz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K'); background-size: 1rem 1rem; background-position: right 1rem center; } } // Input groups .input-group { width: 100%; text-align: left; margin-bottom: 1.5rem; label { font-size: 1.6rem; } } // Radio buttons .input-group.radio { cursor: pointer; margin-bottom: 1rem; // Hide browser default radio input { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; } // Styling custom radio button label { position: relative; padding-left: 2.5rem; font-size: 1.4rem; cursor: pointer; text-align: left; display: inline-block; line-height: 1.5; &:after { height: 1.5rem; width: 1.5rem; background-color: transparent; border: 0.1rem solid rgba(#000, 0.3); display: inline-block; position: absolute; top: 0; bottom: 0; left: 0; margin: auto 0; transition: all .3s; content: ''; border-radius: 0.3rem; z-index: 1; } // Check icon &:before { width: 1.6rem; height: 1.6rem; background-image: url('/Igolf/img/icons/check.svg'); -webkit-background-size: 1.2rem 1.2rem; background-size: 1.2rem 1.2rem; background-repeat: no-repeat; background-position: center center; position: absolute; top: 0; bottom: 0; left: 0; margin :auto 0; content: ''; transition: all .3s; opacity: 0; z-index: 2; } } // Checked input sets up styling for custom radio button input:checked ~ label { &:after{ border-color: color(brand); background-color: color(brand); } // Dot inner &:before { opacity: 1; } } } .radio-group { display: flex; flex-wrap: wrap; align-items: center; justify-content: left; .input-group { width: auto; } .radio, .radio+.radio { margin-top: 0; margin-right: 1rem; } } // Checkboxes .input-group.checkbox { cursor: pointer; margin-bottom: 1rem; // Hide browser default checkbox input { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; } // Styling custom checkbox button label { position: relative; padding-left: 2.5rem; font-size: 1.4rem; cursor: pointer; text-align: left; display: inline-block; line-height: 1.5; &:after { height: 1.5rem; width: 1.5rem; background-color: transparent; border: 0.1rem solid rgba(#000, 0.3); display: inline-block; position: absolute; top: 0; bottom: 0; left: 0; margin: auto 0; transition: all .3s; content: ''; border-radius: 0.3rem; z-index: 1; } // Check icon &:before { width: 1.6rem; height: 1.6rem; background-image: url('/Igolf/img/icons/check.svg'); -webkit-background-size: 1.2rem 1.2rem; background-size: 1.2rem 1.2rem; background-repeat: no-repeat; background-position: center center; position: absolute; top: 0; bottom: 0; left: 0; margin :auto 0; content: ''; transition: all .3s; opacity: 0; z-index: 2; } } // Checked input sets up styling for custom checkbox button input:checked ~ label { &:after{ border-color: color(brand); background-color: color(brand); } // Dot inner &:before { opacity: 1; } } } .checkbox-group { margin-bottom: 1.5rem; .input-group { margin: 0 0 0.2rem 0; } } // Form title .form-title { font-weight: bold; text-align: left; border-bottom: 0.1rem solid $inputBorderColor; padding-bottom: 1rem; margin-bottom: 1rem; } // Parsley form validation .parsley-errors-list { list-style-type: none; padding: 0; margin: 0; color: #e74c3c; margin-bottom: 1rem; margin-top: 0.5rem; font-weight: 400; transition: all .3s; font-size: 1.4rem; display: inline-block; // List item li { line-height: 1.2; position: relative; padding-left: 0; margin: 0.5rem 0; } } input.parsley-error,textarea.parsley-error, select.parsley-error { margin-bottom: 0!important; border: 0.1rem solid #e74c3c!important; } // No resize for textarea's textarea { resize: none; } // Form row form .row { display: flex; flex-wrap: wrap; &:before,&:after { display: none; } } // Placeholders ::-webkit-input-placeholder { color: $placeholderColor; } :-ms-input-placeholder { color: $placeholderColor; } ::placeholder { color: $placeholderColor; } /* Postal address messages */ .sitekick-form-address-loading, .sitekick-form-address-warning { padding: 1.5rem 0; } }