UNPKG

webgl-3d-animation

Version:

Interactive 3D animation using WebGL showing a 2D predator prey ecology on a grid which is real-time mapped onto the surface of a 3D torus. node.js server side gives access to WAV format files which are rendered using Web Audio API

1,545 lines (1,430 loc) 72.8 kB
@font-face { font-family: "Lato"; font-style: normal; font-weight: 300; src: url("../vendor/fonts/lato-fontfacekit/Lato-Lig-webfont.eot"), url("../vendor/fonts/lato-fontfacekit/Lato-Lig-webfont.ttf") format("truetype"); } @font-face { font-family: "Lato"; font-style: italic; font-weight: normal; src: url("../vendor/fonts/lato-fontfacekit/Lato-LigIta-webfont.eot"), url("../vendor/fonts/lato-fontfacekit/Lato-LigIta-webfont.ttf") format("truetype"); } @font-face { font-family: "Lato"; font-style: normal; font-weight: normal; src: url("../vendor/fonts/lato-fontfacekit/Lato-Reg-webfont.eot"), url("../vendor/fonts/lato-fontfacekit/Lato-Reg-webfont.ttf") format("truetype"); } @font-face { font-family: "Lato"; font-style: italic; font-weight: normal; src: url("../vendor/fonts/lato-fontfacekit/Lato-RegIta-webfont.eot"), url("../vendor/fonts/lato-fontfacekit/Lato-RegIta-webfont.ttf") format("truetype"); } @font-face { font-family: "Lato"; font-style: normal; font-weight: bold; src: url("../vendor/fonts/lato-fontfacekit/Lato-Bol-webfont.eot"), url("../vendor/fonts/lato-fontfacekit/Lato-Bol-webfont.ttf") format("truetype"); } @font-face { font-family: "Lato"; font-style: italic; font-weight: bold; src: url("../vendor/fonts/lato-fontfacekit/Lato-BolIta-webfont.eot"), url("../vendor/fonts/lato-fontfacekit/Lato-BolIta-webfont.ttf") format("truetype"); } html { margin: 0em; padding: 0em; } body { height: 100%; min-height: 100%; font-size: 1em; font-family: 'Lato', Verdana, Geneva, sans-serif; margin: 0; padding: 0; background-color: white; color: #3f3f3f; } h1 { color: white; font-family: 'Lato', georgia, times, "times new roman", serif; font-weight: 600; font-size: 1.3em; } h1 a { text-decoration: none; } h2 { color: #5f5f5f; font-family: 'Lato', georgia, times, "times new roman", serif; font-weight: 600; font-size: 1.15em; margin-top: 0; } h2 a { text-decoration: none; } h3 { font-family: 'Lato', georgia, times, "times new roman", serif; font-weight: 600; font-size: 1.1em; } h3 a { text-decoration: none; } a { text-decoration: none; } code { font-size: 0.95em; } .component_group { display: inline-block; } .draggable { cursor: move; } .playbacksvg .button-art { border: none; fill: #777777 !important; stroke: transparent !important; stroke-width: 0 !important; } .playbacksvg .bg { fill: #dddddd; stroke: #aaaaaa; stroke-width: 1px; } .playbacksvg .highlight { border: solid 1px #cccccc; border-bottom: none; fill: white; opacity: 0.6; stroke: transparent; stroke-width: 0; } .playbacksvg .pause-center { border: none; fill: #dddddd; stroke: transparent; stroke-width: 0; } .playbacksvgbutton .button-art { border: none; fill: #777777 !important; stroke: transparent !important; stroke-width: 0 !important; } .playbacksvgbutton .bg { fill: #dddddd; stroke: #aaaaaa; stroke-width: 1px; } .playbacksvgbutton .highlight { border: solid 1px #cccccc; border-bottom: none; fill: white; opacity: 0.6; stroke: transparent; stroke-width: 0; } .playbacksvgbutton .pause-center { border: none; fill: #dddddd; stroke: transparent; stroke-width: 0; } .playbacksvgbutton:hover .button-art { fill: #777777 !important; stroke: transparent !important; stroke-width: 0 !important; } .playbacksvgbutton:hover .bg { fill: #bbbbbb; } .playbacksvgbutton:hover .highlight { opacity: 0.3; } .playbacksvgbutton:hover .pause-center { fill: #bbbbbb; } .playbacksvgbutton:active .button-art { fill: #666666 !important; stroke: transparent !important; stroke-width: 0 !important; } .playbacksvgbutton:active .bg { fill: #a5a5a5; } .playbacksvgbutton:active .highlight { opacity: 0.2; } .playbacksvgbutton:active .pause-center { fill: #a5a5a5; } .lab-disabled { opacity: 0.7; } .lab-disabled-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; } .markdown-typography * { margin: 0.2em 0 !important; } .markdown-typography img { margin: 0 !important; } .markdown-typography h1, .markdown-typography h2, .markdown-typography h3, .markdown-typography h4, .markdown-typography h5, .markdown-typography h6 { color: #444444 !important; font-weight: bold !important; } .markdown-typography h1 { font-size: 1.3em !important; } .markdown-typography h2 { font-size: 1.2em !important; } .markdown-typography h3 { font-size: 1.1em !important; } .markdown-typography h4 { font-size: 1em !important; } .markdown-typography h5 { font-size: 0.95em !important; } .markdown-typography h6 { font-size: 0.9em !important; } .component { position: relative; display: inline-block; vertical-align: middle; white-space: normal; margin: 0; padding: 0; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; } .component.clickable { cursor: pointer; } .interactive-button { height: 2em; width: auto; } .interactive-button > button { background-color: #eeeeee; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fafafa), color-stop(100%, #c2c2c2)); background-image: -webkit-linear-gradient(top, #fafafa, #c2c2c2); background-image: -moz-linear-gradient(top, #fafafa, #c2c2c2); background-image: -ms-linear-gradient(top, #fafafa, #c2c2c2); background-image: -o-linear-gradient(top, #fafafa, #c2c2c2); background-image: linear-gradient(top, #fafafa, #c2c2c2); font-family: 'Lato', Verdana, Geneva, sans-serif; border: 1px solid #cccccc; border-radius: 0.7em; color: #333333; padding-left: 1em; padding-right: 1em; text-align: center; text-shadow: 0 1px 0 #eeeeee; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3); width: 100%; height: 100%; line-height: 2em; font-size: 1em; } .interactive-button > button:hover { background-color: #e6e6e6; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6)); background-image: -webkit-linear-gradient(top, white, #e6e6e6); background-image: -moz-linear-gradient(top, white, #e6e6e6); background-image: -ms-linear-gradient(top, white, #e6e6e6); background-image: -o-linear-gradient(top, white, #e6e6e6); background-image: linear-gradient(top, white, #e6e6e6); cursor: pointer; } .interactive-button > button:active { background-color: white; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e6e6e6), color-stop(100%, white)); background-image: -webkit-linear-gradient(top, #e6e6e6, white); background-image: -moz-linear-gradient(top, #e6e6e6, white); background-image: -ms-linear-gradient(top, #e6e6e6, white); background-image: -o-linear-gradient(top, #e6e6e6, white); background-image: linear-gradient(top, #e6e6e6, white); border: 1px solid #aaaaaa; border-bottom: 1px solid #888888; } .interactive-text.clickable { color: #004488; } .interactive-radio { font-size: 1em; } .interactive-radio.horizontal .option + .option { margin-left: 1em; } .interactive-radio.vertical .option { display: block; } .interactive-radio .label { vertical-align: middle; } .interactive-radio .label.on-left { margin-right: 0.5em; } .interactive-radio .label.on-top { display: block; } .interactive-radio label { vertical-align: middle; } .interactive-radio input[type="radio"] { display: none; } .interactive-radio .fakeCheckable { display: inline-block; vertical-align: middle; margin: 0 0.4em 0 0; padding: 0; width: 1.1em; height: 1.1em; background-repeat: no-repeat; background-size: 100%; background-image: url("../resources/upstatement/unchecked.svg"); } .interactive-radio .fakeCheckable.checked { background-repeat: no-repeat; background-size: 100%; background-image: url("../resources/upstatement/checked.svg"); } .interactive-pulldown { font-size: 1em; } .interactive-pulldown .label, .interactive-pulldown .selectboxit-container { vertical-align: middle; } .interactive-pulldown .label.on-left { margin-right: 0.5em; } .interactive-pulldown .label.on-top { margin-bottom: 0.1em; display: block; } .interactive-checkbox { font-size: 1em; } .interactive-checkbox label { vertical-align: middle; } .interactive-checkbox .fakeCheckable { position: relative; display: inline-block; vertical-align: middle; width: 1em; height: 1em; margin: 0 0.4em 0 0; padding: 0; background: #e6e7e8; } .interactive-checkbox .fakeCheckable.right { margin: 0 0 0 0.4em; } .interactive-checkbox .fakeCheckable.checked:before { content: ""; background: #58595b; position: absolute; top: 0.22197em; left: 0.22197em; right: 0.22197em; bottom: 0.22197em; } .numeric-output { padding: 0.3em 0.2em 0.3em 0.7em; } .numeric-output span.output { background-color: white; border-radius: 0.4em; padding: 0.15em 0 0.15em 0; } .numeric-output span.label { display: inline-block; padding-right: 0.5em; } .numeric-output span.value { display: inline-block; padding: 0em 0.2em 0em 0.5em; min-width: 3em; text-align: right; font-weight: 600; } .numeric-output span.units { display: inline-block; padding-left: 0.2em; padding-right: 0.5em; font-style: italic; } .numeric-output.horizontal span.label { display: inline-block; } .numeric-output.vertical { vertical-align: top; } .numeric-output.vertical span.label { padding-bottom: 0.2em; display: block; } .interactive-slider { padding: 0 0.7em; } .interactive-slider .ui-slider { width: 94%; height: 0; left: 3%; top: 0.5em; border-color: #999999; } .interactive-slider .ui-slider-handle { top: -1em; height: 1.75em; font-size: 0.8em; font-weight: normal; text-align: center; width: auto; min-width: 2em; min-height: 2em; margin-left: -1em; border-radius: 4em; padding: 0.35em 0.5em 0em 0.5em; background-color: #eeeeee; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fafafa), color-stop(100%, #c2c2c2)); background-image: -webkit-linear-gradient(top, #fafafa, #c2c2c2); background-image: -moz-linear-gradient(top, #fafafa, #c2c2c2); background-image: -ms-linear-gradient(top, #fafafa, #c2c2c2); background-image: -o-linear-gradient(top, #fafafa, #c2c2c2); background-image: linear-gradient(top, #fafafa, #c2c2c2); border-bottom-color: #bbbbbb; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3); } .interactive-slider .ui-slider-handle:hover { color: #333333; border-color: lightgrey; background-color: #e6e6e6; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6)); background-image: -webkit-linear-gradient(top, white, #e6e6e6); background-image: -moz-linear-gradient(top, white, #e6e6e6); background-image: -ms-linear-gradient(top, white, #e6e6e6); background-image: -o-linear-gradient(top, white, #e6e6e6); background-image: linear-gradient(top, white, #e6e6e6); } .interactive-slider .ui-slider-handle:focus { outline: #76d2b8 solid 0.2em; } .interactive-slider .title { display: inline-block; font-size: 1em; white-space: nowrap; margin: 0 0 0.3em 0; vertical-align: top; } .interactive-slider .container { height: 1.1em; position: relative; margin-bottom: 1em; width: 100%; background-color: rgba(134, 178, 180, 0.45); border-radius: 0.4em; } .interactive-slider .container .label { position: absolute; display: inline-block; top: 100%; width: 6em; margin: 0.2em 0 0 -3em; text-align: center; font-size: 0.8em; } .textBoxBody { font-family: 'Lato', Verdana, Geneva, sans-serif; background-color: rgba(0, 0, 0, 0); padding: 0.5em; } .textBoxBody p { font-size: 2em; margin: 0.5em 0 0 0.5em; line-height: 1.3em; } .interactive-thermometer { white-space: nowrap; } .interactive-thermometer .label { margin: 0; text-align: center; font-size: 1em; } .interactive-thermometer .value-label { position: absolute; white-space: nowrap; margin-bottom: -0.75em; } .interactive-thermometer .labels-container { position: relative; } .interactive-thermometer .thermometer-main-container, .interactive-thermometer .labels-container { display: inline-block; vertical-align: top; } .interactive-thermometer .thermometer { display: block; margin: auto; border: 2px solid #f4b626; position: relative; border-radius: 1.5em 1.5em 0.2em 0.2em; background: white; } .interactive-thermometer .thermometer div { display: block; position: relative; margin: 0px; padding: 0px; } .interactive-thermometer .thermometer .thermometer-fill { position: absolute; width: 70%; left: 15%; bottom: 0; background: #e16a3e; border-radius: 0.75em 0.75em 0em 0em; } .interactive-playback { font-size: 1em; height: 2em; } .interactive-playback.text > button { background-color: #eeeeee; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fafafa), color-stop(100%, #c2c2c2)); background-image: -webkit-linear-gradient(top, #fafafa, #c2c2c2); background-image: -moz-linear-gradient(top, #fafafa, #c2c2c2); background-image: -ms-linear-gradient(top, #fafafa, #c2c2c2); background-image: -o-linear-gradient(top, #fafafa, #c2c2c2); background-image: linear-gradient(top, #fafafa, #c2c2c2); font-family: 'Lato', Verdana, Geneva, sans-serif; border: 1px solid #cccccc; border-radius: 0.7em; color: #333333; padding-left: 1em; padding-right: 1em; text-align: center; text-shadow: 0 1px 0 #eeeeee; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3); height: 80%; width: 6em; font-size: 0.8em; line-height: 1.6em; margin: 0.5em 0.8em; } .interactive-playback.text > button:hover { background-color: #e6e6e6; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6)); background-image: -webkit-linear-gradient(top, white, #e6e6e6); background-image: -moz-linear-gradient(top, white, #e6e6e6); background-image: -ms-linear-gradient(top, white, #e6e6e6); background-image: -o-linear-gradient(top, white, #e6e6e6); background-image: linear-gradient(top, white, #e6e6e6); cursor: pointer; } .interactive-playback.text > button:active { background-color: white; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e6e6e6), color-stop(100%, white)); background-image: -webkit-linear-gradient(top, #e6e6e6, white); background-image: -moz-linear-gradient(top, #e6e6e6, white); background-image: -ms-linear-gradient(top, #e6e6e6, white); background-image: -o-linear-gradient(top, #e6e6e6, white); background-image: linear-gradient(top, #e6e6e6, white); border: 1px solid #aaaaaa; border-bottom: 1px solid #888888; } .interactive-playback.text > button.disabled { background-color: #e6e6e6; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6)); background-image: -webkit-linear-gradient(top, white, #e6e6e6); background-image: -moz-linear-gradient(top, white, #e6e6e6); background-image: -ms-linear-gradient(top, white, #e6e6e6); background-image: -o-linear-gradient(top, white, #e6e6e6); background-image: linear-gradient(top, white, #e6e6e6); } .interactive-playback.video { border-bottom-left-radius: 0.7em; border-bottom-right-radius: 0.7em; box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.4); } .interactive-playback a { display: inline-block; vertical-align: middle; font-family: 'Lato', Verdana, Geneva, sans-serif; font-size: 1em; height: 100%; padding-top: 0.35em; width: 2.7em; margin: 0; text-align: center; border: none; background-color: #bcbec0; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fbfbfb), color-stop(100%, #bcbec0)); background-image: -webkit-linear-gradient(top, #fbfbfb, #bcbec0); background-image: -moz-linear-gradient(top, #fbfbfb, #bcbec0); background-image: -ms-linear-gradient(top, #fbfbfb, #bcbec0); background-image: -o-linear-gradient(top, #fbfbfb, #bcbec0); background-image: linear-gradient(top, #fbfbfb, #bcbec0); } .interactive-playback a:hover { background-color: #e6e6e6; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6)); background-image: -webkit-linear-gradient(top, white, #e6e6e6); background-image: -moz-linear-gradient(top, white, #e6e6e6); background-image: -ms-linear-gradient(top, white, #e6e6e6); background-image: -o-linear-gradient(top, white, #e6e6e6); background-image: linear-gradient(top, white, #e6e6e6); cursor: pointer; } .interactive-playback a:active { background-color: #bbbbbb; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e6e6e6), color-stop(100%, white)); background-image: -webkit-linear-gradient(top, #e6e6e6, white); background-image: -moz-linear-gradient(top, #e6e6e6, white); background-image: -ms-linear-gradient(top, #e6e6e6, white); background-image: -o-linear-gradient(top, #e6e6e6, white); background-image: linear-gradient(top, #e6e6e6, white); } .interactive-playback .hidden { display: none !important; } .interactive-playback .first { border-bottom-left-radius: 0.7em; } .interactive-playback .last { border-bottom-right-radius: 0.7em; } .interactive-playback .play-pause { min-width: 2.7em; } .interactive-playback .play-pause .icon-pause { display: none; } .interactive-playback .play-pause.playing .icon-pause { display: inline-block; } .interactive-playback .play-pause.playing .icon-play { display: none; } .interactive-playback .play-pause.disabled { background-color: #e6e6e6; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6)); background-image: -webkit-linear-gradient(top, white, #e6e6e6); background-image: -moz-linear-gradient(top, white, #e6e6e6); background-image: -ms-linear-gradient(top, white, #e6e6e6); background-image: -o-linear-gradient(top, white, #e6e6e6); background-image: linear-gradient(top, white, #e6e6e6); } .interactive-playback .play-pause.disabled:hover { cursor: default; } .interactive-playback .play-pause.disabled .icon-pause { opacity: 0.5; } .interactive-playback .play-pause.disabled .icon-play { opacity: 0.5; } .interactive-playback .play-pause .time-display { font-size: 0.85em; display: none; } .interactive-playback .play-pause.with-clock { width: 6.4em; white-space: nowrap; } .interactive-playback .play-pause.with-clock .time-display { display: inline-block; text-align: right; vertical-align: middle; width: 5em; color: #939598; background: #e6e7e8; font-weight: bold; border: 1px solid #bbbbbb; border-bottom-color: #cccccc; padding: 0.1em 0.2em 0.1em 0; margin-left: 0.4em; border-radius: 0.5em; } .interactive-playback i { color: #939598; font-size: 1em; vertical-align: middle; } .interactive-playback .spacer { vertical-align: middle; display: inline-block; height: 100%; width: 2px; background-color: #e6e6e6; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(100%, #aaacaf)); background-image: -webkit-linear-gradient(top, #fefefe, #aaacaf); background-image: -moz-linear-gradient(top, #fefefe, #aaacaf); background-image: -ms-linear-gradient(top, #fefefe, #aaacaf); background-image: -o-linear-gradient(top, #fefefe, #aaacaf); background-image: linear-gradient(top, #fefefe, #aaacaf); } .graph { position: relative; background: rgba(255, 255, 255, 0); } .graph:focus { outline: #76d2b8 solid 0.2em; } .graph div.background { position: absolute; background: #efefef; } .graph div.button-layer { position: absolute; text-align: right; } .graph div.button-layer a { opacity: 0.3; color: black; font-size: 120%; } .graph div.button-layer a:hover { opacity: 1; } .graph canvas.overlay { position: absolute; background: rgba(0, 255, 0, 0.05); } svg.graph:focus { outline: #76d2b8 solid 0.2em; } svg.graph text.title { font-size: 0.9em; } svg.graph text.ylabel { font-size: 0.8em; } svg.graph text.xlabel { font-size: 0.8em; } svg.graph text.axis { font-size: 0.8em; } svg.graph text.axis:focus { outline: #76d2b8 solid 0.2em; } svg.graph rect.draggable-axis { fill: rgba(255, 255, 255, 0); } svg.graph rect.draggable-axis:hover { fill: rgba(196, 196, 196, 0.2); } svg.graph .ruler.hidden { visibility: hidden; } svg.graph circle { fill: none; fill-opacity: 0.2; stroke: steelblue; cursor: move; } svg.graph circle.selected { fill: #ff7f0e; stroke: #ff7f0e; } svg.graph circle:hover { fill: #ff7f0e; stroke: #707f0e; } svg.graph circle.selected:hover { fill: #ff7f0e; stroke: #ff7f0e; } .bar-graph { text-align: center; padding: 0.2em 0.4em; border-radius: 0.6em; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); background-color: rgba(0, 0, 0, 0.05); background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0.08)), color-stop(100%, rgba(0, 0, 0, 0))); background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)); background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)); background-image: -ms-linear-gradient(top, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)); background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)); background-image: linear-gradient(top, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0)); color: #555555; } .bar-graph text { fill: #555555; } .bar-graph .top-area p, .bar-graph .bottom-area p { padding-bottom: 0.2em; } .bar-graph .hidden { display: none; } .bar-graph .triangle { stroke: #555555; stroke-width: 1px; fill: #eeeeee; } .bar-graph .grid-line { stroke: white; stroke-width: 1px; opacity: 0.8; } .bar-graph .tick text { font-size: 0.8em; } .bar-graph .title { font-size: 1em; text-anchor: middle; margin: 0; } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } #responsive-content { width: 100%; font-size: 0.9em; height: 100%; padding: 0; } #interactive-container { width: 100%; height: 100%; position: relative; border-radius: 0.5em; overflow: hidden; background-color: #c7e7de; background-image: -webkit-radial-gradient(center, ellipse cover, #c7e7de 12%, #72c3c8 100%); background-image: -moz-radial-gradient(center, ellipse cover, #c7e7de 12%, #72c3c8 100%); background-image: -ms-radial-gradient(center, ellipse cover, #c7e7de 12%, #72c3c8 100%); background-image: -o-radial-gradient(center, ellipse cover, #c7e7de 12%, #72c3c8 100%); background-image: radial-gradient(center, ellipse cover, #c7e7de 12%, #72c3c8 100%); } #interactive-container:focus { outline: none; } .component-spacing { margin: 0.3em 0.5em; } #top-bar { background-color: white; border-top: 1px lightgrey solid; border-left: 1px lightgrey solid; border-right: 1px lightgrey solid; border-top-left-radius: 0.5em; border-top-right-radius: 0.5em; } #bottom-bar { background-color: white; border-bottom: 1px lightgrey solid; border-left: 1px lightgrey solid; border-right: 1px lightgrey solid; border-bottom-left-radius: 0.5em; border-bottom-right-radius: 0.5em; } #credits-link { padding: 0.2em 0 0.2em 0.8em; } #about-link, #share-link { color: gray; } #about-link:hover, #share-link:hover { color: black; } #about-link p, #share-link p { margin: 0em; padding: 0em; } .fullscreen { background-repeat: no-repeat; background-size: 90%; background-image: url("../resources/layout/fullscreen.svg"); } .fullscreen:hover { background-repeat: no-repeat; background-size: 90%; background-image: url("../resources/layout/fullscreen-dark.svg"); } body:-moz-full-screen .fullscreen { background-repeat: no-repeat; background-size: 90%; background-image: url("../resources/layout/fullscreen-exit.svg"); } body:-moz-full-screen .fullscreen:hover { background-repeat: no-repeat; background-size: 90%; background-image: url("../resources/layout/fullscreen-exit-dark.svg"); } body:-webkit-full-screen .fullscreen { background-repeat: no-repeat; background-size: 90%; background-image: url("../resources/layout/fullscreen-exit.svg"); } body:-webkit-full-screen .fullscreen:hover { background-repeat: no-repeat; background-size: 90%; background-image: url("../resources/layout/fullscreen-exit-dark.svg"); } body:fullscreen .fullscreen { background-repeat: no-repeat; background-size: 90%; background-image: url("../resources/layout/fullscreen-exit.svg"); } body:fullscreen .fullscreen:hover { background-repeat: no-repeat; background-size: 90%; background-image: url("../resources/layout/fullscreen-exit-dark.svg"); } .credits { background: url("../resources/layout/cc-logo.png") no-repeat; background-size: 80%; background-position: 0.3em 0.2em; } .credits:hover { background-image: url("../resources/layout/cc-logo-dark.png"); } #banner-help { z-index: 101; } #help-icon > i { color: black; opacity: 0.5; } #help-icon > i.active { color: white; } #help-icon > i:hover { opacity: 0.9; } .lab-help-next, .lab-help-prev { cursor: pointer; } .lab-help-next.btn, .lab-help-prev.btn { font-size: 2em; margin: 0 0.4em; } .lab-help-overlay { position: absolute; top: 0; left: 0; width: 200%; height: 200%; background: rgba(60, 60, 60, 0.3); z-index: 100; } .lab-help-instructions { position: absolute; width: 100%; text-align: center; font-size: 1.2em; color: white; text-shadow: 1px 1px 1px #444444; z-index: 100; margin-top: -0.55em; } .lab-help-instructions > span { vertical-align: middle; } .lab-help-tip { display: inline-block; max-width: 30em; font-size: 1em; padding: 0.4em 1em; margin: 0.5em; z-index: 101; border-radius: 0.7em; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3); text-shadow: 1px 1px 2px white; background-color: #e6e6e6; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6)); background-image: -webkit-linear-gradient(top, white, #e6e6e6); background-image: -moz-linear-gradient(top, white, #e6e6e6); background-image: -ms-linear-gradient(top, white, #e6e6e6); background-image: -o-linear-gradient(top, white, #e6e6e6); background-image: linear-gradient(top, white, #e6e6e6); cursor: pointer; } .lab-help-tip:focus { outline: none; } .lab-help-arrow.top:after { background: white; } .lab-help-arrow.bottom:after { background: #e6e6e6; } .lab-help-arrow { width: 2.5em; height: 1em; overflow: hidden; position: absolute; margin-left: -1.25em; left: 2em; bottom: -1em; } .lab-help-arrow.top { top: -1em; bottom: auto; } .lab-help-arrow:after { content: ""; position: absolute; top: -1em; left: 0.4em; width: 1.6em; height: 1.6em; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3); -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); tranform: rotate(45deg); } .lab-help-arrow.top:after { bottom: -1em; top: auto; } #responsive-content .context-menu-list { min-width: 5em; max-width: 20em; font-size: 0.9em; font-family: inherit; border: none; } #responsive-content .context-menu-list .context-menu-list { font-size: 1em; } #responsive-content .context-menu-submenu:after { top: 0.35em; } #responsive-content .mutations-menu { min-width: 11em; border-radius: 0.7em; } #responsive-content .mutations-menu .context-menu-list { min-width: 6em; border-radius: 0.7em; } #responsive-content .mutations-menu .context-menu-item { border-radius: 0.7em; padding: 0.35em 1em; } #responsive-content .mutations-menu .substitution-submenu .context-menu-item { padding: 1.2em; } #responsive-content .mutations-menu .substitution-submenu .A-to-A { display: none; } #responsive-content .mutations-menu .substitution-submenu .A-to-T { background-repeat: no-repeat; background-position: 50%; background-size: auto 75%; background-image: url("resources/dna/A-to-T.svg"); } #responsive-content .mutations-menu .substitution-submenu .A-to-G { background-repeat: no-repeat; background-position: 50%; background-size: auto 75%; background-image: url("resources/dna/A-to-G.svg"); } #responsive-content .mutations-menu .substitution-submenu .A-to-C { background-repeat: no-repeat; background-position: 50%; background-size: auto 75%; background-image: url("resources/dna/A-to-C.svg"); } #responsive-content .mutations-menu .substitution-submenu .C-to-C { display: none; } #responsive-content .mutations-menu .substitution-submenu .C-to-T { background-repeat: no-repeat; background-position: 50%; background-size: auto 75%; background-image: url("resources/dna/C-to-T.svg"); } #responsive-content .mutations-menu .substitution-submenu .C-to-G { background-repeat: no-repeat; background-position: 50%; background-size: auto 75%; background-image: url("resources/dna/C-to-G.svg"); } #responsive-content .mutations-menu .substitution-submenu .C-to-A { background-repeat: no-repeat; background-position: 50%; background-size: auto 75%; background-image: url("resources/dna/C-to-A.svg"); } #responsive-content .mutations-menu .substitution-submenu .G-to-G { display: none; } #responsive-content .mutations-menu .substitution-submenu .G-to-T { background-repeat: no-repeat; background-position: 50%; background-size: auto 75%; background-image: url("resources/dna/G-to-T.svg"); } #responsive-content .mutations-menu .substitution-submenu .G-to-C { background-repeat: no-repeat; background-position: 50%; background-size: auto 75%; background-image: url("resources/dna/G-to-C.svg"); } #responsive-content .mutations-menu .substitution-submenu .G-to-A { background-repeat: no-repeat; background-position: 50%; background-size: auto 75%; background-image: url("resources/dna/G-to-A.svg"); } #responsive-content .mutations-menu .substitution-submenu .T-to-T { display: none; } #responsive-content .mutations-menu .substitution-submenu .T-to-G { background-repeat: no-repeat; background-position: 50%; background-size: auto 75%; background-image: url("resources/dna/T-to-G.svg"); } #responsive-content .mutations-menu .substitution-submenu .T-to-C { background-repeat: no-repeat; background-position: 50%; background-size: auto 75%; background-image: url("resources/dna/T-to-C.svg"); } #responsive-content .mutations-menu .substitution-submenu .T-to-A { background-repeat: no-repeat; background-position: 50%; background-size: auto 75%; background-image: url("resources/dna/T-to-A.svg"); } #responsive-content .mutations-menu .insertion-submenu .context-menu-item { padding: 0.6em 0.8em; } #responsive-content .mutations-menu .insertion-submenu .A { background-repeat: no-repeat; background-position: 88%; background-size: auto 85%; background-image: url("resources/dna/A.svg"); } #responsive-content .mutations-menu .insertion-submenu .T { background-repeat: no-repeat; background-position: 88%; background-size: auto 85%; background-image: url("resources/dna/T.svg"); } #responsive-content .mutations-menu .insertion-submenu .G { background-repeat: no-repeat; background-position: 86%; background-size: auto 85%; background-image: url("resources/dna/G.svg"); } #responsive-content .mutations-menu .insertion-submenu .C { background-repeat: no-repeat; background-position: 86%; background-size: auto 85%; background-image: url("resources/dna/C.svg"); } #responsive-content .aminoacids-menu { min-width: 9em; } #responsive-content .aminoacids-menu .context-menu-item { padding: 0 0 0 19%; } #responsive-content .aminoacids-menu .context-menu-item:hover { font-weight: bold; } #responsive-content .aminoacids-menu .pos-charge { background-repeat: no-repeat; background-position: 2%; background-size: auto 90%; background-image: url("../resources/plus.svg"); } #responsive-content .aminoacids-menu .neg-charge { background-repeat: no-repeat; background-position: 2%; background-size: auto 90%; background-image: url("../resources/minus.svg"); } #responsive-content .aminoacids-menu .hydrophobic { background-color: #f3c35d; } #responsive-content .aminoacids-menu .hydrophobic.marked { background-color: #ffe64b; } #responsive-content .aminoacids-menu .hydrophilic { background-color: #9dc278; } #responsive-content .aminoacids-menu .hydrophilic.marked { background-color: #bee299; } #responsive-content .aminoacids-menu .hydrophobic-category { font-size: 1.1em; font-weight: bold; padding: 2% 0 2% 14%; background-color: #e0a21b; background-repeat: no-repeat; background-position: 4%; background-size: auto 40%; background-image: url("../resources/col.svg"); } #responsive-content .aminoacids-menu .hydrophilic-category { font-size: 1.1em; font-weight: bold; padding: 2% 0 2% 14%; background-color: #75a643; background-repeat: no-repeat; background-position: 4%; background-size: auto 40%; background-image: url("../resources/col.svg"); } #responsive-content .aminoacids-menu .expanded { background-repeat: no-repeat; background-position: 4%; background-size: auto 40%; background-image: url("../resources/exp.svg"); } .dna-edit-dialog { font-size: 0.9em; } .dna-edit-dialog .error { color: #cc0000; } #model-container { background: rgba(255, 255, 255, 0); -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } #model-container:focus { outline: #76d2b8 solid 0.2em; } #model-container.draggable:hover { cursor: move; } #model-container .radialbond1.disulphideBond, #model-container .radialbond2.disulphideBond { stroke: #ffe95a !important; } #model-container .genetics .glow { display: none; } .no-touch #model-container .genetics .clickable-nucleo:hover, #model-container .genetics .clickable-nucleo.glowing { cursor: pointer; } .no-touch #model-container .genetics .clickable-nucleo:hover .glow, #model-container .genetics .clickable-nucleo.glowing .glow { display: inline; } #model-container .genetics .nucleotide .bonds { stroke: white; } #model-container .genetics .nucleotide .letter { fill: #4a3217; } #model-container .genetics .nucleotide .type-A .outline { fill: #278db0; } #model-container .genetics .nucleotide .type-A .interior { fill: #a2d6ff; } #model-container .genetics .nucleotide .type-C .outline { fill: #cc5b4c; } #model-container .genetics .nucleotide .type-C .interior { fill: #fbb394; } #model-container .genetics .nucleotide .type-G .outline { fill: #cc5b4c; } #model-container .genetics .nucleotide .type-G .interior { fill: #f9ceff; } #model-container .genetics .nucleotide .type-T .outline { fill: #278db0; } #model-container .genetics .nucleotide .type-T .interior { fill: #99f0e3; } #model-container .genetics .nucleotide .type-U .outline { fill: #278db0; } #model-container .genetics .nucleotide .type-U .interior { fill: #83feaf; } #model-container .genetics .nucleotide .stop-codon .outline { fill: #cc0000; } #model-container .genetics .nucleotide .stop-codon .letter { fill: #cc0000; } #model-container .genetics .nucleotide.promoter-region .outline { fill: #006600; } #model-container .genetics .nucleotide.promoter-region .interior { fill: #5db473; } #model-container .genetics .nucleotide.promoter-region .letter { fill: white; } #model-container .genetics .nucleotide.terminator-region .outline { fill: #9e0608; } #model-container .genetics .nucleotide.terminator-region .interior { fill: #dc4648; } #model-container .genetics .nucleotide.terminator-region .letter { fill: white; } #model-container .genetics .nucleotide.junk-region .outline { fill: #666666; } #model-container .genetics .nucleotide.junk-region .interior { fill: #adadad; } #model-container .genetics .nucleotide.junk-region .letter { fill: white; } #model-container .genetics .polymerase-over, #model-container .genetics .polymerase-under, #model-container .genetics .dna3 { pointer-events: none; } #model-container line.attractionforce { stroke: #aaaaaa; stroke-width: 2.5; stroke-dasharray: 3 2; } #model-container .vector-electric-field { stroke-width: 0.5px; } #model-container text.modelTimeLabel { font-size: 1em; } #model-container text.title { font-size: 1em; } #model-container text.xlabel { font-size: 0.85em; } #model-container text.ylabel { font-size: 0.85em; } #model-container g.y { font-size: 0.75em; } #model-container g.x { font-size: 0.75em; } #model-container div.tooltip { display: none; position: fixed; padding: 0.4em 0.6em; font-size: 0.6em; background: white; border: solid 1px #aaaaaa; border-radius: 0.8em; pointer-events: none; } #model-container div.tooltip pre { margin: 0.2em; } #model-container .extent { stroke: white; fill-opacity: 0.125; shape-rendering: crispEdges; } #model-container .opaque-on-hover { opacity: 0.5; } #model-container .opaque-on-hover:hover { opacity: 1; } #e2d-canvas-views { position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: -1; } #e2d-webgl-status { font-size: 0.7em; color: #222222; padding: 0; position: absolute; width: 96%; top: 2%; left: 2%; z-index: 1; } #e2d-webgl-status p, #e2d-webgl-status .component { margin: 0 0 0.4em 0; } #e2d-webgl-status a { margin: 0 0 0.4em 0; font-weight: 600; } #e2d-webgl-status .happy { font-weight: 600; color: #294900; } #e2d-webgl-status .sad { font-weight: 600; color: #6d0035; } #e2d-webgl-status .extension { margin-left: 0.5em; font-size: 0.8em; } #e2d-webgl-status .button { font-size: 1.2em; opacity: 0.5; } #e2d-webgl-status .button:hover { opacity: 1; cursor: pointer; } #e2d-webgl-status .fakeCheckable { box-shadow: inset 2px 2px 2px rgba(0, 0, 0, 0.3); } #status-wrapper { padding: 0.3em 1.8em 0.1em 0.5em; border-radius: 0.5em; box-shadow: rgba(0, 0, 0, 0.3) 0.2em 0.2em 0.2em; background-color: rgba(255, 255, 255, 0.9); background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0.5)), color-stop(100%, rgba(104, 104, 104, 0.5))); background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.5), rgba(104, 104, 104, 0.5)); background-image: -moz-linear-gradient(top, rgba(255, 255, 255, 0.5), rgba(104, 104, 104, 0.5)); background-image: -ms-linear-gradient(top, rgba(255, 255, 255, 0.5), rgba(104, 104, 104, 0.5)); background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0.5), rgba(104, 104, 104, 0.5)); background-image: linear-gradient(top, rgba(255, 255, 255, 0.5), rgba(104, 104, 104, 0.5)); } #hide-webgl-status { color: #222222; position: absolute; top: 0.1em; right: 0.35em; } #show-webgl-status { color: white; position: absolute; top: -0.2em; } #show-webgl-status.happy { color: #8fff00; } #show-webgl-status.sad { color: red; } .e2d-part-shape { stroke: black; stroke-width: 2px; } .e2d-part-shape-outline { stroke: #dddddd; stroke-width: 1.5px; } .e2d-part-label-shadow { stroke: black; font-size: 0.7em; stroke-width: 0.15em; stroke-opacity: 0.7; } .e2d-part-label { fill: white; font-size: 0.7em; } .e2d-texture-path-shadow { stroke: black; stroke-width: 3px; opacity: 0.5; } .e2d-texture-path { stroke: white; stroke-width: 1.5px; opacity: 0.5; } .e2d-sensor-reading { fill: #eeeeee; font-size: 0.6em; } .e2d-sensor-reading-shadow { stroke: black; font-size: 0.6em; stroke-width: 0.15em; stroke-opacity: 0.7; } .e2d-sensor-label { fill: #eeeeee; font-size: 0.5em; } .e2d-sensor-label-shadow { stroke: black; font-size: 0.5em; stroke-width: 0.15em; stroke-opacity: 0.7; } .e2d-measuring-point { fill: none; stroke-width: 0.5px; stroke: #333333; } .e2d-thermometer-background { fill: white; stroke: #333333; stroke-width: 0.5px; } .e2d-thermometer-fill { fill: #ff3322; stroke: #333333; stroke-width: 0.5px; } .e2d-anemometer-shape path { fill: #eeeeee; stroke: black; stroke-width: 2px; } .e2d-anemometer-shape circle { fill: #ff4411; stroke: black; stroke-width: 2px; } .e2d-heatflux-shape { fill: #eeeeee; stroke: #333333; stroke-width: 1.5px; } .e2d-heatflux-pattern { fill: none; stroke: #333333; stroke-width: 0.2px; } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .credits-dialog p, .credits-dialog h2, .about-dialog p, .about-dialog h2, .share-dialog p, .share-dialog h2 { margin: 0.5em 0; } .credits-dialog h2, .about-dialog h2, .share-dialog h2 { font-size: 1em; font-weight: 600; } .credits-dialog a, .credits-dialog a.opens-in-new-window, .about-dialog a, .about-dialog a.opens-in-new-window, .share-dialog a, .share-dialog a.opens-in-new-window { color: #0000ee; text-decoration: none; padding: 0; } .credits-dialog a:visited, .about-dialog a:visited, .share-dialog a:visited { color: #551a8b; } .share-dialog textarea { display: block; width: 99%; font-size: 0.8em; padding: 0.3em; margin-bottom: 1em; } .share-dialog textarea#share-iframe-content { height: 5.5em; } .copyright-section { margin-top: 1em; font-size: 0.8em; } .warning-pane { display: none; position: absolute; opacity: 0.8; color: #d51607; background-color: rgba(255, 204, 204, 0.8); border-radius: 0.5em; box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3); z-index: -100; margin: 0em; padding: 0em; } .warning-pane:hover { opacity: 1; } #firefox-warning-pane { font-size: 1em; width: auto; } #firefox-warning-pane p { margin: 0.2em 0.5em; } #firefox-warning-pane p a { color: #d51607; } #firefox-warning-pane p a:hover { color: #f72818; font-weight: 600; } #model-not-found-pane { font-size: 1.2em; width: 80%; left: 10%; padding: 0.5em; } #applet-container { display: inline-block; top: 0; bottom: 0; left: 0; right: 0; background: rgba(255, 255, 255, 0); border-radius: 0.5em; box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); height: 100%; width: 100%; min-width: 20em; min-height: 20em; margin: 2px 1em 2px 0px; padding: 0.8em; } applet { border: thin solid #eeeeee; } .ui-widget { font-size: 1em; font-family: 'Lato', Verdana, Geneva, sans-serif; } .ui-widget-header { font-size: 1em; font-weight: bold; color: white; background: #58b5b9; border: none; opacity: 0.7; border-radius: 0.5em 0.5em 0 0; } .ui-dialog { border: white; border-radius: 0.5em; box-shadow: 1px 1px 15px rgba(0, 0, 0, 0.5); padding: 0; } .ui-dialog-content { color: #535455; } .selectboxit-container * { font-size: 1em; font-family: 'Lato', Verdana, Geneva, sans-serif; } .selectboxit-text { max-width: none !important; } .selectboxit-options { min-width: 100% !important; } .selectboxit-option, .selectboxit-optgroup-header { text-indent: 0.4em; } .selectboxit-container .selectboxit, .selectboxit-container .selectboxit-options { border-radius: 0.7em; } .selectboxit-arrow-container { width: 2.14em; border-left: 1px solid #cccccc; } .selectboxit .selectboxit-arrow-container .selectboxit-arrow { top: 39%; } .selectboxit-default-arrow { border-top: 0.45em solid #8c8c8c; border-right: 0.45em solid transparent; border-left: 0.45em solid transparent; } .selectboxit-container span, .selectboxit-container .selectboxit-options a { height: 2em; line-height: 2em; } .selectboxit-text { text-indent: 0.5em; overflow: visible; } .selectboxit-btn, .selectboxit-btn:focus, .selectboxit-btn.selectboxit-enabled:focus { box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3); background-color: #f6f6f6; background-position: 0 0; background-color: #eeeeee; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fafafa), color-stop(100%, #c2c2c2)); background-image: -webkit-linear-gradient(top, #fafafa, #c2c2c2); background-image: -moz-linear-gradient(top, #fafafa, #c2c2c2); background-image: -ms-linear-gradient(top, #fafafa, #c2c2c2); background-image: -o-linear-gradient(top, #fafafa, #c2c2c2); background-image: linear-gradient(top, #fafafa, #c2c2c2); } .selectboxit-btn:hover, .selectboxit-btn.selectboxit-enabled:hover, .selectboxit-btn:active { box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3); color: #333333; background-color: white; background-position: 0 0; background-color: #e6e6e6; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6)); background-image: -webkit-linear-gradient(top, white, #e6e6e6); background-image: -moz-linear-gradient(top, white, #e6e6e6); background-image: -ms-linear-gradient(top, white, #e6e6e6); background-image: -o-linear-gradient(top, white, #e6e6e6); background-image: linear-gradient(top, white, #e6e6e6); } .ui-tooltip { border: none; background-color: #e6e6e6; background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6)); background-image: -webkit-linear-gradient(top, white, #e6e6e6); background-image: -moz-linear-gradient(top, white, #e6e6e6); background-image: -ms-linear-gradient(top, white, #e6e6e6); background-image: -o-linear-gradient(top, white, #e6e6e6); background-image: linear-gradient(top, white, #e6e6e6); padding: 0.05em 0.15em; color: #333333; border-radius: 0.4em; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3); min-width: 2.5em; max-width: 12em; } .ui-tooltip-content { font-size: 0.85em; } .ui-tooltip-arrow.top:after { background: white; } .ui-tooltip-arrow.bottom:after { background: #e6e6e6; } .ui-tooltip-arrow { width: 0.6em; height: 0.5em; overflow: hidden; position: absolute; left: 50%; margin-left: -0.3em; bottom: -0.5em; } .ui-tooltip-arrow.top { top: -0.5em; bottom: auto; } .ui-tooltip-arrow:after { content: ""; position: absolute; top: -0.5em; width: 0.6em; height: 0.6em; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3); -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); tranform: rotate(45deg); } .ui-tooltip-arrow.top:after { bottom: -0.5em; top: auto; } /* Font Awesome 3.0.2 * the iconic font designed for use with Twitter Bootstrap * ------------------------------------------------------- * The full suite of pictographic icons, examples, and documentation * can be found at: http://fortawesome.github.com/Font-Awesome/ * * License * ------------------------------------------------------- * - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - * http://opensource.org/licenses/mit-license.html * - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/ * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: * "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome" * * Contact * ------------------------------------------------------- * Email: dave@davegandy.com * Twitter: http://twitter.com/fortaweso_me * Work: Lead Product Designer @ http://kyruus.com */ @font-face { font-family: "FontAwesome"; src: url("../vendor/fonts/Font-Awesome/font/fontawesome-webfont.eot?v=3.0.1"); src: url("../vendor/fonts/Font-Awesome/font/fontawesome-webfont.eot?#iefix&v=3.0.1") format("embedded-opentype"), url("../vendor/fonts/Font-Awesome/font/fontawesome-webfont.woff?v=3.0.1") format("woff"), url("../vendor/fonts/Font-Awesome/font/fontawesome-webfont.ttf?v=3.0.1") format("truetype"); font-weight: normal; font-style: normal; } /* Font Awesome styles *