{"version":3,"sources":["god.scss","mixins/_heading_sizes.scss","_pillar.scss","mixins/_pillaraged.scss","mixins/_media_widths.scss","_heaven.scss","mixins/_all_are_judged.scss","mixins/_forgive_sinner.scss","_hell.scss","mixins/_condemn_sinner.scss","_sinner.scss","ol/_pillar.scss","ul/_pillar.scss","img/_pillar.scss","debug/debug.scss"],"names":[],"mappings":"AAAA;AC4BI;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;AADF;EACE;;ACxBN;EC2EE;EACA,SAF2C;EAG3C;EA5DA;EACA;EACA;EACA;EAwBA;;AC/BA;EFbF;ICiBE;IACA;IACA;IACA;;;ACbA;EFPF;ICiBE;IACA;IACA;IACA;IAwBA;;;AE7CF;ECoBE;EACA;EACA;EACA;EACA;EACA;ECGA;EACA;EACA;EACA;;AHjBA;ECdF;IAaI;;;ADmBF;EChCF;IAiBI;;;AGhBJ;EFmBE;EACA;EACA;EACA;EACA;EACA;EGDA;EACA;EACA;;ALZA;EIbF;IAaI,MAPS;IAQT;;;AJiBF;EI/BF;IAkBI,MAZS;IAaT;;;AJZF;EMPF;IJmBE;IACA;IACA;IACA;IACA;IACA;IIpBE;IACA;IACA;;;ANOF;EMbF;IAUI;;;ANeF;EMzBF;IAcI;;;ANiBF;EM/BF;IAkBI;;;ACtBF;EACE;;AAEA;EACE;;APmBJ;EObE;IACE;;;ACXJ;EACE;;AAEA;EACE;;ARmBJ;EQbE;IACE;;;ACZN;EACE;;;ACDF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AVwBA;EUtBA;IAEI;IACA;;;AVaJ;EUTA;IAEI;IACA;;;AVNJ;EUUA;IAEI;IACA;;;AVnBJ;EUuBA;IAEI;IACA","file":"god.css","sourcesContent":["/* god theme: Call me to include god in your SASS projects.*/\n@import \"./mixins\";\n$skiponacci: skiponacci(6);\n$fontonacci: fontonacci($skiponacci, $god-h6, $god-h1);\n$container: sl-to-string($container, \">,\") + \">\";\n$heaven: sl-to-list($heaven, comma);\n$hell: sl-to-list($hell, comma);\n$pillar-width: 100% - $heaven-width - $hell-width;\n\n#{$container} {\n  @include heading_sizes($fontonacci);\n  @import \"pillar\";\n  @import \"heaven\";\n  @import \"hell\";\n  @import \"sinner\";\n  @import \"ol/pillar\";\n  @import \"ul/pillar\";\n  @import \"img/pillar\";\n}\n","/// /// //\n/// Master style for heading spreads\n//\n/// @param {LIST} $fontzy A list of 6 heading sizes\n//\n/// @example\n/// @include heading_sizes(600% 500% 400% 300% 200% 100%);\n//\n/// /// h1 {\n/// ///   font-size:  600%;\n/// /// }\n/// /// h2 {\n/// ///   font-size:  500%;\n/// /// }\n/// /// h3 {\n/// ///   font-size:  400%;\n/// /// }\n/// /// h4 {\n/// ///   font-size:  300%;\n/// /// }\n/// /// h5 {\n/// ///   font-size:  200%;\n/// /// }\n/// /// h6 {\n/// ///   font-size:  100%;\n/// /// }\n@mixin heading_sizes($fonti) {\n  @for $i from 1 through 6 {\n    #{h + $i} {\n      font-size: nth($fonti, $i);\n    }\n  }\n}\n","// `pillar` level HTML tags like p, h6, div should come inside the body tag.\n//  By default pillar is \"contained\".\n// Commarise the list as a css selector.\n@use \"sass:math\";\n\n#{$pillar} {\n  @include pillaraged($hell-width, $heaven-width, $personal-space, $god-space);\n  $pillar-adj: overlap_factor(\n    100% - $god-space - $heaven-width - $hell-width,\n    100% - $god-space,\n    $pillar-cosy\n  );\n  @include cosy {\n    @include pillar_containment(\n      $hell-width - math.div($pillar-adj, 2),\n      $heaven-width - math.div($pillar-adj, 2)\n    );\n  }\n  @include tight {\n    @include pillar_containment($personal-space, $personal-space);\n    @include pillar_padding($inline-padding, $inline-padding);\n  }\n}\n","/// /// //\n/// Margin style to contain a pillar.\n//\n/// Using left and right margins as percentages to fix the column, with no\n/// vertical margin.\n//\n/// @param {%} $ml margin-left\n/// @param {%} $mr margin-right\n//\n/// @example\n/// body > $pillar {\n///   @include pillar_containment(30%, 30%);\n/// }\n//\n/// /// body > h1,\n/// /// body > h2,\n/// /// body > p, {\n/// ///   margin-left: 30% !important;\n/// ///   margin-right: 30% !important;\n/// /// }\n/// //\n@mixin pillar_containment($ml, $mr) {\n  margin-block-end: 0;\n  margin-block-start: 0;\n  margin-left: $ml !important;\n  margin-right: $mr !important;\n}\n\n/// /// //\n/// Padding style to contain a pillar.\n//\n/// Apply vertical padding as the margin between tags, and horizontal padding\n/// to pad between the pillar and the believers.\n//\n/// @param {UNIT} $pv padding-vertically\n/// @param {%} $ph padding-horizontally\n//\n/// @example\n/// body > $pillar {\n///   @include pillar_padding(0, 3%);\n/// }\n//\n/// /// body > h1,\n/// /// body > h2,\n/// /// body > p, {\n/// ///    padding: 0 3%;\n/// /// }\n/// //\n@mixin pillar_padding($pv, $ph) {\n  padding: $pv $ph;\n}\n\n/// /// //\n/// A column of tags forming a vertical pillar on the web page.\n//\n/// @param {%} $ml margin-left\n/// @param {%} $mr margin-right\n/// @param {UNIT} $pv padding-vertically\n/// @param {%} $ph padding-horizontally\n//\n/// @example\n/// body > $pillar {\n///   @include pillaraged(20%, 40%, 4px, 3%);\n/// }\n//\n/// /// body > h1,\n/// /// body > h2,\n/// /// body > p, {\n/// ///    margin: 0 20% 0 40% !important;\n/// /// /// > ol,\n/// /// /// > ul, {\n/// /// ///   padding-left: 3%;\n/// /// ///   padding-right: 3%;\n/// /// /// }\n/// ///    padding: 4px 3%;\n/// ///    display: block;\n/// ///    float: none;\n/// /// }\n/// //\n@mixin pillaraged($ml, $mr, $pv, $ph, $disp: block) {\n  box-sizing: border-box;\n  display: $disp;\n  float: none;\n  @include pillar_containment($ml, $mr);\n  @include pillar_padding($pv, $ph);\n}\n","/// /// //\n/// Master styles for media breaks.\n//\n/// @example\n/// @include tight {\n///   color: blue;\n/// }\n//\n/// //@media screen and (max-width: 600px) {\n/// ///    color: blue;\n/// /// }\n@mixin tight {\n  @media screen and (max-width: $god-tight) {\n    @content;\n  }\n}\n\n@mixin cosy {\n  @media screen and (min-width: $god-tight + 1px) and (max-width: $god-cosy) {\n    @content;\n  }\n}\n\n@mixin tight_and_cosy {\n  @media screen and (max-width: $god-cosy) {\n    @content;\n  }\n}\n\n@mixin loose {\n  @media screen and (min-width: $god-cosy + 1px) and (max-width: $god-loose) {\n    @content;\n  }\n}\n\n@mixin full {\n  @media screen and (min-width: $god-loose + 1px) {\n    @content;\n  }\n}\n","// Master for heaven styles. Highjack a standard block level HTML tag like \"h6\".\n// Apply the hang @mixin. h6 becomes a sidebar \"sinner\" which the body text will\n// wrap around. On small screens believers collapse to panels with special styles.\n// Commarise the list as a css selector.\n#{$heaven} {\n  @include forgive_sinner(\n    $heaven-width - $god-space,\n    $personal-space,\n    $god-space\n  );\n  $heaven-adj: overlap_factor(\n    $heaven-width,\n    100% - $god-space - $hell-width,\n    $heaven-cosy\n  );\n  @include cosy {\n    // Little bit wider, now that we're overlapping\n    width: $heaven-width + $heaven-adj - $god-space !important;\n  }\n  @include full {\n    // Little bit narrow, now that we're big\n    width: $heaven-width - ($heaven-adj * 0.3) - $god-space !important;\n  }\n}\n","/// /// //\n/// Master styling for believers.\n//\n/// @param {%} $w width\n/// @param {UNIT} $pv padding-vertically\n/// @param {%} $ph padding-horizontally\n//\n/// @example\n/// body > $pillar {\n///   @include all_are_judged(40%, 4px, 3%);\n/// }\n//\n/// /// body > h1,\n/// /// body > h2,\n/// /// body > p, {\n/// ///    box-sizing: border-box;\n/// ///    display: inline-block;\n/// ///    margin-left: 0 0 4px !important;\n/// ///    margin-right: 0 0 4px !important;\n/// ///    padding: 4px 3%;\n/// ///    width: 40% !important;\n/// /// }\n/// //\n@mixin all_are_judged($w, $pv, $ph) {\n  box-sizing: border-box;\n  display: inline-block;\n  margin-left: 0 !important;\n  margin-right: 0 !important;\n  padding: $pv $ph;\n  width: $w !important;\n  /// Trust god to deal with padding, width and margin.\n}\n","/// /// //\n/// Master style for tags in heaven.\n//\n/// @param {%} $w width\n/// @param {UNIT} $pv padding-vertically\n/// @param {%} $ph padding-horizontally\n/// @param {%} $m margin\n/// @param {UNIT} $b border\n//\n/// @example\n/// body > $pillar {\n///   @include forgive_sinner(40%, 2%, 1%);\n/// }\n//\n/// /// body > h1,\n/// /// body > h2,\n/// /// body > p, {\n/// ///    padding: 6px 2% 0 2%;\n/// ///    width: 40% - (2% + 2%) !important;\n/// ///    margin-top: 0 !important;\n/// ///    margin-bottom: 1% !important;\n/// ///    margin-left: 0 !important;\n/// ///    margin-right: 0 !important;\n/// ///    break-before: always;\n/// ///    break-before: always !important; /// give way on right\n/// ///    clear: right;\n/// ///    float: right;\n/// ///    text-align: right;\n/// /// }\n/// //\n@mixin forgive_sinner($w, $pv, $ph) {\n  @include all_are_judged($w, $pv, $ph);\n  break-before: always !important; /* give way on right */\n  clear: right;\n  float: right;\n  margin-left: $ph !important;\n}\n","//\n// Master for hell styles. Highjack a standard block level HTML tag like \"h6\".\n// Apply the hang @mixin. h6 becomes a sidebar \"sinner\" which the body text will\n// wrap around. On small screens believers collapse to panels with special styles.\n// Commarise the list as a css selector.\n#{$hell} {\n  @include condemn_sinner(\n    $hell-width - $god-space,\n    $personal-space,\n    $god-space\n  );\n  $hell-adj: overlap_factor(\n    $hell-width,\n    100% - $god-space - $heaven-width,\n    $hell-cosy\n  );\n  @include cosy {\n    // Little bit wider, now that we're overlapping\n    full: $hell-adj;\n    width: $hell-width + $hell-adj - $god-space !important;\n  }\n  @include full {\n    // Little bit narrow, now that we're big\n    full: $hell-adj;\n    width: $hell-width - ($hell-adj * 0.3) - $god-space !important;\n  }\n}\n","/// /// //\n/// Master style for tags in hell.\n//\n/// @param {%} $w width\n/// @param {UNIT} $pv padding-vertically\n/// @param {%} $ph padding-horizontally\n//\n/// @example\n/// body > $pillar {\n///   @include condemn_sinner(40%, 4px, 3%);\n/// }\n//\n/// /// body > h1,\n/// /// body > h2,\n/// /// body > p, {\n/// ///    padding: 4px 3% 0 3%;\n/// ///    width: 40% - (2% + 2%) !important;\n/// ///    margin: 0 !important;\n/// ///    margin-right: 0 !important;\n/// ///    break-before: always;\n/// ///    display: inline-block;\n/// ///    clear: left;\n/// ///    float: left;\n/// ///    text-align: left;\n/// /// }\n/// //\n@mixin condemn_sinner($w, $pv, $ph) {\n  @include all_are_judged($w, $pv, $ph);\n  clear: left;\n  float: left;\n  margin-right: $ph !important;\n}\n","// Master for sinner styles\n// Combine heaven and hell.\n$sinners: sl-union($heaven, $hell); // Commarise the list as a css selector.\n$sinners: sl-to-list($sinners, comma);\n\n#{$sinners} {\n  @include tight {\n    // Default: no hanging for any sinners on a mobile.\n    @include all_are_judged(100%, $personal-space, $god-space);\n    display: block !important;\n    float: none !important;\n    text-align: left;\n  }\n  @include cosy {\n    // More vertical spacing between sinners.\n    margin-bottom: ($personal-space * 1.3) !important;\n  }\n  @include loose {\n    // Even more vertical spacing between sinners.\n    margin-bottom: ($personal-space * 1.6) !important;\n  }\n  @include full {\n    // Tonnes of vertical spacing between sinners.\n    margin-bottom: ($personal-space * 1.9) !important;\n  }\n}\n","ol {\n  > li {\n    margin-left: $personal-space !important;\n\n    > * {\n      display: inline;\n    }\n  }\n}\n@include tight_and_cosy {\n  ol {\n    > li {\n      list-style-position: inside;\n    }\n  }\n}\n","ul {\n  > li {\n    margin-left: $personal-space !important;\n\n    > * {\n      display: inline;\n    }\n  }\n}\n@include tight_and_cosy {\n  ul {\n    > li {\n      list-style-position: inside;\n    }\n  }\n}\n","img {\n  max-width: $pillar-width !important;\n}\n",".debug {\n  background-color: lightgrey;\n  color: white;\n  display: none;\n  font-family: sans-serif;\n  font-size: 80%;\n  font-weight: bold;\n  left: 0;\n  margin: 0;\n  padding: 3px;\n  position: fixed;\n  top: 0;\n  visibility: hidden;\n\n  &.full {\n    @include full {\n      display: block;\n      visibility: visible;\n    }\n  }\n\n  &.loose {\n    @include loose {\n      display: block;\n      visibility: visible;\n    }\n  }\n\n  &.cosy {\n    @include cosy {\n      display: block;\n      visibility: visible;\n    }\n  }\n\n  &.tight {\n    @include tight {\n      display: block;\n      visibility: visible;\n    }\n  }\n}\n"]}