main.styl 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. // Style
  2. //---------------------------------------
  3. form.idealforms
  4. clearfix()
  5. line-height: 1.5
  6. *
  7. box-sizing: border-box
  8. .field
  9. position: relative
  10. float: left
  11. clear: both
  12. margin: .35em 0
  13. label.main, .field > input, select, button, textarea, .field .group
  14. float: left
  15. label.main
  16. width: label-width
  17. margin-top: .55em
  18. input, textarea, select, .field .group
  19. reset-box-model()
  20. width: input-width
  21. padding: .55em
  22. border: 1px solid #999
  23. outline: 0
  24. background: white
  25. border-radius: radius
  26. box-shadow: inset 0 1px 2px rgba(black, .15)
  27. input
  28. transition: background .3s ease-in-out
  29. textarea
  30. width: input-width*1.5
  31. select, button
  32. idealbutton()
  33. button
  34. width: auto
  35. select
  36. padding: .55em
  37. &:focus
  38. border: 1px solid darken(ui-element, 60)
  39. input[type="file"]
  40. padding: 0
  41. .field .group
  42. position: relative
  43. padding: 1.25em
  44. box-shadow: none
  45. label
  46. float: left
  47. clear: both
  48. padding: .15em 0
  49. if group-horizontal
  50. clear: none
  51. input,label
  52. margin: 0
  53. input
  54. width: auto
  55. margin-right: .5em
  56. box-shadow: none
  57. label
  58. margin-right: 1em
  59. &:last-of-type
  60. margin: 0
  61. .field.valid
  62. input, select, textarea, .group
  63. color: darken(valid, 30)
  64. background: valid-bg
  65. border-color: valid
  66. .field.invalid
  67. input, select, textarea, .group
  68. color: darken(invalid, 30)
  69. background: invalid-bg
  70. border-color: invalid
  71. .field.valid, .field.invalid
  72. .group, textarea, select
  73. color: inherit
  74. background: none
  75. select
  76. background: linear-gradient(lighten(ui-element, 15), ui-element)
  77. .field .icon
  78. position: absolute
  79. width: icon-size
  80. height: icon-size
  81. top: 50%
  82. left: 100%
  83. margin-top: -(icon-padding)
  84. margin-left: icon-padding
  85. background: url(../img/validation.png) -16px 0 no-repeat
  86. cursor: pointer
  87. .field.invalid .icon
  88. background-position: -16px 0
  89. .field.valid .icon
  90. background-position: 0 0
  91. cursor: default
  92. .field.invalid, .field.valid
  93. .group input
  94. border: 0
  95. outline: 0
  96. box-shadow: none
  97. .field.ajax
  98. input
  99. color: darken(ajax, 30)
  100. background: ajax-bg
  101. border-color: ajax
  102. .icon
  103. background: url(../img/loading.gif)
  104. .error
  105. display: none
  106. position: absolute
  107. z-index: 1
  108. left: 100%
  109. top: 50%
  110. padding: 1em 1.5em
  111. width: error-width
  112. margin-left: 32 + icon-padding
  113. if not icon
  114. margin-left: 1.25em
  115. background: error
  116. background: linear-gradient(error, lighten(error, 7))
  117. color: lighten(error, 90)
  118. font-size: 85%
  119. font-weight: bold
  120. text-shadow: 0 1px 0 rgba(black, .3)
  121. line-height: 1.35
  122. border: 1px solid darken(error, 10)
  123. border-radius: 0 radius radius radius
  124. box-shadow: 0 1px 1px rgba(black, .15)
  125. &:after
  126. content: ""
  127. position: absolute
  128. z-index: -1
  129. top: -1px
  130. left: -.7em
  131. border-width: .7em
  132. border-style: solid
  133. border-color: transparent
  134. border-top-color: error
  135. .idealforms-field-checkbox
  136. .idealforms-field-radio
  137. .idealforms-field-textarea
  138. .icon
  139. top: 8px
  140. margin-top: 0
  141. .error
  142. top: 1.25em
  143. form.idealforms.adaptive
  144. .field
  145. float: none
  146. max-width: input-width
  147. clearfix()
  148. label.main
  149. display: block
  150. float: none
  151. width: auto
  152. padding-bottom: .5em
  153. input, textarea, select, .field .group
  154. width: 100%
  155. .field .icon
  156. top: 0
  157. margin-top: 3.2em
  158. .error
  159. position: relative
  160. float: left
  161. clear: both
  162. width: 100%
  163. left: 0
  164. margin-left: 0
  165. margin-top: 3px
  166. border-radius: radius
  167. &:after
  168. top: 2px
  169. left: 50%
  170. margin-top: -1.4em
  171. margin-left: -.35em
  172. border-color: transparent
  173. border-bottom-color: error
  174. &.hidden
  175. position: absolute
  176. visibility: hidden
  177. .idealforms-field-checkbox
  178. .idealforms-field-radio
  179. .idealforms-field-textarea
  180. .error
  181. top: 0