diff --git a/Guardfile b/Guardfile new file mode 100644 index 0000000000000000000000000000000000000000..b0ff2755be863da69a5fa60025330c1c1fc3343d --- /dev/null +++ b/Guardfile @@ -0,0 +1,25 @@ +# NOTE: the subpath hack using a regexp group no longer works +# - instead, use the patterns option, e.g. change: +# +# guard :less do +# watch /^foo\/(.+)\.less/ +# end +# +# into: +# +# patterns = [/^foo\/(.+)\.less/] +# guard :less, patterns: patterns do +# patterns.each { |pattern| watch(pattern) } +# end + +less_options = { + all_on_start: true, + all_after_change: true, + patterns: ['Guardfile', 'src/less/resource_scheduler.less'], + output: 'public/css', + compress: true +} + +guard :less, less_options do + less_options[:patterns].each { |pattern| watch(pattern) } +end diff --git a/classes/emailer.rb b/classes/emailer.rb new file mode 100644 index 0000000000000000000000000000000000000000..7bdbe695741dd42b4c04dbca10ac0e2af86a45fc --- /dev/null +++ b/classes/emailer.rb @@ -0,0 +1,37 @@ +require 'pony' + +class Emailer + def self.mail(to, subject, body, bcc = "", attachments = nil) + Pony.mail({ + :to => to, + :bcc => bcc, + :subject => subject, + :html_body => body, + :from => 'resource_scheduler@unl.edu', + :via => self.method, + :via_options => self.method_options, + :attachments => attachments + }) + end + + private + + def self.method + if ENV['RACK_ENV'] == 'development' + :smtp + else + :sendmail + end + end + + def self.method_options + if ENV['RACK_ENV'] == 'development' + { + :address => '127.0.0.1', + :port => '1025' + } + else + {} + end + end +end \ No newline at end of file diff --git a/db/migrate/20160607135100_add_service_space_url_name.rb b/db/migrate/20160607135100_add_service_space_url_name.rb new file mode 100644 index 0000000000000000000000000000000000000000..a46cfa84477a7fb22d1a68bc2af04520676a500e --- /dev/null +++ b/db/migrate/20160607135100_add_service_space_url_name.rb @@ -0,0 +1,7 @@ +require 'active_record' + +class AddServiceSpaceUrlName < ActiveRecord::Migration + def change + add_column :service_spaces, :url_name, :string + end +end \ No newline at end of file diff --git a/models/event.rb b/models/event.rb new file mode 100644 index 0000000000000000000000000000000000000000..04cb86dcf02a713470f9e5f6e42c6e02a75d677f --- /dev/null +++ b/models/event.rb @@ -0,0 +1,77 @@ +require 'active_record' + +class Event < ActiveRecord::Base + has_many :event_signups, :dependent => :destroy + has_one :reservation, :dependent => :destroy + belongs_to :location + belongs_to :event_type + alias_method :type, :event_type + alias_method :signups, :event_signups + + scope :in_day, ->(time) { + today = time.in_time_zone.midnight + tomorrow = (time.in_time_zone.midnight + 1.day + 1.hour).in_time_zone.midnight + where('(start_time >= ? AND start_time < ?) OR (end_time >= ? AND end_time < ?)', today.getutc, tomorrow.getutc, today.getutc, tomorrow.getutc) + } + + scope :in_week, ->(time) { + last_sunday = time.in_time_zone.week_start + next_sunday = (time.in_time_zone.week_start + 1.week + 1.hour).in_time_zone.week_start + where('(start_time >= ? AND start_time < ?) OR (end_time >= ? AND end_time < ?)', last_sunday.getutc, next_sunday.getutc, last_sunday.getutc, next_sunday.getutc) + } + + # returns length in minutes. If start or end is nil, returns 0 + def length + if end_time.nil? || start_time.nil? + return 0 + end + ((end_time - start_time) / 60).to_i + end + + def info_link + case type.description + when 'New Member Orientation' + "/new_members/sign_up/#{id}/" + else + "/events/#{id}/" + end + end + + def edit_link + "/admin/events/#{id}/edit/" + end + + def has_reservation + !self.reservation.nil? + end + + def image_src + "/images/#{id}/" + end + + def set_data(params) + self.title = params[:title] + self.description = params[:description] + self.start_time = calculate_time(params[:start_date], params[:start_time_hour], params[:start_time_minute], params[:start_time_am_pm]) + self.end_time = calculate_time(params[:end_date], params[:end_time_hour], params[:end_time_minute], params[:end_time_am_pm]) + self.event_type_id = params[:type] + self.location_id = params[:location] + self.max_signups = params[:limit_signups] == 'on' ? params[:max_signups].to_i : nil + self.service_space_id = 1 + self.save + end + + def set_image_data(params) + if params[:imagedata] + self.imagemime = params[:imagedata][:type] + self.imagedata = params[:imagedata][:tempfile].read if params[:imagedata][:tempfile].is_a?(Tempfile) + end + self.save + end + + def remove_image_data + self.imagemime = nil + self.imagedata = nil + self.save + end +end \ No newline at end of file diff --git a/models/event_signup.rb b/models/event_signup.rb new file mode 100644 index 0000000000000000000000000000000000000000..b1d791e5595d84765ba0d169d51121560b2b0c33 --- /dev/null +++ b/models/event_signup.rb @@ -0,0 +1,5 @@ +require 'active_record' + +class EventSignup < ActiveRecord::Base + belongs_to :event +end \ No newline at end of file diff --git a/models/event_type.rb b/models/event_type.rb new file mode 100644 index 0000000000000000000000000000000000000000..2db4584601f1d50415575b80964a54a02f1e6453 --- /dev/null +++ b/models/event_type.rb @@ -0,0 +1,7 @@ +require 'active_record' + +class EventType < ActiveRecord::Base + def name + description + end +end \ No newline at end of file diff --git a/models/location.rb b/models/location.rb new file mode 100644 index 0000000000000000000000000000000000000000..5116ac615b435c162858dc9278400dbdc7523fcf --- /dev/null +++ b/models/location.rb @@ -0,0 +1,5 @@ +require 'active_record' + +class Location < ActiveRecord::Base + +end \ No newline at end of file diff --git a/models/permission.rb b/models/permission.rb new file mode 100644 index 0000000000000000000000000000000000000000..f11c56c8e375b06c3525ede1ae108b6b50a1ada5 --- /dev/null +++ b/models/permission.rb @@ -0,0 +1,11 @@ +require 'active_record' + +class Permission < ActiveRecord::Base + SUPER_USER = 1 + MANAGE_USERS = 2 + MANAGE_RESOURCES = 3 + MANAGE_EMAILS = 4 + MANAGE_SPACE_HOURS = 5 + MANAGE_EVENTS = 6 + SEE_AGENDA = 7 +end \ No newline at end of file diff --git a/models/reservation.rb b/models/reservation.rb new file mode 100644 index 0000000000000000000000000000000000000000..24e1998a9c1935b26604737d55eb5088dde9393a --- /dev/null +++ b/models/reservation.rb @@ -0,0 +1,21 @@ +require 'active_record' + +class Reservation < ActiveRecord::Base + belongs_to :resource + belongs_to :event + belongs_to :user + + scope :in_day, ->(time) { + today = time.in_time_zone.midnight + tomorrow = (time.in_time_zone.midnight + 1.day + 1.hour).in_time_zone.midnight + where('(start_time >= ? AND start_time < ?) OR (end_time >= ? AND end_time < ?)', today.getutc, tomorrow.getutc, today.getutc, tomorrow.getutc) + } + + # returns length in minutes. If start or end is nil, returns 0 + def length + if end_time.nil? || start_time.nil? + return 0 + end + ((end_time - start_time) / 60).to_i + end +end \ No newline at end of file diff --git a/models/resource.rb b/models/resource.rb new file mode 100644 index 0000000000000000000000000000000000000000..1490cd1836124c0bb332dd9f6453e66f1795cb3f --- /dev/null +++ b/models/resource.rb @@ -0,0 +1,10 @@ +require 'active_record' +require 'models/resource_approver' +require 'models/resource_authorization' + +class Resource < ActiveRecord::Base + has_many :reservations, dependent: :destroy + has_many :resource_approvers, dependent: :destroy + has_many :resource_authorizations, dependent: :destroy + alias_method :approvers, :resource_approvers +end \ No newline at end of file diff --git a/models/resource_approver.rb b/models/resource_approver.rb new file mode 100644 index 0000000000000000000000000000000000000000..69ae298834897edb34d2bc26b928d970195377e7 --- /dev/null +++ b/models/resource_approver.rb @@ -0,0 +1,6 @@ +require 'active_record' + +class ResourceApprover < ActiveRecord::Base + belongs_to :resource + belongs_to :user +end \ No newline at end of file diff --git a/models/resource_authorization.rb b/models/resource_authorization.rb new file mode 100644 index 0000000000000000000000000000000000000000..0518b7f5f36a4073be2e5aad97bbdfa1742738d0 --- /dev/null +++ b/models/resource_authorization.rb @@ -0,0 +1,5 @@ +require 'active_record' + +class ResourceAuthorization < ActiveRecord::Base + belongs_to :resource +end \ No newline at end of file diff --git a/models/service_space.rb b/models/service_space.rb new file mode 100644 index 0000000000000000000000000000000000000000..149b127dcfeb2e58ab222541f728271d37961c31 --- /dev/null +++ b/models/service_space.rb @@ -0,0 +1,5 @@ +require 'active_record' + +class ServiceSpace < ActiveRecord::Base + +end \ No newline at end of file diff --git a/models/space_hour.rb b/models/space_hour.rb new file mode 100644 index 0000000000000000000000000000000000000000..8bd1968a10f4cd5a75be35a709b644169fa6221c --- /dev/null +++ b/models/space_hour.rb @@ -0,0 +1,5 @@ +require 'active_record' + +class SpaceHour < ActiveRecord::Base + serialize :hours, Array +end \ No newline at end of file diff --git a/models/user.rb b/models/user.rb new file mode 100644 index 0000000000000000000000000000000000000000..fd8c0b5ba0a18dbce79fec4296c6a67705325757 --- /dev/null +++ b/models/user.rb @@ -0,0 +1,82 @@ +require 'active_record' +require 'bcrypt' +require 'models/resource_authorization' +require 'models/event_signup' +require 'models/permission' +require 'models/user_has_permission' +require 'classes/emailer' + +class User < ActiveRecord::Base + has_many :resource_authorizations + has_many :event_signups + has_many :user_has_permissions + has_many :permissions, through: :user_has_permissions + + def authorized_resource_ids + self.resource_authorizations.map {|res_auth| res_auth.resource_id} + end + + def get_authorization(resource_id) + self.resource_authorizations.where(:resource_id => resource_id).first + end + + def signed_up_event_ids + self.event_signups.map {|event_signup| event_signup.event_id} + end + + include BCrypt + + # now decides based on whether they have any admin permissions + def is_admin? + !self.permissions.empty? + end + alias_method :admin?, :is_admin? + + def is_super_user? + self.permissions.include?(Permission.find(Permission::SUPER_USER)) + end + alias_method :super_user?, :is_super_user? + + def has_permission?(id) + self.permissions.include?(Permission.find(id)) + end + + def password + @password ||= Password.new(password_hash) + end + + def password=(new_password) + @password = Password.create(new_password) + self.password_hash = @password + end + + def full_name + "#{first_name} #{last_name}" + end + + def sortable_name + "#{last_name}, #{first_name}" + end + + def send_reset_password_email + token = '' + begin + token = String.token + end while User.find_by(:reset_password_token => token) != nil + self.reset_password_token = token + self.reset_password_expiry = Time.now + 1.day + self.save + +body = <<EMAIL +<p>We received a request to reset your Innovation Studio Manager password. Please click the link below to reset your password.</p> + +<p><a href="http://#{ENV['RACK_ENV'] == 'development' ? 'localhost:9393' : 'innovationstudio-manager.unl.edu'}/reset_password/#{token}/">http://#{ENV['RACK_ENV'] == 'development' ? 'localhost:9393' : 'innovationstudio-manager.unl.edu'}/reset_password/#{token}/</a></p> + +<p>This link will only be active for 24 hours. If you did not request to reset your password, you may safely disregard this email.</p> + +<p>Nebraska Innovation Studio</p> +EMAIL + + Emailer.mail(self.email, 'Nebraska Innovation Studio password reset', body) + end +end \ No newline at end of file diff --git a/models/user_has_permission.rb b/models/user_has_permission.rb new file mode 100644 index 0000000000000000000000000000000000000000..8759fd19fde99b9f27cbecde841e6fb4fa831cb5 --- /dev/null +++ b/models/user_has_permission.rb @@ -0,0 +1,6 @@ +require 'active_record' + +class UserHasPermission < ActiveRecord::Base + belongs_to :user + belongs_to :permission +end \ No newline at end of file diff --git a/public/css/resource_scheduler.css b/public/css/resource_scheduler.css new file mode 100644 index 0000000000000000000000000000000000000000..72f60aac043412c8494eb6cb573335a8245da034 --- /dev/null +++ b/public/css/resource_scheduler.css @@ -0,0 +1 @@ +@charset "UTF-8";@font-face{font-family:'eventicon';src:url('font/eventicon.eot?22213170');src:url('font/eventicon.eot?22213170#iefix') format('embedded-opentype'),url('font/eventicon.svg?22213170#eventicon') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'eventicon';src:url('data:application/octet-stream;base64,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') format('woff'),url('data:application/octet-stream;base64,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') format('truetype')}[class^="eventicon-"]:before,[class*=" eventicon-"]:before{font-family:"eventicon";font-style:normal;font-weight:normal;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em}.eventicon-plus-circled:before{content:'\e800'}.eventicon-search:before{content:'\e801'}.eventicon-angle-circled-left:before{content:'\e802'}.eventicon-angle-circled-right:before{content:'\e803'}.eventicon-rss:before{content:'\e804'}.eventicon-calendar-empty:before{content:'\e805'}.eventicon-link:before{content:'\e806'}.eventicon-location:before{content:'\e807'}.eventicon-clock:before{content:'\e808'}.eventicon-vcard:before{content:'\e809'}.clearfix:after{content:" ";visibility:hidden;display:block;height:0;clear:both}.wdn-grid-set.reverse>[class*=wdn-col]{float:right}#pagetitle h3{margin-top:0}#maincontent form{padding:1em}#maincontent form fieldset{margin:0;margin-bottom:1em}#maincontent form legend{font-size:1.5em;margin-top:0.5em;margin-bottom:1em;padding-bottom:0}#maincontent form.delete-form,#maincontent form.inline-form{display:inline;padding:0}#maincontent form input{word-wrap:normal}#maincontent form input[disabled]{background:#CCCCCC}#maincontent form textarea{resize:vertical}#maincontent form .helper{font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif}#maincontent form .offset-field-group{background:#41708d;border-radius:.5em;padding:1em}#maincontent form .offset-field-group label{color:#fefdfa}.table-actions a,.table-actions button{vertical-align:middle}#notice .message-content a{text-decoration:underline}.calendar-container{font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif;width:100%;text-align:center}.calendar-container .time-labels{font-size:80%;text-align:right;display:inline-block;border-right:1px solid #C9C9C9;width:9%;margin:0}.calendar-container .time-labels .calendar-half-hour{padding-right:3px}.calendar-container .calendar-day{vertical-align:bottom;text-align:center;border-left:1px solid #C9C9C9;border-right:1px solid #C9C9C9;display:inline-block;width:12%;margin:0}.calendar-container .calendar-day .day-chart{position:relative}.calendar-container .calendar-half-hour{height:20px;border-top:1px solid #C9C9C9}.calendar-container .calendar-half-hour:last-child{border-bottom:1px solid #C9C9C9}.calendar-container .calendar-half-hour:nth-child(2n){background-color:#EEEEEE}.calendar-container .event,.calendar-container .reservation{position:absolute;overflow-y:scroll;background:#78c3f1;border:1px solid #137cbd;border-radius:3px;width:80%;font-size:60%;text-align:left;padding:3px;word-wrap:break-word}.calendar-container .event.new-member-orientation,.calendar-container .reservation.new-member-orientation{background:#FFFFB8;border-color:#b8b800}.calendar-container .event.free-event,.calendar-container .reservation.free-event{background:#F8F8F8;border-color:#797979}.calendar-container .event.machine-training,.calendar-container .reservation.machine-training{background:#58CC2F;border-color:#34791c}.calendar-container .event.rsvp-only-event,.calendar-container .reservation.rsvp-only-event{background:#FFA6F5;border-color:#a60093}.calendar-container .event.top-overflow,.calendar-container .reservation.top-overflow{border-top:none;border-top-left-radius:0px;border-top-right-radius:0px}.calendar-container .event.bottom-overflow,.calendar-container .reservation.bottom-overflow{border-bottom:none;border-bottom-left-radius:0px;border-bottom-right-radius:0px}.calendar-container .event.editing,.calendar-container .reservation.editing{border-style:dashed;opacity:.7}.calendar-container .event a,.calendar-container .reservation a{color:initial}.calendar-container .event a:hover,.calendar-container .reservation a:hover{text-decoration:underline}.calendar-container .status{position:absolute;background:gray;width:100%;opacity:.5}.calendar-container .status.closed{background-color:#444}.calendar-container .status.open-without-reservations{background-color:#78c3f1}.calendar-container.individual-day{background-color:#f9f8f5;border:1px solid #d5d5d2}.calendar-container.individual-day .time-labels{width:25%}.calendar-container.individual-day .calendar-day{width:70%}.event-details{margin-bottom:1em;padding:0 23px 1.777em;padding:0 1.425rem 1.777em;border-top:5px solid #D00000;background-color:#fff;box-shadow:0 0 0 1px rgba(20,20,20,0.1)}.event-details .date-wrapper,.event-details .time-wrapper,.event-details .location,.event-details .contact{display:block;font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif;font-weight:400;font-style:normal;font-size:13px;font-size:0.802rem}.event-details .date-wrapper:before,.event-details .time-wrapper:before,.event-details .location:before,.event-details .contact:before{color:#c1c0be}.event-details .description{margin:1em 0 0;padding-top:1em;border-top:1px solid #c1c0be}.toolbox,.visual-island{background:#f9f8f5;margin-bottom:1em;word-wrap:break-word;padding:0 !important}.toolbox .tools,.visual-island .tools,.toolbox .details,.visual-island .details{padding:1em;border-left:1px solid #d5d5d2;border-right:1px solid #d5d5d2;border-bottom:1px solid #d5d5d2}.toolbox .tools.top-border,.visual-island .tools.top-border,.toolbox .details.top-border,.visual-island .details.top-border{border-top:1px solid #d5d5d2}.toolbox h1,.visual-island h1,.toolbox h2,.visual-island h2,.toolbox h3,.visual-island h3,.toolbox h4,.visual-island h4,.toolbox h5,.visual-island h5,.toolbox h6,.visual-island h6,.toolbox .vi-header,.visual-island .vi-header{display:block;font-size:.802em !important;margin:0;border-bottom:1px solid #474746;font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif;width:100%;background-color:#474746;padding:1em;text-transform:uppercase;color:#fff;font-weight:400;font-style:normal;text-align:center}.toolbox p,.visual-island p{padding:0 1em 1em 1em}.toolbox ul,.visual-island ul{padding:0;padding-left:1em;margin:0}.toolbox ul a,.visual-island ul a{border-bottom:none;font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif}.event-list{background-color:#eae9e6;font-size:80%;line-height:1.4}.event-list .center{text-align:center}.event-list tbody tr{min-height:30px}.event-list ul{padding-left:0;list-style-type:none}.event-list li{padding:5px 0}.event-list li:not(:last-child){border-bottom:1px solid #999999}.date-time-select{padding:1em;background-color:#f9f8f5;border:1px solid #d5d5d2;margin-bottom:0.75em;text-align:center}.date-time-select.hours{text-align:left}.date-time-select .wdn-icon-calendar{margin-right:-2.3em;position:relative;z-index:2;margin-left:0.8em}.date-time-select .am_pm{display:inline-block;font-family:"Gotham";font-size:.75em;margin-left:.75em}.date-time-select input{padding-left:2.3em;width:40%;position:relative;text-align:center}.date-time-select select{width:14%;text-align:center;padding:0}.date-time-select>*{vertical-align:middle}@media (max-width:767px){.medium-hidden{display:none}.medium-block{display:block !important}.date-time-select input{width:100%}.date-time-select select{width:30%;text-align:center}} \ No newline at end of file diff --git a/routes/calendar.rb b/routes/calendar.rb new file mode 100644 index 0000000000000000000000000000000000000000..76650c23b7977269fda86f576920dee57ceb4f18 --- /dev/null +++ b/routes/calendar.rb @@ -0,0 +1,41 @@ +require 'models/event' +require 'models/space_hour' + +get '/:service_space_url_name/calendar/?' do + load_service_space + + @breadcrumbs << {:text => "#{@space.name} Calendar"} + + # get all events for this week + date = params[:date].nil? ? Time.now : Time.parse(params[:date]) + events = Event.includes(:event_type).where(:service_space_id => @space.id).in_week(date).all + sunday = date.in_time_zone.week_start + + hours = SpaceHour.where(:service_space_id => @space.id) + .where('effective_date < ?', (sunday+1.week+1.hour).midnight.utc.strftime('%Y-%m-%d %H:%M:%S')) + .order(:day_of_week, :effective_date => :desc, :id => :desc).all.to_a + + hours_days = hours.group_by do |space_hour| + space_hour.day_of_week + end + + week_hours = {} + hours_days.each do |number_of_days, array| + this_day = (sunday + number_of_days.days + 1.hour).midnight + + # find the correct hour record to use for this day + array.each do |space_hour| + if space_hour.effective_date.in_time_zone.midnight == this_day.in_time_zone.midnight || (!space_hour.one_off && space_hour.effective_date.in_time_zone.midnight <= this_day.in_time_zone.midnight) + week_hours[number_of_days] = space_hour + break + end + end + end + + erb :calendar, :layout => :fixed, :locals => { + :date => date, + :sunday => sunday, + :events => events, + :week_hours => week_hours + } +end diff --git a/src/less/lib/breakpoints.less b/src/less/lib/breakpoints.less new file mode 100644 index 0000000000000000000000000000000000000000..58f666599feeedf8434233579d9b1526a4a4906e --- /dev/null +++ b/src/less/lib/breakpoints.less @@ -0,0 +1,15 @@ +@bp1: ~" (min-width: 480px)"; +@bp2: ~" (min-width: 768px)"; +@bp3: ~" (min-width: 960px)"; +@bp4: ~" (min-width: 1044px)"; + +// For styles which shouldn't cascade to other breakpoints +@only-bp1: ~" (min-width: 480px) and (max-width: 767px) "; +@only-bp2: ~" (min-width: 768px) and (max-width: 959px)"; +@only-bp3: ~" (min-width: 960px) and (max-width: 1043px)"; +@under-bp2: ~" (max-width: 767px) "; + +// The navigation breaks from the traditional media queries +@bp-nav-hidden: ~" (max-width: 699px)"; +@bp-nav-full: ~" (min-width: 700px)"; +@bp-nav-max: ~" (min-width: 1016px)"; // nav toggle width + bp3 diff --git a/src/less/lib/colors.less b/src/less/lib/colors.less new file mode 100644 index 0000000000000000000000000000000000000000..ef9623f234f13409052c608cb72756ed8a4127f8 --- /dev/null +++ b/src/less/lib/colors.less @@ -0,0 +1,62 @@ +// GO B1G RED + + // Scarlet + @scarlet: #d00000; + @brand: @scarlet; + + // Cream + @cream: #fefdfa; + @page-background: @cream; // A color to represent the page background, used for WDN colors + +// UI + + // Light (<50%) + @ui01: mix(#000, @cream, 2%); // #f9f8f5 + @ui02: mix(#000, @cream, 4%); // #f4f3f0 + @ui03: mix(#000, @cream, 8%); // #eae9e6 + @ui04: mix(#000, @cream, 16%); // #d5d5d2 + @ui05: mix(#000, @cream, 24%); // #c1c0be + @ui06: mix(#000, @cream, 32%); // #adacaa + @ui07: mix(#000, @cream, 48%); // #848482 + + // Dark (>50%) + @ui08: mix(#000, @cream, 64%); // #5b5b5a + @ui09: mix(#000, @cream, 72%); // #474746 + @ui10: mix(#000, @cream, 80%); // #333332 + @ui11: mix(#000, @cream, 82%); // #2e2e2d + @ui12: mix(#000, @cream, 84%); // #292828 + @ui13: mix(#000, @cream, 88%); // #1e1e1e + @ui14: mix(#000, @cream, 92%); // #141414 + +// A few neutral shades, light tan and dark brown +@neutral: #4a3b13; +@light-neutral: lighten(desaturate(@neutral, 15%), 5%); +@dark-neutral: darken(mix(@neutral, #666, 60%), 5%); +@faded-neutral: mix(#3b3816, @page-background, 5%); // To be used for subtle color variations. Works OK on most banded colors + +// Base spinner +@base-spinner: #137cbd; + +// Color triads, in the blue family +@triad: @base-spinner; +@light-triad: lighten(@triad, 10%); +@dark-triad: mix(@triad, #666, 45%); + +// Color complementary, in the green family +@complement: #00892c; +@light-complement: lighten(@complement, 10%); +@dark-complement: mix(@complement, #666, 45%); + +// Color complementary, in the orange family +@energetic: #d4440b; +@light-energetic: lighten(@energetic, 10%); +@dark-energetic: mix(@energetic, #666, 70%); + +// Assign base colors + + // Base text and heading text colors + @heading-text: @ui09; + @base-text: @ui08; + + // Warnings. Since red is our brand color, we're using a brighter orange + @warning: #ffa500; diff --git a/src/less/lib/eventicon-embedded.less b/src/less/lib/eventicon-embedded.less new file mode 100644 index 0000000000000000000000000000000000000000..45bc3a9fdfa5b50b407672cd981c5b6d391e2aea --- /dev/null +++ b/src/less/lib/eventicon-embedded.less @@ -0,0 +1,64 @@ +@font-face { + font-family: 'eventicon'; + src: url('../font/eventicon.eot?22213170'); + src: url('../font/eventicon.eot?22213170#iefix') format('embedded-opentype'), + url('../font/eventicon.svg?22213170#eventicon') format('svg'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'eventicon'; + src: url('data:application/octet-stream;base64,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') format('woff'), + url('data:application/octet-stream;base64,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') format('truetype'); +} +/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ +/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ +/* +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: 'eventicon'; + src: url('../font/eventicon.svg?22213170#eventicon') format('svg'); + } +} +*/ + + [class^="eventicon-"]:before, [class*=" eventicon-"]:before { + font-family: "eventicon"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + /* opacity: .8; */ + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} +.eventicon-plus-circled:before { content: '\e800'; } /* '' */ +.eventicon-search:before { content: '\e801'; } /* '' */ +.eventicon-angle-circled-left:before { content: '\e802'; } /* '' */ +.eventicon-angle-circled-right:before { content: '\e803'; } /* '' */ +.eventicon-rss:before { content: '\e804'; } /* '' */ +.eventicon-calendar-empty:before { content: '\e805'; } /* '' */ +.eventicon-link:before { content: '\e806'; } /* '' */ +.eventicon-location:before { content: '\e807'; } /* '' */ +.eventicon-clock:before { content: '\e808'; } /* '' */ +.eventicon-vcard:before { content: '\e809'; } /* '' */ \ No newline at end of file diff --git a/src/less/lib/fonts.less b/src/less/lib/fonts.less new file mode 100644 index 0000000000000000000000000000000000000000..707e2cfe6983d90066e173b52b72f3b46492daf5 --- /dev/null +++ b/src/less/lib/fonts.less @@ -0,0 +1,49 @@ +.base-font() { + font-family: "Mercury SSm A", "Mercury SSm B", Georgia, Baskerville, "Baskerville Old Face", "Hoefler Text", Garamond, "Times New Roman", serif; + font-weight: 400; + font-style: normal; +} + +.display-font() { + font-family: "Mercury Display A", "Mercury Display B", Georgia, Baskerville, "Baskerville Old Face", "Hoefler Text", Garamond, "Times New Roman", serif; + font-weight: 400; + font-style: normal; +} + +.brand-font() { + font-family: "Tungsten A", "Tungsten B", "HelveticaNeueCondensed", "HelveticaNeue-Condensed", "Helvetica Neue Condensed", "HelveticaNeueRomanCondensed", "HelveticaNeue-Roman-Condensed", "Helvetica Neue Roman Condensed", "Arial Narrow", "HelveticaNeue", "Helvetica Neue", "HelveticaNeueRoman", "HelveticaNeue-Roman", "Helvetica Neue Roman", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + font-style: normal; +} + +.heading-font() { + font-family: "Tungsten A", "Tungsten B", Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Bold", Charcoal, "Helvetica Inserat", "Bitstream Vera Sans Bold", "Arial Black", sans-serif; + font-weight: 600; + font-style: normal; +} + +.sans-serif-font() { + font-family: "Gotham SSm A", "Gotham SSm B", Verdana, "Verdana Ref", Geneva, Tahoma, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", "Bitstream Vera Sans", "Liberation Sans", sans-serif; + font-weight: 400; + font-style: normal; +} + +.fontello() { + font-family: "wdn-icon"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + + // For safety - reset parent styles, that can break glyph codes + font-variant: normal; + text-transform: none; + + // Uncomment for 3D effect + // text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); +} diff --git a/src/less/lib/lesshat.less b/src/less/lib/lesshat.less new file mode 100644 index 0000000000000000000000000000000000000000..4749283cb256088ebd3e4826d48582d69f763d64 --- /dev/null +++ b/src/less/lib/lesshat.less @@ -0,0 +1,2854 @@ +// * =========================================================== * +// < LESSHat > +// * =========================================================== * +// +// Made with Energy drinks in Prague, Czech Republic. +// Handcrafted by Petr Brzek, lesshat.com +// Works great with CSS Hat csshat.com + +// version: v2.0.15 (2014-01-31) + +// TABLE OF MIXINS: + // align-content + // align-items + // align-self + // animation + // animation-delay + // animation-direction + // animation-duration + // animation-fill-mode + // animation-iteration-count + // animation-name + // animation-play-state + // animation-timing-function + // appearance + // backface-visibility + // background-clip + // background-image + // background-origin + // background-size + // blur + // border-bottom-left-radius + // border-bottom-right-radius + // border-image + // border-radius + // border-top-left-radius + // border-top-right-radius + // box-shadow + // box-sizing + // brightness + // calc + // column-count + // column-gap + // column-rule + // column-width + // columns + // contrast + // display + // drop-shadow + // filter + // flex + // flex-basis + // flex-direction + // flex-grow + // flex-shrink + // flex-wrap + // font-face + // grayscale + // hue-rotate + // hyphens + // invert + // justify-content + // keyframes + // opacity + // order + // perspective + // perspective-origin + // placeholder + // rotate + // rotate3d + // rotateX + // rotateY + // rotateZ + // saturate + // scale + // scale3d + // scaleX + // scaleY + // scaleZ + // selection + // sepia + // size + // skew + // skewX + // skewY + // transform + // transform-origin + // transform-style + // transition + // transition-delay + // transition-duration + // transition-property + // transition-timing-function + // translate + // translate3d + // translateX + // translateY + // translateZ + // user-select + +// Config supported browsers for your project +@webkit: true; +@moz: true; +@opera: true; +@ms: true; +@w3c: true; + +.align-content(...) { + + @webkit_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"stretch"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_ms: ~`(function(value){return value=value||"stretch","flex-start"==value?value="start":"flex-end"==value?value="end":"space-between"==value?value="justify":"space-around"==value&&(value="distribute"),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-align-content: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) { -ms-flex-line-pack: @process_ms; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { align-content: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @ms, @ms_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.align-items(...) { + + @olderwebkit_local: true; + @moz_local: true; + @webkit_local: true; + @ms_local: true; + @w3c_local: true; + + @process_olderwebkit: ~`(function(value){return value=value||"stretch","flex-start"==value?value="start":"flex-end"==value&&(value="end"),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_moz: ~`(function(value){return value=value||"stretch","flex-start"==value?value="start":"flex-end"==value&&(value="end"),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process: ~`(function(value){return value=value||"stretch"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_ms: ~`(function(value){return value=value||"stretch","flex-start"==value?value="start":"flex-end"==value&&(value="end"),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process_olderwebkit)) and not (iscolor(@process_olderwebkit)) and not (isnumber(@process_olderwebkit)) and not (iskeyword(@process_olderwebkit)) and not (isurl(@process_olderwebkit)) and not (ispixel(@process_olderwebkit)) and not (ispercentage(@process_olderwebkit)) and not (isem(@process_olderwebkit)) { -webkit-box-align: @process_olderwebkit; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process_olderwebkit)) and not (iscolor(@process_olderwebkit)) and not (isnumber(@process_olderwebkit)) and not (iskeyword(@process_olderwebkit)) and not (isurl(@process_olderwebkit)) and not (ispixel(@process_olderwebkit)) and not (ispercentage(@process_olderwebkit)) and not (isem(@process_olderwebkit)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) { -moz-box-align: @process_moz; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-align-items: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) { -ms-flex-align: @process_ms; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { align-items: @process; } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, true, @olderwebkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @webkit, @webkit_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.align-self(...) { + + @webkit_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"auto"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_ms: ~`(function(value){return value=value||"auto","flex-start"==value?value="start":"flex-end"==value&&(value="end"),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-align-self: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) { -ms-align-self: @process_ms; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { align-self: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @ms, @ms_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.animation(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"none",/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-animation: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-animation: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-animation: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { animation: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.animation-delay(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var valueRegex=/(?:\d)(?:ms|s)/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return valueRegex.test(value)||"0"===value||(value=value.replace(numWithoutValue,function(match){return match+=parseFloat(match,10)>10?"ms":"s"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-animation-delay: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-animation-delay: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-animation-delay: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { animation-delay: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.animation-direction(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value||"normal"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-animation-direction: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-animation-direction: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-animation-direction: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { animation-direction: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.animation-duration(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var valueRegex=/ms|s/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return valueRegex.test(value)||"0"===value||(value=value.replace(numWithoutValue,function(match){return match+=parseFloat(match,10)>10?"ms":"s"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-animation-duration: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-animation-duration: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-animation-duration: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { animation-duration: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.animation-fill-mode(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value||"none"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-animation-fill-mode: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-animation-fill-mode: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-animation-fill-mode: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { animation-fill-mode: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.animation-iteration-count(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value||"0"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-animation-iteration-count: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-animation-iteration-count: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-animation-iteration-count: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { animation-iteration-count: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.animation-name(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value||"none"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-animation-name: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-animation-name: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-animation-name: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { animation-name: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.animation-play-state(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value||"running"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-animation-play-state: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-animation-play-state: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-animation-play-state: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { animation-play-state: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.animation-timing-function(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value||"ease"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-animation-timing-function: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-animation-timing-function: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-animation-timing-function: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { animation-timing-function: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.appearance(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value||"none"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-appearance: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-appearance: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { appearance: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.backface-visibility(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value||"visible"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-backface-visibility: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-backface-visibility: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-backface-visibility: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-backface-visibility: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { backface-visibility: @process; } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.background-clip(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value||"border-box"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-background-clip: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-background-clip: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { background-clip: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.background-image(...) { + + @ms_local: true; + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process_ms: ~`(function(value){function base64_encode(data){var o1,o2,o3,h1,h2,h3,h4,bits,b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",i=0,ac=0,enc="",tmp_arr=[];if(!data)return data;do o1=data.charCodeAt(i++),o2=data.charCodeAt(i++),o3=data.charCodeAt(i++),bits=o1<<16|o2<<8|o3,h1=63&bits>>18,h2=63&bits>>12,h3=63&bits>>6,h4=63&bits,tmp_arr[ac++]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4);while(i<data.length);enc=tmp_arr.join("");var r=data.length%3;return(r?enc.slice(0,r-3):enc)+"===".slice(r||3)}if(value=value||8121991,8121991==value)return value;var gradients=/linear|radial/g.test(value)&&value.split(/,(?=\s*(?:linear|radial|url))/g),svg_gradients=[],values={"to bottom":'x1="0%" y1="0%" x2="0%" y2="100%"',"to left":'x1="100%" y1="0%" x2="0%" y2="0%"',"to top":'x1="0%" y1="100%" x2="0%" y2="0%"',"to right":'x1="0%" y1="0%" x2="100%" y2="0%"',get"top"(){return this["to bottom"]},get"180deg"(){return this["to bottom"]},get"right"(){return this["to left"]},get"270deg"(){return this["to left"]},get"bottom"(){return this["to top"]},get"0deg"(){return this["to top"]},get"left"(){return this["to right"]},get"90deg"(){return this["to right"]},"-45deg":'x1="0%" y1="0%" x2="100%" y2="100%"',"45deg":'x1="0%" y1="100%" x2="100%" y2="0%"',"ellipse at center":'cx="50%" cy="50%" r="75%"'},svg={uri_data:"url(data:image/svg+xml;base64,",xml:'<?xml version="1.0" ?>',svg_start:'<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 1 1" preserveAspectRatio="none">',linear_gradient_start:'<linearGradient id="lesshat-generated" gradientUnits="userSpaceOnUse"',radial_gradient_start:'<radialGradient id="lesshat-generated" gradientUnits="userSpaceOnUse"',linear_gradient_end:"</linearGradient>",radial_gradient_end:"</radialGradient>",rect_linear:'<rect x="0" y="0" width="1" height="1" fill="url(#lesshat-generated)" />',rect_radial:'<rect x="-50" y="-50" width="101" height="101" fill="url(#lesshat-generated)" />',svg_end:"</svg>"};if(gradients.length){gradients.forEach(function(gradient){var obj={};if(Object.keys(values).some(function(inner_val){return gradient.indexOf(inner_val)>=0?(obj.svg_direction=values[inner_val],!0):(obj.svg_direction=!1,void 0)}),/linear/.test(gradient))obj.svg_type="linear";else if(/radial/.test(gradient))obj.svg_type="radial";else if(!/linear/.test(gradient)&&!/radial/.test(gradient))return obj.url=gradient.trim(),obj.svg_type="url",obj.svg_direction=!0,svg_gradients.push(obj),!1;var colors_count=gradient.match(/rgb|#[a-zA-Z0-9]|hsl/g).length;if(obj.svg_stops=[],gradient.match(/#[a-zA-Z0-9]/g)&&gradient.match(/#[a-zA-Z0-9]/g).length==colors_count)if(gradient.match(/#[a-zA-Z0-9]+\s+(\d+%)/g)&&gradient.match(/#[a-zA-Z0-9]+\s+(\d+%)/g).length==colors_count)gradient.match(/#[a-zA-Z0-9]+\s+(\d+%)/g).forEach(function(inner_val){inner_val=inner_val.split(" "),obj.svg_stops.push('<stop offset="'+inner_val[1]+'" stop-color="'+inner_val[0]+'" stop-opacity="1"/>')});else{var shares=Math.floor(100/(gradient.match(/#[a-zA-Z0-9]/g).length-1));gradient.match(/#[a-zA-Z0-9]+/g).forEach(function(inner_val,index){obj.svg_stops.push('<stop offset="'+shares*index+'%" stop-color="'+inner_val+'" stop-opacity="1"/>')})}if(gradient.match(/rgba?\(\d+,\s*\d+,\s*\d+(?:,\s*(0|1|\.\d+|0\.\d+))?\)/g)&&gradient.match(/(?:rgb|rgba)?\(\d+,\s*\d+,\s*\d+(?:,\s*(0|1|\.\d+|0\.\d+))?\)/g).length==colors_count)if(gradient.match(/rgba?\(\d+,\s*\d+,\s*\d+(?:,\s*(0|1|\.\d+|0\.\d+))?\)\s+\d+%+/g)&&gradient.match(/rgba?\(\d+,\s*\d+,\s*\d+(?:,\s*(0|1|\.\d+|0\.\d+))?\)\s+\d+%+/g).length==colors_count)gradient.replace(/rgba?\((\d+,\s*\d+,\s*\d+)(?:,\s*(0|1|\.\d+|0\.\d+))?\)\s+(\d+%)+/g,function(match,sub,sub_2,sub_3){obj.svg_stops.push('<stop offset="'+sub_3+'" stop-color="rgb('+sub+')" stop-opacity="'+(sub_2||1)+'"/>')});else{var shares=Math.floor(100/(gradient.match(/(rgb|rgba)\(/g).length-1));gradient.match(/rgba?\((\d+,\s*\d+,\s*\d+)(?:,\s*(0|1|\.\d+|0\.\d+))?\)/g).forEach(function(element,index){element.replace(/rgba?\((\d+,\s*\d+,\s*\d+)(?:,\s*(0|1|\.\d+|0\.\d+))?\)/g,function(match,sub,sub_2){obj.svg_stops.push('<stop offset="'+shares*index+'%" stop-color="rgb('+sub+')" stop-opacity="'+(sub_2||1)+'"/>')})})}if(gradient.match(/hsla?\((\d+,\s*\d+%,\s*\d+%),\s*(0|1|\.\d+|0\.\d+)\)/g)&&gradient.match(/hsla?\((\d+,\s*\d+%,\s*\d+%),\s*(0|1|\.\d+|0\.\d+)\)/g).length==colors_count)if(gradient.match(/hsla?\((\d+,\s*\d+%,\s*\d+%),\s*(0|1|\.\d+|0\.\d+)\)\s*(\d+%)+/g)&&gradient.match(/hsla?\((\d+,\s*\d+%,\s*\d+%),\s*(0|1|\.\d+|0\.\d+)\)\s*(\d+%)+/g).length==colors_count)gradient.replace(/hsla?\((\d+,\s*\d+%,\s*\d+%),\s*(0|1|\.\d+|0\.\d+)\)\s*(\d+%)+/g,function(match,sub,sub_2,sub_3){obj.svg_stops.push('<stop offset="'+sub_3+'" stop-color="hsl('+sub+')" stop-opacity="'+(sub_2||1)+'"/>')});else{var shares=Math.floor(100/(gradient.match(/(hsl|hsla)\(/g).length-1));gradient.match(/hsla?\((\d+,\s*\d+%,\s*\d+%),\s*(0|1|\.\d+|0\.\d+)\)/g).forEach(function(element,index){element.replace(/hsla?\((\d+,\s*\d+%,\s*\d+%),\s*(0|1|\.\d+|0\.\d+)\)/g,function(match,sub,sub_2){obj.svg_stops.push('<stop offset="'+shares*index+'%" stop-color="hsl('+sub+')" stop-opacity="'+(sub_2||1)+'"/>')})})}svg_gradients.push(obj)});var syntax=[],passed=svg_gradients.every(function(element){for(var i in element)if(0==element[i]||0==element[i].length)return!1;return!0});if(!passed)return 8121991;svg_gradients.forEach(function(element,index){("linear"==element.svg_type||"radial"==element.svg_type)&&(syntax[index]=svg.xml+svg.svg_start),"linear"==element.svg_type?(syntax[index]+=svg.linear_gradient_start+" "+element.svg_direction+">",element.svg_stops.forEach(function(value){syntax[index]+=value}),syntax[index]+=svg.linear_gradient_end,syntax[index]+=svg.rect_linear,syntax[index]+=svg.svg_end):"radial"==element.svg_type?(syntax[index]+=svg.radial_gradient_start+" "+element.svg_direction+">",element.svg_stops.forEach(function(value){syntax[index]+=value}),syntax[index]+=svg.radial_gradient_end,syntax[index]+=svg.rect_radial,syntax[index]+=svg.svg_end):"url"==element.svg_type&&(syntax[index]=element.url)}),syntax.forEach(function(element,index){/<\?xml version="1.0" \?>/g.test(element)&&(syntax[index]=svg.uri_data+base64_encode(element)+")")}),value=syntax.join(",")}return value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_webkit: ~`(function(value){if(value=value||8121991,8121991==value)return value;var values={"to bottom":"top","to left":"right","to top":"bottom","to right":"left","ellipse at center":"center, ellipse cover","circle closest-side":"center center, circle contain","circle farthest-corner":"center center, circle cover","circle farthest-side":"center center, circle cover","ellipse closest-side":"center center, ellipse contain","ellipse farthest-corner":"center center, ellipse cover","ellipse farthest-side":"center center, ellipse cover"},radial_regexp=/(radial-gradient\()([a-z- ]+)at\s+(\w+)\s*(\w*)/g,values_keys=Object.keys(values);return values_keys.some(function(el){return value.indexOf(el)>=0?(value=value.replace(new RegExp(el+"(?![ a-z0-9])","g"),values[el]),!0):(radial_regexp.test(value)&&(value=value.replace(radial_regexp,function(match,sub,sub2,sub3,sub4){return sub.trim()+sub3.trim()+" "+sub4.trim()+","+sub2.replace(/closest-side/g,"contain").replace(/farthest-corner/g,"cover").trim()})),void 0)}),value=value.replace(/(\d+)\s*deg/g,function(match,sub){return 90-sub+"deg"}).replace(/(linear|radial)-gradient/g,"-webkit-$1-gradient")})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_moz: ~`(function(value){if(value=value||8121991,8121991==value)return value;var values={"to bottom":"top","to left":"right","to top":"bottom","to right":"left","ellipse at center":"center, ellipse cover","circle closest-side":"center center, circle contain","circle farthest-corner":"center center, circle cover","circle farthest-side":"center center, circle cover","ellipse closest-side":"center center, ellipse contain","ellipse farthest-corner":"center center, ellipse cover","ellipse farthest-side":"center center, ellipse cover"},radial_regexp=/(radial-gradient\()([a-z- ]+)at\s+(\w+)\s*(\w*)/g,values_keys=Object.keys(values);return values_keys.some(function(el){return value.indexOf(el)>=0?(value=value.replace(new RegExp(el+"(?![ a-z0-9])","g"),values[el]),!0):(radial_regexp.test(value)&&(value=value.replace(radial_regexp,function(match,sub,sub2,sub3,sub4){return sub.trim()+sub3.trim()+" "+sub4.trim()+","+sub2.replace(/closest-side/g,"contain").replace(/farthest-corner/g,"cover").trim()})),void 0)}),value=value.replace(/(\d+)\s*deg/g,function(match,sub){return 90-sub+"deg"}).replace(/(linear|radial)-gradient/g,"-moz-$1-gradient")})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_opera: ~`(function(value){if(value=value||8121991,8121991==value)return value;var values={"to bottom":"top","to left":"right","to top":"bottom","to right":"left","ellipse at center":"center, ellipse cover","circle closest-side":"center center, circle contain","circle farthest-corner":"center center, circle cover","circle farthest-side":"center center, circle cover","ellipse closest-side":"center center, ellipse contain","ellipse farthest-corner":"center center, ellipse cover","ellipse farthest-side":"center center, ellipse cover"},radial_regexp=/(radial-gradient\()([a-z- ]+)at\s+(\w+)\s*(\w*)/g,values_keys=Object.keys(values);return values_keys.some(function(el){return value.indexOf(el)>=0?(value=value.replace(new RegExp(el+"(?![ a-z0-9])","g"),values[el]),!0):(radial_regexp.test(value)&&(value=value.replace(radial_regexp,function(match,sub,sub2,sub3,sub4){return sub.trim()+sub3.trim()+" "+sub4.trim()+","+sub2.replace(/closest-side/g,"contain").replace(/farthest-corner/g,"cover").trim()})),void 0)}),value=value.replace(/(\d+)\s*deg/g,function(match,sub){return 90-sub+"deg"}).replace(/(linear|radial)-gradient/g,"-o-$1-gradient")})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process: ~`(function(value){if(value=value||8121991,8121991==value)return value;var values={top:"to bottom",right:"to left",bottom:"to top",left:"to right"},values_keys=Object.keys(values);return values_keys.some(function(el){return value.indexOf(el)>=0&&!new RegExp("to\\s+"+el,"g").test(value)?(value=value.replace(new RegExp(el),values[el]),!0):void 0}),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) { background-image: @process_ms; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process_webkit)) and not (iscolor(@process_webkit)) and not (isnumber(@process_webkit)) and not (iskeyword(@process_webkit)) and not (isurl(@process_webkit)) and not (ispixel(@process_webkit)) and not (ispercentage(@process_webkit)) and not (isem(@process_webkit)) { background-image: @process_webkit; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process_webkit)) and not (iscolor(@process_webkit)) and not (isnumber(@process_webkit)) and not (iskeyword(@process_webkit)) and not (isurl(@process_webkit)) and not (ispixel(@process_webkit)) and not (ispercentage(@process_webkit)) and not (isem(@process_webkit)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) { background-image: @process_moz; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process_opera)) and not (iscolor(@process_opera)) and not (isnumber(@process_opera)) and not (iskeyword(@process_opera)) and not (isurl(@process_opera)) and not (ispixel(@process_opera)) and not (ispercentage(@process_opera)) and not (isem(@process_opera)) { background-image: @process_opera; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process_opera)) and not (iscolor(@process_opera)) and not (isnumber(@process_opera)) and not (iskeyword(@process_opera)) and not (isurl(@process_opera)) and not (ispixel(@process_opera)) and not (ispercentage(@process_opera)) and not (isem(@process_opera)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { background-image: @process; } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @ms, @ms_local); + .result(@arguments, 2, @webkit, @webkit_local); + .result(@arguments, 3, @moz, @moz_local); + .result(@arguments, 4, @opera, @opera_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.background-origin(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value||"padding-box"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-background-origin: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-background-origin: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { background-origin: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.background-size(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"auto auto";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-background-size: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-background-size: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { background-size: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.blur(...) { + + @webkit_local: true; + @moz_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-filter: blur(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-filter: blur(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-filter: blur(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { filter: blur(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.border-bottom-left-radius(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-border-bottom-left-radius: @process; -webkit-background-clip: padding-box; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-border-radius-bottomleft: @process; -moz-background-clip: padding; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { border-bottom-left-radius: @process; background-clip: padding-box; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.border-bottom-right-radius(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-border-bottom-right-radius: @process; -webkit-background-clip: padding-box; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-border-radius-bottomright: @process; -moz-background-clip: padding; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { border-bottom-right-radius: @process; background-clip: padding-box; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.border-image(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||8121991,/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-border-image: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-border-image: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-border-image: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { border-image: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.border-radius(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-border-radius: @process; -webkit-background-clip: padding-box; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-border-radius: @process; -moz-background-clip: padding; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { border-radius: @process; background-clip: padding-box; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.border-top-left-radius(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-border-top-left-radius: @process; -webkit-background-clip: padding-box; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-border-radius-topleft: @process; -moz-background-clip: padding; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { border-top-left-radius: @process; background-clip: padding-box; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.border-top-right-radius(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-border-top-right-radius: @process; -webkit-background-clip: padding-box; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-border-radius-topright: @process; -moz-background-clip: padding; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { border-top-right-radius: @process; background-clip: padding-box; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.box-shadow(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-box-shadow: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-box-shadow: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { box-shadow: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.box-sizing(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"content-box"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-box-sizing: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-box-sizing: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { box-sizing: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.brightness(...) { + + @webkit_local: true; + @moz_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"1"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-filter: brightness(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-filter: brightness(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-filter: brightness(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { filter: brightness(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.calc(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){function syntax(property,start){var end=");\n",definition=value_temp.split(","),syntax=definition[0]+":"+property+"("+(definition[1].trim()||0)+end;"start"==start?value="0;\n"+syntax:value+=syntax}value=value||8121991;var state="@{state}",value_temp=value;if(8121991==value)return value;switch(state){case"1":syntax("-webkit-calc","start"),syntax("-moz-calc"),syntax("calc");break;case"2":syntax("-webkit-calc","start"),syntax("-moz-calc");break;case"3":syntax("-webkit-calc","start"),syntax("calc");break;case"4":syntax("-webkit-calc","start");break;case"5":syntax("-moz-calc","start"),syntax("calc");break;case"6":syntax("-moz-calc","start");break;case"7":syntax("calc","start")}return value=value.replace(/;$/g,"")})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + @state: 69; // Yeah totally random number + + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 1; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 2; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // cross + .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 2; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 3; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // cross + .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@w3c = true) and (@webkit_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 3; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@w3c = true) and (@webkit_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 4; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // cross + .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@w3c = true) and (@webkit_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 4; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@w3c = true) and (@webkit_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 4; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 5; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // cross + .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@w3c = true) and (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 5; -lh-property: @process; } + .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@w3c = true) and (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 6; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // cross + .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@w3c = true) and (@moz_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 6; -lh-property: @process; } + .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@w3c = true) and (@moz_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 6; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 7; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // cross + .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@w3c = true) and not (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 7; -lh-property: @process; } + .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@w3c = true) and not (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@w3c = true) and not (@webkit_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 7; -lh-property: @process; } + .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@w3c = true) and not (@webkit_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@webkit = true) and (@moz = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and not (@w3c_local = true) {} + .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@w3c = true) and not (@moz_local = true) and not (@w3c_local = true) {} + .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@w3c = true) and not (@webkit_local = true) and not (@w3c_local = true) {} + .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) {} + .inception(@arguments); + + +} + +.column-count(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"auto"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-column-count: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-column-count: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { column-count: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.column-gap(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"normal";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-column-gap: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-column-gap: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { column-gap: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.column-rule(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"medium none black";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-column-rule: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-column-rule: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { column-rule: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.column-width(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"auto";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-column-width: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-column-width: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { column-width: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.columns(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"auto auto";var numRegex=/^\d+$/;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,""),value=value.split(" ")),numRegex.test(value[0])&&(value[0]=value[0]+"px"),value.join(" ")})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-columns: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-columns: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { columns: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.contrast(...) { + + @webkit_local: true; + @moz_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"100%";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"%"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-filter: ~"contrast(@{process})"; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-filter: ~"contrast(@{process})"; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-filter: ~"contrast(@{process})"; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { filter: ~"contrast(@{process})"; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.display(...) { + + @oldwebkit_local: true; + @moz_local: true; + @webkit_local: true; + @ms_local: true; + @w3c_local: true; + + @process_oldwebkit: ~`(function(value){return value="flex"==value||"inline-flex"==value?"-webkit-box":8121991})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_moz: ~`(function(value){return value="flex"==value||"inline-flex"==value?"-moz-box":8121991})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_webkit: ~`(function(value){return value="flex"==value||"inline-flex"==value?"-webkit-"+value:8121991})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_ms: ~`(function(value){return value="flex"==value?"-ms-flexbox":"inline-flex"==value?"-ms-inline-flexbox":8121991})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process: ~`(function(value){return"flex"!=value&&"inline-flex"!=value&&(value=8121991),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process_oldwebkit)) and not (iscolor(@process_oldwebkit)) and not (isnumber(@process_oldwebkit)) and not (iskeyword(@process_oldwebkit)) and not (isurl(@process_oldwebkit)) and not (ispixel(@process_oldwebkit)) and not (ispercentage(@process_oldwebkit)) and not (isem(@process_oldwebkit)) { display: @process_oldwebkit; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process_oldwebkit)) and not (iscolor(@process_oldwebkit)) and not (isnumber(@process_oldwebkit)) and not (iskeyword(@process_oldwebkit)) and not (isurl(@process_oldwebkit)) and not (ispixel(@process_oldwebkit)) and not (ispercentage(@process_oldwebkit)) and not (isem(@process_oldwebkit)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) { display: @process_moz; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process_webkit)) and not (iscolor(@process_webkit)) and not (isnumber(@process_webkit)) and not (iskeyword(@process_webkit)) and not (isurl(@process_webkit)) and not (ispixel(@process_webkit)) and not (ispercentage(@process_webkit)) and not (isem(@process_webkit)) { display: @process_webkit; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process_webkit)) and not (iscolor(@process_webkit)) and not (isnumber(@process_webkit)) and not (iskeyword(@process_webkit)) and not (isurl(@process_webkit)) and not (ispixel(@process_webkit)) and not (ispercentage(@process_webkit)) and not (isem(@process_webkit)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) { display: @process_ms; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { display: @process; } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, true, @oldwebkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @webkit, @webkit_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.drop-shadow(...) { + + @webkit_local: true; + @moz_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){if(value=value||8121991,8121991==value)return value;var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-filter: drop-shadow(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-filter: drop-shadow(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-filter: drop-shadow(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { filter: drop-shadow(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.filter(...) { + + @webkit_local: true; + @moz_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"none",/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-filter: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-filter: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-filter: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { filter: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.flex(...) { + + @olderwebkit_local: true; + @moz_local: true; + @webkit_local: true; + @ms_local: true; + @w3c_local: true; + + @process_olderwebkit: ~`(function(value){return value=value.match(/^\d+/)[0]||"0"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_moz: ~`(function(value){return value=value.match(/^\d+/)[0]||"0"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process: ~`(function(value){return value=value||"0 1 auto",/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process_olderwebkit)) and not (iscolor(@process_olderwebkit)) and not (isnumber(@process_olderwebkit)) and not (iskeyword(@process_olderwebkit)) and not (isurl(@process_olderwebkit)) and not (ispixel(@process_olderwebkit)) and not (ispercentage(@process_olderwebkit)) and not (isem(@process_olderwebkit)) { -webkit-box-flex: @process_olderwebkit; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process_olderwebkit)) and not (iscolor(@process_olderwebkit)) and not (isnumber(@process_olderwebkit)) and not (iskeyword(@process_olderwebkit)) and not (isurl(@process_olderwebkit)) and not (ispixel(@process_olderwebkit)) and not (ispercentage(@process_olderwebkit)) and not (isem(@process_olderwebkit)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) { -moz-box-flex: @process_moz; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-flex: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-flex: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { flex: @process; } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, true, @olderwebkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @webkit, @webkit_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.flex-basis(...) { + + @webkit_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"auto";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-flex-basis: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { flex-basis: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @w3c, @w3c_local); + +} + +.flex-direction(...) { + + @oldestwebkit_local: true; + @oldermoz_local: true; + @olderwebkit_local: true; + @moz_local: true; + @webkit_local: true; + @ms_local: true; + @w3c_local: true; + + @process_oldestwebkit: ~`(function(value){return value="row"==value||"column"==value?"normal":"row-reverse"==value||"column-reverse"==value?"reverse":8121991})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_oldermoz: ~`(function(value){return value="row"==value||"column"==value?"normal":"row-reverse"==value||"column-reverse"==value?"reverse":8121991})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_olderwebkit: ~`(function(value){return value="row"==value||"row-reverse"==value?"horizontal":"column"==value||"column-reverse"==value?"vertical":8121991})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_moz: ~`(function(value){return value="row"==value||"row-reverse"==value?"horizontal":"column"==value||"column-reverse"==value?"vertical":8121991})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process: ~`(function(value){return value=value||"row"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process_oldestwebkit)) and not (iscolor(@process_oldestwebkit)) and not (isnumber(@process_oldestwebkit)) and not (iskeyword(@process_oldestwebkit)) and not (isurl(@process_oldestwebkit)) and not (ispixel(@process_oldestwebkit)) and not (ispercentage(@process_oldestwebkit)) and not (isem(@process_oldestwebkit)) { -webkit-box-direction: @process_oldestwebkit; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process_oldestwebkit)) and not (iscolor(@process_oldestwebkit)) and not (isnumber(@process_oldestwebkit)) and not (iskeyword(@process_oldestwebkit)) and not (isurl(@process_oldestwebkit)) and not (ispixel(@process_oldestwebkit)) and not (ispercentage(@process_oldestwebkit)) and not (isem(@process_oldestwebkit)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process_oldermoz)) and not (iscolor(@process_oldermoz)) and not (isnumber(@process_oldermoz)) and not (iskeyword(@process_oldermoz)) and not (isurl(@process_oldermoz)) and not (ispixel(@process_oldermoz)) and not (ispercentage(@process_oldermoz)) and not (isem(@process_oldermoz)) { -moz-box-direction: @process_oldermoz; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process_oldermoz)) and not (iscolor(@process_oldermoz)) and not (isnumber(@process_oldermoz)) and not (iskeyword(@process_oldermoz)) and not (isurl(@process_oldermoz)) and not (ispixel(@process_oldermoz)) and not (ispercentage(@process_oldermoz)) and not (isem(@process_oldermoz)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process_olderwebkit)) and not (iscolor(@process_olderwebkit)) and not (isnumber(@process_olderwebkit)) and not (iskeyword(@process_olderwebkit)) and not (isurl(@process_olderwebkit)) and not (ispixel(@process_olderwebkit)) and not (ispercentage(@process_olderwebkit)) and not (isem(@process_olderwebkit)) { -webkit-box-orient: @process_olderwebkit; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process_olderwebkit)) and not (iscolor(@process_olderwebkit)) and not (isnumber(@process_olderwebkit)) and not (iskeyword(@process_olderwebkit)) and not (isurl(@process_olderwebkit)) and not (ispixel(@process_olderwebkit)) and not (ispercentage(@process_olderwebkit)) and not (isem(@process_olderwebkit)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) { -moz-box-orient: @process_moz; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-flex-direction: @process; } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 6) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-flex-direction: @process; } + .inception (@signal, @arguments) when (@signal = 6) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 7) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { flex-direction: @process; } + .inception (@signal, @arguments) when (@signal = 7) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, true, @oldestwebkit_local); + .result(@arguments, 2, true, @oldermoz_local); + .result(@arguments, 3, true, @olderwebkit_local); + .result(@arguments, 4, @moz, @moz_local); + .result(@arguments, 5, @webkit, @webkit_local); + .result(@arguments, 6, @ms, @ms_local); + .result(@arguments, 7, @w3c, @w3c_local); + +} + +.flex-grow(...) { + + @webkit_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"0"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-flex-grow: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { flex-grow: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @w3c, @w3c_local); + +} + +.flex-shrink(...) { + + @webkit_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"1"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-flex-shrink: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { flex-shrink: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @w3c, @w3c_local); + +} + +.flex-wrap(...) { + + @webkit_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"nowrap"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-flex-wrap: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-flex-wrap: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { flex-wrap: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @ms, @ms_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.font-face(@fontname, @fontfile, @fontweight:normal, @fontstyle:normal) { + + font-family: "@{fontname}"; + src: url("@{fontfile}.eot"); + src: url("@{fontfile}.eot?#iefix") format("embedded-opentype"), + url("@{fontfile}.woff") format("woff"), + url("@{fontfile}.ttf") format("truetype"), + url("@{fontfile}.svg#@{fontname}") format("svg"); + font-weight: @fontweight; + font-style: @fontstyle; + +} + +.grayscale(...) { + + @webkit_local: true; + @moz_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"%"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-filter: grayscale(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-filter: grayscale(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-filter: grayscale(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { filter: grayscale(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.hue-rotate(...) { + + @webkit_local: true; + @moz_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"deg"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-filter: hue-rotate(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-filter: hue-rotate(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-filter: hue-rotate(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { filter: hue-rotate(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.hyphens(...) { + + @webkit_local: true; + @moz_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"manual"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-hyphens: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-hyphens: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-hyphens: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { hyphens: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.invert(...) { + + @webkit_local: true; + @moz_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"100%";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"%"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-filter: invert(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-filter: invert(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-filter: invert(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { filter: invert(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.justify-content(...) { + + @oldestwebkit_local: true; + @moz_local: true; + @webkit_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"flex-start"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_moz: ~`(function(value){return value=value||"start","flex-start"==value?value="start":"flex-end"==value?value="end":("space-between"==value||"space-around"==value)&&(value="justify"),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_ms: ~`(function(value){return value=value||"start","flex-start"==value?value="start":"flex-end"==value?value="end":"space-between"==value?value="justify":"space-around"==value&&(value="distribute"),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-box-pack: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) { -moz-box-pack: @process_moz; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) { -webkit-justify-content: @process_ms; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-flex-pack: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { justify-content: @process; } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, true, @oldestwebkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @webkit, @webkit_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.keyframes(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){function syntax(start,selector,prefix){var end="}\n",definition=value_temp.split(/(^[a-zA-Z0-9-]+),/g),keyframes=selector+" "+definition[1]+"{",prefixes=["-webkit-","-moz-","-ms-",""];prefix?prefixedProperties.forEach(function(property){-1!==value.indexOf(property)&&(definition[2]=definition[2].replace(new RegExp(property,"g"),function(match){return prefix+match}))}):definition[2]=definition[2].replace(/{([^}]+)}/g,function(match,sub){var subSplit=sub.split(";");subSplit.forEach(function(css,index){prefixedProperties.forEach(function(property){-1!==css.indexOf(property)&&(subSplit[index]="",prefixes.forEach(function(vendor){subSplit[index]+=css.trim().replace(new RegExp(property,"g"),function(match){return vendor+match})+";"}))})});var temp=subSplit.join(";").replace(/;;/g,";");return match.replace(sub,temp)}),keyframes+=definition[2]+end,"start"==start?value="0; } \n"+keyframes:"startend"==start?value="0; } \n"+keyframes.replace(end,""):value+="end"==start?keyframes.replace(end,""):keyframes}value=value||8121991;var state="@{state}",value_temp=value;if(8121991==value)return value;var prefixedProperties=["animation","transform","filter"];switch(state){case"1":syntax("start","@-webkit-keyframes","-webkit-"),syntax(null,"@-moz-keyframes","-moz-"),syntax(null,"@-o-keyframes","-o-"),syntax("end","@keyframes");break;case"2":syntax("start","@-webkit-keyframes","-webkit-"),syntax(null,"@-moz-keyframes","-moz-"),syntax("end","@keyframes");break;case"3":syntax("start","@-webkit-keyframes","-webkit-"),syntax(null,"@-moz-keyframes","-moz-"),syntax("end","@-o-keyframes","-o-");break;case"4":syntax("start","@-webkit-keyframes","-webkit-"),syntax(null,"@-o-keyframes","-o-"),syntax("end","@keyframes");break;case"5":syntax("start","@-webkit-keyframes","-webkit-"),syntax("end","@-moz-keyframes","-moz-");break;case"6":syntax("start","@-webkit-keyframes","-webkit-"),syntax("end","@-o-keyframes","-o-");break;case"7":syntax("start","@-webkit-keyframes","-webkit-"),syntax("end","@keyframes");break;case"8":syntax("startend","@-webkit-keyframes","-webkit-");break;case"9":syntax("start","@-moz-keyframes","-moz-"),syntax(null,"@-o-keyframes","-o-"),syntax("end","@keyframes");break;case"10":syntax("start","@-moz-keyframes","-moz-"),syntax("end","@-o-keyframes","-o-");break;case"11":syntax("start","@-moz-keyframes","-moz-"),syntax("end","@keyframes");break;case"12":syntax("startend","@-moz-keyframes","-moz-");break;case"13":syntax("start","@-o-keyframes","-o-"),syntax("end","@keyframes");break;case"14":syntax("startend","@-o-keyframes","-o-");break;case"15":syntax("startend","@keyframes")}return value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + @state: 1; // Default state 1 means all prefixes + + lesshat-selector { -lh-property: @process; } + + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 1; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and not (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:2; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and not (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:2; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:3; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:3; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and (@opera_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:4; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:4; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and not (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:5; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and not (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and not (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:5; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and not (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // // cross + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:5; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and not (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:5; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and (@webkit_local = true) and (@moz_local = true) and not (@opera_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:6; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and not (@w3c = true) and (@webkit_local = true) and (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:6; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and not (@w3c = true) and (@webkit_local = true) and (@opera_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // // cross + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:6; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:6; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and (@opera_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and not (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:7; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and not (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and not (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:7; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and not (@opera = true) and (@w3c = true) and (@webkit_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // // cross + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:7; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:7; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and not (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:8; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and not (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and not (@opera = true) and not (@w3c = true) and (@webkit_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:8; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and not (@opera = true) and not (@w3c = true) and (@webkit_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // // cross + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:8; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@opera_local = true) and not (@w3c_local = true) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:8; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and not (@w3c_local = true) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and not (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:8; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and not (@opera_local = true) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and not (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:8; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and not (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@w3c_local = true) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and not (@w3c = true) and (@webkit_local = true) and not (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:8; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@webkit_local = true) and not (@opera_local = true) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and not (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:8; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and not (@w3c = true) and (@webkit_local = true) and not (@moz_local = true) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:9; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@moz_local = true) and (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:9; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@moz_local = true) and (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:10; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and (@moz_local = true) and (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:10; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and (@moz_local = true) and (@opera_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // // cross + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@moz_local = true) and (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:10; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@moz_local = true) and (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:10; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and (@opera_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and not (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:11; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and not (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:11; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // // cross + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@moz_local = true) and not (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:11; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@moz_local = true) and not (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:11; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and not (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:12; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and not (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and not (@opera = true) and not (@w3c = true) and (@moz_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:12; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and not (@opera = true) and not (@w3c = true) and (@moz_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // // cross + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@moz_local = true) and not (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:12; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and (@moz_local = true) and not (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:12; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and not (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:12; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and not (@opera_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and (@moz_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:12; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and (@moz_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and (@moz_local = true) and not (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:12; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and (@moz_local = true) and not (@opera_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and not (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:12; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and not (@w3c = true) and not (@webkit_local = true) and (@moz_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:13; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:13; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // // cross + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@moz_local = true) and (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:13; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@moz_local = true) and (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:13; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:14; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and (@opera = true) and not (@w3c = true) and (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:14; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and (@opera = true) and not (@w3c = true) and (@opera_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // // cross + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@moz_local = true) and (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:14; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@moz_local = true) and (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:14; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:14; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and (@opera_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@opera_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:14; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and (@opera_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and not (@moz_local = true) and (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:14; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and not (@moz_local = true) and (@opera_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and not (@w3c = true) and not (@webkit_local = true) and (@opera_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:14; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and not (@w3c = true) and not (@webkit_local = true) and (@opera_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and not (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:15; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and not (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and not (@opera = true) and (@w3c = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:15; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and not (@opera = true) and (@w3c = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // // cross + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@moz_local = true) and not (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:15; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@moz_local = true) and not (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:15; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:15; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and not (@opera_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:15; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and not (@opera_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and not (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:15; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and not (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and not (@opera = true) and (@w3c = true) and not (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:15; lesshat-selector { -lh-property: @process; } } + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and not (@opera = true) and (@w3c = true) and not (@webkit_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and not (@opera_local = true) and not (@w3c_local = true) {} + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and (@opera = true) and (@w3c = true) and not (@moz_local = true) and not (@opera_local = true) and not (@w3c_local = true) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@opera_local = true) and not (@w3c_local = true) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and not (@w3c_local = true) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and (@opera = true) and not (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) and not (@opera_local = true) {} + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and (@opera = true) and (@w3c = true) and not (@opera_local = true) and not (@w3c_local = true) {} + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and not (@opera = true) and (@w3c = true) and not (@w3c_local = true) {} + // .inception (@arguments) when not (@webkit = true) and (@moz = true) and not (@opera = true) and (@w3c = true) and not (@moz_local = true) and not (@w3c_local = true) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and not (@opera = true) and (@w3c = true) and not (@webkit_local = true) and not (@w3c_local = true) {} + // .inception (@arguments) when (@webkit = true) and not (@moz = true) and not (@opera = true) and not (@w3c = true) and not (@webkit_local = true) {} + // .inception (@arguments) when (@webkit = true) and (@moz = true) and not (@opera = true) and not (@w3c = true) and not (@webkit_local = true) and not (@moz_local = true) {} + // .inception (@arguments) when not (@webkit = true) and not (@moz = true) and not (@opera = true) and not (@w3c = true) {} + + //.inception(@arguments); + + + + +} + +.opacity(...) { + + @ms_local: false; + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process_ms: ~`(function(value){return value=value||"filter: alpha(opacity=100)","alpha(opacity="+Math.floor(100*value)+")"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process: ~`(function(value){return value=value||"1"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) { zoom: 1; filter: @process_ms; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process_ms)) and not (iscolor(@process_ms)) and not (isnumber(@process_ms)) and not (iskeyword(@process_ms)) and not (isurl(@process_ms)) and not (ispixel(@process_ms)) and not (ispercentage(@process_ms)) and not (isem(@process_ms)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-opacity: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-opacity: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { opacity: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @ms, @ms_local); + .result(@arguments, 2, @webkit, @webkit_local); + .result(@arguments, 3, @moz, @moz_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.order(...) { + + @olderwebkit_local: true; + @moz_local: true; + @ms_local: true; + @webkit_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"0"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-box-ordinal-group: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-box-ordinal-group: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-flex-order: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-order: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { order: @process; } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, true, @olderwebkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @webkit, @webkit_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.perspective(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"none";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-perspective: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-perspective: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { perspective: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.perspective-origin(...) { + + @webkit_local: true; + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"50% 50%";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"%"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-perspective-origin: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-perspective-origin: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { perspective-origin: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @w3c, @w3c_local); + +} + +.placeholder(@color:#aaa, @element: 08121991) { + .inception (@arguments) when not (@element = 08121991) { + @{element}::-webkit-input-placeholder { + color: @color; + } + @{element}:-moz-placeholder { + color: @color; + } + @{element}::-moz-placeholder { + color: @color; + } + @{element}:-ms-input-placeholder { + color: @color; + } + } + .inception (@arguments) when (@element = 08121991) { + &::-webkit-input-placeholder { + color: @color; + } + &:-moz-placeholder { + color: @color; + } + &::-moz-placeholder { + color: @color; + } + &:-ms-input-placeholder { + color: @color; + } + } + .inception(@arguments); +} + +.rotate(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"deg"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: rotate(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: rotate(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: rotate(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: rotate(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: rotate(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.rotate3d(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"0, 0, 0, 0",value=value.replace(/,\s*\d+$/,function(match){return match+"deg"})})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: rotate3d(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: rotate3d(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: rotate3d(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: rotate3d(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: rotate3d(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.rotateX(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"deg"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: rotateX(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: rotateX(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: rotateX(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: rotateX(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: rotateX(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.rotateY(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"deg"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: rotateY(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: rotateY(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: rotateY(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: rotateY(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: rotateY(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.rotateZ(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"deg"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: rotateZ(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: rotateZ(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: rotateZ(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: rotateZ(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: rotateZ(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.saturate(...) { + + @webkit_local: true; + @moz_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"100%";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"%"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-filter: ~"saturate(@{process})"; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-filter: ~"saturate(@{process})"; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-filter: ~"saturate(@{process})"; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { filter: ~"saturate(@{process})"; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.scale(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"1"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: scale(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: scale(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: scale(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: scale(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: scale(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.scale3d(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"1, 1, 1"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: scale3d(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: scale3d(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: scale3d(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: scale3d(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: scale3d(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.scaleX(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"1"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: scaleX(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: scaleX(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: scaleX(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: scaleX(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: scaleX(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.scaleY(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"1"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: scaleY(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: scaleY(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: scaleY(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: scaleY(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: scaleY(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.scaleZ(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"1"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: scaleZ(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: scaleZ(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: scaleZ(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: scaleZ(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: scaleZ(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.selection(...) { + + @moz_local: true; + @w3c_local: true; + + @process: ~`(function(value){function syntax(start,selector){var end="}\n",definition=value_temp.split(","),syntax=(definition[1]||"")+selector+"{"+definition[0]+end;"start"==start?value="0; } \n"+syntax:"startend"==start?value="0; } \n"+syntax.replace(end,""):value+="end"==start?syntax.replace(end,""):syntax}value=value||8121991;var state="@{state}",value_temp=value;if(8121991==value)return value;switch(state){case"1":syntax("start","::selection"),syntax("end","::-moz-selection");break;case"2":syntax("startend","::selection");break;case"3":syntax("startend","::-moz-selection")}return value=value.replace(/;$/g,"")})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + @state: 69; // Yeah totally random number + + .inception (@arguments) when (@moz = true) and (@w3c = true) and (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state: 1; lesshat-selector { -lh-property: @process; } } + .inception (@arguments) when (@moz = true) and (@w3c = true) and (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@moz = true) and (@w3c = true) and not (@moz_local = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:2; lesshat-selector { -lh-property: @process; } } + .inception (@arguments) when (@moz = true) and (@w3c = true) and not (@moz_local = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // cross + .inception (@arguments) when not (@moz = true) and (@w3c = true) and (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:2; lesshat-selector { -lh-property: @process; } } + .inception (@arguments) when not (@moz = true) and (@w3c = true) and (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@moz = true) and (@w3c = true) and (@moz_local = true) and not (@w3c_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:3; lesshat-selector { -lh-property: @process; } } + .inception (@arguments) when (@moz = true) and (@w3c = true) and (@moz_local = true) and not (@w3c_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + // cross + .inception (@arguments) when (@moz = true) and not (@w3c = true) and (@moz_local = true) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { @state:3; lesshat-selector { -lh-property: @process; } } + .inception (@arguments) when (@moz = true) and not (@w3c = true) and (@moz_local = true) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@arguments) when (@moz = true) and (@w3c = true) and not (@moz_local = true) and not (@w3c_local = true) {} + .inception (@arguments) when not (@moz = true) and (@w3c = true) and not (@w3c_local = true) {} + .inception (@arguments) when (@moz = true) and not (@w3c = true) and not (@moz_local = true) {} + .inception (@arguments) when not (@moz = true) and not (@w3c = true) {} + + .inception(@arguments); + + +} + +.sepia(...) { + + @webkit_local: true; + @moz_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"100%";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"%"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-filter: sepia(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-filter: sepia(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-filter: sepia(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { filter: sepia(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.size(@square) { + @unit: 'px'; + .process(@square) when (ispixel(@square)), (isem(@square)), (ispercentage(@square)), (iskeyword(@square)) { + width: @square; + height: @square; + } + + .process(@square) when not (ispixel(@square)) and not (isem(@square)) and not (ispercentage(@square)) and not (isstring(@square)) and not (iskeyword(@square)) { + width: ~`@{square} + @{unit}`; + height: ~`@{square} + @{unit}`; + } + + .process(@square); + +} + +.size(@width, @height) { + @unit: 'px'; + .process(@width, @height) when (ispixel(@width)), (isem(@width)), (ispercentage(@width)), (iskeyword(@width)) { + .kittens(@height) when (ispixel(@height)), (isem(@height)), (ispercentage(@height)), (iskeyword(@height)) { + width: @width; + height: @height; + } + .kittens(@height) when not (ispixel(@height)) and not (isem(@height)) and not (ispercentage(@height)) and not (iskeyword(@height)) { + width: @width; + height: ~`@{height} + @{unit}`; + } + .kittens(@height); + } + + .process(@width, @height) when (ispixel(@height)), (isem(@height)), (ispercentage(@height)), (iskeyword(@height)) { + .kittens(@width) when (ispixel(@width)), (isem(@width)), (ispercentage(@width)), (iskeyword(@width)) {} + .kittens(@width) when not (ispixel(@width)) and not (isem(@width)) and not (ispercentage(@width)) and not (iskeyword(@width)) { + width: ~`@{width} + @{unit}`; + height: @height; + } + .kittens(@width); + } + + .process(@width, @height) when not (ispixel(@width)) and not (isem(@width)) and not (ispercentage(@width)) and not (iskeyword(@width)) and not (ispixel(@height)) and not (isem(@height)) and not (ispercentage(@height)) and not (iskeyword(@height)) { + width: ~`@{width} + @{unit}`; + height: ~`@{height} + @{unit}`; + } + + .process(@width, @height); + +} + +.skew(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"deg"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: skew(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: skew(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: skew(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: skew(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: skew(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.skewX(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"deg"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: skewX(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: skewX(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: skewX(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: skewX(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: skewX(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.skewY(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"deg"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: skewY(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: skewY(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: skewY(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: skewY(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: skewY(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.transform(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"none";var functions={translate:"px",rotate:"deg",rotate3d:"deg",skew:"deg"};/^\w*\(?[a-z0-9.]*\)?/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,""));for(var i in functions)value.indexOf(i)>=0&&(value=value.replace(new RegExp(i+"[\\w]?\\([a-z0-9, %]*\\)"),function(match){var regex=/(\d+\.?\d*)(?!\w|%)/g;return"rotate3d"==i&&(regex=/,\s*\d+$/),match.replace(regex,function(innerMatch){return innerMatch+functions[i]})}));return value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: @process; } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.transform-origin(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"50% 50% 0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"%"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform-origin: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform-origin: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform-origin: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform-origin: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform-origin: @process; } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.transform-style(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"flat"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform-style: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform-style: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform-style: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform-style: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform-style: @process; } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.transition(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process_webkit: ~`(function(value){value=value||"all 0 ease 0";var prefixedProperties=["background-size","border-radius","border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","box-shadow","column","transform","filter"],prefix="-webkit-",valueRegex=/(?:\d)(?:ms|s)/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),prefixedProperties.forEach(function(property){-1!==value.indexOf(property)&&(value=value.replace(new RegExp(property,"g"),function(match){return prefix+match}))}),valueRegex.test(value)||"0"===value||(value=value.replace(numWithoutValue,function(match){return match+=parseFloat(match,10)>10?"ms":"s"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_moz: ~`(function(value){value=value||"all 0 ease 0";var prefixedProperties=["background-size","box-shadow","column","transform","filter"],prefix="-moz-",valueRegex=/(?:\d)(?:ms|s)/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),prefixedProperties.forEach(function(property){-1!==value.indexOf(property)&&(value=value.replace(new RegExp(property,"g"),function(match){return prefix+match}))}),valueRegex.test(value)||"0"===value||(value=value.replace(numWithoutValue,function(match){return match+=parseFloat(match,10)>10?"ms":"s"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_opera: ~`(function(value){value=value||"all 0 ease 0";var prefixedProperties=["transform"],prefix="-o-",valueRegex=/(?:\d)(?:ms|s)/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%)/gi;return/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,"")),prefixedProperties.forEach(function(property){-1!==value.indexOf(property)&&(value=value.replace(new RegExp(property,"g"),function(match){return prefix+match}))}),valueRegex.test(value)||"0"===value||(value=value.replace(numWithoutValue,function(match){return match+=parseFloat(match,10)>10?"ms":"s"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process: ~`(function(value){value=value||"all 0 ease 0";var prefixes=["-webkit-","-moz-","-o-",""],prefixedProperties=["column","transform","filter"],valueRegex=/(?:\d)(?:ms|s)/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%)/gi;/^[^, ]*,/.test(value)&&(value=value.replace(/(?:,)(?![^(]*\))/g,""));var subSplit=value.split(/(?:,)(?![^(]*\))/g);return subSplit.forEach(function(css,index){prefixedProperties.forEach(function(property){-1!==css.indexOf(property)&&(subSplit[index]="",prefixes.forEach(function(vendor,i){subSplit[index]+=css.trim().replace(new RegExp(property,"g"),function(match){return vendor+match}),i<prefixes.length-1&&(subSplit[index]+=",")}))})}),value=subSplit.join(","),valueRegex.test(value)||"0"===value||(value=value.replace(numWithoutValue,function(match){return match+=parseFloat(match,10)>10?"ms":"s"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process_webkit)) and not (iscolor(@process_webkit)) and not (isnumber(@process_webkit)) and not (iskeyword(@process_webkit)) and not (isurl(@process_webkit)) and not (ispixel(@process_webkit)) and not (ispercentage(@process_webkit)) and not (isem(@process_webkit)) { -webkit-transition: @process_webkit; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process_webkit)) and not (iscolor(@process_webkit)) and not (isnumber(@process_webkit)) and not (iskeyword(@process_webkit)) and not (isurl(@process_webkit)) and not (ispixel(@process_webkit)) and not (ispercentage(@process_webkit)) and not (isem(@process_webkit)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) { -moz-transition: @process_moz; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process_opera)) and not (iscolor(@process_opera)) and not (isnumber(@process_opera)) and not (iskeyword(@process_opera)) and not (isurl(@process_opera)) and not (ispixel(@process_opera)) and not (ispercentage(@process_opera)) and not (isem(@process_opera)) { -o-transition: @process_opera; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process_opera)) and not (iscolor(@process_opera)) and not (isnumber(@process_opera)) and not (iskeyword(@process_opera)) and not (isurl(@process_opera)) and not (ispixel(@process_opera)) and not (ispercentage(@process_opera)) and not (isem(@process_opera)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transition: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.transition-delay(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var valueRegex=/(?:\d)(?:ms|s)/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return valueRegex.test(value)||"0"===value||(value=value.replace(numWithoutValue,function(match){return match+=parseFloat(match,10)>10?"ms":"s"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transition-delay: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transition-delay: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transition-delay: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transition-delay: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.transition-duration(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var valueRegex=/ms|s/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return valueRegex.test(value)||"0"===value||(value=value.replace(numWithoutValue,function(match){return match+=parseFloat(match,10)>10?"ms":"s"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transition-duration: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transition-duration: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transition-duration: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transition-duration: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.transition-property(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process_webkit: ~`(function(value){value=value||"all";var prefixedProperties=["background-size","border-radius","border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","box-shadow","column","transform","filter"],prefix="-webkit-";return prefixedProperties.forEach(function(property){-1!==value.indexOf(property)&&(value=value.replace(new RegExp(property,"g"),function(match){return prefix+match}))}),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_moz: ~`(function(value){value=value||"all";var prefixedProperties=["background-size","box-shadow","column","transform","filter"],prefix="-moz-";return prefixedProperties.forEach(function(property){-1!==value.indexOf(property)&&(value=value.replace(new RegExp(property,"g"),function(match){return prefix+match}))}),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process_opera: ~`(function(value){value=value||"all";var prefixedProperties=["transform"],prefix="-o-";return prefixedProperties.forEach(function(property){-1!==value.indexOf(property)&&(value=value.replace(new RegExp(property,"g"),function(match){return prefix+match}))}),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + @process: ~`(function(value){value=value||"all";var prefixes=["-webkit-","-moz-","-o-",""],prefixedProperties=["column","transform","filter"],subSplit=value.split(/(?:,)(?![^(]*\))/g);return subSplit.forEach(function(css,index){prefixedProperties.forEach(function(property){-1!==css.indexOf(property)&&(subSplit[index]="",prefixes.forEach(function(vendor,i){subSplit[index]+=css.trim().replace(new RegExp(property,"g"),function(match){return vendor+match}),i<prefixes.length-1&&(subSplit[index]+=",")}))})}),value=subSplit.join(",")})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process_webkit)) and not (iscolor(@process_webkit)) and not (isnumber(@process_webkit)) and not (iskeyword(@process_webkit)) and not (isurl(@process_webkit)) and not (ispixel(@process_webkit)) and not (ispercentage(@process_webkit)) and not (isem(@process_webkit)) { -webkit-transition-property: @process_webkit; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process_webkit)) and not (iscolor(@process_webkit)) and not (isnumber(@process_webkit)) and not (iskeyword(@process_webkit)) and not (isurl(@process_webkit)) and not (ispixel(@process_webkit)) and not (ispercentage(@process_webkit)) and not (isem(@process_webkit)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) { -moz-transition-property: @process_moz; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process_moz)) and not (iscolor(@process_moz)) and not (isnumber(@process_moz)) and not (iskeyword(@process_moz)) and not (isurl(@process_moz)) and not (ispixel(@process_moz)) and not (ispercentage(@process_moz)) and not (isem(@process_moz)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process_opera)) and not (iscolor(@process_opera)) and not (isnumber(@process_opera)) and not (iskeyword(@process_opera)) and not (isurl(@process_opera)) and not (ispixel(@process_opera)) and not (ispercentage(@process_opera)) and not (isem(@process_opera)) { -o-transition-property: @process_opera; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process_opera)) and not (iscolor(@process_opera)) and not (isnumber(@process_opera)) and not (iskeyword(@process_opera)) and not (isurl(@process_opera)) and not (ispixel(@process_opera)) and not (ispercentage(@process_opera)) and not (isem(@process_opera)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transition-property: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.transition-timing-function(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"ease"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transition-timing-function: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transition-timing-function: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transition-timing-function: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transition-timing-function: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +.translate(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: translate(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: translate(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: translate(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: translate(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: translate(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.translate3d(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0, 0, 0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: translate3d(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: translate3d(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: translate3d(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: translate3d(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: translate3d(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.translateX(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: translateX(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: translateX(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: translateX(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: translateX(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: translateX(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.translateY(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: translateY(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: translateY(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: translateY(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: translateY(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: translateY(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.translateZ(...) { + + @webkit_local: true; + @moz_local: true; + @opera_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){value=value||"0";var numRegex=/\d/gi,numWithoutValue=/(?:\s|^)(\.?\d+\.?\d*)(?![^(]*\)|\w|%|\.)/gi;return numRegex.test(value)&&(value=value.replace(numWithoutValue,function(match){return 0==match&&match||match+"px"})),value})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-transform: translateZ(@process); } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-transform: translateZ(@process); } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -o-transform: translateZ(@process); } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-transform: translateZ(@process); } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 5) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { transform: translateZ(@process); } + .inception (@signal, @arguments) when (@signal = 5) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @opera, @opera_local); + .result(@arguments, 4, @ms, @ms_local); + .result(@arguments, 5, @w3c, @w3c_local); + +} + +.user-select(...) { + + @webkit_local: true; + @moz_local: true; + @ms_local: true; + @w3c_local: true; + + @process: ~`(function(value){return value=value||"auto"})((function(){var args="@{arguments}";return args=args.replace(/^\[|\]$/g,"")})())`; + + .result (@arguments, @signal, @boolean, @local_boolean) when (@boolean = true) and (@local_boolean = true) { + .inception (@signal, @arguments) when (@signal = 1) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -webkit-user-select: @process; } + .inception (@signal, @arguments) when (@signal = 1) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 2) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -moz-user-select: @process; } + .inception (@signal, @arguments) when (@signal = 2) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 3) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { -ms-user-select: @process; } + .inception (@signal, @arguments) when (@signal = 3) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception (@signal, @arguments) when (@signal = 4) and (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) { user-select: @process; } + .inception (@signal, @arguments) when (@signal = 4) and not (isstring(@process)) and not (iscolor(@process)) and not (isnumber(@process)) and not (iskeyword(@process)) and not (isurl(@process)) and not (ispixel(@process)) and not (ispercentage(@process)) and not (isem(@process)) {} + .inception(@signal, @arguments); + } + .result (@arguments, @signal, @boolean, @local_boolean) when not (@boolean = true), not (@local_boolean = true) {} + + .result(@arguments, 1, @webkit, @webkit_local); + .result(@arguments, 2, @moz, @moz_local); + .result(@arguments, 3, @ms, @ms_local); + .result(@arguments, 4, @w3c, @w3c_local); + +} + +// This is the nice place for some kind of story or something... Maybe in next version :) diff --git a/src/less/resource_scheduler.less b/src/less/resource_scheduler.less new file mode 100644 index 0000000000000000000000000000000000000000..6d39603976e9bcb6fd524314d97899cf5d91e6b4 --- /dev/null +++ b/src/less/resource_scheduler.less @@ -0,0 +1,341 @@ +@charset "UTF-8"; + +@import "lib/lesshat.less"; +@import "lib/breakpoints.less"; +@import "lib/colors.less"; +@import "lib/fonts.less"; +@import "lib/eventicon-embedded.less"; + +.sans-serif-font() { + font-family: "Gotham SSm A", "Gotham SSm B", Verdana, "Verdana Ref", Geneva, Tahoma, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", "Bitstream Vera Sans", "Liberation Sans", sans-serif; + font-weight: 400; + font-style: normal; +} + +.clearfix:after { + content: " "; /* Older browsers do not support empty content */ + visibility: hidden; + display: block; + height: 0; + clear: both; +} + +.wdn-grid-set.reverse > [class*=wdn-col] { + float: right; +} + +#pagetitle h3 { + margin-top: 0; +} + +#maincontent form { + padding: 1em; + + fieldset { + margin: 0; + margin-bottom: 1em; + } + legend { + font-size: 1.5em; + margin-top: 0.5em; + margin-bottom: 1em; + padding-bottom: 0; + } + &.delete-form, &.inline-form { + display: inline; + padding: 0; + } + input { + word-wrap: normal; + &[disabled] { + background: #CCCCCC; + } + } + textarea { + resize: vertical; + } + .helper { + font-family: "Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif; + } + + .offset-field-group { + background: @dark-triad; + border-radius: .5em; + padding: 1em; + label { + color: @cream; + } + } +} + +.table-actions { + a, button { + vertical-align: middle; + } +} + +#notice .message-content a { + text-decoration: underline; +} + +.calendar-container { + font-family: "Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif; + width: 100%; + text-align: center; + .time-labels { + font-size: 80%; + .calendar-half-hour { + padding-right: 3px; + } + text-align: right; + display: inline-block; + border-right: 1px solid #C9C9C9; + width: 9%; + margin: 0; + } + .calendar-day { + .day-chart { + position: relative; + } + vertical-align: bottom; + text-align: center; + border-left: 1px solid #C9C9C9; + border-right: 1px solid #C9C9C9; + display: inline-block; + width: 12%; + margin: 0; + } + .calendar-half-hour { + height: 20px; + border-top: 1px solid #C9C9C9; + &:last-child { + border-bottom: 1px solid #C9C9C9; + } + &:nth-child(2n) { + background-color: #EEEEEE; + } + } + .event, .reservation { + position: absolute; + overflow-y: scroll; + background: lighten(#137cbd, 30%); + border: 1px solid #137cbd; + border-radius: 3px; + width: 80%; + font-size: 60%; + text-align: left; + padding: 3px; + word-wrap: break-word; + &.new-member-orientation { + background: #FFFFB8; + border-color: darken(#FFFFB8, 50%); + } + &.free-event { + background: #F8F8F8; + border-color: darken(#F8F8F8, 50%); + } + &.machine-training { + background: #58CC2F; + border-color: darken(#58CC2F, 20%); + } + &.rsvp-only-event { + background: #FFA6F5; + border-color: darken(#FFA6F5, 50%); + } + &.top-overflow { + border-top: none; + border-top-left-radius: 0px; + border-top-right-radius: 0px; + } + &.bottom-overflow { + border-bottom: none; + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + } + &.editing { + border-style: dashed; + opacity: .7; + } + a { + color: initial; + &:hover { + text-decoration: underline; + } + } + } + .status { + position: absolute; + background: gray; + width: 100%; + opacity: .5; + &.closed { + background-color: darken(#AAAAAA, 40%) + } + &.open-without-reservations { + background-color: lighten(#137cbd, 30%); + } + } +} + +.calendar-container.individual-day { + background-color: #f9f8f5; + border: 1px solid #d5d5d2; + .time-labels { + width: 25%; + } + .calendar-day { + width: 70%; + } +} + +.event-details { + margin-bottom: 1em; + padding: 0 23px 1.777em; + padding: 0 1.425rem 1.777em; + border-top: 5px solid #D00000; + background-color: #fff; + box-shadow: 0 0 0 1px fadeout(mix(#000, @cream, 92%), 90%); + + .date-wrapper, + .time-wrapper, + .location, + .contact { + display: block; + .sans-serif-font(); + font-size: 13px; + font-size: 0.802rem; + + &:before { + color: @ui05; + } + } + + .description { + margin: 1em 0 0; + padding-top: 1em; + border-top: 1px solid mix(#000, @cream, 24%); + } +} + +.toolbox, .visual-island { + background: #f9f8f5; + margin-bottom: 1em; + word-wrap: break-word; + padding: 0 !important; + .tools, .details { + padding: 1em; + border-left: 1px solid #d5d5d2; + border-right: 1px solid #d5d5d2; + border-bottom: 1px solid #d5d5d2; + &.top-border { + border-top: 1px solid #d5d5d2; + } + } + h1, h2, h3, h4, h5, h6, .vi-header{ + display: block; + font-size: .802em !important; + margin: 0; + border-bottom: 1px solid #474746; + font-family: "Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif; + width: 100%; + background-color: #474746; + padding: 1em; + text-transform: uppercase; + color:#fff; + font-weight: 400; + font-style: normal; + text-align: center; + } + p { + padding: 0 1em 1em 1em; + } + ul { + padding: 0; + padding-left: 1em; + margin: 0; + a { + border-bottom: none; + font-family: "Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif; + } + } +} + +.event-list { + background-color: #eae9e6; + font-size: 80%; + line-height: 1.4; + .center { + text-align: center; + } + tbody tr { + min-height: 30px; + } + ul { + padding-left: 0; + list-style-type: none; + } + li { + padding: 5px 0; + } + li:not(:last-child) { + border-bottom: 1px solid #999999; + } +} + +.date-time-select { + padding: 1em; + background-color: #f9f8f5; + border: 1px solid #d5d5d2; + margin-bottom: 0.75em; + text-align: center; + &.hours { + text-align: left; + } + .wdn-icon-calendar { + margin-right: -2.3em; + position: relative; + z-index: 2; + margin-left: 0.8em; + } + .am_pm { + display: inline-block; + font-family: "Gotham"; + font-size: .75em; + margin-left: .75em; + } + input { + padding-left: 2.3em; + width: 40%; + position: relative; + text-align: center; + } + select { + width: 14%; + text-align: center; + padding: 0; + } + > * { + vertical-align: middle; + } +} + +/* for mobile-tablet-ish sizes */ +@media (max-width: 767px) { + .medium-hidden { + display: none; + } + + .medium-block { + display: block !important; + } + + .date-time-select { + input { + width: 100%; + } + select { + width: 30%; + text-align: center; + } + } +} \ No newline at end of file diff --git a/views/calendar.erb b/views/calendar.erb new file mode 100644 index 0000000000000000000000000000000000000000..cf013cf27efd298a8802f148275b7ec6ee0ab54c --- /dev/null +++ b/views/calendar.erb @@ -0,0 +1,171 @@ +<% events_groups = events.group_by do |event| + event.start_time.in_time_zone.strftime("%Y/%m/%d") +end %> + +<div id="pagetitle"> + <h3> + <%= @space.name %> Calendar + <span class="wdn-subhead">See all our upcoming events!</span> + </h3> +</div> + +<div style="margin-bottom: 16px;"> +<h4 style="text-align: center; margin: 0;"> +<%= month = sunday.strftime('%B %Y') %><%= (month2 = (sunday+6.days).strftime('%B %Y')) == month ? '' : " - #{month2}" %> +</h4> +<a href="/calendar/?date=<%= (date-7.days).strftime('%Y-%m-%d') %>" class="wdn-button wdn-button-triad" id="prev-week">< PREV</a> +<a href="/calendar/?date=<%= (date+7.days).strftime('%Y-%m-%d') %>" class="wdn-button wdn-button-triad" style="float: right;" id="next-week">NEXT ></a> +</div> + +<div class="calendar-container"> + <div class="time-labels"> + <div class="time-chart"> + <% (12..47).each do |j| %> + <div class="calendar-half-hour"> + <label><%= "#{(j / 2) % 12 + (j==24?12:0)} #{j>=24?'PM':'AM'}" if j % 2 == 0 %></label> + </div> + <% end %> + </div> + </div> + <% (0..6).each do |i| %> + <% day = (sunday + i.days + 1.hour).midnight %> + <% slots = [0] * 36 %> + <div class="calendar-day" data-day="<%= day.strftime("%Y/%m/%d") %>"> + <label class="day-header"><%= day.strftime("%^a %-m/%d") %></label> + <div class="day-chart" title="Open"> + <% if week_hours.has_key?(i) %> + <% # figure out where the closed divs need to be + # we can assume that all records in this space_hour are non-intertwined + closed_start = 0 + closed_end = 0 + starts = week_hours[i].hours.map{|record| record[:start]} + ends = week_hours[i].hours.map{|record| record[:end]} + %> <% + closeds = [] + (360..1439).each do |j| + if starts.include?(j) + closed_end = j + closeds << [closed_start, closed_end] + closed_start = 0 + closed_end = 0 + end + if ends.include?(j) + closed_start = j + end + end + closed_end = 1440 + closeds << [closed_start, closed_end] + + closeds.each do |closed| + start_time = closed[0] %> + <% end_time = closed[1] %> + <% + if [((end_time - 360) / 30).floor, 35].min < 0 + next + end + top = ((start_time - 360) / 30) * 20 + height = (end_time - start_time) * 20 / 30 + if top < 0 + height += top + top = 0 + end + if top + height > 720 + height = 720 - top + end + %> + <div class="status closed" title="Closed" style="top: <%= top %>px; height: <%= height %>px;"> + + </div> + <% + end + %> + <% week_hours[i].hours.each do |record| %> + <% if record[:status] != 'open' && record[:status] != 'closed' %> + <% start_time = record[:start] %> + <% end_time = record[:end] %> + <% if [((end_time - 360) / 30).floor, 35].min < 0 + next + end + top = ((start_time - 360) / 30) * 20 + height = (end_time - start_time) * 20 / 30 + if top < 0 + height += top + top = 0 + end + if top + height > 720 + height = 720 - top + end + %> + <div title="<%= record[:status].split('_').join(' ').capitalize_all %>" class="status <%= record[:status].downcase.split('_').join('-') %>" style="top: <%= top %>px; height: <%= height %>px;"> + + </div> + <% end %> + <% end %> + <% end %> + + <% day_events = events_groups[day.strftime("%Y/%m/%d")] %> + <% unless day_events.nil? %> + <% day_events.sort{|a, b| a.start_time <=> b.start_time}.each do |event| %> + <% start_slot = [(((event.start_time.in_time_zone - day.midnight) / 60 - 360) / 30).floor, 0].max + end_slot = [(((event.end_time.in_time_zone - day.midnight) / 60 - 360) / 30).floor, 35].min + if end_slot < 0 + next + end + over = 0 + (start_slot..end_slot).each do |k| + over = slots[k] if slots[k] > over + end + over = [over,3].min + top = (((event.start_time.in_time_zone - day.midnight) / 60 - 360) / 30) * 20 + height = event.length * 20 / 30 + top_overflow = false + bottom_overflow = false + if top < 0 + height += top + top = 0 + top_overflow = true + end + if top + height > 720 + height = 720 - top + bottom_overflow = true + events_groups[(day + 1.day).strftime("%Y/%m/%d")] ||= [] + events_groups[(day + 1.day).strftime("%Y/%m/%d")] << event + end + %> + <div class="event <%= event.type.description.downcase.split(' ').join('-') %> <%= 'top-overflow' if top_overflow %> <%= 'bottom-overflow' if bottom_overflow %>" + style="top: <%= top %>px; height: <%= height %>px; left: <%=over*8%>px"> + <% if event.info_link %> + <a href="<%= event.info_link %>"><%= event.title %></a> + <% else %> + <%= event.title %> + <% end %> + </div> + <% (start_slot..end_slot).each do |k| %> + <% slots[k] = slots[k] + 1 %> + <% end %> + <% end %> + <% end %> + + <div> + <% (12..47).each do |j| %> + <div class="calendar-half-hour"> + + </div> + <% end %> + </div> + </div> + </div> + <% end %> +</div> + +<script type="text/javascript"> +require(['jquery'], function ($) { + var max_z = 5; + $(document).ready(function () { + $('.event').click(function (click) { + $(this).css('z-index', max_z); + max_z += 1; + }); + }); +}); +</script> \ No newline at end of file diff --git a/views/fixed.erb b/views/fixed.erb new file mode 100644 index 0000000000000000000000000000000000000000..4f89fef8f725faf32aae8b3f30f7ee794cfea7ea --- /dev/null +++ b/views/fixed.erb @@ -0,0 +1,143 @@ +<!DOCTYPE html> +<html class="no-js" lang="en"><!-- InstanceBegin template="/Templates/fixed.dwt" codeOutsideHTMLIsLocked="false" --> +<head> +<%= ERB.new(File.read(File.expand_path("#{ROOT}/public/wdn/templates_4.1/includes/metanfavico.html"))).result %> +<!-- + Membership and regular participation in the UNL Web Developer Network is required to use the UNLedu Web Framework. Visit the WDN site at http://wdn.unl.edu/. Register for our mailing list and add your site or server to UNLwebaudit. + All framework code is the property of the UNL Web Developer Network. The code seen in a source code view is not, and may not be used as, a template. You may not use this code, a reverse-engineered version of this code, or its associated visual presentation in whole or in part to create a derivative work. + This message may not be removed from any pages based on the UNLedu Web Framework. + + $Id: fixed.dwt | 6edb0e1ee94038935f3821c6ce15dfd5c217b2e2 | Tue Dec 1 17:08:56 2015 -0600 | Kevin Abel $ +--> +<%= erb :'template_partials/scriptsandstyles' %> +<!-- InstanceBeginEditable name="doctitle" --> +<title><%= @title %> | University of Nebraska–Lincoln</title> +<!-- InstanceEndEditable --> +<!-- InstanceBeginEditable name="head" --> +<!-- Place optional header elements here --> +<link rel="stylesheet" href="/css/resource_scheduler.css"> +<link rel="stylesheet" href="/css/jquery-ui.min-custom.css"> +<script type="text/javascript">WDN.initializePlugin("notice");</script> +<!-- InstanceEndEditable --> +<!-- InstanceParam name="class" type="text" value="" --> +</head> +<body class="" data-version="4.1"> + <%= ERB.new(File.read(File.expand_path("#{ROOT}/public/wdn/templates_4.1/includes/skipnav.html"))).result %> + <div id="wdn_wrapper"> + <input type="checkbox" id="wdn_menu_toggle" value="Show navigation menu" class="wdn-content-slide wdn-input-driver" /> + <%= ERB.new(File.read(File.expand_path("#{ROOT}/public/wdn/templates_4.1/includes/noscript-padding.html"))).result %> + <header id="header" role="banner" class="wdn-content-slide wdn-band"> + <div id="wdn_header_top"> + <span id="wdn_institution_title"><a href="http://www.unl.edu/">University of Nebraska–Lincoln</a></span> + <div id="wdn_resources"> + <%= ERB.new(File.read(File.expand_path("#{ROOT}/public/wdn/templates_4.1/includes/wdnResources.html"))).result %> + <%= ERB.new(File.read(File.expand_path("#{ROOT}/public/wdn/templates_4.1/includes/idm.html"))).result %> + <%= ERB.new(File.read(File.expand_path("#{ROOT}/public/wdn/templates_4.1/includes/search.html"))).result %> + </div> + </div> + <div id="wdn_logo_lockup"> + <div class="wdn-inner-wrapper"> + <%= ERB.new(File.read(File.expand_path("#{ROOT}/public/wdn/templates_4.1/includes/logo.html"))).result %> + <span id="wdn_site_affiliation"><!-- InstanceBeginEditable name="affiliation" --><!-- InstanceEndEditable --></span> + <span id="wdn_site_title"><!-- InstanceBeginEditable name="titlegraphic" -->UNL Resource Scheduler<!-- InstanceEndEditable --></span> + </div> + </div> + </header> + <div id="wdn_navigation_bar" class="wdn-band"> + <nav id="breadcrumbs" class="wdn-inner-wrapper" role="navigation" aria-label="breadcrumbs"> + <!-- InstanceBeginEditable name="breadcrumbs" --> + <ul> + <% @breadcrumbs.each do |crumb| %> + <% if crumb[:href].nil? %> + <li><%= crumb[:text] %></li> + <% else %> + <li><a href="<%= crumb[:href] %>" title="<%= crumb[:title] || crumb[:text] %>"><%= crumb[:text] %></a></li> + <% end %> + <% end %> + </ul> + <!-- InstanceEndEditable --> + </nav> + <div id="wdn_navigation_wrapper"> + <nav id="navigation" role="navigation" aria-label="main navigation"> + <!-- InstanceBeginEditable name="navlinks" --> + <%= erb :'template_partials/navigation' %> + <!-- InstanceEndEditable --> + <%= ERB.new(File.read(File.expand_path("#{ROOT}/public/wdn/templates_4.1/includes/navigation-addons.html"))).result %> + </nav> + </div> + </div> + <div class="wdn-menu-trigger wdn-content-slide"> + <label for="wdn_menu_toggle" class="wdn-icon-menu">Menu</label> + <%= ERB.new(File.read(File.expand_path("#{ROOT}/public/wdn/templates_4.1/includes/share.html"))).result %> + </div> + <main id="wdn_content_wrapper" role="main" class="wdn-content-slide" tabindex="-1"> + <div id="maincontent" class="wdn-main"> + <div class="wdn-band"> + <div class="wdn-inner-wrapper"> + <% unless session["notice"].nil? %> + <% notices = session.delete("notice") %> + <% notices.each do |notice| %> + <% notice_class = '' %> + <% case notice[:type] + when 'success', :success + notice_class = 'affirm' + when 'failure', :failure + notice_class = 'negate' + when 'alert', 'danger', 'error', :error, :alert, :danger + notice_class = 'alert' %> + <% end %> + <div id="notice" class="wdn_notice <%= notice_class %>"> + <div class="close"> + <a href="#" title="Close this notice">Close this notice</a> + </div> + <div class="message"> + <h4><%= notice[:header] %></h4> + <div class="message-content"> + <%= notice[:message] %> + </div> + </div> + </div> + <% end %> + <% else %> + <% session.delete(:notice) %> + <% session.delete("notice") %> + <% end %> + <%= yield %> + </div> + </div> + </div> + </main> + <footer id="footer" role="contentinfo" class="wdn-content-slide"> + <div id="wdn_optional_footer" class="wdn-band wdn-footer-optional"> + <div class="wdn-inner-wrapper"> + <!-- InstanceBeginEditable name="optionalfooter" --> + <!-- InstanceEndEditable --> + </div> + </div> + <div id="wdn_local_footer" class="wdn-band wdn-footer-local"> + <div class="wdn-inner-wrapper"> + <!-- InstanceBeginEditable name="contactinfo" --> + <div class="wdn-grid-set wdn-footer-links-local"> + <div class="bp640-wdn-col-one-third"> + <%= erb :'template_partials/footer_contact_info' %> + </div> + <!-- InstanceEndEditable --> + <!-- InstanceBeginEditable name="leftcollinks" --> + <div class="bp640-wdn-col-one-third"> + <%= erb :'template_partials/related_links' %> + </div> + <!-- InstanceEndEditable --> + </div> + </div> + </div> + <div id="wdn_global_footer" class="wdn-band wdn-footer-global"> + <div class="wdn-inner-wrapper"> + <%= ERB.new(File.read(File.expand_path("#{ROOT}/public/wdn/templates_4.1/includes/globalfooter.html"))).result %> + </div> + </div> + </footer> + <%= ERB.new(File.read(File.expand_path("#{ROOT}/public/wdn/templates_4.1/includes/noscript.html"))).result %> + </div> + <%= ERB.new(File.read(File.expand_path("#{ROOT}/public/wdn/templates_4.1/includes/body_scripts.html"))).result %> +</body> +<!-- InstanceEnd --></html> \ No newline at end of file diff --git a/views/template_partials/footer_contact_info.erb b/views/template_partials/footer_contact_info.erb new file mode 100644 index 0000000000000000000000000000000000000000..0c0b6dd7ac5f51de931eabde66795ed753351312 --- /dev/null +++ b/views/template_partials/footer_contact_info.erb @@ -0,0 +1,3 @@ +<div class="wdn-footer-module"> + <span role="heading" class="wdn-footer-heading">Contact Us</span> +</div> \ No newline at end of file diff --git a/views/template_partials/navigation.erb b/views/template_partials/navigation.erb new file mode 100644 index 0000000000000000000000000000000000000000..22c65363858ddf29d7503b37d55f35a19d32d8ed --- /dev/null +++ b/views/template_partials/navigation.erb @@ -0,0 +1,3 @@ +<ul> + <li><a href="/" title="UNL Resource Scheduler">Home</a> +</ul> diff --git a/views/template_partials/related_links.erb b/views/template_partials/related_links.erb new file mode 100644 index 0000000000000000000000000000000000000000..47967d8ab3856c63bf27534cdb478a08b54e8c15 --- /dev/null +++ b/views/template_partials/related_links.erb @@ -0,0 +1,5 @@ +<div class="wdn-footer-module"> + <span role="heading" class="wdn-footer-heading">Related Links</span> + <ul> + </ul> +</div> \ No newline at end of file diff --git a/views/template_partials/scriptsandstyles.erb b/views/template_partials/scriptsandstyles.erb new file mode 100644 index 0000000000000000000000000000000000000000..8cf695239a03556b5e5eab4633b35542fc956714 --- /dev/null +++ b/views/template_partials/scriptsandstyles.erb @@ -0,0 +1,5 @@ +<% UNL_WDN_FRAMEWORK_VERSION = '4.1.9' %> +<link rel="stylesheet" href="https://cloud.typography.com/7717652/616662/css/fonts.css" /> +<link rel="stylesheet" href="https://unlcms.unl.edu/wdn/templates_4.1/css/all.css?dep=<%= UNL_WDN_FRAMEWORK_VERSION %>" /> +<link rel="stylesheet" media="print" href="https://unlcms.unl.edu/wdn/templates_4.1/css/print.css?dep=<%= UNL_WDN_FRAMEWORK_VERSION %>" /> +<script src="https://unlcms.unl.edu/wdn/templates_4.1/scripts/compressed/all.js?dep=<%= UNL_WDN_FRAMEWORK_VERSION %>" id="wdn_dependents"></script> \ No newline at end of file