├── img ├── bg.jpg ├── logo.png ├── bg │ ├── all.png │ ├── engaged.png │ ├── married.png │ ├── separated.png │ ├── complicated.png │ ├── male_single.png │ ├── female_single.png │ ├── in_a_relationship.png │ └── in_an_open_relationship.png ├── favicon.png ├── heart.png ├── hearts.png ├── screen.png ├── heart_66.png ├── heart_75.png ├── icons │ ├── engaged.png │ ├── married.png │ ├── widowed.png │ ├── heart_small.png │ ├── male_single.png │ ├── separated.png │ ├── undefined.png │ ├── female_single.png │ ├── male_divorced.png │ ├── female_divorced.png │ ├── its_complicated.png │ ├── in_a_relationship.png │ └── in_an_open_relationship.png └── icons-sb3867b1e51.png ├── favicon.ico ├── README ├── facebookRelationships.psd ├── robots.txt ├── css ├── fonts │ ├── Bitter-Bold-webfont.eot │ ├── Bitter-Bold-webfont.ttf │ ├── Bitter-Bold-webfont.woff │ ├── Bitter-Italic-webfont.eot │ ├── Bitter-Italic-webfont.ttf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ ├── Bitter-Italic-webfont.woff │ ├── Bitter-Regular-webfont.eot │ ├── Bitter-Regular-webfont.ttf │ └── Bitter-Regular-webfont.woff ├── print.css ├── ie.css ├── screen.css ├── states.css ├── style.css └── style_back.css ├── lib ├── _grid.scss ├── print.scss ├── ie.scss ├── screen.scss ├── _component-animations.scss ├── _layouts.scss ├── _responsive-768px-979px.scss ├── _utilities.scss ├── _hero-unit.scss ├── _responsive-1200px-min.scss ├── _breadcrumbs.scss ├── _wells.scss ├── _scaffolding.scss ├── _close.scss ├── _accordion.scss ├── _pager.scss ├── _tooltip.scss ├── responsive.scss ├── _thumbnails.scss ├── _icons.scss ├── _alerts.scss ├── _responsive-utilities.scss ├── _pagination.scss ├── _code.scss ├── _popovers.scss ├── bootstrap.scss ├── _labels-badges.scss ├── _modals.scss ├── _carousel.scss ├── _progress-bars.scss ├── _reset.scss ├── _responsive-767px-max.scss ├── _dropdowns.scss ├── _responsive-navbar.scss ├── _tables.scss ├── _type.scss ├── _buttons.scss ├── _button-groups.scss ├── _navs.scss ├── _navbar.scss ├── _variables.scss ├── _sprites.scss ├── _font-awesome.scss ├── _fontawesome.scss └── _style.scss ├── config.rb ├── humans.txt ├── about.html ├── index.html └── js ├── plugins-ck.js ├── script-ck.js └── libs └── underscore-min.js /img/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/bg.jpg -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/favicon.ico -------------------------------------------------------------------------------- /img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/logo.png -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | This file was created by JetBrains PhpStorm 3.0.3 for binding GitHub repository -------------------------------------------------------------------------------- /img/bg/all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/bg/all.png -------------------------------------------------------------------------------- /img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/favicon.png -------------------------------------------------------------------------------- /img/heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/heart.png -------------------------------------------------------------------------------- /img/hearts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/hearts.png -------------------------------------------------------------------------------- /img/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/screen.png -------------------------------------------------------------------------------- /img/heart_66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/heart_66.png -------------------------------------------------------------------------------- /img/heart_75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/heart_75.png -------------------------------------------------------------------------------- /img/bg/engaged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/bg/engaged.png -------------------------------------------------------------------------------- /img/bg/married.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/bg/married.png -------------------------------------------------------------------------------- /img/bg/separated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/bg/separated.png -------------------------------------------------------------------------------- /img/bg/complicated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/bg/complicated.png -------------------------------------------------------------------------------- /img/bg/male_single.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/bg/male_single.png -------------------------------------------------------------------------------- /img/icons/engaged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/engaged.png -------------------------------------------------------------------------------- /img/icons/married.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/married.png -------------------------------------------------------------------------------- /img/icons/widowed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/widowed.png -------------------------------------------------------------------------------- /facebookRelationships.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/facebookRelationships.psd -------------------------------------------------------------------------------- /img/bg/female_single.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/bg/female_single.png -------------------------------------------------------------------------------- /img/icons-sb3867b1e51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons-sb3867b1e51.png -------------------------------------------------------------------------------- /img/icons/heart_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/heart_small.png -------------------------------------------------------------------------------- /img/icons/male_single.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/male_single.png -------------------------------------------------------------------------------- /img/icons/separated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/separated.png -------------------------------------------------------------------------------- /img/icons/undefined.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/undefined.png -------------------------------------------------------------------------------- /img/icons/female_single.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/female_single.png -------------------------------------------------------------------------------- /img/icons/male_divorced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/male_divorced.png -------------------------------------------------------------------------------- /img/bg/in_a_relationship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/bg/in_a_relationship.png -------------------------------------------------------------------------------- /img/icons/female_divorced.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/female_divorced.png -------------------------------------------------------------------------------- /img/icons/its_complicated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/its_complicated.png -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | # www.robotstxt.org/ 2 | # http://code.google.com/web/controlcrawlindex/ 3 | 4 | User-agent: * 5 | -------------------------------------------------------------------------------- /img/icons/in_a_relationship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/in_a_relationship.png -------------------------------------------------------------------------------- /css/fonts/Bitter-Bold-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/css/fonts/Bitter-Bold-webfont.eot -------------------------------------------------------------------------------- /css/fonts/Bitter-Bold-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/css/fonts/Bitter-Bold-webfont.ttf -------------------------------------------------------------------------------- /css/fonts/Bitter-Bold-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/css/fonts/Bitter-Bold-webfont.woff -------------------------------------------------------------------------------- /css/fonts/Bitter-Italic-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/css/fonts/Bitter-Italic-webfont.eot -------------------------------------------------------------------------------- /css/fonts/Bitter-Italic-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/css/fonts/Bitter-Italic-webfont.ttf -------------------------------------------------------------------------------- /css/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/css/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /css/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/css/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /css/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/css/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /img/bg/in_an_open_relationship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/bg/in_an_open_relationship.png -------------------------------------------------------------------------------- /css/fonts/Bitter-Italic-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/css/fonts/Bitter-Italic-webfont.woff -------------------------------------------------------------------------------- /css/fonts/Bitter-Regular-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/css/fonts/Bitter-Regular-webfont.eot -------------------------------------------------------------------------------- /css/fonts/Bitter-Regular-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/css/fonts/Bitter-Regular-webfont.ttf -------------------------------------------------------------------------------- /css/fonts/Bitter-Regular-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/css/fonts/Bitter-Regular-webfont.woff -------------------------------------------------------------------------------- /img/icons/in_an_open_relationship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/altryne/relationbook/master/img/icons/in_an_open_relationship.png -------------------------------------------------------------------------------- /lib/_grid.scss: -------------------------------------------------------------------------------- 1 | // Fixed (940px) 2 | @include grid-core($gridColumnWidth, $gridGutterWidth); 3 | 4 | // Fluid (940px) 5 | @include grid-fluid($fluidGridColumnWidth, $fluidGridGutterWidth); -------------------------------------------------------------------------------- /css/print.css: -------------------------------------------------------------------------------- 1 | /* Welcome to Compass. Use this file to define print styles. 2 | * Import this file using the following HTML or equivalent: 3 | * */ 4 | -------------------------------------------------------------------------------- /lib/print.scss: -------------------------------------------------------------------------------- 1 | /* Welcome to Compass. Use this file to define print styles. 2 | * Import this file using the following HTML or equivalent: 3 | * */ 4 | -------------------------------------------------------------------------------- /css/ie.css: -------------------------------------------------------------------------------- 1 | /* Welcome to Compass. Use this file to write IE specific override styles. 2 | * Import this file using the following HTML or equivalent: 3 | * */ 6 | -------------------------------------------------------------------------------- /css/screen.css: -------------------------------------------------------------------------------- 1 | /* Welcome to Compass. 2 | * In this file you should write your main styles. (or centralize your imports) 3 | * Import this file using the following HTML or equivalent: 4 | * */ 5 | -------------------------------------------------------------------------------- /css/states.css: -------------------------------------------------------------------------------- 1 | body[data-state="disconnected"] #start_cont{ 2 | display: none; 3 | } 4 | 5 | body[data-state="connected"] #login{ 6 | display: none; 7 | } 8 | 9 | body[data-state="connected"] #game{ 10 | position: relative; 11 | margin: 0; 12 | height: auto; 13 | } 14 | -------------------------------------------------------------------------------- /lib/ie.scss: -------------------------------------------------------------------------------- 1 | /* Welcome to Compass. Use this file to write IE specific override styles. 2 | * Import this file using the following HTML or equivalent: 3 | * */ 6 | -------------------------------------------------------------------------------- /lib/screen.scss: -------------------------------------------------------------------------------- 1 | /* Welcome to Compass. 2 | * In this file you should write your main styles. (or centralize your imports) 3 | * Import this file using the following HTML or equivalent: 4 | * */ 5 | 6 | //@import "compass/reset"; 7 | 8 | 9 | -------------------------------------------------------------------------------- /lib/_component-animations.scss: -------------------------------------------------------------------------------- 1 | // COMPONENT ANIMATIONS 2 | // -------------------- 3 | 4 | .fade { 5 | @include opacity(0); 6 | @include transition(opacity .15s linear); 7 | &.in { 8 | @include opacity(100); 9 | } 10 | } 11 | 12 | .collapse { 13 | position: relative; 14 | height: 0; 15 | overflow: hidden; 16 | @include transition(height .35s ease); 17 | &.in { 18 | height: auto; 19 | } 20 | } -------------------------------------------------------------------------------- /lib/_layouts.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Layouts 3 | // Fixed-width and fluid (with sidebar) layouts 4 | // -------------------------------------------- 5 | 6 | 7 | // Container (centered, fixed-width layouts) 8 | .container { 9 | @include container-fixed(); 10 | } 11 | 12 | // Fluid layouts (left aligned, with sidebar, min- & max-width content) 13 | .container-fluid { 14 | padding-right: $gridGutterWidth; 15 | padding-left: $gridGutterWidth; 16 | @include clearfix(); 17 | } -------------------------------------------------------------------------------- /lib/_responsive-768px-979px.scss: -------------------------------------------------------------------------------- 1 | // PORTRAIT TABLET TO DEFAULT DESKTOP 2 | // ---------------------------------- 3 | 4 | @media (min-width: 768px) and (max-width: 979px) { 5 | 6 | // Fixed grid 7 | @include grid-core(42px, 20px); 8 | 9 | // Fluid grid 10 | @include grid-fluid(5.801104972%, 2.762430939%); 11 | 12 | // Input grid 13 | @include grid-input(42px, 20px); 14 | 15 | // No need to reset .thumbnails here since it's the same @gridGutterWidth 16 | 17 | } 18 | -------------------------------------------------------------------------------- /lib/_utilities.scss: -------------------------------------------------------------------------------- 1 | // UTILITY CLASSES 2 | // --------------- 3 | 4 | // Quick floats 5 | .pull-right { 6 | float: right; 7 | } 8 | .pull-left { 9 | float: left; 10 | } 11 | 12 | // Toggling content 13 | .hide { 14 | display: none; 15 | } 16 | .show { 17 | display: block; 18 | } 19 | 20 | // Visibility 21 | .invisible { 22 | visibility: hidden; 23 | } 24 | 25 | //Image replacement 26 | .ir { border:0; font: 0/0 a; text-shadow: none; color: transparent; background-color: transparent; } -------------------------------------------------------------------------------- /lib/_hero-unit.scss: -------------------------------------------------------------------------------- 1 | // HERO UNIT 2 | // --------- 3 | 4 | .hero-unit { 5 | padding: 60px; 6 | margin-bottom: 30px; 7 | background-color: $heroUnitBackground; 8 | @include border-radius(6px); 9 | h1 { 10 | margin-bottom: 0; 11 | font-size: 60px; 12 | line-height: 1; 13 | color: $heroUnitHeadingColor; 14 | letter-spacing: -1px; 15 | } 16 | p { 17 | font-size: 18px; 18 | font-weight: 200; 19 | line-height: $baseLineHeight * 1.5; 20 | color: $heroUnitLeadColor; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /lib/_responsive-1200px-min.scss: -------------------------------------------------------------------------------- 1 | // LARGE DESKTOP & UP 2 | // ------------------ 3 | 4 | @media (min-width: 1200px) { 5 | 6 | // Fixed grid 7 | @include grid-core(70px, 30px); 8 | 9 | // Fluid grid 10 | @include grid-fluid(5.982905983%, 2.564102564%); 11 | 12 | // Input grid 13 | @include grid-input(70px, 30px); 14 | 15 | // Thumbnails 16 | .thumbnails { 17 | margin-left: -30px; 18 | } 19 | .thumbnails > li { 20 | margin-left: 30px; 21 | } 22 | .row-fluid .thumbnails { 23 | margin-left: 0; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /lib/_breadcrumbs.scss: -------------------------------------------------------------------------------- 1 | // BREADCRUMBS 2 | // ----------- 3 | 4 | .breadcrumb { 5 | padding: 7px 14px; 6 | margin: 0 0 $baseLineHeight; 7 | list-style: none; 8 | @include gradient-vertical($white, #f5f5f5); 9 | border: 1px solid #ddd; 10 | @include border-radius(3px); 11 | @include box-shadow(inset 0 1px 0 $white); 12 | li { 13 | display: inline-block; 14 | @include ie7-inline-block(); 15 | text-shadow: 0 1px 0 $white; 16 | } 17 | .divider { 18 | padding: 0 5px; 19 | color: $grayLight; 20 | } 21 | .active a { 22 | color: $grayDark; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /lib/_wells.scss: -------------------------------------------------------------------------------- 1 | // WELLS 2 | // ----- 3 | 4 | .well { 5 | min-height: 20px; 6 | padding: 19px; 7 | margin-bottom: 20px; 8 | background-color: #f5f5f5; 9 | border: 1px solid #eee; 10 | border: 1px solid rgba(0,0,0,.05); 11 | @include border-radius(4px); 12 | @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 13 | blockquote { 14 | border-color: #ddd; 15 | border-color: rgba(0,0,0,.15); 16 | } 17 | } 18 | 19 | // Sizes 20 | .well-large { 21 | padding: 24px; 22 | @include border-radius(6px); 23 | } 24 | .well-small { 25 | padding: 9px; 26 | @include border-radius(3px); 27 | } 28 | -------------------------------------------------------------------------------- /lib/_scaffolding.scss: -------------------------------------------------------------------------------- 1 | // Scaffolding 2 | // Basic and global styles for generating a grid system, structural layout, and page templates 3 | // ------------------------------------------------------------------------------------------- 4 | 5 | 6 | // Body reset 7 | // ---------- 8 | 9 | body { 10 | margin: 0; 11 | font-family: $baseFontFamily; 12 | font-size: $baseFontSize; 13 | line-height: $baseLineHeight; 14 | color: $textColor; 15 | background-color: $bodyBackground; 16 | } 17 | 18 | 19 | // Links 20 | // ----- 21 | 22 | a { 23 | color: $linkColor; 24 | 25 | } 26 | a:hover { 27 | color: $linkColorHover; 28 | text-decoration: underline; 29 | } 30 | -------------------------------------------------------------------------------- /lib/_close.scss: -------------------------------------------------------------------------------- 1 | // CLOSE ICONS 2 | // ----------- 3 | 4 | .close { 5 | float: right; 6 | font-size: 20px; 7 | font-weight: bold; 8 | line-height: $baseLineHeight; 9 | color: $black; 10 | text-shadow: 0 1px 0 rgba(255,255,255,1); 11 | @include opacity(20); 12 | &:hover { 13 | color: $black; 14 | text-decoration: none; 15 | cursor: pointer; 16 | @include opacity(40); 17 | } 18 | } 19 | 20 | // Additional properties for button version 21 | // iOS requires the button element instead of an anchor tag. 22 | // If you want the anchor version, it requires `href="#"`. 23 | button.close { 24 | padding: 0; 25 | cursor: pointer; 26 | background: transparent; 27 | border: 0; 28 | -webkit-appearance: none; 29 | } -------------------------------------------------------------------------------- /lib/_accordion.scss: -------------------------------------------------------------------------------- 1 | // ACCORDION 2 | // --------- 3 | 4 | 5 | // Parent container 6 | .accordion { 7 | margin-bottom: $baseLineHeight; 8 | } 9 | 10 | // Group == heading + body 11 | .accordion-group { 12 | margin-bottom: 2px; 13 | border: 1px solid #e5e5e5; 14 | @include border-radius(4px); 15 | } 16 | .accordion-heading { 17 | border-bottom: 0; 18 | } 19 | .accordion-heading .accordion-toggle { 20 | display: block; 21 | padding: 8px 15px; 22 | } 23 | 24 | // General toggle styles 25 | .accordion-toggle { 26 | cursor: pointer; 27 | } 28 | 29 | // Inner needs the styles because you can't animate properly with any styles on the element 30 | .accordion-inner { 31 | padding: 9px 15px; 32 | border-top: 1px solid #e5e5e5; 33 | } 34 | -------------------------------------------------------------------------------- /lib/_pager.scss: -------------------------------------------------------------------------------- 1 | // PAGER 2 | // ----- 3 | 4 | .pager { 5 | margin-left: 0; 6 | margin-bottom: $baseLineHeight; 7 | list-style: none; 8 | text-align: center; 9 | @include clearfix(); 10 | } 11 | .pager li { 12 | display: inline; 13 | } 14 | .pager a { 15 | display: inline-block; 16 | padding: 5px 14px; 17 | background-color: #fff; 18 | border: 1px solid #ddd; 19 | @include border-radius(15px); 20 | } 21 | .pager a:hover { 22 | text-decoration: none; 23 | background-color: #f5f5f5; 24 | } 25 | .pager .next a { 26 | float: right; 27 | } 28 | .pager .previous a { 29 | float: left; 30 | } 31 | .pager .disabled a, 32 | .pager .disabled a:hover { 33 | color: $grayLight; 34 | background-color: #fff; 35 | cursor: default; 36 | } -------------------------------------------------------------------------------- /config.rb: -------------------------------------------------------------------------------- 1 | # Require any additional compass plugins here. 2 | 3 | # Set this to the root of your project when deployed: 4 | http_path = "/" 5 | css_dir = "css" 6 | sass_dir = "lib" 7 | images_dir = "img" 8 | javascripts_dir = "js" 9 | 10 | # You can select your preferred output style here (can be overridden via the command line): 11 | # output_style = :expanded or :nested or :compact or :compressed 12 | 13 | # To enable relative paths to assets via compass helper functions. Uncomment: 14 | relative_assets = true 15 | 16 | # To disable debugging comments that display the original location of your selectors. Uncomment: 17 | line_comments = false 18 | 19 | 20 | # If you prefer the indented syntax, you might want to regenerate this 21 | # project again passing --syntax sass, or you can uncomment this: 22 | # preferred_syntax = :sass 23 | # and then run: 24 | # sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass 25 | preferred_syntax = :scss 26 | -------------------------------------------------------------------------------- /lib/_tooltip.scss: -------------------------------------------------------------------------------- 1 | // TOOLTIP 2 | // ------= 3 | 4 | .tooltip { 5 | position: absolute; 6 | z-index: $zindexTooltip; 7 | display: block; 8 | visibility: visible; 9 | padding: 5px; 10 | font-size: 11px; 11 | @include opacity(0); 12 | &.in { @include opacity(80); } 13 | &.top { margin-top: -2px; } 14 | &.right { margin-left: 2px; } 15 | &.bottom { margin-top: 2px; } 16 | &.left { margin-left: -2px; } 17 | &.top .tooltip-arrow { @include popoverArrow-top(); } 18 | &.left .tooltip-arrow { @include popoverArrow-left(); } 19 | &.bottom .tooltip-arrow { @include popoverArrow-bottom(); } 20 | &.right .tooltip-arrow { @include popoverArrow-right(); } 21 | } 22 | .tooltip-inner { 23 | max-width: 200px; 24 | padding: 3px 8px; 25 | color: $white; 26 | text-align: center; 27 | text-decoration: none; 28 | background-color: $black; 29 | @include border-radius(4px); 30 | } 31 | .tooltip-arrow { 32 | position: absolute; 33 | width: 0; 34 | height: 0; 35 | } 36 | -------------------------------------------------------------------------------- /lib/responsive.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Responsive v2.0.4 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | */ 10 | 11 | 12 | // Responsive 13 | // For phone and tablet devices 14 | // ------------------------------------------------------------- 15 | 16 | 17 | // REPEAT VARIABLES & MIXINS 18 | // ------------------------- 19 | // Required since we compile the responsive stuff separately 20 | 21 | @import "variables"; // Modify this for custom colors, font-sizes, etc 22 | @import "mixins"; 23 | 24 | 25 | // RESPONSIVE CLASSES 26 | // ------------------ 27 | 28 | @import "responsive-utilities"; 29 | 30 | 31 | // MEDIA QUERIES 32 | // ------------------ 33 | 34 | // Phones to portrait tablets and narrow desktops 35 | @import "responsive-767px-max"; 36 | 37 | // Tablets to regular desktops 38 | @import "responsive-768px-979px"; 39 | 40 | // Large desktops 41 | @import "responsive-1200px-min"; 42 | 43 | 44 | // RESPONSIVE NAVBAR 45 | // ------------------ 46 | 47 | // From 979px and below, show a button to toggle navbar contents 48 | @import "responsive-navbar"; 49 | -------------------------------------------------------------------------------- /lib/_thumbnails.scss: -------------------------------------------------------------------------------- 1 | // THUMBNAILS 2 | // ---------- 3 | // Note: `.thumbnails` and `.thumbnails > li` are overriden in responsive files 4 | 5 | // Make wrapper ul behave like the grid 6 | .thumbnails { 7 | margin-left: -$gridGutterWidth; 8 | list-style: none; 9 | @include clearfix(); 10 | } 11 | // Fluid rows have no left margin 12 | .row-fluid .thumbnails { 13 | margin-left: 0; 14 | } 15 | 16 | // Float li to make thumbnails appear in a row 17 | .thumbnails > li { 18 | float: left; // Explicity set the float since we don't require .span* classes 19 | margin-bottom: $baseLineHeight; 20 | margin-left: $gridGutterWidth; 21 | } 22 | 23 | // The actual thumbnail (can be `a` or `div`) 24 | .thumbnail { 25 | display: block; 26 | padding: 4px; 27 | line-height: 1; 28 | border: 1px solid #ddd; 29 | @include border-radius(4px); 30 | @include box-shadow(0 1px 1px rgba(0,0,0,.075)); 31 | } 32 | // Add a hover state for linked versions only 33 | a.thumbnail:hover { 34 | border-color: $linkColor; 35 | @include box-shadow(0 1px 4px rgba(0,105,214,.25)); 36 | } 37 | 38 | // Images and captions 39 | .thumbnail > img { 40 | display: block; 41 | max-width: 100%; 42 | margin-left: auto; 43 | margin-right: auto; 44 | } 45 | .thumbnail .caption { 46 | padding: 9px; 47 | } 48 | -------------------------------------------------------------------------------- /lib/_icons.scss: -------------------------------------------------------------------------------- 1 | @import "icons/*.png"; 2 | 3 | .status { 4 | &.engaged::before { 5 | @include icons-sprite(engaged); 6 | } 7 | &.single::before { 8 | @include icons-sprite(male_single); 9 | } 10 | .female &.single::before { 11 | @include icons-sprite(female_single); 12 | } 13 | &.married::before { 14 | @include icons-sprite(married); 15 | } 16 | &.divorced::before { 17 | @include icons-sprite(female_divorced); 18 | } 19 | .male &.divorced::before { 20 | @include icons-sprite(male_divorced); 21 | } 22 | &.in_a_relationship::before { 23 | @include icons-sprite(in_a_relationship); 24 | } 25 | &.in_an_open_relationship::before { 26 | @include icons-sprite(in_an_open_relationship); 27 | } 28 | &.it-s_complicated::before { 29 | @include icons-sprite(its_complicated); 30 | } 31 | &.widowed::before { 32 | @include icons-sprite(widowed); 33 | } 34 | &.separated::before { 35 | @include icons-sprite(separated); 36 | } 37 | &.isnot::before, &.not_listed::before { 38 | @include icons-sprite(undefined); 39 | } 40 | 41 | } 42 | .status::before{ 43 | background-repeat: no-repeat; 44 | padding-left:5px; 45 | content:""; 46 | width:25px; 47 | height: 25px; 48 | display: inline-block; 49 | vertical-align: middle; 50 | line-height: 25px; 51 | position: relative; 52 | top:-3px; 53 | } -------------------------------------------------------------------------------- /lib/_alerts.scss: -------------------------------------------------------------------------------- 1 | // ALERT STYLES 2 | // ------------ 3 | 4 | // Base alert styles 5 | .alert { 6 | padding: 8px 35px 8px 14px; 7 | margin-bottom: $baseLineHeight; 8 | text-shadow: 0 1px 0 rgba(255,255,255,.5); 9 | background-color: $warningBackground; 10 | border: 1px solid $warningBorder; 11 | @include border-radius(4px); 12 | color: $warningText; 13 | } 14 | .alert-heading { 15 | color: inherit; 16 | } 17 | 18 | // Adjust close link position 19 | .alert .close { 20 | position: relative; 21 | top: -2px; 22 | right: -21px; 23 | line-height: 18px; 24 | } 25 | 26 | // Alternate styles 27 | // ---------------- 28 | 29 | .alert-success { 30 | background-color: $successBackground; 31 | border-color: $successBorder; 32 | color: $successText; 33 | } 34 | .alert-danger, 35 | .alert-error { 36 | background-color: $errorBackground; 37 | border-color: $errorBorder; 38 | color: $errorText; 39 | } 40 | .alert-info { 41 | background-color: $infoBackground; 42 | border-color: $infoBorder; 43 | color: $infoText; 44 | } 45 | 46 | // Block alerts 47 | // ------------------------ 48 | .alert-block { 49 | padding-top: 14px; 50 | padding-bottom: 14px; 51 | } 52 | .alert-block > p, 53 | .alert-block > ul { 54 | margin-bottom: 0; 55 | } 56 | .alert-block p + p { 57 | margin-top: 5px; 58 | } 59 | -------------------------------------------------------------------------------- /lib/_responsive-utilities.scss: -------------------------------------------------------------------------------- 1 | // RESPONSIVE CLASSES 2 | // ------------------ 3 | 4 | // Hide from screenreaders and browsers 5 | // Credit: HTML5 Boilerplate 6 | .hidden { 7 | display: none; 8 | visibility: hidden; 9 | } 10 | 11 | // Visibility utilities 12 | 13 | // For desktops 14 | .visible-phone { display: none !important; } 15 | .visible-tablet { display: none !important; } 16 | .visible-desktop { } // Don't set initially 17 | .hidden-phone { } 18 | .hidden-tablet { } 19 | .hidden-desktop { display: none !important; } 20 | 21 | // Phones only 22 | @media (max-width: 767px) { 23 | // Show 24 | .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior 25 | // Hide 26 | .hidden-phone { display: none !important; } 27 | // Hide everything else 28 | .hidden-desktop { display: inherit !important; } 29 | .visible-desktop { display: none !important; } 30 | } 31 | 32 | // Tablets & small desktops only 33 | @media (min-width: 768px) and (max-width: 979px) { 34 | // Show 35 | .visible-tablet { display: inherit !important; } 36 | // Hide 37 | .hidden-tablet { display: none !important; } 38 | // Hide everything else 39 | .hidden-desktop { display: inherit !important; } 40 | .visible-desktop { display: none !important ; } 41 | } 42 | -------------------------------------------------------------------------------- /lib/_pagination.scss: -------------------------------------------------------------------------------- 1 | // PAGINATION 2 | // ---------- 3 | 4 | .pagination { 5 | height: $baseLineHeight * 2; 6 | margin: $baseLineHeight 0; 7 | } 8 | .pagination ul { 9 | display: inline-block; 10 | @include ie7-inline-block(); 11 | margin-left: 0; 12 | margin-bottom: 0; 13 | @include border-radius(3px); 14 | @include box-shadow(0 1px 2px rgba(0,0,0,.05)); 15 | } 16 | .pagination li { 17 | display: inline; 18 | } 19 | .pagination a { 20 | float: left; 21 | padding: 0 14px; 22 | line-height: ($baseLineHeight * 2) - 2; 23 | text-decoration: none; 24 | border: 1px solid #ddd; 25 | border-left-width: 0; 26 | } 27 | .pagination a:hover, 28 | .pagination .active a { 29 | background-color: #f5f5f5; 30 | } 31 | .pagination .active a { 32 | color: $grayLight; 33 | cursor: default; 34 | } 35 | .pagination .disabled span, 36 | .pagination .disabled a, 37 | .pagination .disabled a:hover { 38 | color: $grayLight; 39 | background-color: transparent; 40 | cursor: default; 41 | } 42 | .pagination li:first-child a { 43 | border-left-width: 1px; 44 | @include border-radius(3px 0 0 3px); 45 | } 46 | .pagination li:last-child a { 47 | @include border-radius(0 3px 3px 0); 48 | } 49 | 50 | // Centered 51 | .pagination-centered { 52 | text-align: center; 53 | } 54 | .pagination-right { 55 | text-align: right; 56 | } 57 | -------------------------------------------------------------------------------- /lib/_code.scss: -------------------------------------------------------------------------------- 1 | // Code 2 | // Code typography styles for the and
 elements
 3 | // --------------------------------------------------------
 4 | 
 5 | // Inline and block code styles
 6 | code,
 7 | pre {
 8 |   padding: 0 3px 2px;
 9 |   @include font-family-monospace;
10 |   font-size: $baseFontSize - 1;
11 |   color: $grayDark;
12 |   @include border-radius(3px);
13 | }
14 | 
15 | // Inline code
16 | code {
17 |   padding: 2px 4px;
18 |   color: #d14;
19 |   background-color: #f7f7f9;
20 |   border: 1px solid #e1e1e8;
21 | }
22 | 
23 | // Blocks of code
24 | pre {
25 |   display: block;
26 |   padding: ($baseLineHeight - 1) / 2;
27 |   margin: 0 0 $baseLineHeight / 2;
28 |   font-size: $baseFontSize * .925; // 13px to 12px
29 |   line-height: $baseLineHeight;
30 |   word-break: break-all;
31 |   word-wrap: break-word;
32 |   white-space: pre;
33 |   white-space: pre-wrap;
34 |   background-color: #f5f5f5;
35 |   border: 1px solid #ccc; // fallback for IE7-8
36 |   border: 1px solid rgba(0,0,0,.15);
37 |   @include border-radius(4px);
38 | 
39 |   // Make prettyprint styles more spaced out for readability
40 |   &.prettyprint {
41 |     margin-bottom: $baseLineHeight;
42 |   }
43 | 
44 |   // Account for some code outputs that place code tags in pre tags
45 |   code {
46 |     padding: 0;
47 |     color: inherit;
48 |     background-color: transparent;
49 |     border: 0;
50 |   }
51 | }
52 | 
53 | // Enable scrollable blocks of code
54 | .pre-scrollable {
55 |   max-height: 340px;
56 |   overflow-y: scroll;
57 | }


--------------------------------------------------------------------------------
/lib/_popovers.scss:
--------------------------------------------------------------------------------
 1 | // POPOVERS
 2 | // --------
 3 | 
 4 | .popover {
 5 |   position: absolute;
 6 |   top: 0;
 7 |   left: 0;
 8 |   z-index: $zindexPopover;
 9 |   display: none;
10 |   padding: 5px;
11 |   &.top    { margin-top:  -5px; }
12 |   &.right  { margin-left:  -10px; }
13 |   &.bottom { margin-top:   -10px; }
14 |   &.left   { margin-left:  10px; }
15 |   &.top .arrow    { @include popoverArrow-top(5px ,$grayDark); }
16 |   &.right .arrow  { @include popoverArrow-right(5px ,$grayDark); }
17 |   &.bottom .arrow { @include popoverArrow-bottom(5px ,$grayDark); }
18 |   &.left .arrow   { @include popoverArrow-left(5px ,$grayDark);  }
19 |   .arrow {
20 |     position: absolute;
21 |     width: 0;
22 |     height: 0;
23 |   }
24 | }
25 | .popover-inner {
26 | 	padding: 3px;
27 | 	width: 320px;
28 | 
29 | 	overflow: hidden;
30 | 	background: $grayDark;
31 | 	// has to be full background declaration for IE fallback
32 | 	//@include border-radius(6px);
33 | 	//@include box-shadow(0 3px 7px rgba(0, 0, 0, 0.3));
34 | 	@include box-shadow(0 1px 2px rgba(0, 0, 0, .2));
35 | 	@include border-radius(5px);
36 | }
37 | 
38 | .popover-title {
39 |   padding: 9px 15px;
40 |   line-height: 1;
41 |   background-color: #f5f5f5;
42 |   border-bottom:1px solid #eee;
43 |   @include border-radius(3px);
44 | }
45 | .popover-content {
46 |   padding: 14px;
47 | 	min-height: 86px;
48 |   background-color: $white;
49 |   @include border-radius(5px);
50 |   @include background-clip(padding-box);
51 |   p, ul, ol {
52 |     margin-bottom: 0;
53 |   }
54 | }
55 | 


--------------------------------------------------------------------------------
/humans.txt:
--------------------------------------------------------------------------------
 1 | /* the humans responsible & colophon */
 2 | /* humanstxt.org */
 3 | 
 4 | 
 5 | /* TEAM */
 6 |   : 
 7 |   Site:
 8 |   Twitter:
 9 |   Location:
10 | 
11 | /* THANKS */
12 |   Names (& URL):
13 | 
14 | /* SITE */
15 |   Standards: HTML5, CSS3
16 |   Components: Modernizr, jQuery
17 |   Software:
18 | 
19 | 
20 | 
21 |                                -o/-
22 |                                +oo//-
23 |                               :ooo+//:
24 |                              -ooooo///-
25 |                              /oooooo//:
26 |                             :ooooooo+//-
27 |                            -+oooooooo///-
28 |            -://////////////+oooooooooo++////////////::
29 |             :+ooooooooooooooooooooooooooooooooooooo+:::-
30 |               -/+ooooooooooooooooooooooooooooooo+/::////:-
31 |                 -:+oooooooooooooooooooooooooooo/::///////:-
32 |                   --/+ooooooooooooooooooooo+::://////:-
33 |                      -:+ooooooooooooooooo+:://////:--
34 |                        /ooooooooooooooooo+//////:-
35 |                       -ooooooooooooooooooo////-
36 |                       /ooooooooo+oooooooooo//:
37 |                      :ooooooo+/::/+oooooooo+//-
38 |                     -oooooo/::///////+oooooo///-
39 |                     /ooo+::://////:---:/+oooo//:
40 |                    -o+/::///////:-      -:/+o+//-
41 |                    :-:///////:-            -:/://
42 |                      -////:-                 --//:
43 |                        --                       -:
44 | 


--------------------------------------------------------------------------------
/lib/bootstrap.scss:
--------------------------------------------------------------------------------
 1 | /*!
 2 |  * Bootstrap v2.0.4
 3 |  *
 4 |  * Copyright 2012 Twitter, Inc
 5 |  * Licensed under the Apache License v2.0
 6 |  * http://www.apache.org/licenses/LICENSE-2.0
 7 |  *
 8 |  * Designed and built with all the love in the world @twitter by @mdo and @fat.
 9 |  */
10 | 
11 | // Core variables and mixins
12 | @import "variables"; // Modify this for custom colors, font-sizes, etc
13 | @import "mixins";
14 | 
15 | // CSS Reset
16 | @import "reset";
17 | 
18 | // Grid system and page structure
19 | @import "scaffolding";
20 | @import "grid";
21 | @import "layouts";
22 | 
23 | // Base CSS
24 | @import "type";
25 | //@import "code";
26 | //@import "forms";
27 | //@import "tables";
28 | 
29 | // Components: common
30 | //@import "sprites";
31 | @import "dropdowns";
32 | @import "wells";
33 | @import "component-animations";
34 | @import "close";
35 | 
36 | // Components: Buttons & Alerts
37 | @import "buttons";
38 | @import "button-groups";
39 | @import "alerts";
40 | 
41 | // Components: Nav
42 | //@import "navs";
43 | //@import "navbar";
44 | //@import "breadcrumbs";
45 | //@import "pagination";
46 | //@import "pager";
47 | 
48 | // Components: Popovers
49 | @import "modals";
50 | @import "tooltip";
51 | @import "popovers";
52 | 
53 | // Components: Misc
54 | //@import "thumbnails";
55 | //@import "labels-badges";
56 | @import "progress-bars";
57 | //@import "accordion";
58 | //@import "carousel";
59 | @import "hero-unit";
60 | 
61 | @import "font-awesome";
62 | @import "icons";
63 | @import "style";
64 | 
65 | // Utility classes
66 | @import "utilities"; // Has to be last to override when necessary
67 | 
68 | 


--------------------------------------------------------------------------------
/lib/_labels-badges.scss:
--------------------------------------------------------------------------------
 1 | // LABELS & BADGES
 2 | // ---------------
 3 | 
 4 | // Base classes
 5 | .label,
 6 | .badge {
 7 |   font-size: $baseFontSize * .846;
 8 |   font-weight: bold;
 9 |   line-height: 14px; // ensure proper line-height if floated
10 |   color: $white;
11 |   vertical-align: baseline;
12 |   white-space: nowrap;
13 |   text-shadow: 0 -1px 0 rgba(0,0,0,.25);
14 |   background-color: $grayLight;
15 | }
16 | // Set unique padding and border-radii
17 | .label {
18 |   padding: 1px 4px 2px;
19 |   @include border-radius(3px);
20 | }
21 | .badge {
22 |   padding: 1px 9px 2px;
23 |   @include border-radius(9px);
24 | }
25 | 
26 | // Hover state, but only for links
27 | a {
28 |   &.label:hover,
29 |   &.badge:hover {
30 |     color: $white;
31 |     text-decoration: none;
32 |     cursor: pointer;
33 |   }
34 | }
35 | 
36 | // Colors
37 | // Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute)
38 | // Important (red)
39 | .label-important, .badge-important               { background-color: $errorText; }
40 | .label-important[href], .badge-important[href]   { background-color: darken($errorText, 10%); }
41 | // Warnings (orange)
42 | .label-warning, .badge-warning                   { background-color: $orange; }
43 | .label-warning[href], .badge-warning[href]       { background-color: darken($orange, 10%); }
44 | // Success (green)
45 | .label-success, .badge-success                   { background-color: $successText; }
46 | .label-success[href], .badge-success[href]       { background-color: darken($successText, 10%); }
47 | // Info (turquoise)
48 | .label-info, .badge-info                         { background-color: $infoText; }
49 | .label-info[href], .badge-info[href]             { background-color: darken($infoText, 10%); }
50 | // Inverse (black)
51 | .label-inverse, .badge-inverse                   { background-color: $grayDark; }
52 | .label-inverse[href], .badge-inverse[href]       { background-color: darken($grayDark, 10%); }
53 | 


--------------------------------------------------------------------------------
/lib/_modals.scss:
--------------------------------------------------------------------------------
 1 | // MODALS
 2 | // ------
 3 | 
 4 | // Recalculate z-index where appropriate
 5 | .modal-open {
 6 |   .dropdown-menu {  z-index: $zindexDropdown + $zindexModal; }
 7 |   .dropdown.open { *z-index: $zindexDropdown + $zindexModal; }
 8 |   .popover       {  z-index: $zindexPopover  + $zindexModal; }
 9 |   .tooltip       {  z-index: $zindexTooltip  + $zindexModal; }
10 | }
11 | 
12 | // Background
13 | .modal-backdrop {
14 |   position: fixed;
15 |   top: 0;
16 |   right: 0;
17 |   bottom: 0;
18 |   left: 0;
19 |   z-index: $zindexModalBackdrop;
20 |   background-color: $black;
21 |   // Fade for backdrop
22 |   &.fade { opacity: 0; }
23 | }
24 | 
25 | .modal-backdrop,
26 | .modal-backdrop.fade.in {
27 |   @include opacity(80);
28 | }
29 | 
30 | // Base modal
31 | .modal {
32 |   position: fixed;
33 |   top: 50%;
34 |   left: 50%;
35 |   z-index: $zindexModal;
36 | 
37 |   width: 560px;
38 |   margin: -113px 0 0 -280px;
39 |   background-color: $white;
40 |   border: 1px solid #999;
41 |   border: 1px solid rgba(0,0,0,.3);
42 |   *border: 1px solid #999; /* IE6-7 */
43 |   @include border-radius(6px);
44 |   @include box-shadow(0 3px 7px rgba(0,0,0,0.3));
45 |   @include background-clip(padding-box);
46 |   &.fade {
47 |     @include transition(#{opacity .3s linear, top .3s ease-out});
48 |     top: -25%;
49 |   }
50 |   &.fade.in { top: 50%; }
51 | }
52 | .modal-header {
53 |   padding: 9px 15px;
54 |   border-bottom: 1px solid #eee;
55 |   // Close icon
56 |   .close { margin-top: 2px; }
57 | }
58 | 
59 | // Body (where all modal content resides)
60 | .modal-body {
61 |   overflow-y: auto;
62 |   max-height: 400px;
63 |   padding: 15px;
64 | }
65 | // Remove bottom margin if need be
66 | .modal-form {
67 |   margin-bottom: 0;
68 | }
69 | 
70 | // Footer (for actions)
71 | .modal-footer {
72 |   padding: 14px 15px 15px;
73 |   margin-bottom: 0;
74 |   text-align: right; // right align buttons
75 |   background-color: #f5f5f5;
76 |   border-top: 1px solid #ddd;
77 |   @include border-radius(0 0 6px 6px);
78 |   @include box-shadow(inset 0 1px 0 $white);
79 |   @include clearfix(); // clear it in case folks use .pull-* classes on buttons
80 | 
81 |   // Properly space out buttons
82 |   .btn + .btn {
83 |     margin-left: 5px;
84 |     margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs
85 |   }
86 |   // but override that for button groups
87 |   .btn-group .btn + .btn {
88 |     margin-left: -1px;
89 |   }
90 | }
91 | 


--------------------------------------------------------------------------------
/lib/_carousel.scss:
--------------------------------------------------------------------------------
  1 | // CAROUSEL
  2 | // --------
  3 | 
  4 | .carousel {
  5 |   position: relative;
  6 |   margin-bottom: $baseLineHeight;
  7 |   line-height: 1;
  8 | }
  9 | 
 10 | .carousel-inner {
 11 |   overflow: hidden;
 12 |   width: 100%;
 13 |   position: relative;
 14 | }
 15 | 
 16 | .carousel {
 17 | 
 18 |   .item {
 19 |     display: none;
 20 |     position: relative;
 21 |     @include transition(.6s ease-in-out left);
 22 |   }
 23 | 
 24 |   // Account for jankitude on images
 25 |   .item > img {
 26 |     display: block;
 27 |     line-height: 1;
 28 |   }
 29 | 
 30 |   .active,
 31 |   .next,
 32 |   .prev { display: block; }
 33 | 
 34 |   .active {
 35 |     left: 0;
 36 |   }
 37 | 
 38 |   .next,
 39 |   .prev {
 40 |     position: absolute;
 41 |     top: 0;
 42 |     width: 100%;
 43 |   }
 44 | 
 45 |   .next {
 46 |     left: 100%;
 47 |   }
 48 |   .prev {
 49 |     left: -100%;
 50 |   }
 51 |   .next.left,
 52 |   .prev.right {
 53 |     left: 0;
 54 |   }
 55 | 
 56 |   .active.left {
 57 |     left: -100%;
 58 |   }
 59 |   .active.right {
 60 |     left: 100%;
 61 |   }
 62 | 
 63 | }
 64 | 
 65 | // Left/right controls for nav
 66 | // ---------------------------
 67 | 
 68 | .carousel-control {
 69 |   position: absolute;
 70 |   top: 40%;
 71 |   left: 15px;
 72 |   width: 40px;
 73 |   height: 40px;
 74 |   margin-top: -20px;
 75 |   font-size: 60px;
 76 |   font-weight: 100;
 77 |   line-height: 30px;
 78 |   color: $white;
 79 |   text-align: center;
 80 |   background: $grayDarker;
 81 |   border: 3px solid $white;
 82 |   @include border-radius(23px);
 83 |   @include opacity(50);
 84 | 
 85 |   // we can't have this transition here
 86 |   // because webkit cancels the carousel
 87 |   // animation if you trip this while
 88 |   // in the middle of another animation
 89 |   // ;_;
 90 |   // .transition(opacity .2s linear);
 91 | 
 92 |   // Reposition the right one
 93 |   &.right {
 94 |     left: auto;
 95 |     right: 15px;
 96 |   }
 97 | 
 98 |   // Hover state
 99 |   &:hover {
100 |     color: $white;
101 |     text-decoration: none;
102 |     @include opacity(90);
103 |   }
104 | }
105 | 
106 | // Caption for text below images
107 | // -----------------------------
108 | 
109 | .carousel-caption {
110 |   position: absolute;
111 |   left: 0;
112 |   right: 0;
113 |   bottom: 0;
114 |   padding: 10px 15px 5px;
115 |   background: $grayDark;
116 |   background: rgba(0,0,0,.75);
117 | }
118 | .carousel-caption h4,
119 | .carousel-caption p {
120 |   color: $white;
121 | }
122 | 


--------------------------------------------------------------------------------
/lib/_progress-bars.scss:
--------------------------------------------------------------------------------
  1 | // PROGRESS BARS
  2 | // -------------
  3 | 
  4 | 
  5 | // ANIMATIONS
  6 | // ----------
  7 | 
  8 | // Webkit
  9 | @-webkit-keyframes progress-bar-stripes {
 10 |   from  { background-position: 40px 0; }
 11 |   to    { background-position: 0 0; }
 12 | }
 13 | 
 14 | // Firefox
 15 | @-moz-keyframes progress-bar-stripes {
 16 |   from  { background-position: 40px 0; }
 17 |   to    { background-position: 0 0; }
 18 | }
 19 | 
 20 | // IE9
 21 | @-ms-keyframes progress-bar-stripes {
 22 |   from  { background-position: 40px 0; }
 23 |   to    { background-position: 0 0; }
 24 | }
 25 | 
 26 | // Opera
 27 | @-o-keyframes progress-bar-stripes {
 28 |   from  { background-position: 0 0; }
 29 |   to    { background-position: 40px 0; }
 30 | }
 31 | 
 32 | // Spec
 33 | @keyframes progress-bar-stripes {
 34 |   from  { background-position: 40px 0; }
 35 |   to    { background-position: 0 0; }
 36 | }
 37 | 
 38 | 
 39 | 
 40 | // THE BARS
 41 | // --------
 42 | 
 43 | // Outer container
 44 | .progress {
 45 |   overflow: hidden;
 46 |   height: 18px;
 47 |   margin-bottom: 18px;
 48 |   @include gradient-vertical(#f5f5f5, #f9f9f9);
 49 |   @include box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
 50 |   @include border-radius(4px);
 51 | }
 52 | 
 53 | // Bar of progress
 54 | .progress .bar {
 55 |   width: 0%;
 56 |   height: 18px;
 57 |   color: $white;
 58 |   font-size: 12px;
 59 |   text-align: center;
 60 |   text-shadow: 0 -1px 0 rgba(0,0,0,.25);
 61 |   @include gradient-vertical(#149bdf, #0480be);
 62 |   @include box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
 63 |   @include box-sizing(border-box);
 64 |   @include transition(width .6s ease);
 65 | }
 66 | 
 67 | // Striped bars
 68 | .progress-striped .bar {
 69 |   @include gradient-striped(#149bdf);
 70 |   @include background-size(40px 40px);
 71 | }
 72 | 
 73 | // Call animation for the active one
 74 | .progress.active .bar {
 75 |   -webkit-animation: progress-bar-stripes 2s linear infinite;
 76 |      -moz-animation: progress-bar-stripes 2s linear infinite;
 77 |       -ms-animation: progress-bar-stripes 2s linear infinite;
 78 |        -o-animation: progress-bar-stripes 2s linear infinite;
 79 |           animation: progress-bar-stripes 2s linear infinite;
 80 | }
 81 | 
 82 | 
 83 | 
 84 | // COLORS
 85 | // ------
 86 | 
 87 | // Danger (red)
 88 | .progress-danger .bar {
 89 |   @include gradient-vertical(#ee5f5b, #c43c35);
 90 | }
 91 | .progress-danger.progress-striped .bar {
 92 |   @include gradient-striped(#ee5f5b);
 93 | }
 94 | 
 95 | // Success (green)
 96 | .progress-success .bar {
 97 |   @include gradient-vertical(#62c462, #57a957);
 98 | }
 99 | .progress-success.progress-striped .bar {
100 |   @include gradient-striped(#62c462);
101 | }
102 | 
103 | // Info (teal)
104 | .progress-info .bar {
105 |   @include gradient-vertical(#5bc0de, #339bb9);
106 | }
107 | .progress-info.progress-striped .bar {
108 |   @include gradient-striped(#5bc0de);
109 | }
110 | 
111 | // Warning (orange)
112 | .progress-warning .bar {
113 |   @include gradient-vertical(lighten($orange, 15%), $orange);
114 | }
115 | .progress-warning.progress-striped .bar {
116 |   @include gradient-striped(lighten($orange, 15%));
117 | }
118 | 


--------------------------------------------------------------------------------
/lib/_reset.scss:
--------------------------------------------------------------------------------
  1 | // Reset
  2 | // Adapted from Normalize.css http://github.com/necolas/normalize.css
  3 | // ------------------------------------------------------------------------
  4 | 
  5 | // Display in IE6-9 and FF3
  6 | // -------------------------
  7 | 
  8 | article,
  9 | aside,
 10 | details,
 11 | figcaption,
 12 | figure,
 13 | footer,
 14 | header,
 15 | hgroup,
 16 | nav,
 17 | section {
 18 |   display: block;
 19 | }
 20 | 
 21 | // Display block in IE6-9 and FF3
 22 | // -------------------------
 23 | 
 24 | audio,
 25 | canvas,
 26 | video {
 27 |   display: inline-block;
 28 |   *display: inline;
 29 |   *zoom: 1;
 30 | }
 31 | 
 32 | // Prevents modern browsers from displaying 'audio' without controls
 33 | // -------------------------
 34 | 
 35 | audio:not([controls]) {
 36 |     display: none;
 37 | }
 38 | 
 39 | // Base settings
 40 | // -------------------------
 41 | 
 42 | html {
 43 |   font-size: 100%;
 44 |   -webkit-text-size-adjust: 100%;
 45 |       -ms-text-size-adjust: 100%;
 46 | }
 47 | // Focus states
 48 | a:focus {
 49 |   @include tab-focus();
 50 | }
 51 | // Hover & Active
 52 | a:hover,
 53 | a:active {
 54 |   outline: 0;
 55 | }
 56 | 
 57 | // Prevents sub and sup affecting line-height in all browsers
 58 | // -------------------------
 59 | 
 60 | sub,
 61 | sup {
 62 |   position: relative;
 63 |   font-size: 75%;
 64 |   line-height: 0;
 65 |   vertical-align: baseline;
 66 | }
 67 | sup {
 68 |   top: -0.5em;
 69 | }
 70 | sub {
 71 |   bottom: -0.25em;
 72 | }
 73 | 
 74 | // Img border in a's and image quality
 75 | // -------------------------
 76 | 
 77 | img {
 78 |   max-width: 100%; // Make images inherently responsive
 79 |   vertical-align: middle;
 80 |   border: 0;
 81 |   -ms-interpolation-mode: bicubic;
 82 | }
 83 | 
 84 | // Prevent max-width from affecting Google Maps
 85 | #map_canvas img {
 86 |   max-width: none;
 87 | }
 88 | 
 89 | // Forms
 90 | // -------------------------
 91 | 
 92 | // Font size in all browsers, margin changes, misc consistency
 93 | button,
 94 | input,
 95 | select,
 96 | textarea {
 97 |   margin: 0;
 98 |   font-size: 100%;
 99 |   vertical-align: middle;
100 | }
101 | button,
102 | input {
103 |   *overflow: visible; // Inner spacing ie IE6/7
104 |   line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
105 | }
106 | button::-moz-focus-inner,
107 | input::-moz-focus-inner { // Inner padding and border oddities in FF3/4
108 |   padding: 0;
109 |   border: 0;
110 | }
111 | button,
112 | input[type="button"],
113 | input[type="reset"],
114 | input[type="submit"] {
115 |   cursor: pointer; // Cursors on all buttons applied consistently
116 |   -webkit-appearance: button; // Style clickable inputs in iOS
117 | }
118 | input[type="search"] { // Appearance in Safari/Chrome
119 |   -webkit-box-sizing: content-box;
120 |      -moz-box-sizing: content-box;
121 |           box-sizing: content-box;
122 |   -webkit-appearance: textfield;
123 | }
124 | input[type="search"]::-webkit-search-decoration,
125 | input[type="search"]::-webkit-search-cancel-button {
126 |   -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5
127 | }
128 | textarea {
129 |   overflow: auto; // Remove vertical scrollbar in IE6-9
130 |   vertical-align: top; // Readability and alignment cross-browser
131 | }
132 | 


--------------------------------------------------------------------------------
/lib/_responsive-767px-max.scss:
--------------------------------------------------------------------------------
  1 | // UP TO LANDSCAPE PHONE
  2 | // ---------------------
  3 | 
  4 | @media (max-width: 480px) {
  5 | 
  6 |   // Smooth out the collapsing/expanding nav
  7 |   .nav-collapse {
  8 |     -webkit-transform: translate3d(0, 0, 0); // activate the GPU
  9 |   }
 10 | 
 11 |   // Block level the page header small tag for readability
 12 |   .page-header h1 small {
 13 |     display: block;
 14 |     line-height: $baseLineHeight;
 15 |   }
 16 | 
 17 |   // Update checkboxes for iOS
 18 |   input[type="checkbox"],
 19 |   input[type="radio"] {
 20 |     border: 1px solid #ccc;
 21 |   }
 22 | 
 23 |   // Remove the horizontal form styles
 24 |   .form-horizontal .control-group > label {
 25 |     float: none;
 26 |     width: auto;
 27 |     padding-top: 0;
 28 |     text-align: left;
 29 |   }
 30 |   // Move over all input controls and content
 31 |   .form-horizontal .controls {
 32 |     margin-left: 0;
 33 |   }
 34 |   // Move the options list down to align with labels
 35 |   .form-horizontal .control-list {
 36 |     padding-top: 0; // has to be padding because margin collaspes
 37 |   }
 38 |   // Move over buttons in .form-actions to align with .controls
 39 |   .form-horizontal .form-actions {
 40 |     padding-left: 10px;
 41 |     padding-right: 10px;
 42 |   }
 43 | 
 44 |   // Modals
 45 |   .modal {
 46 |     position: absolute;
 47 |     top:   10px;
 48 |     left:  10px;
 49 |     right: 10px;
 50 |     width: auto;
 51 |     margin: 0;
 52 |     &.fade.in { top: auto; }
 53 |   }
 54 |   .modal-header .close {
 55 |     padding: 10px;
 56 |     margin: -10px;
 57 |   }
 58 | 
 59 |   // Carousel
 60 |   .carousel-caption {
 61 |     position: static;
 62 |   }
 63 | 
 64 | }
 65 | 
 66 | 
 67 | 
 68 | // LANDSCAPE PHONE TO SMALL DESKTOP & PORTRAIT TABLET
 69 | // --------------------------------------------------
 70 | 
 71 | @media (max-width: 767px) {
 72 | 
 73 |   // Padding to set content in a bit
 74 |   body {
 75 |     padding-left: 20px;
 76 |     padding-right: 20px;
 77 |   }
 78 |   // Negative indent the now static "fixed" navbar
 79 |   .navbar-fixed-top,
 80 |   .navbar-fixed-bottom {
 81 |     margin-left: -20px;
 82 |     margin-right: -20px;
 83 |   }
 84 |   // Remove padding on container given explicit padding set on body
 85 |   .container-fluid {
 86 |     padding: 0;
 87 |   }
 88 | 
 89 |   // TYPOGRAPHY
 90 |   // ----------
 91 |   // Reset horizontal dl
 92 |   .dl-horizontal {
 93 |     dt {
 94 |       float: none;
 95 |       clear: none;
 96 |       width: auto;
 97 |       text-align: left;
 98 |     }
 99 |     dd {
100 |       margin-left: 0;
101 |     }
102 |   }
103 | 
104 |   // GRID & CONTAINERS
105 |   // -----------------
106 |   // Remove width from containers
107 |   .container {
108 |     width: auto;
109 |   }
110 |   // Fluid rows
111 |   .row-fluid {
112 |     width: 100%;
113 |   }
114 |   // Undo negative margin on rows and thumbnails
115 |   .row,
116 |   .thumbnails {
117 |     margin-left: 0;
118 |   }
119 |   // Make all grid-sized elements block level again
120 |   [class*="span"],
121 |   .row-fluid [class*="span"] {
122 |     float: none;
123 |     display: block;
124 |     width: auto;
125 |     margin-left: 0;
126 |   }
127 | 
128 |   // FORM FIELDS
129 |   // -----------
130 |   // Make span* classes full width
131 |   .input-large,
132 |   .input-xlarge,
133 |   .input-xxlarge,
134 |   input[class*="span"],
135 |   select[class*="span"],
136 |   textarea[class*="span"],
137 |   .uneditable-input {
138 |     @include input-block-level();
139 |   }
140 |   // But don't let it screw up prepend/append inputs
141 |   .input-prepend input,
142 |   .input-append input,
143 |   .input-prepend input[class*="span"],
144 |   .input-append input[class*="span"] {
145 |     display: inline-block; // redeclare so they don't wrap to new lines
146 |     width: auto;
147 |   }
148 | 
149 | }
150 | 


--------------------------------------------------------------------------------
/lib/_dropdowns.scss:
--------------------------------------------------------------------------------
  1 | // DROPDOWN MENUS
  2 | // --------------
  3 | 
  4 | // Use the .menu class on any 
  • element within the topbar or ul.tabs and you'll get some superfancy dropdowns 5 | .dropup, 6 | .dropdown { 7 | position: relative; 8 | } 9 | .dropdown-toggle { 10 | // The caret makes the toggle a bit too tall in IE7 11 | *margin-bottom: -3px; 12 | } 13 | .dropdown-toggle:active, 14 | .open .dropdown-toggle { 15 | outline: 0; 16 | } 17 | 18 | // Dropdown arrow/caret 19 | // -------------------- 20 | .caret { 21 | display: inline-block; 22 | width: 0; 23 | height: 0; 24 | vertical-align: top; 25 | border-top: 4px solid $black; 26 | border-right: 4px solid transparent; 27 | border-left: 4px solid transparent; 28 | content: ""; 29 | @include opacity(30); 30 | } 31 | 32 | // Place the caret 33 | .dropdown .caret { 34 | margin-top: 8px; 35 | margin-left: 2px; 36 | } 37 | .dropdown:hover .caret, 38 | .open .caret { 39 | @include opacity(100); 40 | } 41 | 42 | // The dropdown menu (ul) 43 | // ---------------------- 44 | .dropdown-menu { 45 | position: absolute; 46 | top: 100%; 47 | left: 0; 48 | z-index: $zindexDropdown; 49 | display: none; // none by default, but block on "open" of the menu 50 | float: left; 51 | min-width: 160px; 52 | padding: 4px 0; 53 | margin: 1px 0 0; // override default ul 54 | list-style: none; 55 | background-color: $dropdownBackground; 56 | border: 1px solid #ccc; 57 | border: 1px solid rgba(0,0,0,.2); 58 | *border-right-width: 2px; 59 | *border-bottom-width: 2px; 60 | @include border-radius(5px); 61 | @include box-shadow(0 5px 10px rgba(0,0,0,.2)); 62 | -webkit-background-clip: padding-box; 63 | -moz-background-clip: padding; 64 | background-clip: padding-box; 65 | 66 | // Aligns the dropdown menu to right 67 | &.pull-right { 68 | right: 0; 69 | left: auto; 70 | } 71 | 72 | // Dividers (basically an hr) within the dropdown 73 | .divider { 74 | @include nav-divider(); 75 | } 76 | 77 | // Links within the dropdown menu 78 | a { 79 | display: block; 80 | padding: 3px 15px; 81 | clear: both; 82 | font-weight: normal; 83 | line-height: $baseLineHeight; 84 | color: $dropdownLinkColor; 85 | white-space: nowrap; 86 | } 87 | } 88 | 89 | // Hover state 90 | // ----------- 91 | .dropdown-menu li > a:hover, 92 | .dropdown-menu .active > a, 93 | .dropdown-menu .active > a:hover { 94 | color: $dropdownLinkColorHover; 95 | text-decoration: none; 96 | background-color: $dropdownLinkBackgroundHover; 97 | } 98 | 99 | // Open state for the dropdown 100 | // --------------------------- 101 | .open { 102 | // IE7's z-index only goes to the nearest positioned ancestor, which would 103 | // make the menu appear below buttons that appeared later on the page 104 | *z-index: $zindexDropdown; 105 | 106 | .dropdown-menu { 107 | display: block; 108 | } 109 | } 110 | 111 | // Right aligned dropdowns 112 | // --------------------------- 113 | .pull-right .dropdown-menu { 114 | right: 0; 115 | left: auto; 116 | } 117 | 118 | // Allow for dropdowns to go bottom up (aka, dropup-menu) 119 | // ------------------------------------------------------ 120 | // Just add .dropup after the standard .dropdown class and you're set, bro. 121 | // TODO: abstract this so that the navbar fixed styles are not placed here? 122 | .dropup, 123 | .navbar-fixed-bottom .dropdown { 124 | // Reverse the caret 125 | .caret { 126 | border-top: 0; 127 | border-bottom: 4px solid $black; 128 | content: "\2191"; 129 | } 130 | // Different positioning for bottom up menu 131 | .dropdown-menu { 132 | top: auto; 133 | bottom: 100%; 134 | margin-bottom: 1px; 135 | } 136 | } 137 | 138 | // Typeahead 139 | // --------- 140 | .typeahead { 141 | margin-top: 2px; // give it some space to breathe 142 | @include border-radius(4px); 143 | } 144 | -------------------------------------------------------------------------------- /lib/_responsive-navbar.scss: -------------------------------------------------------------------------------- 1 | // TABLETS AND BELOW 2 | // ----------------- 3 | @media (max-width: 979px) { 4 | 5 | // UNFIX THE TOPBAR 6 | // ---------------- 7 | // Remove any padding from the body 8 | body { 9 | padding-top: 0; 10 | } 11 | // Unfix the navbar 12 | .navbar-fixed-top, 13 | .navbar-fixed-bottom { 14 | position: static; 15 | } 16 | .navbar-fixed-top { 17 | margin-bottom: $baseLineHeight; 18 | } 19 | .navbar-fixed-bottom { 20 | margin-top: $baseLineHeight; 21 | } 22 | .navbar-fixed-top .navbar-inner, 23 | .navbar-fixed-bottom .navbar-inner { 24 | padding: 5px; 25 | } 26 | .navbar .container { 27 | width: auto; 28 | padding: 0; 29 | } 30 | // Account for brand name 31 | .navbar .brand { 32 | padding-left: 10px; 33 | padding-right: 10px; 34 | margin: 0 0 0 -5px; 35 | } 36 | 37 | // COLLAPSIBLE NAVBAR 38 | // ------------------ 39 | // Nav collapse clears brand 40 | .nav-collapse { 41 | clear: both; 42 | } 43 | // Block-level the nav 44 | .nav-collapse .nav { 45 | float: none; 46 | margin: 0 0 ($baseLineHeight / 2); 47 | } 48 | .nav-collapse .nav > li { 49 | float: none; 50 | } 51 | .nav-collapse .nav > li > a { 52 | margin-bottom: 2px; 53 | } 54 | .nav-collapse .nav > .divider-vertical { 55 | display: none; 56 | } 57 | .nav-collapse .nav .nav-header { 58 | color: $navbarText; 59 | text-shadow: none; 60 | } 61 | // Nav and dropdown links in navbar 62 | .nav-collapse .nav > li > a, 63 | .nav-collapse .dropdown-menu a { 64 | padding: 6px 15px; 65 | font-weight: bold; 66 | color: $navbarLinkColor; 67 | @include border-radius(3px); 68 | } 69 | // Buttons 70 | .nav-collapse .btn { 71 | padding: 4px 10px 4px; 72 | font-weight: normal; 73 | @include border-radius(4px); 74 | } 75 | .nav-collapse .dropdown-menu li + li a { 76 | margin-bottom: 2px; 77 | } 78 | .nav-collapse .nav > li > a:hover, 79 | .nav-collapse .dropdown-menu a:hover { 80 | background-color: $navbarBackground; 81 | } 82 | // Buttons in the navbar 83 | .nav-collapse.in .btn-group { 84 | margin-top: 5px; 85 | padding: 0; 86 | } 87 | // Dropdowns in the navbar 88 | .nav-collapse .dropdown-menu { 89 | position: static; 90 | top: auto; 91 | left: auto; 92 | float: none; 93 | display: block; 94 | max-width: none; 95 | margin: 0 15px; 96 | padding: 0; 97 | background-color: transparent; 98 | border: none; 99 | @include border-radius(0); 100 | @include box-shadow(none); 101 | } 102 | .nav-collapse .dropdown-menu:before, 103 | .nav-collapse .dropdown-menu:after { 104 | display: none; 105 | } 106 | .nav-collapse .dropdown-menu .divider { 107 | display: none; 108 | } 109 | // Forms in navbar 110 | .nav-collapse .navbar-form, 111 | .nav-collapse .navbar-search { 112 | float: none; 113 | padding: ($baseLineHeight / 2) 15px; 114 | margin: ($baseLineHeight / 2) 0; 115 | border-top: 1px solid $navbarBackground; 116 | border-bottom: 1px solid $navbarBackground; 117 | @include box-shadow(#{inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)}); 118 | } 119 | // Pull right (secondary) nav content 120 | .navbar .nav-collapse .nav.pull-right { 121 | float: none; 122 | margin-left: 0; 123 | } 124 | // Hide everything in the navbar save .brand and toggle button */ 125 | .nav-collapse, 126 | .nav-collapse.collapse { 127 | overflow: hidden; 128 | height: 0; 129 | } 130 | // Navbar button 131 | .navbar .btn-navbar { 132 | display: block; 133 | } 134 | 135 | // STATIC NAVBAR 136 | // ------------- 137 | .navbar-static .navbar-inner { 138 | padding-left: 10px; 139 | padding-right: 10px; 140 | } 141 | } 142 | 143 | 144 | // DEFAULT DESKTOP 145 | // --------------- 146 | 147 | // Required to make the collapsing navbar work on regular desktops 148 | @media (min-width: 980px) { 149 | .nav-collapse.collapse { 150 | height: auto !important; 151 | overflow: visible !important; 152 | } 153 | } -------------------------------------------------------------------------------- /lib/_tables.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Tables 3 | // Tables for, you guessed it, tabular data 4 | // ---------------------------------------- 5 | 6 | 7 | // BASE TABLES 8 | // ----------------- 9 | 10 | table { 11 | max-width: 100%; 12 | background-color: $tableBackground; 13 | border-collapse: collapse; 14 | border-spacing: 0; 15 | } 16 | 17 | // BASELINE STYLES 18 | // --------------- 19 | 20 | .table { 21 | width: 100%; 22 | margin-bottom: $baseLineHeight; 23 | // Cells 24 | th, 25 | td { 26 | padding: 8px; 27 | line-height: $baseLineHeight; 28 | text-align: left; 29 | vertical-align: top; 30 | border-top: 1px solid $tableBorder; 31 | } 32 | th { 33 | font-weight: bold; 34 | } 35 | // Bottom align for column headings 36 | thead th { 37 | vertical-align: bottom; 38 | } 39 | // Remove top border from thead by default 40 | caption + thead tr:first-child th, 41 | caption + thead tr:first-child td, 42 | colgroup + thead tr:first-child th, 43 | colgroup + thead tr:first-child td, 44 | thead:first-child tr:first-child th, 45 | thead:first-child tr:first-child td { 46 | border-top: 0; 47 | } 48 | // Account for multiple tbody instances 49 | tbody + tbody { 50 | border-top: 2px solid $tableBorder; 51 | } 52 | } 53 | 54 | 55 | 56 | // CONDENSED TABLE W/ HALF PADDING 57 | // ------------------------------- 58 | 59 | .table-condensed { 60 | th, 61 | td { 62 | padding: 4px 5px; 63 | } 64 | } 65 | 66 | 67 | // BORDERED VERSION 68 | // ---------------- 69 | 70 | .table-bordered { 71 | border: 1px solid $tableBorder; 72 | border-collapse: separate; // Done so we can round those corners! 73 | *border-collapse: collapsed; // IE7 can't round corners anyway 74 | border-left: 0; 75 | @include border-radius(4px); 76 | th, 77 | td { 78 | border-left: 1px solid $tableBorder; 79 | } 80 | // Prevent a double border 81 | caption + thead tr:first-child th, 82 | caption + tbody tr:first-child th, 83 | caption + tbody tr:first-child td, 84 | colgroup + thead tr:first-child th, 85 | colgroup + tbody tr:first-child th, 86 | colgroup + tbody tr:first-child td, 87 | thead:first-child tr:first-child th, 88 | tbody:first-child tr:first-child th, 89 | tbody:first-child tr:first-child td { 90 | border-top: 0; 91 | } 92 | // For first th or td in the first row in the first thead or tbody 93 | thead:first-child tr:first-child th:first-child, 94 | tbody:first-child tr:first-child td:first-child { 95 | -webkit-border-top-left-radius: 4px; 96 | border-top-left-radius: 4px; 97 | -moz-border-radius-topleft: 4px; 98 | } 99 | thead:first-child tr:first-child th:last-child, 100 | tbody:first-child tr:first-child td:last-child { 101 | -webkit-border-top-right-radius: 4px; 102 | border-top-right-radius: 4px; 103 | -moz-border-radius-topright: 4px; 104 | } 105 | // For first th or td in the first row in the first thead or tbody 106 | thead:last-child tr:last-child th:first-child, 107 | tbody:last-child tr:last-child td:first-child { 108 | @include border-radius(0 0 0 4px); 109 | -webkit-border-bottom-left-radius: 4px; 110 | border-bottom-left-radius: 4px; 111 | -moz-border-radius-bottomleft: 4px; 112 | } 113 | thead:last-child tr:last-child th:last-child, 114 | tbody:last-child tr:last-child td:last-child { 115 | -webkit-border-bottom-right-radius: 4px; 116 | border-bottom-right-radius: 4px; 117 | -moz-border-radius-bottomright: 4px; 118 | } 119 | } 120 | 121 | 122 | // ZEBRA-STRIPING 123 | // -------------- 124 | 125 | // Default zebra-stripe styles (alternating gray and transparent backgrounds) 126 | .table-striped { 127 | tbody { 128 | tr:nth-child(odd) td, 129 | tr:nth-child(odd) th { 130 | background-color: $tableBackgroundAccent; 131 | } 132 | } 133 | } 134 | 135 | 136 | // HOVER EFFECT 137 | // ------------ 138 | // Placed here since it has to come after the potential zebra striping 139 | .table { 140 | tbody tr:hover td, 141 | tbody tr:hover th { 142 | background-color: $tableBackgroundHover; 143 | } 144 | } 145 | 146 | 147 | // TABLE CELL SIZING 148 | // ----------------- 149 | 150 | // Change the columns 151 | table { 152 | @for $i from 1 through 24 { 153 | .span#{$i} { @include tableColumns($i); } 154 | } 155 | } 156 | -------------------------------------------------------------------------------- /lib/_type.scss: -------------------------------------------------------------------------------- 1 | // Typography 2 | // Headings, body text, lists, code, and more for a versatile and durable typography system 3 | // ---------------------------------------------------------------------------------------- 4 | 5 | 6 | // BODY TEXT 7 | // --------- 8 | 9 | p { 10 | margin: 0 0 $baseLineHeight / 2; 11 | small { 12 | font-size: $baseFontSize - 2; 13 | color: $grayLight; 14 | } 15 | } 16 | .lead { 17 | margin-bottom: $baseLineHeight; 18 | font-size: 20px; 19 | font-weight: 200; 20 | line-height: $baseLineHeight * 1.5; 21 | } 22 | 23 | // HEADINGS 24 | // -------- 25 | 26 | h1, h2, h3, h4, h5, h6 { 27 | margin: 0; 28 | font-family: $headingsFontFamily; 29 | font-weight: $headingsFontWeight; 30 | color: $headingsColor; 31 | text-rendering: optimizelegibility; // Fix the character spacing for headings 32 | small { 33 | font-weight: normal; 34 | color: $grayLight; 35 | } 36 | } 37 | h1 { 38 | font-size: 30px; 39 | line-height: $baseLineHeight * 2; 40 | small { 41 | font-size: 18px; 42 | } 43 | } 44 | h2 { 45 | font-size: 24px; 46 | line-height: $baseLineHeight * 2; 47 | small { 48 | font-size: 18px; 49 | } 50 | } 51 | h3 { 52 | font-size: 18px; 53 | line-height: $baseLineHeight * 1.5; 54 | small { 55 | font-size: 14px; 56 | } 57 | } 58 | h4, h5, h6 { 59 | line-height: $baseLineHeight; 60 | } 61 | h4 { 62 | font-size: 14px; 63 | small { 64 | font-size: 12px; 65 | } 66 | } 67 | h5 { 68 | font-size: 12px; 69 | } 70 | h6 { 71 | font-size: 11px; 72 | color: $grayLight; 73 | text-transform: uppercase; 74 | } 75 | 76 | // Page header 77 | .page-header { 78 | padding-bottom: $baseLineHeight - 1; 79 | margin: $baseLineHeight 0; 80 | border-bottom: 1px solid $grayLighter; 81 | } 82 | .page-header h1 { 83 | line-height: 1; 84 | } 85 | 86 | 87 | 88 | // LISTS 89 | // ----- 90 | 91 | // Unordered and Ordered lists 92 | ul, ol { 93 | padding: 0; 94 | margin: 0 0 $baseLineHeight / 2 25px; 95 | } 96 | ul ul, 97 | ul ol, 98 | ol ol, 99 | ol ul { 100 | margin-bottom: 0; 101 | } 102 | ul { 103 | list-style: disc; 104 | } 105 | ol { 106 | list-style: decimal; 107 | } 108 | li { 109 | line-height: $baseLineHeight; 110 | } 111 | ul.unstyled, 112 | ol.unstyled { 113 | margin-left: 0; 114 | list-style: none; 115 | } 116 | 117 | // Description Lists 118 | dl { 119 | margin-bottom: $baseLineHeight; 120 | } 121 | dt, 122 | dd { 123 | line-height: $baseLineHeight; 124 | } 125 | dt { 126 | font-weight: bold; 127 | line-height: $baseLineHeight - 1; // fix jank Helvetica Neue font bug 128 | } 129 | dd { 130 | margin-left: $baseLineHeight / 2; 131 | } 132 | // Horizontal layout (like forms) 133 | .dl-horizontal { 134 | dt { 135 | float: left; 136 | width: 120px; 137 | clear: left; 138 | text-align: right; 139 | @include text-overflow(); 140 | } 141 | dd { 142 | margin-left: 130px; 143 | } 144 | } 145 | 146 | // MISC 147 | // ---- 148 | 149 | // Horizontal rules 150 | hr { 151 | margin: $baseLineHeight 0; 152 | border: 0; 153 | border-top: 1px solid #d3d6da; 154 | border-bottom: 1px solid $white; 155 | } 156 | 157 | // Emphasis 158 | strong { 159 | font-weight: bold; 160 | } 161 | em { 162 | font-style: italic; 163 | } 164 | .muted { 165 | color: $grayLight; 166 | } 167 | 168 | // Abbreviations and acronyms 169 | abbr[title] { 170 | cursor: help; 171 | border-bottom: 1px dotted $grayLight; 172 | } 173 | abbr.initialism { 174 | font-size: 90%; 175 | text-transform: uppercase; 176 | } 177 | 178 | // Blockquotes 179 | blockquote { 180 | padding: 0 0 0 15px; 181 | margin: 0 0 $baseLineHeight; 182 | border-left: 5px solid $grayLighter; 183 | p { 184 | margin-bottom: 0; 185 | @include font-shorthand(16px,300,$baseLineHeight * 1.25); 186 | } 187 | small { 188 | display: block; 189 | line-height: $baseLineHeight; 190 | color: $grayLight; 191 | &:before { 192 | content: '\2014 \00A0'; 193 | } 194 | } 195 | 196 | // Float right with text-align: right 197 | &.pull-right { 198 | float: right; 199 | padding-right: 15px; 200 | padding-left: 0; 201 | border-right: 5px solid $grayLighter; 202 | border-left: 0; 203 | p, 204 | small { 205 | text-align: right; 206 | } 207 | } 208 | } 209 | 210 | // Quotes 211 | q:before, 212 | q:after, 213 | blockquote:before, 214 | blockquote:after { 215 | content: ""; 216 | } 217 | 218 | // Addresses 219 | address { 220 | display: block; 221 | margin-bottom: $baseLineHeight; 222 | font-style: normal; 223 | line-height: $baseLineHeight; 224 | } 225 | 226 | // Misc 227 | small { 228 | font-size: 100%; 229 | } 230 | cite { 231 | font-style: normal; 232 | } 233 | -------------------------------------------------------------------------------- /lib/_buttons.scss: -------------------------------------------------------------------------------- 1 | // BUTTON STYLES 2 | // ------------- 3 | 4 | 5 | // Base styles 6 | // -------------------------------------------------- 7 | 8 | // Core 9 | .btn { 10 | display: inline-block; 11 | @include ie7-inline-block(); 12 | padding: 4px 10px 4px; 13 | margin-bottom: 0; // For input.btn 14 | font-size: $baseFontSize; 15 | line-height: $baseLineHeight; 16 | *line-height: 20px; 17 | color: $grayDark; 18 | text-align: center; 19 | text-shadow: 0 1px 1px rgba(255,255,255,.75); 20 | vertical-align: middle; 21 | cursor: pointer; 22 | @include buttonBackground($btnBackground, $btnBackgroundHighlight); 23 | border: 1px solid $btnBorder; 24 | *border: 0; // Remove the border to prevent IE7's black border on input:focus 25 | border-bottom-color: darken($btnBorder, 10%); 26 | @include border-radius(4px); 27 | @include ie7-restore-left-whitespace(); // Give IE7 some love 28 | @include box-shadow(#{inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)}); 29 | text-decoration: none; 30 | } 31 | 32 | // Hover state 33 | .btn:hover { 34 | color: $grayDark; 35 | text-decoration: none; 36 | background-color: darken($white, 10%); 37 | *background-color: darken($white, 15%); /* Buttons in IE7 don't get borders, so darken on hover */ 38 | background-position: 0 -15px; 39 | 40 | // transition is only when going to hover, otherwise the background 41 | // behind the gradient (there for IE<=9 fallback) gets mismatched 42 | @include transition(background-position .1s linear); 43 | } 44 | 45 | // Focus state for keyboard and accessibility 46 | .btn:focus { 47 | @include tab-focus(); 48 | } 49 | 50 | // Active state 51 | .btn.active, 52 | .btn:active { 53 | background-color: darken($white, 10%); 54 | background-color: darken($white, 15%) \9; 55 | background-image: none; 56 | outline: 0; 57 | @include box-shadow(#{inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)}); 58 | } 59 | 60 | // Disabled state 61 | .btn.disabled, 62 | .btn[disabled] { 63 | cursor: default; 64 | background-color: darken($white, 10%); 65 | background-image: none; 66 | @include opacity(65); 67 | @include box-shadow(none); 68 | } 69 | 70 | 71 | // Button Sizes 72 | // -------------------------------------------------- 73 | 74 | // Large 75 | .btn-large { 76 | padding: 9px 14px; 77 | font-size: $baseFontSize + 2px; 78 | line-height: normal; 79 | @include border-radius(5px); 80 | } 81 | .btn-large [class^="icon-"] { 82 | margin-top: 1px; 83 | } 84 | 85 | // Small 86 | .btn-small { 87 | padding: 5px 9px; 88 | font-size: $baseFontSize - 2px; 89 | line-height: $baseLineHeight - 2px; 90 | } 91 | .btn-small [class^="icon-"] { 92 | margin-top: -1px; 93 | } 94 | 95 | // Mini 96 | .btn-mini { 97 | padding: 2px 6px; 98 | font-size: $baseFontSize - 2px; 99 | line-height: $baseLineHeight - 4px; 100 | } 101 | 102 | 103 | // Alternate buttons 104 | // -------------------------------------------------- 105 | 106 | // Set text color 107 | // ------------------------- 108 | .btn-primary, 109 | .btn-primary:hover, 110 | .btn-warning, 111 | .btn-warning:hover, 112 | .btn-danger, 113 | .btn-danger:hover, 114 | .btn-success, 115 | .btn-success:hover, 116 | .btn-info, 117 | .btn-info:hover, 118 | .btn-inverse, 119 | .btn-inverse:hover { 120 | color: $white; 121 | text-shadow: 0 -1px 0 rgba(0,0,0,.25); 122 | } 123 | // Provide *some* extra contrast for those who can get it 124 | .btn-primary.active, 125 | .btn-warning.active, 126 | .btn-danger.active, 127 | .btn-success.active, 128 | .btn-info.active, 129 | .btn-inverse.active { 130 | color: rgba(255,255,255,.75); 131 | } 132 | 133 | // Set the backgrounds 134 | // ------------------------- 135 | .btn { 136 | // reset here as of 2.0.3 due to Recess property order 137 | border-color: #ccc; 138 | border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25); 139 | } 140 | .btn-primary { 141 | @include buttonBackground($btnPrimaryBackground, $btnPrimaryBackgroundHighlight); 142 | } 143 | // Warning appears are orange 144 | .btn-warning { 145 | @include buttonBackground($btnWarningBackground, $btnWarningBackgroundHighlight); 146 | } 147 | // Danger and error appear as red 148 | .btn-danger { 149 | @include buttonBackground($btnDangerBackground, $btnDangerBackgroundHighlight); 150 | } 151 | // Success appears as green 152 | .btn-success { 153 | @include buttonBackground($btnSuccessBackground, $btnSuccessBackgroundHighlight); 154 | } 155 | // Info appears as a neutral blue 156 | .btn-info { 157 | @include buttonBackground($btnInfoBackground, $btnInfoBackgroundHighlight); 158 | } 159 | // Inverse appears as dark gray 160 | .btn-inverse { 161 | @include buttonBackground($btnInverseBackground, $btnInverseBackgroundHighlight); 162 | } 163 | 164 | 165 | // Cross-browser Jank 166 | // -------------------------------------------------- 167 | 168 | button.btn, 169 | input[type="submit"].btn { 170 | 171 | // Firefox 3.6 only I believe 172 | &::-moz-focus-inner { 173 | padding: 0; 174 | border: 0; 175 | } 176 | 177 | // IE7 has some default padding on button controls 178 | *padding-top: 2px; 179 | *padding-bottom: 2px; 180 | &.btn-large { 181 | *padding-top: 7px; 182 | *padding-bottom: 7px; 183 | } 184 | &.btn-small { 185 | *padding-top: 3px; 186 | *padding-bottom: 3px; 187 | } 188 | &.btn-mini { 189 | *padding-top: 1px; 190 | *padding-bottom: 1px; 191 | } 192 | } 193 | -------------------------------------------------------------------------------- /lib/_button-groups.scss: -------------------------------------------------------------------------------- 1 | // BUTTON GROUPS 2 | // ------------- 3 | 4 | 5 | // Make the div behave like a button 6 | .btn-group { 7 | position: relative; 8 | @include clearfix(); // clears the floated buttons 9 | @include ie7-restore-left-whitespace(); 10 | } 11 | 12 | // Space out series of button groups 13 | .btn-group + .btn-group { 14 | margin-left: 5px; 15 | } 16 | 17 | // Optional: Group multiple button groups together for a toolbar 18 | .btn-toolbar { 19 | margin-top: $baseLineHeight / 2; 20 | margin-bottom: $baseLineHeight / 2; 21 | .btn-group { 22 | display: inline-block; 23 | @include ie7-inline-block(); 24 | } 25 | } 26 | 27 | // Float them, remove border radius, then re-add to first and last elements 28 | .btn-group > .btn { 29 | position: relative; 30 | float: left; 31 | margin-left: -1px; 32 | @include border-radius(0); 33 | } 34 | // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match 35 | .btn-group > .btn:first-child { 36 | margin-left: 0; 37 | -webkit-border-top-left-radius: 4px; 38 | -moz-border-radius-topleft: 4px; 39 | border-top-left-radius: 4px; 40 | -webkit-border-bottom-left-radius: 4px; 41 | -moz-border-radius-bottomleft: 4px; 42 | border-bottom-left-radius: 4px; 43 | } 44 | // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it 45 | .btn-group > .btn:last-child, 46 | .btn-group > .dropdown-toggle { 47 | -webkit-border-top-right-radius: 4px; 48 | -moz-border-radius-topright: 4px; 49 | border-top-right-radius: 4px; 50 | -webkit-border-bottom-right-radius: 4px; 51 | -moz-border-radius-bottomright: 4px; 52 | border-bottom-right-radius: 4px; 53 | } 54 | // Reset corners for large buttons 55 | .btn-group > .btn.large:first-child { 56 | margin-left: 0; 57 | -webkit-border-top-left-radius: 6px; 58 | -moz-border-radius-topleft: 6px; 59 | border-top-left-radius: 6px; 60 | -webkit-border-bottom-left-radius: 6px; 61 | -moz-border-radius-bottomleft: 6px; 62 | border-bottom-left-radius: 6px; 63 | } 64 | .btn-group > .btn.large:last-child, 65 | .btn-group > .large.dropdown-toggle { 66 | -webkit-border-top-right-radius: 6px; 67 | -moz-border-radius-topright: 6px; 68 | border-top-right-radius: 6px; 69 | -webkit-border-bottom-right-radius: 6px; 70 | -moz-border-radius-bottomright: 6px; 71 | border-bottom-right-radius: 6px; 72 | } 73 | 74 | // On hover/focus/active, bring the proper btn to front 75 | .btn-group > .btn:hover, 76 | .btn-group > .btn:focus, 77 | .btn-group > .btn:active, 78 | .btn-group > .btn.active { 79 | z-index: 2; 80 | } 81 | 82 | // On active and open, don't show outline 83 | .btn-group .dropdown-toggle:active, 84 | .btn-group.open .dropdown-toggle { 85 | outline: 0; 86 | } 87 | 88 | 89 | 90 | // Split button dropdowns 91 | // ---------------------- 92 | 93 | // Give the line between buttons some depth 94 | .btn-group > .dropdown-toggle { 95 | padding-left: 8px; 96 | padding-right: 8px; 97 | @include box-shadow(#{inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)}); 98 | *padding-top: 4px; 99 | *padding-bottom: 4px; 100 | } 101 | .btn-group > .btn-mini.dropdown-toggle { 102 | padding-left: 5px; 103 | padding-right: 5px; 104 | } 105 | .btn-group > .btn-small.dropdown-toggle { 106 | *padding-top: 4px; 107 | *padding-bottom: 4px; 108 | } 109 | .btn-group > .btn-large.dropdown-toggle { 110 | padding-left: 12px; 111 | padding-right: 12px; 112 | } 113 | 114 | .btn-group.open { 115 | 116 | // The clickable button for toggling the menu 117 | // Remove the gradient and set the same inset shadow as the :active state 118 | .dropdown-toggle { 119 | background-image: none; 120 | @include box-shadow(#{inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)}); 121 | } 122 | 123 | // Keep the hover's background when dropdown is open 124 | .btn.dropdown-toggle { 125 | background-color: $btnBackgroundHighlight; 126 | } 127 | .btn-primary.dropdown-toggle { 128 | background-color: $btnPrimaryBackgroundHighlight; 129 | } 130 | .btn-warning.dropdown-toggle { 131 | background-color: $btnWarningBackgroundHighlight; 132 | } 133 | .btn-danger.dropdown-toggle { 134 | background-color: $btnDangerBackgroundHighlight; 135 | } 136 | .btn-success.dropdown-toggle { 137 | background-color: $btnSuccessBackgroundHighlight; 138 | } 139 | .btn-info.dropdown-toggle { 140 | background-color: $btnInfoBackgroundHighlight; 141 | } 142 | .btn-inverse.dropdown-toggle { 143 | background-color: $btnInverseBackgroundHighlight; 144 | } 145 | } 146 | 147 | 148 | // Reposition the caret 149 | .btn .caret { 150 | margin-top: 7px; 151 | margin-left: 0; 152 | } 153 | .btn:hover .caret, 154 | .open.btn-group .caret { 155 | @include opacity(100); 156 | } 157 | // Carets in other button sizes 158 | .btn-mini .caret { 159 | margin-top: 5px; 160 | } 161 | .btn-small .caret { 162 | margin-top: 6px; 163 | } 164 | .btn-large .caret { 165 | margin-top: 6px; 166 | border-left-width: 5px; 167 | border-right-width: 5px; 168 | border-top-width: 5px; 169 | } 170 | // Upside down carets for .dropup 171 | .dropup .btn-large .caret { 172 | border-bottom: 5px solid $black; 173 | border-top: 0; 174 | } 175 | 176 | 177 | 178 | // Account for other colors 179 | .btn-primary, 180 | .btn-warning, 181 | .btn-danger, 182 | .btn-info, 183 | .btn-success, 184 | .btn-inverse { 185 | .caret { 186 | border-top-color: $white; 187 | border-bottom-color: $white; 188 | @include opacity(75); 189 | } 190 | } 191 | 192 | -------------------------------------------------------------------------------- /css/style.css: -------------------------------------------------------------------------------- 1 | /* 2 | Syntax error: Undefined mixin 'transition'. 3 | on line 15 of /Users/altryne/www/relationbook/lib/style.scss, in `transition' 4 | from line 15 of /Users/altryne/www/relationbook/lib/style.scss 5 | 6 | Backtrace: 7 | /Users/altryne/www/relationbook/lib/style.scss:15:in `transition' 8 | /Users/altryne/www/relationbook/lib/style.scss:15 9 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:170:in `visit_mixin' 10 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:37:in `send' 11 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:37:in `visit' 12 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:18:in `visit' 13 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:53:in `visit_children' 14 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:53:in `map' 15 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:53:in `visit_children' 16 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:27:in `visit_children' 17 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:39:in `with_environment' 18 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:26:in `visit_children' 19 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:37:in `visit' 20 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:238:in `visit_rule' 21 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:37:in `send' 22 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:37:in `visit' 23 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:18:in `visit' 24 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:53:in `visit_children' 25 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:53:in `map' 26 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:53:in `visit_children' 27 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:27:in `visit_children' 28 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:39:in `with_environment' 29 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:26:in `visit_children' 30 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:37:in `visit' 31 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:47:in `visit_root' 32 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:37:in `send' 33 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/base.rb:37:in `visit' 34 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:18:in `visit' 35 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:7:in `send' 36 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/visitors/perform.rb:7:in `visit' 37 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/tree/root_node.rb:20:in `render' 38 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/engine.rb:299:in `_render' 39 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../../scss/lib/sass/../sass/engine.rb:246:in `render' 40 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/compiler.rb:140:in `compile' 41 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/compiler.rb:126:in `timed' 42 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/compiler.rb:139:in `compile' 43 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/logger.rb:45:in `red' 44 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/compiler.rb:138:in `compile' 45 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/compiler.rb:118:in `compile_if_required' 46 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/compiler.rb:103:in `run' 47 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/compiler.rb:101:in `each' 48 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/compiler.rb:101:in `run' 49 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/compiler.rb:126:in `timed' 50 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/compiler.rb:100:in `run' 51 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/commands/update_project.rb:45:in `perform' 52 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/commands/base.rb:18:in `execute' 53 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/commands/project_base.rb:19:in `execute' 54 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/exec/sub_command_ui.rb:43:in `perform!' 55 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/../lib/compass/exec/sub_command_ui.rb:15:in `run!' 56 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/compass:39 57 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/compass:53:in `call' 58 | /Applications/CodeKit.app/Contents/Resources/engines/compass/bin/compass:53 59 | */ 60 | body:before { 61 | white-space: pre; 62 | font-family: monospace; 63 | content: "Syntax error: Undefined mixin 'transition'.\A on line 15 of /Users/altryne/www/relationbook/lib/style.scss, in `transition'\A from line 15 of /Users/altryne/www/relationbook/lib/style.scss"; } 64 | -------------------------------------------------------------------------------- /css/style_back.css: -------------------------------------------------------------------------------- 1 | /* ============================================================================= 2 | HTML5 Boilerplate CSS: h5bp.com/css 3 | ========================================================================== */ 4 | 5 | article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; } 6 | audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; } 7 | audio:not([controls]) { display: none; } 8 | [hidden] { display: none; } 9 | 10 | html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } 11 | html, button, input, select, textarea { font-family: sans-serif; color: #222; } 12 | body { margin: 0; font-size: 1em; line-height: 1.4; } 13 | 14 | ::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; } 15 | ::selection { background: #fe57a1; color: #fff; text-shadow: none; } 16 | 17 | a { color: #00e; } 18 | a:visited { color: #551a8b; } 19 | a:hover { color: #06e; } 20 | a:focus { outline: thin dotted; } 21 | a:hover, a:active { outline: 0; } 22 | 23 | abbr[title] { border-bottom: 1px dotted; } 24 | b, strong { font-weight: bold; } 25 | blockquote { margin: 1em 40px; } 26 | dfn { font-style: italic; } 27 | hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } 28 | ins { background: #ff9; color: #000; text-decoration: none; } 29 | mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; } 30 | pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; } 31 | pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; } 32 | q { quotes: none; } 33 | q:before, q:after { content: ""; content: none; } 34 | small { font-size: 85%; } 35 | 36 | sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } 37 | sup { top: -0.5em; } 38 | sub { bottom: -0.25em; } 39 | 40 | ul, ol { margin: 1em 0; padding: 0 0 0 40px; } 41 | dd { margin: 0 0 0 40px; } 42 | nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; } 43 | 44 | img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; } 45 | 46 | svg:not(:root) { overflow: hidden; } 47 | 48 | figure { margin: 0; } 49 | 50 | form { margin: 0; } 51 | fieldset { border: 0; margin: 0; padding: 0; } 52 | label { cursor: pointer; } 53 | legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; } 54 | button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; } 55 | button, input { line-height: normal; } 56 | button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; } 57 | button[disabled], input[disabled] { cursor: default; } 58 | input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; } 59 | input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; } 60 | input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; } 61 | button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } 62 | textarea { overflow: auto; vertical-align: top; resize: vertical; } 63 | input:valid, textarea:valid { } 64 | input:invalid, textarea:invalid { background-color: #f0dddd; } 65 | 66 | table { border-collapse: collapse; border-spacing: 0; } 67 | td { vertical-align: top; } 68 | 69 | .chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; } 70 | 71 | 72 | 73 | /* ===== Primary Styles ======================================================== 74 | Author: 75 | ========================================================================== */ 76 | body{ 77 | background: url(../img/bg.jpg) repeat; 78 | 79 | 80 | } 81 | 82 | #login{ 83 | /*position: fixed;*/ 84 | /*width:100%;*/ 85 | /*height: 150px;*/ 86 | /*z-index: 1000;*/ 87 | /*top:50%;*/ 88 | /*margin-top:-75px;*/ 89 | /*background: rgba(0,0,0,0.3);*/ 90 | /*text-align: center;*/ 91 | /*color: #fff;*/ 92 | /*text-shadow: 0 1px 0 rgba(0,0,0,0.6);*/ 93 | /*font-weight: bold;*/ 94 | position: relative; 95 | z-index: 10; 96 | } 97 | #main{ 98 | 99 | 100 | } 101 | .welcome{ 102 | font-size: 25px; 103 | 104 | 105 | } 106 | .fb-login-button{ 107 | display: inline-block; 108 | } 109 | 110 | #game{ 111 | position: absolute; 112 | width:100%; 113 | height: 150px; 114 | z-index: 500; 115 | top:50%; 116 | margin-top:-75px; 117 | background: rgba(0,0,0,0.8); 118 | 119 | text-align: center; 120 | color: #fff; 121 | text-shadow: 0 1px 0 rgba(0, 0, 0, 0.6); 122 | font-weight: bold; 123 | -webkit-transition: all 250ms ease-out; 124 | -moz-transition: all 250ms ease-out; 125 | -ms-transition: all 250ms ease-out; 126 | -o-transition: all 250ms ease-out; 127 | transition: all 250ms ease-out; 128 | 129 | } 130 | 131 | 132 | #start{ 133 | width:150px; 134 | margin: 0 auto; 135 | height:70px; 136 | font-weight: bold; 137 | font-size: 75px; 138 | color:#ffffff; 139 | cursor: pointer; 140 | } 141 | 142 | #start_cont{ 143 | position: relative; 144 | z-index: 10; 145 | } 146 | 147 | #friends_cont{ 148 | margin: 0 auto; 149 | padding: 0; 150 | width:600px; 151 | 152 | } 153 | #friends{ 154 | margin: 0; 155 | } 156 | .rel{ 157 | /*letter-spacing: -4px;*/ 158 | text-align: left; 159 | list-style:none; 160 | position: relative; 161 | } 162 | .prof,.is,.status,.preposition,.rel_info{ 163 | letter-spacing: normal; 164 | display: inline-block; 165 | vertical-align: middle; 166 | } 167 | .isnot{ 168 | font-size: 12px; 169 | color:#eee; 170 | } 171 | .prof{ 172 | width: 100px; 173 | font-size: 15px; 174 | text-align: center; 175 | } 176 | .prof .friend_name{ 177 | position: absolute; 178 | width:250px; 179 | } 180 | .friend_prof .friend_name{ 181 | top:24px; 182 | left:100px; 183 | } 184 | .mate_prof .friend_name{ 185 | bottom:22px; 186 | left:100px; 187 | } 188 | .prof_pic{ 189 | 190 | width:70px; 191 | height: 70px; 192 | /*background: #fed;*/ 193 | border: #fff 3px solid; 194 | box-shadow: 1px 1px 3px #000; 195 | overflow: hidden; 196 | vertical-align: bottom; 197 | position: relative; 198 | 199 | background-size: cover; 200 | background-repeat: no-repeat; 201 | margin:20px auto; 202 | } 203 | 204 | .rel_info{ 205 | width:250px; 206 | text-align: center; 207 | } 208 | 209 | #sort{ 210 | text-align: left; 211 | position: fixed; 212 | 213 | } 214 | .sort_tags{ 215 | list-style: none; 216 | font-size: 14px; 217 | } 218 | .sort_tags input{ 219 | visibility: hidden; 220 | } 221 | .sort_tags label{ 222 | padding:5px; 223 | margin:5px; 224 | } 225 | .sort_tags input:checked + label{ 226 | background: #323680; 227 | border-radius: 5px; 228 | 229 | } 230 | /* ============================================================================= 231 | Non-Semantic Helper Classes 232 | ========================================================================== */ 233 | 234 | .ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; } 235 | .ir br { display: none; } 236 | .hidden { display: none !important; visibility: hidden; } 237 | .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } 238 | .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; } 239 | .invisible { visibility: hidden; } 240 | .clearfix:before, .clearfix:after { content: ""; display: table; } 241 | .clearfix:after { clear: both; } 242 | .clearfix { *zoom: 1; } 243 | 244 | -------------------------------------------------------------------------------- /about.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | About - RelationBook.me 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 35 |
    36 |
    37 | 38 |
    39 | 40 |
    41 | 53 |
    54 |
    55 |
    56 |
    57 |
    58 | 59 |
    60 | 61 |

    What's RelationBook?

    62 | 63 |

    RelationBook is a simple way of viewing all your facebook friend's relationships, on one page, at 64 | the same time.

    65 |
    66 | 67 |

    68 | Privacy concerns 69 |

    70 | 71 |

    72 | We aren't saving any of your personal information on our servers
    73 | We won't post on your facebook wall without your permission! 74 |

    75 | 76 |

    Getting started

    77 | 78 |

    All you need to do is connect with Facebook and you’ll be brought to the RelationBook dashboard.
    79 | You will see a list of your facebook friends, and a filter panel. 80 | 81 |

    82 | 83 |

    Filtering

    84 | 85 |

    86 | You can filter your friends by gender, relationship status and search for specific friends by name.
    87 | Every profile and name is a link making it easy to navigate to your friends profile or their partner’s 88 | profiles. 89 | 90 |

    91 |

    Annoyed by the popup when you use filters?

    92 | Please share relationbook with your facebook friends and the popup will never bug you again. 93 |
    94 | 95 |

    96 | 97 | 98 | 99 |

    Who is it for?

    100 | 101 |

    Wether you want to discover all your married-couple friends , or just to find who among your female 102 | friends are single, RelationBook makes it easy for you

    103 | 104 | 105 | 106 | 107 | 108 | 109 |

    Who are we?

    110 |

    Three guys based in Israel who love creating useful tools.

    111 | 112 | 118 | 119 |

    From the creators of BlissControl.

    120 | 121 |

    Let us know what you think!

    122 |
    123 |
    124 |
    125 | 126 |
    127 | 128 |
    129 | © Copyright Relationbook.me | Have feedback? Let us know! 130 |
    131 | 132 |
    133 |
    134 |
    135 | 143 | 144 | 154 | 163 | 174 | 187 | 188 | 189 | 190 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | RelationBook.me 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
    32 |
    33 | 34 |
    35 | 36 |
    37 | 49 |
    50 |
    51 |
    52 |
    53 |
    54 |
    55 |
    56 |

    Who's in a relationship?

    57 | 58 |

    Easily find out which of your friends
    are in a relationship or single.

    59 |
    60 | 64 |
    65 |
    66 | We won't abuse your information, we promise!
    67 | See a preview of the website before connecting 68 |
    69 |
    70 | 71 | 72 | 73 | 74 |
    75 |
    76 |
    77 | 95 | 116 |
    117 |
    118 |
    119 | 120 |
    121 |
    122 |
    123 |
    124 |
    125 |
    126 |
    127 |
    129 |
    130 |
    Fetching facebook friends...
    131 |
    132 | 133 |
    134 | 135 |
    136 |
    137 | 138 | 139 | 140 |
    141 | 147 |
    148 | © Copyright Relationbook.me | Have feedback? Let us know! 149 |
    150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 176 | 177 | 183 | 184 | 185 | 186 | -------------------------------------------------------------------------------- /lib/_navs.scss: -------------------------------------------------------------------------------- 1 | // NAVIGATIONS 2 | // ----------- 3 | 4 | 5 | 6 | // BASE CLASS 7 | // ---------- 8 | 9 | .nav { 10 | margin-left: 0; 11 | margin-bottom: $baseLineHeight; 12 | list-style: none; 13 | } 14 | 15 | // Make links block level 16 | .nav > li > a { 17 | display: block; 18 | } 19 | .nav > li > a:hover { 20 | text-decoration: none; 21 | background-color: $grayLighter; 22 | } 23 | 24 | // Redeclare pull classes because of specifity 25 | .nav > .pull-right { 26 | float: right; 27 | } 28 | 29 | // Nav headers (for dropdowns and lists) 30 | .nav .nav-header { 31 | display: block; 32 | padding: 3px 15px; 33 | font-size: 11px; 34 | font-weight: bold; 35 | line-height: $baseLineHeight; 36 | color: $grayLight; 37 | text-shadow: 0 1px 0 rgba(255,255,255,.5); 38 | text-transform: uppercase; 39 | } 40 | // Space them out when they follow another list item (link) 41 | .nav li + .nav-header { 42 | margin-top: 9px; 43 | } 44 | 45 | 46 | // NAV LIST 47 | // -------- 48 | 49 | .nav-list { 50 | padding-left: 15px; 51 | padding-right: 15px; 52 | margin-bottom: 0; 53 | } 54 | .nav-list > li > a, 55 | .nav-list .nav-header { 56 | margin-left: -15px; 57 | margin-right: -15px; 58 | text-shadow: 0 1px 0 rgba(255,255,255,.5); 59 | } 60 | .nav-list > li > a { 61 | padding: 3px 15px; 62 | } 63 | .nav-list > .active > a, 64 | .nav-list > .active > a:hover { 65 | color: $white; 66 | text-shadow: 0 -1px 0 rgba(0,0,0,.2); 67 | background-color: $linkColor; 68 | } 69 | .nav-list [class^="icon-"] { 70 | margin-right: 2px; 71 | } 72 | // Dividers (basically an hr) within the dropdown 73 | .nav-list .divider { 74 | @include nav-divider(); 75 | } 76 | 77 | 78 | 79 | // TABS AND PILLS 80 | // ------------- 81 | 82 | // Common styles 83 | .nav-tabs, 84 | .nav-pills { 85 | @include clearfix(); 86 | } 87 | .nav-tabs > li, 88 | .nav-pills > li { 89 | float: left; 90 | } 91 | .nav-tabs > li > a, 92 | .nav-pills > li > a { 93 | padding-right: 12px; 94 | padding-left: 12px; 95 | margin-right: 2px; 96 | line-height: 14px; // keeps the overall height an even number 97 | } 98 | 99 | // TABS 100 | // ---- 101 | 102 | // Give the tabs something to sit on 103 | .nav-tabs { 104 | border-bottom: 1px solid #ddd; 105 | } 106 | // Make the list-items overlay the bottom border 107 | .nav-tabs > li { 108 | margin-bottom: -1px; 109 | } 110 | // Actual tabs (as links) 111 | .nav-tabs > li > a { 112 | padding-top: 8px; 113 | padding-bottom: 8px; 114 | line-height: $baseLineHeight; 115 | border: 1px solid transparent; 116 | @include border-radius(4px 4px 0 0); 117 | &:hover { 118 | border-color: $grayLighter $grayLighter #ddd; 119 | } 120 | } 121 | // Active state, and it's :hover to override normal :hover 122 | .nav-tabs > .active > a, 123 | .nav-tabs > .active > a:hover { 124 | color: $gray; 125 | background-color: $white; 126 | border: 1px solid #ddd; 127 | border-bottom-color: transparent; 128 | cursor: default; 129 | } 130 | 131 | 132 | // PILLS 133 | // ----- 134 | 135 | // Links rendered as pills 136 | .nav-pills > li > a { 137 | padding-top: 8px; 138 | padding-bottom: 8px; 139 | margin-top: 2px; 140 | margin-bottom: 2px; 141 | @include border-radius(5px); 142 | } 143 | 144 | // Active state 145 | .nav-pills > .active > a, 146 | .nav-pills > .active > a:hover { 147 | color: $white; 148 | background-color: $linkColor; 149 | } 150 | 151 | 152 | 153 | // STACKED NAV 154 | // ----------- 155 | 156 | // Stacked tabs and pills 157 | .nav-stacked > li { 158 | float: none; 159 | } 160 | .nav-stacked > li > a { 161 | margin-right: 0; // no need for the gap between nav items 162 | } 163 | 164 | // Tabs 165 | .nav-tabs.nav-stacked { 166 | border-bottom: 0; 167 | } 168 | .nav-tabs.nav-stacked > li > a { 169 | border: 1px solid #ddd; 170 | @include border-radius(0); 171 | } 172 | .nav-tabs.nav-stacked > li:first-child > a { 173 | @include border-radius(4px 4px 0 0); 174 | } 175 | .nav-tabs.nav-stacked > li:last-child > a { 176 | @include border-radius(0 0 4px 4px); 177 | } 178 | .nav-tabs.nav-stacked > li > a:hover { 179 | border-color: #ddd; 180 | z-index: 2; 181 | } 182 | 183 | // Pills 184 | .nav-pills.nav-stacked > li > a { 185 | margin-bottom: 3px; 186 | } 187 | .nav-pills.nav-stacked > li:last-child > a { 188 | margin-bottom: 1px; // decrease margin to match sizing of stacked tabs 189 | } 190 | 191 | 192 | 193 | // DROPDOWNS 194 | // --------- 195 | 196 | .nav-tabs .dropdown-menu { 197 | @include border-radius(0 0 5px 5px); // remove the top rounded corners here since there is a hard edge above the menu 198 | } 199 | .nav-pills .dropdown-menu { 200 | @include border-radius(4px); // make rounded corners match the pills 201 | } 202 | 203 | // Default dropdown links 204 | // ------------------------- 205 | // Make carets use linkColor to start 206 | .nav-tabs .dropdown-toggle .caret, 207 | .nav-pills .dropdown-toggle .caret { 208 | border-top-color: $linkColor; 209 | border-bottom-color: $linkColor; 210 | margin-top: 6px; 211 | } 212 | .nav-tabs .dropdown-toggle:hover .caret, 213 | .nav-pills .dropdown-toggle:hover .caret { 214 | border-top-color: $linkColorHover; 215 | border-bottom-color: $linkColorHover; 216 | } 217 | 218 | // Active dropdown links 219 | // ------------------------- 220 | .nav-tabs .active .dropdown-toggle .caret, 221 | .nav-pills .active .dropdown-toggle .caret { 222 | border-top-color: $grayDark; 223 | border-bottom-color: $grayDark; 224 | } 225 | 226 | // Active:hover dropdown links 227 | // ------------------------- 228 | .nav > .dropdown.active > a:hover { 229 | color: $black; 230 | cursor: pointer; 231 | } 232 | 233 | // Open dropdowns 234 | // ------------------------- 235 | .nav-tabs .open .dropdown-toggle, 236 | .nav-pills .open .dropdown-toggle, 237 | .nav > li.dropdown.open.active > a:hover { 238 | color: $white; 239 | background-color: $grayLight; 240 | border-color: $grayLight; 241 | } 242 | .nav li.dropdown.open .caret, 243 | .nav li.dropdown.open.active .caret, 244 | .nav li.dropdown.open a:hover .caret { 245 | border-top-color: $white; 246 | border-bottom-color: $white; 247 | @include opacity(100); 248 | } 249 | 250 | // Dropdowns in stacked tabs 251 | .tabs-stacked .open > a:hover { 252 | border-color: $grayLight; 253 | } 254 | 255 | 256 | 257 | // TABBABLE 258 | // -------- 259 | 260 | 261 | // COMMON STYLES 262 | // ------------- 263 | 264 | // Clear any floats 265 | .tabbable { 266 | @include clearfix(); 267 | } 268 | .tab-content { 269 | overflow: auto; // prevent content from running below tabs 270 | } 271 | 272 | // Remove border on bottom, left, right 273 | .tabs-below > .nav-tabs, 274 | .tabs-right > .nav-tabs, 275 | .tabs-left > .nav-tabs { 276 | border-bottom: 0; 277 | } 278 | 279 | // Show/hide tabbable areas 280 | .tab-content > .tab-pane, 281 | .pill-content > .pill-pane { 282 | display: none; 283 | } 284 | .tab-content > .active, 285 | .pill-content > .active { 286 | display: block; 287 | } 288 | 289 | 290 | // BOTTOM 291 | // ------ 292 | 293 | .tabs-below > .nav-tabs { 294 | border-top: 1px solid #ddd; 295 | } 296 | .tabs-below > .nav-tabs > li { 297 | margin-top: -1px; 298 | margin-bottom: 0; 299 | } 300 | .tabs-below > .nav-tabs > li > a { 301 | @include border-radius(0 0 4px 4px); 302 | &:hover { 303 | border-bottom-color: transparent; 304 | border-top-color: #ddd; 305 | } 306 | } 307 | .tabs-below > .nav-tabs > .active > a, 308 | .tabs-below > .nav-tabs > .active > a:hover { 309 | border-color: transparent #ddd #ddd #ddd; 310 | } 311 | 312 | // LEFT & RIGHT 313 | // ------------ 314 | 315 | // Common styles 316 | .tabs-left > .nav-tabs > li, 317 | .tabs-right > .nav-tabs > li { 318 | float: none; 319 | } 320 | .tabs-left > .nav-tabs > li > a, 321 | .tabs-right > .nav-tabs > li > a { 322 | min-width: 74px; 323 | margin-right: 0; 324 | margin-bottom: 3px; 325 | } 326 | 327 | // Tabs on the left 328 | .tabs-left > .nav-tabs { 329 | float: left; 330 | margin-right: 19px; 331 | border-right: 1px solid #ddd; 332 | } 333 | .tabs-left > .nav-tabs > li > a { 334 | margin-right: -1px; 335 | @include border-radius(4px 0 0 4px); 336 | } 337 | .tabs-left > .nav-tabs > li > a:hover { 338 | border-color: $grayLighter #ddd $grayLighter $grayLighter; 339 | } 340 | .tabs-left > .nav-tabs .active > a, 341 | .tabs-left > .nav-tabs .active > a:hover { 342 | border-color: #ddd transparent #ddd #ddd; 343 | *border-right-color: $white; 344 | } 345 | 346 | // Tabs on the right 347 | .tabs-right > .nav-tabs { 348 | float: right; 349 | margin-left: 19px; 350 | border-left: 1px solid #ddd; 351 | } 352 | .tabs-right > .nav-tabs > li > a { 353 | margin-left: -1px; 354 | @include border-radius(0 4px 4px 0); 355 | } 356 | .tabs-right > .nav-tabs > li > a:hover { 357 | border-color: $grayLighter $grayLighter $grayLighter #ddd; 358 | } 359 | .tabs-right > .nav-tabs .active > a, 360 | .tabs-right > .nav-tabs .active > a:hover { 361 | border-color: #ddd #ddd #ddd transparent; 362 | *border-left-color: $white; 363 | } 364 | -------------------------------------------------------------------------------- /js/plugins-ck.js: -------------------------------------------------------------------------------- 1 | function a(){var a=function(){return((1+Math.random())*65536|0).toString(16).substring(1)};return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}function b(a){var b=new Date,c=new Date(a),d=b.getFullYear()-c.getFullYear(),e=b.getMonth()-c.getMonth();(e<0||e===0&&b.getDate()"+b+""})},render:function(b){var c=this;b=a(b).map(function(b,d){b=a(c.options.item).attr("data-value",d);b.find("a").html(c.highlighter(d));return b[0]});b.first().addClass("active");this.$menu.html(b);return this},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0]));d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last());c.addClass("active")},listen:function(){this.$element.on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this));(a.browser.webkit||a.browser.msie)&&this.$element.on("keydown",a.proxy(this.keypress,this));this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this))},keyup:function(a){switch(a.keyCode){case 40:case 38:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();this.clear();break;default:this.lookup()}a.stopPropagation();a.preventDefault()},keypress:function(a){if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:if(a.type!="keydown")break;a.preventDefault();this.prev();break;case 40:if(a.type!="keydown")break;a.preventDefault();this.next()}a.stopPropagation()},blur:function(a){var b=this;setTimeout(function(){b.hide()},150)},click:function(a){a.stopPropagation();a.preventDefault();this.select()},mouseenter:function(b){this.$menu.find(".active").removeClass("active");a(b.currentTarget).addClass("active")}};a.fn.typeahead=function(c){return this.each(function(){var d=a(this),e=d.data("typeahead"),f=typeof c=="object"&&c;e||d.data("typeahead",e=new b(this,f));typeof c=="string"&&e[c]()})};a.fn.typeahead.defaults={source:[],items:8,menu:'',item:'
  • '};a.fn.typeahead.Constructor=b}(window.jQuery);!function(a){"use strict";var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f;this.type=b;this.$element=a(c);this.options=this.getOptions(d);this.enabled=!0;if(this.options.trigger!="manual"){e=this.options.trigger=="hover"?"mouseenter":"focus";f=this.options.trigger=="hover"?"mouseleave":"blur";this.$element.on(e,this.options.selector,a.proxy(this.enter,this));this.$element.on(f,this.options.selector,a.proxy(this.leave,this))}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){b=a.extend({},a.fn[this.type].defaults,b,this.$element.data());b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay});return b},enter:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);if(!c.options.delay||!c.options.delay.show)return c.show();clearTimeout(this.timeout);c.hoverState="in";this.timeout=setTimeout(function(){c.hoverState=="in"&&c.show()},c.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out";this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var a,b,c,d,e,f,g="";if(this.hasContent()&&this.enabled){a=this.tip();this.setContent();this.options.animation&&a.addClass("fade");f=typeof this.options.placement=="function"?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement;b=/in/.test(f);a.remove().css({top:0,left:0,display:"block"}).appendTo(b?this.$element:document.body);c=this.getPosition(b);d=a[0].offsetWidth;e=a[0].offsetHeight;switch(b?f.split(" ")[1]:f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}a.css(g).addClass(f).addClass("in");typeof this.options.showCallback=="function"&&this.options.showCallback.call(this,a[0],this.$element[0])}},isHTML:function(a){return typeof a!="string"||a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3||/^(?:[^<]*<[\w\W]+>[^>]*$)/.exec(a)},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.isHTML(b)?"html":"text"](b);a.removeClass("fade in top bottom left right")},hide:function(){function d(){var b=setTimeout(function(){c.off(a.support.transition.end).remove()},500);c.one(a.support.transition.end,function(){clearTimeout(b);c.remove()})}var b=this,c=this.tip();c.removeClass("in");a.support.transition&&this.$tip.hasClass("fade")?d():c.remove()},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").removeAttr("title")},hasContent:function(){return this.getTitle()},getPosition:function(b){return a.extend({},b?{top:0,left:0}:this.$element.offset(),{width:this.$element[0].offsetWidth,height:this.$element[0].offsetHeight})},getTitle:function(){var a,b=this.$element,c=this.options;a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title);return a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null}},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(){this[this.tip().hasClass("in")?"hide":"show"]()}};a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f));typeof c=="string"&&e[c]()})};a.fn.tooltip.Constructor=b;a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'
    ',trigger:"hover",title:"",delay:0}}(window.jQuery);!function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.isHTML(b)?"html":"text"](b);a.find(".popover-content > *")[this.isHTML(c)?"html":"text"](c);a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;a=b.attr("data-content")||(typeof c.content=="function"?c.content.call(b[0]):c.content);return a},tip:function(){this.$tip||(this.$tip=a(this.options.template));return this.$tip}});a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f));typeof c=="string"&&e[c]()})};a.fn.popover.Constructor=b;a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",content:"",template:'

    '})}(window.jQuery); -------------------------------------------------------------------------------- /lib/_navbar.scss: -------------------------------------------------------------------------------- 1 | // NAVBAR (FIXED AND STATIC) 2 | // ------------------------- 3 | 4 | 5 | // COMMON STYLES 6 | // ------------- 7 | 8 | .navbar { 9 | // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar 10 | *position: relative; 11 | *z-index: 2; 12 | 13 | overflow: visible; 14 | margin-bottom: $baseLineHeight; 15 | } 16 | 17 | // Gradient is applied to it's own element because overflow visible is not honored by IE when filter is present 18 | .navbar-inner { 19 | min-height: $navbarHeight; 20 | padding-left: 20px; 21 | padding-right: 20px; 22 | @include gradient-vertical($navbarBackgroundHighlight, $navbarBackground); 23 | @include border-radius(4px); 24 | @include box-shadow(#{0 1px 3px rgba(0,0,0,.25), inset 0 -1px 0 rgba(0,0,0,.1)}); 25 | } 26 | 27 | // Set width to auto for default container 28 | // We then reset it for fixed navbars in the #gridSystem mixin 29 | .navbar .container { 30 | width: auto; 31 | } 32 | 33 | // Override the default collapsed state 34 | .nav-collapse.collapse { 35 | height: auto; 36 | } 37 | 38 | 39 | // Brand, links, text, and buttons 40 | .navbar { 41 | color: $navbarText; 42 | // Hover and active states 43 | .brand:hover { 44 | text-decoration: none; 45 | } 46 | // Website or project name 47 | .brand { 48 | float: left; 49 | display: block; 50 | // Vertically center the text given $navbarHeight 51 | $elementHeight: 20px; 52 | padding: (($navbarHeight - $elementHeight) / 2 - 2) 20px (($navbarHeight - $elementHeight) / 2 + 2); 53 | margin-left: -20px; // negative indent to left-align the text down the page 54 | font-size: 20px; 55 | font-weight: 200; 56 | line-height: 1; 57 | color: $navbarBrandColor; 58 | } 59 | // Plain text in topbar 60 | .navbar-text { 61 | margin-bottom: 0; 62 | line-height: $navbarHeight; 63 | } 64 | // Janky solution for now to account for links outside the .nav 65 | .navbar-link { 66 | color: $navbarLinkColor; 67 | &:hover { 68 | color: $navbarLinkColorHover; 69 | } 70 | } 71 | // Buttons in navbar 72 | .btn, 73 | .btn-group { 74 | @include navbarVerticalAlign(30px); // Vertically center in navbar 75 | } 76 | .btn-group .btn { 77 | margin: 0; // then undo the margin here so we don't accidentally double it 78 | } 79 | } 80 | 81 | // Navbar forms 82 | .navbar-form { 83 | margin-bottom: 0; // remove default bottom margin 84 | @include clearfix(); 85 | input, 86 | select, 87 | .radio, 88 | .checkbox { 89 | @include navbarVerticalAlign(30px); // Vertically center in navbar 90 | } 91 | input, 92 | select { 93 | display: inline-block; 94 | margin-bottom: 0; 95 | } 96 | input[type="image"], 97 | input[type="checkbox"], 98 | input[type="radio"] { 99 | margin-top: 3px; 100 | } 101 | .input-append, 102 | .input-prepend { 103 | margin-top: 6px; 104 | white-space: nowrap; // preven two items from separating within a .navbar-form that has .pull-left 105 | input { 106 | margin-top: 0; // remove the margin on top since it's on the parent 107 | } 108 | } 109 | } 110 | 111 | // Navbar search 112 | .navbar-search { 113 | position: relative; 114 | float: left; 115 | @include navbarVerticalAlign(28px); // Vertically center in navbar 116 | margin-bottom: 0; 117 | .search-query { 118 | padding: 4px 9px; 119 | @include font-sans-serif(13px, normal, 1); 120 | color: $white; 121 | background-color: $navbarSearchBackground; 122 | border: 1px solid $navbarSearchBorder; 123 | @include box-shadow(#{inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)}); 124 | @include transition(none); 125 | 126 | @include placeholder($navbarSearchPlaceholderColor); 127 | 128 | // Focus states (we use .focused since IE7-8 and down doesn't support :focus) 129 | &:focus, 130 | &.focused { 131 | padding: 5px 10px; 132 | color: $grayDark; 133 | text-shadow: 0 1px 0 $white; 134 | background-color: $navbarSearchBackgroundFocus; 135 | border: 0; 136 | @include box-shadow(0 0 3px rgba(0,0,0,.15)); 137 | outline: 0; 138 | } 139 | } 140 | } 141 | 142 | 143 | 144 | // FIXED NAVBAR 145 | // ------------ 146 | 147 | // Shared (top/bottom) styles 148 | .navbar-fixed-top, 149 | .navbar-fixed-bottom { 150 | position: fixed; 151 | right: 0; 152 | left: 0; 153 | z-index: $zindexFixedNavbar; 154 | margin-bottom: 0; // remove 18px margin for static navbar 155 | } 156 | .navbar-fixed-top .navbar-inner, 157 | .navbar-fixed-bottom .navbar-inner { 158 | padding-left: 0; 159 | padding-right: 0; 160 | @include border-radius(0); 161 | } 162 | 163 | .navbar-fixed-top .container, 164 | .navbar-fixed-bottom .container { 165 | @include core-span($gridColumns); 166 | } 167 | 168 | // Fixed to top 169 | .navbar-fixed-top { 170 | top: 0; 171 | } 172 | 173 | // Fixed to bottom 174 | .navbar-fixed-bottom { 175 | bottom: 0; 176 | } 177 | 178 | 179 | 180 | // NAVIGATION 181 | // ---------- 182 | 183 | .navbar .nav { 184 | position: relative; 185 | left: 0; 186 | display: block; 187 | float: left; 188 | margin: 0 10px 0 0; 189 | } 190 | .navbar .nav.pull-right { 191 | float: right; // redeclare due to specificity 192 | } 193 | .navbar .nav > li { 194 | display: block; 195 | float: left; 196 | } 197 | 198 | // Links 199 | .navbar .nav > li > a { 200 | float: none; 201 | // Vertically center the text given $navbarHeight 202 | $elementHeight: 20px; 203 | padding: (($navbarHeight - $elementHeight) / 2 - 1) 10px (($navbarHeight - $elementHeight) / 2 + 1); 204 | line-height: 19px; 205 | color: $navbarLinkColor; 206 | text-decoration: none; 207 | text-shadow: 0 -1px 0 rgba(0,0,0,.25); 208 | } 209 | // Buttons 210 | .navbar .btn { 211 | display: inline-block; 212 | padding: 4px 10px 4px; 213 | // Vertically center the button given @navbarHeight 214 | $elementHeight: 28px; 215 | margin: (($navbarHeight - $elementHeight) / 2 - 1) 5px (($navbarHeight - $elementHeight) / 2); 216 | line-height: $baseLineHeight; 217 | } 218 | .navbar .btn-group { 219 | margin: 0; 220 | // Vertically center the button given @navbarHeight 221 | $elementHeight: 28px; 222 | padding: (($navbarHeight - $elementHeight) / 2 - 1) 5px (($navbarHeight - $elementHeight) / 2); 223 | } 224 | // Hover 225 | .navbar .nav > li > a:hover { 226 | background-color: $navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover from .active 227 | color: $navbarLinkColorHover; 228 | text-decoration: none; 229 | } 230 | 231 | // Active nav items 232 | .navbar .nav .active > a, 233 | .navbar .nav .active > a:hover { 234 | color: $navbarLinkColorActive; 235 | text-decoration: none; 236 | background-color: $navbarLinkBackgroundActive; 237 | } 238 | 239 | // Dividers (basically a vertical hr) 240 | .navbar .divider-vertical { 241 | height: $navbarHeight; 242 | width: 1px; 243 | margin: 0 9px; 244 | overflow: hidden; 245 | background-color: $navbarBackground; 246 | border-right: 1px solid $navbarBackgroundHighlight; 247 | } 248 | 249 | // Secondary (floated right) nav in topbar 250 | .navbar .nav.pull-right { 251 | margin-left: 10px; 252 | margin-right: 0; 253 | } 254 | 255 | // Navbar button for toggling navbar items in responsive layouts 256 | // These definitions need to come after '.navbar .btn' 257 | .navbar .btn-navbar { 258 | display: none; 259 | float: right; 260 | padding: 7px 10px; 261 | margin-left: 5px; 262 | margin-right: 5px; 263 | @include buttonBackground($navbarBackgroundHighlight, $navbarBackground); 264 | @include box-shadow(#{inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)}); 265 | } 266 | .navbar .btn-navbar .icon-bar { 267 | display: block; 268 | width: 18px; 269 | height: 2px; 270 | background-color: #f5f5f5; 271 | @include border-radius(1px); 272 | @include box-shadow(0 1px 0 rgba(0,0,0,.25)); 273 | } 274 | .btn-navbar .icon-bar + .icon-bar { 275 | margin-top: 3px; 276 | } 277 | 278 | 279 | // Dropdown menus 280 | // -------------- 281 | 282 | // Menu position and menu carets 283 | .navbar .dropdown-menu { 284 | &:before { 285 | content: ''; 286 | display: inline-block; 287 | border-left: 7px solid transparent; 288 | border-right: 7px solid transparent; 289 | border-bottom: 7px solid #ccc; 290 | border-bottom-color: $dropdownBorder; 291 | position: absolute; 292 | top: -7px; 293 | left: 9px; 294 | } 295 | &:after { 296 | content: ''; 297 | display: inline-block; 298 | border-left: 6px solid transparent; 299 | border-right: 6px solid transparent; 300 | border-bottom: 6px solid $dropdownBackground; 301 | position: absolute; 302 | top: -6px; 303 | left: 10px; 304 | } 305 | } 306 | // Menu position and menu caret support for dropups via extra dropup class 307 | .navbar-fixed-bottom .dropdown-menu { 308 | &:before { 309 | border-top: 7px solid #ccc; 310 | border-top-color: $dropdownBorder; 311 | border-bottom: 0; 312 | bottom: -7px; 313 | top: auto; 314 | } 315 | &:after { 316 | border-top: 6px solid $dropdownBackground; 317 | border-bottom: 0; 318 | bottom: -6px; 319 | top: auto; 320 | } 321 | } 322 | // Dropdown toggle caret 323 | .navbar .nav li.dropdown .dropdown-toggle .caret, 324 | .navbar .nav li.dropdown.open .caret { 325 | border-top-color: $white; 326 | border-bottom-color: $white; 327 | } 328 | .navbar .nav li.dropdown.active .caret { 329 | @include opacity(100); 330 | } 331 | 332 | // Remove background color from open dropdown 333 | .navbar .nav li.dropdown.open > .dropdown-toggle, 334 | .navbar .nav li.dropdown.active > .dropdown-toggle, 335 | .navbar .nav li.dropdown.open.active > .dropdown-toggle { 336 | background-color: transparent; 337 | } 338 | 339 | // Dropdown link on hover 340 | .navbar .nav li.dropdown.active > .dropdown-toggle:hover { 341 | color: $white; 342 | } 343 | 344 | // Right aligned menus need alt position 345 | // TODO: rejigger this at some point to simplify the selectors 346 | .navbar .pull-right .dropdown-menu, 347 | .navbar .dropdown-menu.pull-right { 348 | left: auto; 349 | right: 0; 350 | &:before { 351 | left: auto; 352 | right: 12px; 353 | } 354 | &:after { 355 | left: auto; 356 | right: 13px; 357 | } 358 | } -------------------------------------------------------------------------------- /lib/_variables.scss: -------------------------------------------------------------------------------- 1 | // Variables 2 | // Variables to customize the look and feel of Bootstrap 3 | // ----------------------------------------------------- 4 | 5 | 6 | 7 | // GLOBAL VALUES 8 | // -------------------------------------------------- 9 | 10 | 11 | // Grays 12 | // ------------------------- 13 | $black: #000 !default; 14 | $grayDarker: #494e57 !default; 15 | $grayDark: #7e8793 !default; 16 | $gray: #727987 !default; 17 | $grayLight: #bec7d2 !default; 18 | $grayLighter: #eee !default; 19 | $white: #fff !default; 20 | 21 | 22 | // Accent colors 23 | // ------------------------- 24 | $blue: #4d74b8 !default; 25 | $blueDarker: #5176b9 !default; 26 | $blueDark: #0064cd !default; 27 | $green: #46a546 !default; 28 | $red: #9d261d !default; 29 | $yellow: #ffc40d !default; 30 | $orange: #f89406 !default; 31 | $pink: #c3325f !default; 32 | $purple: #7a43b6 !default; 33 | 34 | 35 | // Scaffolding 36 | // ------------------------- 37 | $bodyBackground: $white !default; 38 | $textColor: $grayDark !default; 39 | 40 | 41 | // Links 42 | // ------------------------- 43 | $linkColor: $grayDark !default; 44 | $linkColorHover: darken($linkColor, 15%) !default; 45 | 46 | 47 | // Typography 48 | // ------------------------- 49 | $sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif !default; 50 | $serifFontFamily: Georgia, "Times New Roman", Times, serif !default; 51 | $monoFontFamily: Menlo, Monaco, Consolas, "Courier New", monospace !default; 52 | $bigFontFamily: "BitterBold", $serifFontFamily; 53 | $bigFontFamilyRegular: "BitterRegular", $serifFontFamily; 54 | 55 | $baseFontSize: 13px !default; 56 | $baseFontFamily: $sansFontFamily !default; 57 | $baseLineHeight: 18px !default; 58 | $altFontFamily: $serifFontFamily !default; 59 | 60 | $headingsFontFamily: inherit !default; // empty to use BS default, $baseFontFamily 61 | $headingsFontWeight: bold !default; // instead of browser default, bold 62 | $headingsColor: inherit !default; // empty to use BS default, $textColor 63 | 64 | 65 | // Tables 66 | // ------------------------- 67 | $tableBackground: transparent !default; // overall background-color 68 | $tableBackgroundAccent: #f9f9f9 !default; // for striping 69 | $tableBackgroundHover: #f5f5f5 !default; // for hover 70 | $tableBorder: #ddd !default; // table and cell border 71 | 72 | 73 | // Buttons 74 | // ------------------------- 75 | $btnBackground: $white !default; 76 | $btnBackgroundHighlight: darken($white, 10%) !default; 77 | $btnBorder: #ccc !default; 78 | 79 | $btnPrimaryBackground: $blue !default; 80 | $btnPrimaryBackgroundHighlight: adjust-hue($btnPrimaryBackground, 15%) !default; 81 | 82 | $btnInfoBackground: #5bc0de !default; 83 | $btnInfoBackgroundHighlight: #2f96b4 !default; 84 | 85 | $btnSuccessBackground: #62c462 !default; 86 | $btnSuccessBackgroundHighlight: #51a351 !default; 87 | 88 | $btnWarningBackground: lighten($orange, 15%) !default; 89 | $btnWarningBackgroundHighlight: $orange !default; 90 | 91 | $btnDangerBackground: #ee5f5b !default; 92 | $btnDangerBackgroundHighlight: #bd362f !default; 93 | 94 | $btnInverseBackground: $gray !default; 95 | $btnInverseBackgroundHighlight: $grayDarker !default; 96 | 97 | 98 | // Forms 99 | // ------------------------- 100 | $inputBackground: $white !default; 101 | $inputBorder: #ccc !default; 102 | $inputBorderRadius: 3px !default; 103 | $inputDisabledBackground: $grayLighter !default; 104 | $formActionsBackground: #f5f5f5 !default; 105 | 106 | // Dropdowns 107 | // ------------------------- 108 | $dropdownBackground: $white !default; 109 | $dropdownBorder: rgba(0,0,0,.2) !default; 110 | $dropdownLinkColor: $grayDark !default; 111 | $dropdownLinkColorHover: $white !default; 112 | $dropdownLinkBackgroundHover: $blue !default; 113 | 114 | 115 | 116 | // COMPONENT VARIABLES 117 | // -------------------------------------------------- 118 | 119 | // Z-index master list 120 | // ------------------------- 121 | // Used for a bird's eye view of components dependent on the z-axis 122 | // Try to avoid customizing these :) 123 | $zindexDropdown: 1000 !default; 124 | $zindexPopover: 1010 !default; 125 | $zindexTooltip: 1020 !default; 126 | $zindexFixedNavbar: 1030 !default; 127 | $zindexModalBackdrop: 1040 !default; 128 | $zindexModal: 1050 !default; 129 | 130 | 131 | // Sprite icons path 132 | // ------------------------- 133 | $iconSpritePath: "../img/glyphicons-halflings.png" !default; 134 | $iconWhiteSpritePath: "../img/glyphicons-halflings-white.png" !default; 135 | 136 | 137 | // Input placeholder text color 138 | // ------------------------- 139 | $placeholderText: $grayLight !default; 140 | 141 | 142 | // Hr border color 143 | // ------------------------- 144 | $hrBorder: $grayLighter !default; 145 | 146 | 147 | // Navbar 148 | // ------------------------- 149 | $navbarHeight: 40px !default; 150 | $navbarBackground: $grayDarker !default; 151 | $navbarBackgroundHighlight: $grayDark !default; 152 | 153 | $navbarText: $grayLight !default; 154 | $navbarLinkColor: $grayLight !default; 155 | $navbarLinkColorHover: $white !default; 156 | $navbarLinkColorActive: $navbarLinkColorHover !default; 157 | $navbarLinkBackgroundHover: transparent !default; 158 | $navbarLinkBackgroundActive: $navbarBackground !default; 159 | 160 | $navbarSearchBackground: lighten($navbarBackground, 25%) !default; 161 | $navbarSearchBackgroundFocus: $white !default; 162 | $navbarSearchBorder: darken($navbarSearchBackground, 30%) !default; 163 | $navbarSearchPlaceholderColor: #ccc !default; 164 | $navbarBrandColor: $navbarLinkColor !default; 165 | 166 | 167 | // Hero unit 168 | // ------------------------- 169 | $heroUnitBackground: $grayLighter !default; 170 | $heroUnitHeadingColor: inherit !default; 171 | $heroUnitLeadColor: inherit !default; 172 | 173 | 174 | // Form states and alerts 175 | // ------------------------- 176 | $warningText: #c09853 !default; 177 | $warningBackground: #fcf8e3 !default; 178 | $warningBorder: darken(adjust-hue($warningBackground, -10), 3%) !default; 179 | 180 | $errorText: #b94a48 !default; 181 | $errorBackground: #f2dede !default; 182 | $errorBorder: darken(adjust-hue($errorBackground, -10), 3%) !default; 183 | 184 | $successText: #468847 !default; 185 | $successBackground: #dff0d8 !default; 186 | $successBorder: darken(adjust-hue($successBackground, -10), 5%) !default; 187 | 188 | $infoText: #3a87ad !default; 189 | $infoBackground: #d9edf7 !default; 190 | $infoBorder: darken(adjust-hue($infoBackground, -10), 7%) !default; 191 | 192 | 193 | 194 | // GRID 195 | // -------------------------------------------------- 196 | 197 | // Default 940px grid 198 | // ------------------------- 199 | $gridColumns: 10 !default; 200 | $gridColumnWidth: 90px !default; 201 | $gridGutterWidth: 0px !default; 202 | $gridRowWidth: ($gridColumns * $gridColumnWidth) + ($gridGutterWidth * ($gridColumns - 1)) !default; 203 | 204 | // Fluid grid 205 | // ------------------------- 206 | $fluidGridColumnWidth: 6.382978723% !default; 207 | $fluidGridGutterWidth: 2.127659574% !default; 208 | 209 | 210 | // Text shadow 211 | // ------------- 212 | $default-text-shadow-color: #fff; 213 | $default-text-shadow-h-offset: 0px; 214 | $default-text-shadow-v-offset: 1px; 215 | $default-text-shadow-blur: 0px; 216 | 217 | $font_path: "fonts/" !default; 218 | 219 | @font-face { 220 | font-family: 'BitterRegular'; 221 | src: url('#{$font_path}Bitter-Regular-webfont.eot'); 222 | src: url('#{$font_path}Bitter-Regular-webfont.eot?#iefix') format('embedded-opentype'), 223 | url('#{$font_path}Bitter-Regular-webfont.woff') format('woff'), 224 | url('#{$font_path}Bitter-Regular-webfont.ttf') format('truetype'), 225 | url('#{$font_path}Bitter-Regular-webfont.svg#BitterRegular') format('svg'); 226 | font-weight: normal; 227 | font-style: normal; 228 | 229 | } 230 | 231 | @font-face { 232 | font-family: 'BitterItalic'; 233 | src: url('#{$font_path}Bitter-Italic-webfont.eot'); 234 | src: url('#{$font_path}Bitter-Italic-webfont.eot?#iefix') format('embedded-opentype'), 235 | url('#{$font_path}Bitter-Italic-webfont.woff') format('woff'), 236 | url('#{$font_path}Bitter-Italic-webfont.ttf') format('truetype'), 237 | url('#{$font_path}Bitter-Italic-webfont.svg#BitterItalic') format('svg'); 238 | font-weight: normal; 239 | font-style: normal; 240 | 241 | } 242 | 243 | @font-face { 244 | font-family: 'BitterBold'; 245 | src: url('#{$font_path}Bitter-Bold-webfont.eot'); 246 | src: url('#{$font_path}Bitter-Bold-webfont.eot?#iefix') format('embedded-opentype'), 247 | url('#{$font_path}Bitter-Bold-webfont.woff') format('woff'), 248 | url('#{$font_path}Bitter-Bold-webfont.ttf') format('truetype'), 249 | url('#{$font_path}Bitter-Bold-webfont.svg#BitterBold') format('svg'); 250 | font-weight: normal; 251 | font-style: normal; 252 | 253 | } 254 | 255 | 256 | @font-face { 257 | font-family: 'FontAwesome'; 258 | src: url('#{$font_path}fontawesome-webfont.eot'); 259 | src: url('#{$font_path}fontawesome-webfont.eot?#iefix') format('embedded-opentype'), 260 | url('#{$font_path}fontawesome-webfont.woff') format('woff'), 261 | url('#{$font_path}fontawesome-webfont.ttf') format('truetype'), 262 | url('#{$font_path}fontawesome-webfont.svg#ChunkFiveRegular') format('svg'); 263 | font-weight: normal; 264 | font-style: normal; 265 | } 266 | -------------------------------------------------------------------------------- /lib/_sprites.scss: -------------------------------------------------------------------------------- 1 | // SPRITES 2 | // Glyphs and icons for buttons, nav, and more 3 | // ------------------------------------------- 4 | 5 | 6 | // ICONS 7 | // ----- 8 | 9 | // All icons receive the styles of the tag with a base class 10 | // of .i and are then given a unique class to add width, height, 11 | // and background-position. Your resulting HTML will look like 12 | // . 13 | 14 | // For the white version of the icons, just add the .icon-white class: 15 | // 16 | 17 | [class^="icon-"], 18 | [class*=" icon-"] { 19 | display: inline-block; 20 | width: 14px; 21 | height: 14px; 22 | @include ie7-restore-right-whitespace(); 23 | line-height: 14px; 24 | vertical-align: text-top; 25 | background-image: url($iconSpritePath); 26 | background-position: 14px 14px; 27 | background-repeat: no-repeat; 28 | 29 | } 30 | .icon-white { 31 | background-image: url($iconWhiteSpritePath); 32 | } 33 | 34 | .icon-glass { background-position: 0 0; } 35 | .icon-music { background-position: -24px 0; } 36 | .icon-search { background-position: -48px 0; } 37 | .icon-envelope { background-position: -72px 0; } 38 | .icon-heart { background-position: -96px 0; } 39 | .icon-star { background-position: -120px 0; } 40 | .icon-star-empty { background-position: -144px 0; } 41 | .icon-user { background-position: -168px 0; } 42 | .icon-film { background-position: -192px 0; } 43 | .icon-th-large { background-position: -216px 0; } 44 | .icon-th { background-position: -240px 0; } 45 | .icon-th-list { background-position: -264px 0; } 46 | .icon-ok { background-position: -288px 0; } 47 | .icon-remove { background-position: -312px 0; } 48 | .icon-zoom-in { background-position: -336px 0; } 49 | .icon-zoom-out { background-position: -360px 0; } 50 | .icon-off { background-position: -384px 0; } 51 | .icon-signal { background-position: -408px 0; } 52 | .icon-cog { background-position: -432px 0; } 53 | .icon-trash { background-position: -456px 0; } 54 | 55 | .icon-home { background-position: 0 -24px; } 56 | .icon-file { background-position: -24px -24px; } 57 | .icon-time { background-position: -48px -24px; } 58 | .icon-road { background-position: -72px -24px; } 59 | .icon-download-alt { background-position: -96px -24px; } 60 | .icon-download { background-position: -120px -24px; } 61 | .icon-upload { background-position: -144px -24px; } 62 | .icon-inbox { background-position: -168px -24px; } 63 | .icon-play-circle { background-position: -192px -24px; } 64 | .icon-repeat { background-position: -216px -24px; } 65 | .icon-refresh { background-position: -240px -24px; } 66 | .icon-list-alt { background-position: -264px -24px; } 67 | .icon-lock { background-position: -287px -24px; } // 1px off 68 | .icon-flag { background-position: -312px -24px; } 69 | .icon-headphones { background-position: -336px -24px; } 70 | .icon-volume-off { background-position: -360px -24px; } 71 | .icon-volume-down { background-position: -384px -24px; } 72 | .icon-volume-up { background-position: -408px -24px; } 73 | .icon-qrcode { background-position: -432px -24px; } 74 | .icon-barcode { background-position: -456px -24px; } 75 | 76 | .icon-tag { background-position: 0 -48px; } 77 | .icon-tags { background-position: -25px -48px; } // 1px off 78 | .icon-book { background-position: -48px -48px; } 79 | .icon-bookmark { background-position: -72px -48px; } 80 | .icon-print { background-position: -96px -48px; } 81 | .icon-camera { background-position: -120px -48px; } 82 | .icon-font { background-position: -144px -48px; } 83 | .icon-bold { background-position: -167px -48px; } // 1px off 84 | .icon-italic { background-position: -192px -48px; } 85 | .icon-text-height { background-position: -216px -48px; } 86 | .icon-text-width { background-position: -240px -48px; } 87 | .icon-align-left { background-position: -264px -48px; } 88 | .icon-align-center { background-position: -288px -48px; } 89 | .icon-align-right { background-position: -312px -48px; } 90 | .icon-align-justify { background-position: -336px -48px; } 91 | .icon-list { background-position: -360px -48px; } 92 | .icon-indent-left { background-position: -384px -48px; } 93 | .icon-indent-right { background-position: -408px -48px; } 94 | .icon-facetime-video { background-position: -432px -48px; } 95 | .icon-picture { background-position: -456px -48px; } 96 | 97 | .icon-pencil { background-position: 0 -72px; } 98 | .icon-map-marker { background-position: -24px -72px; } 99 | .icon-adjust { background-position: -48px -72px; } 100 | .icon-tint { background-position: -72px -72px; } 101 | .icon-edit { background-position: -96px -72px; } 102 | .icon-share { background-position: -120px -72px; } 103 | .icon-check { background-position: -144px -72px; } 104 | .icon-move { background-position: -168px -72px; } 105 | .icon-step-backward { background-position: -192px -72px; } 106 | .icon-fast-backward { background-position: -216px -72px; } 107 | .icon-backward { background-position: -240px -72px; } 108 | .icon-play { background-position: -264px -72px; } 109 | .icon-pause { background-position: -288px -72px; } 110 | .icon-stop { background-position: -312px -72px; } 111 | .icon-forward { background-position: -336px -72px; } 112 | .icon-fast-forward { background-position: -360px -72px; } 113 | .icon-step-forward { background-position: -384px -72px; } 114 | .icon-eject { background-position: -408px -72px; } 115 | .icon-chevron-left { background-position: -432px -72px; } 116 | .icon-chevron-right { background-position: -456px -72px; } 117 | 118 | .icon-plus-sign { background-position: 0 -96px; } 119 | .icon-minus-sign { background-position: -24px -96px; } 120 | .icon-remove-sign { background-position: -48px -96px; } 121 | .icon-ok-sign { background-position: -72px -96px; } 122 | .icon-question-sign { background-position: -96px -96px; } 123 | .icon-info-sign { background-position: -120px -96px; } 124 | .icon-screenshot { background-position: -144px -96px; } 125 | .icon-remove-circle { background-position: -168px -96px; } 126 | .icon-ok-circle { background-position: -192px -96px; } 127 | .icon-ban-circle { background-position: -216px -96px; } 128 | .icon-arrow-left { background-position: -240px -96px; } 129 | .icon-arrow-right { background-position: -264px -96px; } 130 | .icon-arrow-up { background-position: -289px -96px; } // 1px off 131 | .icon-arrow-down { background-position: -312px -96px; } 132 | .icon-share-alt { background-position: -336px -96px; } 133 | .icon-resize-full { background-position: -360px -96px; } 134 | .icon-resize-small { background-position: -384px -96px; } 135 | .icon-plus { background-position: -408px -96px; } 136 | .icon-minus { background-position: -433px -96px; } 137 | .icon-asterisk { background-position: -456px -96px; } 138 | 139 | .icon-exclamation-sign { background-position: 0 -120px; } 140 | .icon-gift { background-position: -24px -120px; } 141 | .icon-leaf { background-position: -48px -120px; } 142 | .icon-fire { background-position: -72px -120px; } 143 | .icon-eye-open { background-position: -96px -120px; } 144 | .icon-eye-close { background-position: -120px -120px; } 145 | .icon-warning-sign { background-position: -144px -120px; } 146 | .icon-plane { background-position: -168px -120px; } 147 | .icon-calendar { background-position: -192px -120px; } 148 | .icon-random { background-position: -216px -120px; } 149 | .icon-comment { background-position: -240px -120px; } 150 | .icon-magnet { background-position: -264px -120px; } 151 | .icon-chevron-up { background-position: -288px -120px; } 152 | .icon-chevron-down { background-position: -313px -119px; } // 1px, 1px off 153 | .icon-retweet { background-position: -336px -120px; } 154 | .icon-shopping-cart { background-position: -360px -120px; } 155 | .icon-folder-close { background-position: -384px -120px; } 156 | .icon-folder-open { background-position: -408px -120px; } 157 | .icon-resize-vertical { background-position: -432px -119px; } // 1px, 1px off 158 | .icon-resize-horizontal { background-position: -456px -118px; } // 1px, 2px off 159 | 160 | .icon-hdd { background-position: 0 -144px; } 161 | .icon-bullhorn { background-position: -24px -144px; } 162 | .icon-bell { background-position: -48px -144px; } 163 | .icon-certificate { background-position: -72px -144px; } 164 | .icon-thumbs-up { background-position: -96px -144px; } 165 | .icon-thumbs-down { background-position: -120px -144px; } 166 | .icon-hand-right { background-position: -144px -144px; } 167 | .icon-hand-left { background-position: -168px -144px; } 168 | .icon-hand-up { background-position: -192px -144px; } 169 | .icon-hand-down { background-position: -216px -144px; } 170 | .icon-circle-arrow-right { background-position: -240px -144px; } 171 | .icon-circle-arrow-left { background-position: -264px -144px; } 172 | .icon-circle-arrow-up { background-position: -288px -144px; } 173 | .icon-circle-arrow-down { background-position: -312px -144px; } 174 | .icon-globe { background-position: -336px -144px; } 175 | .icon-wrench { background-position: -360px -144px; } 176 | .icon-tasks { background-position: -384px -144px; } 177 | .icon-filter { background-position: -408px -144px; } 178 | .icon-briefcase { background-position: -432px -144px; } 179 | .icon-fullscreen { background-position: -456px -144px; } 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | -------------------------------------------------------------------------------- /js/script-ck.js: -------------------------------------------------------------------------------- 1 | function b(a){var b=$(".login");if(a.authResponse){gop.init();gop.data.getUserFromFB();$.publish("fb/status","connected");b.on("click",function(){})}else b.on("click",function(){FB.login(function(a){if(a.authResponse){gop.init();$.publish("fb/status","connected")}else console.log("handle user denial!")},{scope:"user_relationships,user_relationship_details,friends_relationships,friends_relationship_details ,friends_birthday"})})}$("document").ready(function(){Parse.initialize("nkmNHwnqekc0v7RpqXpjgKpHNXOPjMtTSBzy00wH","ZqgJnQ3C6gtUdxuYqxhnY0Ia923E6iMiatPd5qqa");FB.init({appId:"397573470274307",status:!0,cookie:!0,xfbml:!0,oauth:!0});FB.getLoginStatus(b)});var a=gop={debug:!1,pay_to_sort:!0,conf:{view:"list",filters:{}},storage:{},templates:{},timeout:0,rel_to_preposition:{single:"",in_a_relationship:"with",engaged:"to",married:"to","it-s_complicated":"with",in_an_open_relationship:"width",widowed:"",separated:"",divorced:"",not_listed:""},init:function(){gop.compileTemplates();gop.bindEvents();gop.data.loadConf();gop.data.statuses=_.keys(gop.rel_to_preposition);gop.ui.renderStatusFilters()},compileTemplates:function(){gop.templates.friends=_.template('
      <% _.each(friends, function(friend) { %><% if(typeof friend.mate == "object"){ %>
    • <%= friend.relationship_status.toLowerCase() %> 
      <%= gop.data.preposition(friend.relationship_status) %>
    • <% }else{ %>
    • <% if(friend.rel_code != "not_listed"){ %>
      <%= friend.relationship_status.toLowerCase() %> 
      <% } %><% if(friend.rel_code == "not_listed"){ %>
      is not sharing relationship info
      <% } %>
    • <% } %><% }); %>
    ')},bindEvents:function(){$.subscribe("fb/me",gop.ui.renderUser);$.subscribe("fb/me",gop.data.checkParseUser);$.subscribe("fb/status",gop.ui.setState);$.subscribe("fb/status",gop.data.getUserFromFB);$.subscribe("fb/connected",gop.connected);$.subscribe("fb/fetched_friends",gop.data.checkFilters);$.subscribe("fb/fetched_friends",gop.bindDependantEvents);$.subscribe("fb/fetched_friends",gop.data.groupByStatus);$.subscribe("fb/fetched_friends",gop.ui.addCountToFilters);$("#sort").on("click",".sort_by",function(a){window.setTimeout(function(){var a=$(".sort_tags li").filter(function(){return $(this).find("input").prop("checked")});gop.conf.filters={};a.each(function(){var a=$(this).data("category");typeof gop.conf.filters[a]=="undefined"&&(gop.conf.filters[a]=[]);gop.conf.filters[a].push($(this).data("status"))});gop.data.checkFilters()},100)});$("#view_cont").on("click",".view",function(){gop.ui.changeView($(this).attr("id"));gop.ui.bindTooltips()})},bindDependantEvents:function(a,b){$("#search_input").typeahead({source:_.map(gop.data.friends,function(a){return a.name}),event:function(a){if(a!==!1){var b=_.filter(gop.data.friends,function(b){return _.indexOf(a,b.name)>-1});gop.data.clearFilters();gop.ui.render(null,b);$("#search_cont").addClass("active")}else{gop.ui.render(null,gop.data.friends);$("#search_cont").removeClass("active")}},clear:gop.ui.clearSearch});$("#clear_search").on("click",gop.ui.clearSearch);gop.ui.bindTooltips();$("#logout").on("click",function(a){a.preventDefault();Parse.User.logOut();FB.logout(function(a){window.location=window.location})})},connected:function(a,b){gop.data.getFriends()}};gop.data={friends:{},mates:{},state:"disconnected",count:{sex:{male:0,female:0},rel_code:{}},getFriends:function(){gop.debug?friends&&gop.data.handleFriends(friends):gop.data.getFriendsFromFB()},getFriendsFromFB:function(){gop.ui.updateProgress(0);FB.api({method:"fql.multiquery",queries:{friends:"SELECT uid, name,sex ,mutual_friend_count,birthday_date, pic,relationship_status, significant_other_id FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) ORDER BY name",significant_others:'SELECT uid, name,pic FROM user WHERE uid in (SELECT significant_other_id FROM #friends WHERE relationship_status != "")'}},function(a){gop.ui.updateProgress(100);setTimeout(function(){gop.data.handleFriends(a)},500)})},getUserFromFB:function(){if(gop.data.me)return;gop.data.me={};FB.api("/me",function(a){gop.data.me=a;$.publish("fb/me",a)})},checkParseUser:function(a,b){var c=Parse.User.current();c?gop.data.user=c:gop.data.loginParseUser(b)},loginParseUser:function(a){Parse.User.logIn(a.username,a.id,{success:function(a){console.log(a);gop.data.user=a},error:function(b,c){gop.data.createParseUser(a)}})},createParseUser:function(a){var b=new Parse.User;b.set("username",a.username);b.set("password",a.id);b.set("payed",!1);b.signUp(null,{success:function(a){console.log(a);gop.data.user=a},error:function(a,b){console.warn("Error: "+b.code+" "+b.message)}})},handleFriends:function(a){var b=a[0].fql_result_set,c=a[1].fql_result_set;for(var d=0;d <% }) %>',b={statuses:gop.data.statuses},c=_.template(a,b);$("#sort").append(c)},selectFilters:function(){var a=_.reduceRight(gop.conf.filters,function(a,b){return a.concat(b)}),b=$(".sort_tags");$.each(a,function(a,c){b.find('[data-status="'+c+'"]').find("input").prop("checked","checked")})},deselectFilters:function(){var a=$(".sort_tags");a.find("input").prop("checked",!1)},addCountToFilters:function(){$(".sort_tags li").each(function(){var a=$(this).data("category"),b=$(this).data("status"),c=gop.data.count[a][b];!c>0&&(c=0);$(this).find(".ammount").html("("+c+")")})},render:function(a,b){gop.ui.renderBG();b=b||gop.data.friends;var c=gop.templates.friends({friends:b});$("#friends_body").empty().append(c);gop.ui.renderCountString(b.length);gop.ui.bindTooltips()},renderCountString:function(a){var b="",c="";gop.conf.filters.sex&&gop.conf.filters.sex.length==1&&(b=gop.conf.filters.sex.join(", "));gop.conf.filters.rel_code&&(c=gop.conf.filters.rel_code.join(", "));$("#showing").html('Showing '+a+" "+b+" friends")},renderUser:function(a,b){b=gop.data.me;b.rel_code=b.relationship_status.toLowerCase().split(" ").join("_").split("'").join("-");var c='
    Hi <%=user.first_name%>, you are
    <%=user.relationship_status%>
    | logout',d={user:b},e=_.template(c,d);$(".userdata").append(e).data({sex:b.sex,rel_code:b.rel_code});gop.ui.renderBG(b.rel_code,b.sex);gop.ui.updateProgress(50)},renderBG:function(a,b){$body=$("body");$body[0].className="";$body.addClass(gop.data.state);if(gop.conf.filters&&gop.conf.filters.rel_code){gop.conf.filters.sex&&gop.conf.filters.sex.length==1?b=gop.conf.filters.sex[0]:b=$(".userdata").data("sex");a=gop.conf.filters.rel_code.length==1?gop.conf.filters.rel_code[0]:"all"}else{b=$(".userdata").data("sex");a=$(".userdata").data("rel_code")}$body.addClass(a).addClass(b)},setState:function(a,b){gop.data.state=b||"disconnected";$("body").removeClass("disconnected connected").addClass(gop.data.state).attr("data-state",gop.data.state);gop.data.state=="connected"&&$.publish("fb/connected",gop.data.state)},changeView:function(a){$(".view").removeClass("selected");$("#"+a).addClass("selected");gop.conf.view=a;$("#friends_cont")[0].className=a;gop.data.saveConf()},clearSearch:function(){gop.ui.render(null,gop.data.friends);$("#search_cont").removeClass("active");$("#search_input").val("")},updateProgress:function(a){$(".bar").width(a+"%")},bindTooltips:function(){$("#friends .rel").popover({placement:function(a,b){var c=this.$element.position().left,d=$("#friends").width()/2-15<=c?"left":"right";return"inside "+d},animation:!0,content:function(){var a=$(this).html();return a},showCallback:function(){var a=$("#friends_body").scrollTop(),b=$("#friends_body").height(),c=this.$element.height(),d=this.$element.position().top,e=30;d+c+e-b>a&&$("#friends_body").animate({scrollTop:d+c+e-b},200);d2;a==null&&(a=[]);if(A&& 12 | a.reduce===A){e&&(c=b.bind(c,e));return f?a.reduce(c,d):a.reduce(c)}j(a,function(a,b,i){if(f)d=c.call(e,d,a,b,i);else{d=a;f=true}});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(B&&a.reduceRight===B){e&&(c=b.bind(c,e));return f?a.reduceRight(c,d):a.reduceRight(c)}var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect=function(a, 13 | c,b){var e;G(a,function(a,g,h){if(c.call(b,a,g,h)){e=a;return true}});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(C&&a.filter===C)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(D&&a.every===D)return a.every(c,b);j(a,function(a,g,h){if(!(e=e&&c.call(b, 14 | a,g,h)))return o});return!!e};var G=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(E&&a.some===E)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return o});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;if(q&&a.indexOf===q)return a.indexOf(c)!=-1;return b=G(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck= 15 | function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;bd?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]}; 17 | j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a,c,d){d||(d=b.identity);for(var e=0,f=a.length;e>1;d(a[g])=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1),true);return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a= 20 | i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e=0;d--)b=[a[d].apply(this,b)];return b[0]}};b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=L||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&& 25 | c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.pick=function(a){var c={};j(b.flatten(i.call(arguments,1)),function(b){b in a&&(c[b]=a[b])});return c};b.defaults=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return r(a,b,[])};b.isEmpty= 26 | function(a){if(a==null)return true;if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=p||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)};b.isArguments=function(a){return l.call(a)=="[object Arguments]"};b.isArguments(arguments)||(b.isArguments=function(a){return!(!a||!b.has(a,"callee"))});b.isFunction=function(a){return l.call(a)=="[object Function]"}; 27 | b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isFinite=function(a){return b.isNumber(a)&&isFinite(a)};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"};b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a, 28 | b){return K.call(a,b)};b.noConflict=function(){s._=I;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.result=function(a,c){if(a==null)return null;var d=a[c];return b.isFunction(d)?d.call(a):d};b.mixin=function(a){j(b.functions(a),function(c){M(c,b[c]=a[c])})};var N=0;b.uniqueId= 29 | function(a){var b=N++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var u=/.^/,n={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"},v;for(v in n)n[n[v]]=v;var O=/\\|'|\r|\n|\t|\u2028|\u2029/g,P=/\\(\\|'|r|n|t|u2028|u2029)/g,w=function(a){return a.replace(P,function(a,b){return n[b]})};b.template=function(a,c,d){d=b.defaults(d||{},b.templateSettings);a="__p+='"+a.replace(O,function(a){return"\\"+n[a]}).replace(d.escape|| 30 | u,function(a,b){return"'+\n_.escape("+w(b)+")+\n'"}).replace(d.interpolate||u,function(a,b){return"'+\n("+w(b)+")+\n'"}).replace(d.evaluate||u,function(a,b){return"';\n"+w(b)+"\n;__p+='"})+"';\n";d.variable||(a="with(obj||{}){\n"+a+"}\n");var a="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+a+"return __p;\n",e=new Function(d.variable||"obj","_",a);if(c)return e(c,b);c=function(a){return e.call(this,a,b)};c.source="function("+(d.variable||"obj")+"){\n"+a+"}";return c}; 31 | b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var x=function(a,c){return c?b(a).chain():a},M=function(a,c){m.prototype[a]=function(){var a=i.call(arguments);J.call(a,this._wrapped);return x(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return x(d, 32 | this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return x(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain=true;return this};m.prototype.value=function(){return this._wrapped}}).call(this); 33 | -------------------------------------------------------------------------------- /lib/_style.scss: -------------------------------------------------------------------------------- 1 | 2 | /* ===== Primary Styles ======================================================== 3 | Author: 4 | ========================================================================== */ 5 | html{ 6 | background: url(../img/bg.jpg) repeat; 7 | height: 100%; 8 | } 9 | body{ 10 | background: url(../img/bg/all.png) 50% top no-repeat fixed; 11 | height: 100%; 12 | min-height: 700px; 13 | position: relative; 14 | min-width:900px; 15 | @include transition(background 500ms ease-out); 16 | } 17 | body.all{ 18 | background-image:url(../img/bg/all.png); 19 | } 20 | body.single{ 21 | background-image:url(../img/bg/male_single.png); 22 | } 23 | body.female.single{ 24 | background-image:url(../img/bg/female_single.png); 25 | } 26 | body.complicated{ 27 | background-image:url(../img/bg/complicated.png); 28 | } 29 | body.engaged{ 30 | background-image:url(../img/bg/engaged.png); 31 | } 32 | body.in_a_relationship{ 33 | background-image:url(../img/bg/in_a_relationship.png); 34 | } 35 | body.in_an_open_relationship{ 36 | background-image:url(../img/bg/in_an_open_relationship.png); 37 | } 38 | body.it-s_complicated{ 39 | background-image:url(../img/bg/complicated.png); 40 | } 41 | body.married{ 42 | background-image:url(../img/bg/married.png); 43 | } 44 | 45 | 46 | /* ========================================================================== 47 | HEADER 48 | ========================================================================== */ 49 | 50 | header{ 51 | height: 70px; 52 | } 53 | .userdata{ 54 | height: 43px; 55 | text-align: right; 56 | padding-right:15px; 57 | font-size:15px; 58 | line-height:43px; 59 | @include single-text-shadow; 60 | } 61 | .small_user_pic{ 62 | width:20px; 63 | height: 20px; 64 | vertical-align: middle; 65 | margin: -5px 5px 0; 66 | border:1px solid $grayLight; 67 | border-radius: 1px; 68 | background-repeat: no-repeat; 69 | background-size: cover; 70 | display: inline-block; 71 | } 72 | .small_rel_info{ 73 | display: inline-block; 74 | font-family: $bigFontFamily; 75 | text-rendering: optimizeLegibility; 76 | } 77 | #logo{ 78 | background: url(../img/logo.png) left bottom no-repeat; 79 | display: block; 80 | height: 33px; 81 | } 82 | 83 | #menu{ 84 | list-style: none; 85 | display:block; 86 | @include border-radius(25px); 87 | padding:10px 0; 88 | margin: 0; 89 | //margin-left: 85px; 90 | height: 20px; 91 | background: #EDEFF2; 92 | text-align : center; 93 | letter-spacing:-1px; 94 | @include box-shadow(0 1px 2px rgba(0,0,0,.2)); 95 | 96 | li{ 97 | display: inline-block; 98 | letter-spacing:normal; 99 | vertical-align: middle; 100 | padding: 0; 101 | 102 | @include single-text-shadow; 103 | } 104 | li:nth-child(1){ 105 | margin-left:-5px; 106 | } 107 | } 108 | 109 | 110 | #login{ 111 | position: relative; 112 | z-index: 10; 113 | } 114 | 115 | #post_scriptum{ 116 | font-size: 15px; 117 | padding-top:25px; 118 | line-height:25px; 119 | a{ 120 | text-decoration: underline; 121 | } 122 | } 123 | 124 | #myModal2{ 125 | z-index: 1050; 126 | margin-top: -340px; 127 | width: 680px; 128 | height: 600px; 129 | 130 | margin-left: -340px; 131 | left: 50%; 132 | .modal-body{ 133 | height: 600px !important; 134 | max-height: none; 135 | } 136 | .close{ 137 | position: absolute; 138 | top: -25px; 139 | right: -15px; 140 | font-size: 25px; 141 | color: white; 142 | z-index: 1500; 143 | } 144 | } 145 | .disconnected .modal-backdrop{ 146 | background-image: none; 147 | } 148 | /* ========================================================================== 149 | Welcome state 150 | ========================================================================== */ 151 | #main{ 152 | 153 | 154 | } 155 | #welcome{ 156 | text-align : center; 157 | background: url(../img/heart.png) 50% 15px no-repeat; 158 | padding-top:165px; 159 | } 160 | .welcome{ 161 | 162 | h1{ 163 | font : 45px / 1.666em $bigFontFamily; 164 | color: $grayDark; 165 | @include single-text-shadow; 166 | } 167 | h2{ 168 | color: $grayDarker; 169 | font:29px / 1.5em $bigFontFamilyRegular; 170 | @include single-text-shadow; 171 | } 172 | } 173 | .sign_in{ 174 | margin-top:35px; 175 | height: 55px; 176 | @include border-radius(40px); 177 | @include box-shadow(0 1px 2px rgba(0,0,0,.9)); 178 | @include gradient-vertical($blue,$blueDarker); 179 | 180 | &:hover{ 181 | @include gradient-vertical(darken($blue,5%),darken($blueDarker,5%)); 182 | } 183 | } 184 | 185 | .login{ 186 | width:100%; 187 | height: 100%; 188 | cursor: pointer; 189 | color: $white; 190 | font: 25px / 55px $bigFontFamilyRegular; 191 | text-rendering: optimizeLegibility; 192 | display: inline-block; 193 | } 194 | /* ========================================================================== 195 | Footer 196 | ========================================================================== */ 197 | 198 | 199 | footer{ 200 | @include single-text-shadow; 201 | position: absolute; 202 | height: 30px; 203 | bottom:0; 204 | left: 0;right:0; 205 | color: $gray; 206 | a{ 207 | color:$gray; 208 | } 209 | } 210 | #copy{ 211 | text-align: center; 212 | } 213 | 214 | 215 | /* ========================================================================== 216 | Connected state 217 | ========================================================================== */ 218 | #connected{ 219 | position: absolute; 220 | top:128px; 221 | bottom : 44px; 222 | } 223 | 224 | #friends_cont{ 225 | background: $white; 226 | @include border-radius(20px); 227 | overflow: hidden; 228 | position: relative; 229 | height: 100%; 230 | min-height: 500px; 231 | margin-left:-50px; 232 | width:680px; 233 | float:left; 234 | } 235 | $friends_padding : 52px; 236 | 237 | #friends_header{ 238 | @include box-sizing(border-box); 239 | height:$friends_padding; 240 | border-bottom:3px dashed $grayLighter; 241 | position: absolute;top:0; 242 | width:100%; 243 | } 244 | 245 | #showing{ 246 | height: 100%; 247 | width:100%; 248 | font-size:18px; 249 | font-family: $bigFontFamilyRegular; 250 | @include single-text-shadow; 251 | line-height:50px; 252 | text-align:center; 253 | .count{ 254 | color:$blue; 255 | font-family: $bigFontFamily; 256 | } 257 | } 258 | 259 | #view_cont{ 260 | position: absolute; 261 | right:0px; 262 | top:0px; 263 | text-align: center; 264 | //background: $grayLighter; 265 | font-size: 22px; 266 | margin-top:10px; 267 | margin-left:10px; 268 | border-radius:5px; 269 | padding: 5px 10px; 270 | letter-spacing: 0px; 271 | } 272 | .view{ 273 | display: inline-block; 274 | text-shadow : 1px 1px 0px rgba(255,255,255,.2); 275 | cursor: pointer; 276 | } 277 | .view.selected{ 278 | color:$blue; 279 | } 280 | 281 | #friends_footer{ 282 | @include box-sizing(border-box); 283 | height:$friends_padding; 284 | border-top:3px dashed $grayLighter; 285 | position: absolute;bottom:0; 286 | width:100%; 287 | font-size:18px; 288 | @include single-text-shadow; 289 | line-height: 45px; 290 | padding-left: 25px; 291 | 292 | } 293 | 294 | #friends_body{ 295 | overflow: scroll; 296 | overflow-x: hidden; 297 | -webkit-overflow-scrolling: touch; 298 | position: absolute; 299 | top:$friends_padding; 300 | bottom:$friends_padding; 301 | left: 0;right:0; 302 | 303 | .progress{ 304 | width: 200px; 305 | margin-left: -100px; 306 | position: absolute; 307 | top: 20%; 308 | left: 50%; 309 | overflow: visible; 310 | .preload_text{ 311 | letter-spacing: normal; 312 | font-size: 15px; 313 | text-align: center; 314 | padding-top: 10px; 315 | font-family: $bigFontFamilyRegular; 316 | } 317 | .bar{ 318 | position: relative; 319 | border-radius: 3px; 320 | height: 94%; 321 | width: 0%; 322 | margin-left: 2px; 323 | margin-top: 1px; 324 | @include transition(width 250ms cubic-bezier(.01,1.06,.33,.92)); 325 | 326 | } 327 | 328 | } 329 | } 330 | #friends{ 331 | margin: 0; 332 | position: relative; 333 | 334 | } 335 | .rel{ 336 | text-align: left; 337 | list-style:none; 338 | position: relative; 339 | padding:15px 25px; 340 | 341 | } 342 | .rel:nth-child(2n-1){ 343 | background: #f7f8f9; 344 | border-top:3px dashed $grayLighter; 345 | border-bottom:3px dashed $grayLighter; 346 | } 347 | .rel:first-child{ 348 | border-top: none; 349 | } 350 | .rel:last-child{ 351 | border-bottom: none; 352 | } 353 | .prof,.status,.rel_info{ 354 | letter-spacing: normal; 355 | display: inline-block; 356 | vertical-align: middle; 357 | } 358 | .is,.preposition{ 359 | display: inline-block; 360 | } 361 | 362 | .thumb #friends_body{ 363 | letter-spacing:-4px; 364 | .rel{ 365 | display:inline-block; 366 | letter-spacing:normal; 367 | padding:15px 20px 15px 25px; 368 | @include box-sizing(border-box); 369 | width:25%; 370 | border-bottom:3px dashed $grayLighter; 371 | border-top:none; 372 | .rel_info{ 373 | display: none; 374 | } 375 | .mate_prof{ 376 | display: none; 377 | } 378 | } 379 | 380 | //.rel:nth-child(3n-1){ 381 | // background: #f7f8f9; 382 | //} 383 | } 384 | .list .popover{ 385 | display: none !important; 386 | } 387 | #friends_body .popover-title{ 388 | display: none; 389 | } 390 | #friends_body .popover-content{ 391 | .status{ 392 | padding-bottom : 6px; 393 | } 394 | .mate_name{ 395 | display: block !important; 396 | } 397 | .rel_info{ 398 | display: block !important; 399 | width:auto !important; 400 | text-align: center; 401 | } 402 | .friend_prof,.mate_prof{ 403 | display: none; 404 | } 405 | } 406 | 407 | 408 | $prof_width : 120px; 409 | 410 | .prof{ 411 | width : $prof_width; 412 | } 413 | .prof .friend_name{ 414 | 415 | } 416 | .friend_prof .friend_name{ 417 | 418 | } 419 | .mate_prof .friend_name{ 420 | 421 | } 422 | .prof_cont{ 423 | background: $white; 424 | position: relative; 425 | border:1px solid #ced0d1; 426 | padding:5px; 427 | width:105px; 428 | height: 105px; 429 | @include box-shadow(0 1px 2px rgba(0,0,0,.2)); 430 | @include border-radius(5px); 431 | i{ 432 | position: absolute; 433 | bottom: 4px; 434 | right: 4px; 435 | background: white; 436 | padding: 3px 0 0 3px; 437 | border-top-left-radius: 5px; 438 | opacity: 0; 439 | //@include transition(opacity 200ms linear); 440 | .thumb &{ 441 | opacity: 1; 442 | } 443 | &:before{ 444 | top:0; 445 | } 446 | } 447 | } 448 | .prof_pic{ 449 | display: block; 450 | width:100px; 451 | height: 100px; 452 | /*background: #fed;*/ 453 | border: #fff 3px solid; 454 | @include box-shadow(inset 1px 1px 2px rgba(0,0,0,.2)); 455 | overflow: hidden; 456 | vertical-align: bottom; 457 | position: relative; 458 | @include border-radius(5px); 459 | background-size: cover; 460 | background-repeat: no-repeat; 461 | } 462 | 463 | .rel_info{ 464 | text-align: center; 465 | width : 330px; 466 | padding: 0 20px; 467 | color:$grayDarker; 468 | font-size: 18px; 469 | line-height: 28px; 470 | @include single-text-shadow; 471 | .status{ 472 | font-family: $bigFontFamily; 473 | color:$blue; 474 | } 475 | } 476 | 477 | 478 | .small_rel_info.in_a_relationship{ 479 | background-image: url(../img/icons/heart_small.png); 480 | background-repeat: no-repeat; 481 | background-position: 0% 50%; 482 | padding-left:18px; 483 | margin-left:2px; 484 | } 485 | .small_rel_info.in_a_relationship:first-letter{ 486 | text-transform: capitalize; 487 | } 488 | 489 | aside{ 490 | 491 | h5{ 492 | font:18px / 45px $bigFontFamilyRegular; 493 | color: $grayDarker; 494 | text-shadow: 5px 0 0 rgba(255,255,255,.4); 495 | text-rendering: optimizeLegibility; 496 | } 497 | hr{ 498 | width:60%; 499 | padding: 0 18px; 500 | } 501 | } 502 | #search_cont{ 503 | position: relative; 504 | } 505 | #search_input{ 506 | border-radius: 5px; 507 | font-size: 16px; 508 | 509 | box-shadow: 0 2px 0 rgba(0,0,0,0.1); 510 | border:0; 511 | padding:3px; 512 | width:150px; 513 | padding:8px; 514 | padding-right:40px; 515 | outline: none; 516 | } 517 | #clear_search{ 518 | font-size: 25px; 519 | position: absolute; 520 | right:87px;top:8px; 521 | width:15px;height:15px; 522 | cursor: pointer; 523 | display: none; 524 | &:hover{ 525 | color:$blue; 526 | } 527 | } 528 | #search_cont.active #clear_search{ 529 | display: block; 530 | } 531 | .typeahead{ 532 | width:195px; 533 | } 534 | 535 | #sort{ 536 | font-size:14px; 537 | color:$grayDark; 538 | @include single-text-shadow; 539 | 540 | } 541 | .sort_tags{ 542 | list-style: none; 543 | margin:0; 544 | padding:0; 545 | li{ 546 | padding:0; 547 | margin:0; 548 | font-weight: bold; 549 | line-height:24px; 550 | 551 | } 552 | li:first-letter{ 553 | text-transform: capitalize; 554 | } 555 | } 556 | 557 | .sort_tags input{ 558 | visibility: hidden; 559 | position: absolute; 560 | } 561 | .sort_tags label{ 562 | cursor: pointer; 563 | text-transform: capitalize; 564 | } 565 | .sort_tags .filter:first-letter{ 566 | color:green; 567 | } 568 | .sort_tags .ammount{ 569 | color: lighten($gray,20%); 570 | font-size:12px; 571 | text-shadow: 0 1px 0 rgba(255,255,255,.2); 572 | } 573 | .sort_tags label i{ 574 | visibility: hidden; 575 | } 576 | .sort_tags input:checked + label{ 577 | color: $blue; 578 | } 579 | 580 | .sort_tags input:checked + label i{ 581 | visibility: visible; 582 | } 583 | 584 | body.disconnected #connected{ 585 | display: none; 586 | } 587 | 588 | body.connected #welcome{ 589 | display: none; 590 | } 591 | 592 | .chromeframe{ 593 | 594 | } 595 | 596 | .modal-backdrop{ 597 | background: #000 url(../img/bg/all.png) 50% top no-repeat; 598 | @include transition(opacity 300ms linear); 599 | } 600 | .modal-p{ 601 | font-size: 14px; 602 | } 603 | 604 | 605 | /******************* ABOUT PAGE ********************/ 606 | #about_cont{ 607 | background: white; 608 | @include border-radius(20px); 609 | margin-top : 35px; 610 | font-size: 15px; 611 | line-height: 22px; 612 | } 613 | #about_inner{ 614 | padding: 25px; 615 | .title{ 616 | width : 100px; 617 | display: inline-block; 618 | } 619 | } 620 | .about_copy{ 621 | display: block; 622 | text-align: center; 623 | padding:15px; 624 | } 625 | #comments{ 626 | padding: 15px; 627 | min-height:500px; 628 | } 629 | 630 | 631 | --------------------------------------------------------------------------------