Files
rocm-systems/source/python/gui/source/assets/layout.css
T
Jonathan R. Madsen cc14b52584 Casual Profiling GUI (#265)
* Long workload name layout fix (#269)

* changed layout to fit experiment names

- added span to show full name
- shortened name to fit dropwdown
- changed layout for added consistency

* layout Fixes

- refresh button is to the right
- header is more consistent across different width screens

* header layout update

- center div makes turns into multiple lines if not all items fit

* slight improvement for header/graph spacing

* Fixed refresh button shape and function

- moved find_causal_files to parser so that main and gui can access
- resized refresh width to allow for same shape across different screens

* all graphs now have the same width

- graphs now have same width

- chart headers start well below the header with filters

---------

Co-authored-by: Jonathan R. Madsen <jrmadsen@users.noreply.github.com>

* Causal GUI: Linting, synced y-range, remove unused imports/variables, and bug fixes (#274)

* GUI: python linting workflow

- runs flake8 on code in source/python/gui

* GUI: flake8 settings in source/python/gui/setup.cfg

- ignore E501 errors (line too long)
- ignore W503 errors (line break before binary operator)

* GUI: setup.py updates

- remove unused imports

* GUI: __main__.py updates

- stddev is float value
- remove unused imports
- effectively propagate the --stddev argument

* GUI: gui.py updates

- remove unused imports
- fix light mode
- sync initial y range of all causal plots
- fix error bars for causal data
- set x-ticks to 5
- set y-ticks to 10
- only display top 99% of samples
- separate global declarations and assignments to global values
- remove unused variable assignments
- fix mislabeled function_regex and exp_regex
- change if X == False to if not X

* GUI: header.py updates

- remove unused imports
- fix mislabeled function_regex and exp_regex

* GUI: parser.py updates

- add set_num_stddev function for manipulating global num_stddev value
- remove unused variables
- fix latency point object (duplicated __init__ function)
- fix handling latency in JSON
- fix formatting of validation format error message
- replace if X == False with if not X
- fix unused dataframe creation in add_latency
- fix flake8 do not assign lambda for name_wo_ext (use def)

* GUI: gui.py updates

- replace misnamed "func_list" with "experiment_list"
- replace misnamed "exp_list" with "progpt_list"

* GUI: fix python workflow

- quote python versions to avoid truncating 3.10 to 3.1

---------

Co-authored-by: JoseSantosAMD <87447437+JoseSantosAMD@users.noreply.github.com>
2023-04-11 23:36:24 -05:00

1595 строки
37 KiB
CSS

/*
=====================================================================
* Ceevee v1.0 Layout Stylesheet
* url: styleshout.com
* 03-18-2014
=====================================================================
TOC:
a. General Styles
b. Header Styles
c. About Section
d. Resume Section
e. Portfolio Section
f. Call To Action Section
g. Testimonials Section
h. Contact Section
i. Footer
===================================================================== */
/* ------------------------------------------------------------------ */
/* a. General Styles
/* ------------------------------------------------------------------ */
body { background: #0f0f0f; }
.float-container {
/* border: 3px solid #fff; */
padding: 20px;
}
.float-child {
width: 50%;
float: left;
padding: 20px;
/* border: 2px solid red; */
}
.float-child h3 {
color: #fff;
}
html {
scroll-behavior: smooth;
}
/* ------------------------------------------------------------------ */
/* b. Header Styles
/* ------------------------------------------------------------------ */
header {
position: relative;
height: 122px;
min-height: 50px;
width: 100%;
background: #161415 url(../images/header-background.jpg) no-repeat top center;
background-size: cover !important;
-webkit-background-size: cover !important;
text-align: center;
overflow: hidden;
}
/* vertically center banner section */
header:before {
content: '';
display: inline-block;
vertical-align: middle;
height: 100%;
}
header .banner {
display: inline-block;
vertical-align: middle;
margin: 0 auto;
width: 85%;
padding-bottom: 30px;
text-align: center;
}
header .banner-text { width: 100%; }
header .banner-text h1 {
font: 90px/1.1em 'opensans-bold', sans-serif;
color: #fff;
letter-spacing: -2px;
margin: 0 auto 18px auto;
text-shadow: 0px 1px 3px rgba(0, 0, 0, .8);
}
header .banner-text h3 {
font: 18px/1.9em 'librebaskerville-regular', serif;
color: #A8A8A8;
margin: 0 auto;
width: 70%;
text-shadow: 0px 1px 2px rgba(0, 0, 0, .5);
}
header .banner-text h3 span,
header .banner-text h3 a {
color: #fff;
}
header .banner-text hr {
width: 60%;
margin: 18px auto 24px auto;
border-color: #2F2D2E;
border-color: rgba(150, 150, 150, .1);
}
/* header social links */
header .social {
margin: 24px 0;
padding: 0;
font-size: 30px;
text-shadow: 0px 1px 2px rgba(0, 0, 0, .8);
}
header .social li {
display: inline-block;
margin: 0 15px;
padding: 0;
}
header .social li a { color: #fff; }
header .social li a:hover { color: #11ABB0; }
/* scrolldown link */
header .scrolldown a {
position: absolute;
bottom: 30px;
left: 50%;
margin-left: -29px;
color: #fff;
display: block;
height: 42px;
width: 42px;
font-size: 42px;
line-height: 42px;
color: #fff;
border-radius: 100%;
-webkit-transition: all .3s ease-in-out;
-moz-transition: all .3s ease-in-out;
-o-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
}
header .scrolldown a:hover { color: #11ABB0; }
/* nav atempt...
--------------------------------------------------------------------- */
/* primary navigation
--------------------------------------------------------------------- */
#nav-wrap ul, #nav-wrap li {
margin: 0;
padding: 0;
border: none;
outline: none;
}
/* nav-wrap */
#nav-wrap {
font: 10px 'opensans-bold', sans-serif;
width: 100%;
/* max-height: 10vh; */
letter-spacing: 1.5px;
margin: 0 auto;
z-index: 100;
position: fixed;
left: 0;
top: 0;
background-color: rgb(22,20,21,0.5);
}
.opaque { background-color: #333; }
/* hide toggle button */
#nav-wrap > a.mobile-btn { display: none; }
ul#nav {
/* min-height: 60px; */
width: auto;
/* center align the menu */
text-align: center;
}
ul#nav li {
position: relative;
list-style: none;
height: 50%;
display: -webkit-box;
max-width: 37vw;
/* float: left; */
}
div#nav-center {
display: inline-block;
/* float: left; */
width:85%
}
/* Filtering */
.filter {
/* vertical-align: top; */
/* position: relative; */
/* list-style: none; */
/* height: 48px; */
display: contents;
/* width: auto; */
/* float:left; */
}
#nav .filter a {
display: inline-block;
text-transform: uppercase;
padding: 8px;
/* line-height: 32px; */
vertical-align: top;
text-decoration: none;
text-align: left;
color: #fff;
width: auto;
-webkit-transition: color .2s ease-in-out;
-moz-transition: color .2s ease-in-out;
-o-transition: color .2s ease-in-out;
-ms-transition: color .2s ease-in-out;
transition: color .2s ease-in-out;
}
.dash-dropdown {
position: relative;
list-style: none;
display: inline-block;
height: 34px;
/* width: 150px; */
max-width: 23vw;
min-width: 5vw;
/* max-height: 3vw; */
vertical-align: middle;
letter-spacing: normal;
/* font-size: 14px; */
text-align: left;
overflow: hidden;
}
.dash-dropdown[id="Select Workload-filt"] {
position: relative;
list-style: none;
display: inline-block;
/* height: 34px; */
/* width: 150px; */
/* max-width: 20vw; */
/* max-width: 30vw; */
/* min-width: 110px; */
/* max-height: 3vw; */
vertical-align: middle;
letter-spacing: normal;
/* font-size: 14px; */
text-align: left;
overflow: hidden;
}
.dash-dropdown:hover {
position: relative;
list-style: none;
display: inline-block;
/* height: 34px; */
/* width: 150px; */
/* max-width: 23vw; */
/*min-width: 110px;
max-height: 3vw;
vertical-align: middle; */
letter-spacing: normal;
/* font-size: 14px; */
text-align: left;
overflow: visible;
z-index: 10;
}
div#min-points{
display: inline-flex;
}
.regex{
display: inline-block;
}
.workload{
display: inline-block;
}
.upload{
display: inline-block;
}
/* .dash-dropdown span{
text-overflow: ellipsis;
max-width: 32vw;
} */
/* .dash-dropdown span:hover{
text-overflow: ellipsis;
max-width: 32vw;
display: contents;
} */
div input[type="text"]{
vertical-align: top;
width: 100%;
min-width: 0;
/* width:auto; */
/* padding: 1vw 1vw; */
font-size:10px;
height: 34px;
/* line-height: 60px; */
border-width: 1px;
border-style: dashed;
border-radius: 5px;
text-align: center;
}
div#upload-drag a {
line-height: 32px;
border-width: 1px;
width: 100%;
/* line-height: 4vh; */
display: inline-block;
border-style: dashed;
border-radius: 5px;
text-align: center;
font-size: 10px;
}
/* li.upload div#upload-drag {
line-height: 4vh;
border-width: 1px;
width: 100%;
height: 18vh;
border-style: dashed;
border-radius: 5px;
text-align: center;
float: right;
} */
/* div.daq-slider--light {
position: relative;
list-style: none;
width: 5vw;
display: inline-block;
vertical-align: bottom;
} */
.rc-slider{
padding: 15px 0;
}
div.daq-slider--light div[class="sc-gPEVay cmYtpx rc-slider-handle"] {
padding: 0px, 0px;
border-radius: 10px;
top: 20px;
}
div.daq-slider--light svg[class = "sc-jAaTju cEBNup rc-slider-handle"]{
height: 10px;
}
div.nav-right {
float: right;
width: 10%;;
}
#nav .nav-left {
float: left;
width: 5%;
display: block;
}
ul#nav li a:active { background-color: transparent !important; }
ul#nav li.current a { color: #F06000; }
/* Causal Graphs
.dash-graph{
width:90%;
margin: auto;
}*/
.graph{
width:95%;
height: 100%;
margin: auto;
}
/* Report Button */
li.refresh{
float: right;
}
button.refresh {
color: #fff;
background-color: #F06000;
font: 100% 'opensans-bold', sans-serif;
border: none;
cursor: pointer;
/* height: auto; */
/* display: inline-block; */
border-radius: 3px;
right:0;
/* padding: 8px 9px; */
margin: 8px 0px;
vertical-align: top;
/* float: right; */
}
button.report:hover {
background-color: #0D0D0D;
}
.dropdown-menu {
font-size: 16px;
}
.dropdown button {
display: inline-block;
/* font: 16px 'opensans-bold', sans-serif; */
margin: 8px 0px;
}
.dropdown a.dropdown-item {
font: 16px 'opensans-bold', sans-serif;
padding-left: 20px; /* Add a little extra indent for the contents of a subheading */
}
.dropdown-header {
font: 16px 'opensans-bold', sans-serif;
}
/* ------------------------------------------------------------------ */
/* Roofline Section
/* ------------------------------------------------------------------ */
#roofline {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#roofline a, #roofline a:visited { color: #fff; }
#roofline a:hover, #roofline a:focus { color: #11ABB0; }
#roofline .float-container {
/* border: 3px solid #fff; */
padding: 20px;
}
#roofline .float-child {
width: 50%;
float: left;
padding: 20px;
/* border: 2px solid red; */
}
#roofline .float-child h3 {
color: #fff;
}
/* ------------------------------------------------------------------ */
/* Memchart Section
/* ------------------------------------------------------------------ */
#memchart {
display: block;
margin: 0 auto;
width: 85%;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
text-align: center;
}
/* Mem Chart styling */
#memchart-svg Svg{
max-width: 100%;
max-height: 543px;
}
.instr-buff rect{
width: 200px;
height: 400px;
fill:#000000;
stroke:#ff8000;
}
.fabric rect{
width: 152.5px;
height: 152.5px;
fill: #000000;
stroke:#ff8000;
}
.cache rect{
width: 170px;
height: 80px;
fill:#ffffff;
stroke: #ff8000;
}
.cache rect#a3{ height: 102px; }
.cache rect#b3{ height: 147px; }
.fabric-connections rect{
width: 90px;
height: 60px;
fill:#000000;
stroke: #ff8000;
}
.inner-inst-buff rect{
width: 160px;
height: 50px;
fill:none;
stroke: #ff8000;
}
.misc-rec rect{
width: 180px;
height: 510px;
fill:#000000;
stroke: #ff8000;
}
.misc-rec rect#a6{ width: 420px; height: 207.5px; transform: rotate(-90deg); transform-origin: 536.25px 242px; }
.misc-rec rect#b6{ width: 170px; height: 285px; fill:#ffffff; stroke-width: 2px; stroke-dasharray: 6px 6px; }
.val-1 rect{
width: 90px;
height: 20px;
fill:#b3b3b3;
stroke: #000000;
}
.val-2 rect{
width: 47px;
height: 20px;
fill:#ffffff;
stroke: #000000;
}
.val-3 rect{
width: 97px;
height: 20px;
fill:#ffffff;
stroke: #000000;
}
.val-4 rect{
width: 150px;
height: 20px;
fill:#b3b3b3;
stroke: #000000;
}
.val-5 rect{
width: 61.75px;
height: 19.05px;
fill:#ffffff;
stroke: #000000;
}
.lines-arrows path{
stroke-miterlimit: 10px;
}
.lines-arrows path#p1{transform: rotate(90deg); transform-origin: 297.5px 232px;}
.lines-arrows path#p2{transform: rotate(90deg); transform-origin: 255px 62px;}
.lines-arrows path#p3{transform: rotate(90deg); transform-origin: 255px 112px;}
.lines-arrows path#p4{transform: rotate(90deg); transform-origin: 255px 162px;}
.lines-arrows path#p5{transform: rotate(90deg); transform-origin: 255px 212px;}
.lines-arrows path#p6{transform: rotate(90deg); transform-origin: 255px 262px;}
.lines-arrows path#p7{transform: rotate(90deg); transform-origin: 255px 312px;}
.lines-arrows path#p8{transform: rotate(90deg); transform-origin: 255px 362px;}
.lines-arrows path#p9{transform: rotate(90deg); transform-origin: 255px 412px;}
.labels text{
font-family: Helvetica;
}
.data text{
font-family: Helvetica;
text-anchor: middle;
}
#memchart a, #memchart a:visited { color: #fff; }
#memchart a:hover, #memchart a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* Top Stat Section
/* ------------------------------------------------------------------ */
#top_stat {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#top_stat a, #top_stat a:visited { color: #fff; }
#top_stat a:hover, #top_stat a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* System Info Section
/* ------------------------------------------------------------------ */
#system_info {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#system_info a, #system_info a:visited { color: #fff; }
#system_info a:hover, #system_info a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* System Speed-of-Light Section
/* ------------------------------------------------------------------ */
#system_speed-of-light {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#system_speed-of-light a, #system_speed-of-light a:visited { color: #fff; }
#system_speed-of-light a:hover, #system_speed-of-light a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* Command Processor Section
/* ------------------------------------------------------------------ */
#command_processor_cpccpf {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#command_processor_cpccp a, #command_processor_cpccp a:visited { color: #fff; }
#command_processor_cpccp a:hover, #command_processor_cpccp a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* SPI Section
/* ------------------------------------------------------------------ */
#shader_processor_input_spi {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#shader_processor_input_spi a, #shader_processor_input_spi a:visited { color: #fff; }
#shader_processor_input_spi a:hover, #shader_processor_input_spi a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* Wavefront Section
/* ------------------------------------------------------------------ */
#wavefront {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#wavefront a, #wavefront a:visited { color: #fff; }
#wavefront a:hover, #wavefront a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* Intr Mix Section
/* ------------------------------------------------------------------ */
#compute_units_-_instruction_mix {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#compute_units_-_instruction_mix a, #compute_units_-_instruction_mix a:visited { color: #fff; }
#compute_units_-_instruction_mix a:hover, #compute_units_-_instruction_mix a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* Compute Pipeline Section
/* ------------------------------------------------------------------ */
#compute_units_-_compute_pipeline {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#compute_units_-_compute_pipeline a, #compute_units_-_compute_pipeline a:visited { color: #fff; }
#compute_units_-_compute_pipeline a:hover, #compute_units_-_compute_pipeline a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* LDS Section
/* ------------------------------------------------------------------ */
#local_data_share_lds {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#local_data_share_lds a, #local_data_share_lds a:visited { color: #fff; }
#local_data_share_lds a:hover, #local_data_share_lds a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* Instruction Cache Section
/* ------------------------------------------------------------------ */
#instruction_cache {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#instruction_cache a, #instruction_cache a:visited { color: #fff; }
#instruction_cache a:hover, #instruction_cache a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* Scalar L1D Cache Section
/* ------------------------------------------------------------------ */
#scalar_l1_data_cache {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#scalar_l1_data_cache a, #scalar_l1_data_cache a:visited { color: #fff; }
#scalar_l1_data_cache a:hover, #scalar_l1_data_cache a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* TA/TD Section
/* ------------------------------------------------------------------ */
#texture_addresser_and_texture_data_tatd {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#texture_addresser_and_texture_data_tatd a, #texture_addresser_and_texture_data_tatd a:visited { color: #fff; }
#texture_addresser_and_texture_data_tatd a:hover, #texture_addresser_and_texture_data_tatd a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* Vector L1D Section
/* ------------------------------------------------------------------ */
#vector_l1_data_cache {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#vector_l1_data_cache a, #vector_l1_data_cache a:visited { color: #fff; }
#vector_l1_data_cache a:hover, #vector_l1_data_cache a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* L2 Cache Section
/* ------------------------------------------------------------------ */
#l2_cache {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#l2_cache a, #l2_cache a:visited { color: #fff; }
#l2_cache a:hover, #l2_cache a:focus { color: #11ABB0; }
/* ------------------------------------------------------------------ */
/* L2 Cache per Channel Section
/* ------------------------------------------------------------------ */
#l2_cache_per_channel {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#l2_cache_per_channel a, #l2_cache_per_channel a:visited { color: #fff; }
#l2_cache_per_channel a:hover, #l2_cache_per_channel a:focus { color: #11ABB0; }
#l2_cache_per_channel .float-container {
/* border: 3px solid #fff; */
padding: 20px;
}
#l2_cache_per_channel .float-child {
width: 100%;
float: left;
padding: 20px;
/* border: 2px solid red; */
}
#l2_cache_per_channel .float-child h3 {
color: #fff;
}
/* ------------------------------------------------------------------ */
/* c. About Section
/* ------------------------------------------------------------------ */
#about {
background: #2B2B2B;
padding-top: 96px;
padding-bottom: 66px;
overflow: hidden;
}
#about a, #about a:visited { color: #fff; }
#about a:hover, #about a:focus { color: #11ABB0; }
#about h2 {
font: 22px/30px 'opensans-bold', sans-serif;
color: #fff;
margin-bottom: 12px;
}
#about p {
line-height: 30px;
color: #7A7A7A;
}
#about .profile-pic {
position: relative;
width: 120px;
height: 120px;
border-radius: 100%;
}
#about .contact-details { width: 41.66667%; }
#about .download {
width: 58.33333%;
padding-top: 6px;
}
#about .main-col { padding-right: 5%; }
#about .download .button {
margin-top: 6px;
background: #444;
}
#about .download .button:hover {
background: #fff;
color: #2B2B2B;
}
#about .download .button i {
margin-right: 15px;
font-size: 20px;
}
/* ------------------------------------------------------------------ */
/* d. Resume Section
/* ------------------------------------------------------------------ */
#resume {
background: #fff;
padding-top: 90px;
padding-bottom: 72px;
overflow: hidden;
}
#resume a, #resume a:visited { color: #11ABB0; }
#resume a:hover, #resume a:focus { color: #313131; }
#resume h1 {
font: 18px/24px 'opensans-bold', sans-serif;
text-transform: uppercase;
letter-spacing: 1px;
}
#resume h1 span {
border-bottom: 3px solid #11ABB0;
padding-bottom: 6px;
}
#resume h3 {
font: 25px/30px 'opensans-bold', sans-serif;
}
#resume .header-col { padding-top: 9px; }
#resume .main-col { padding-right: 10%; }
.education, .work {
margin-bottom: 48px;
padding-bottom: 24px;
border-bottom: 1px solid #E8E8E8;
}
#resume .info {
font: 16px/24px 'librebaskerville-italic', serif;
color: #6E7881;
margin-bottom: 18px;
margin-top: 9px;
}
#resume .info span {
margin-right: 5px;
margin-left: 5px;
}
#resume .date {
font: 15px/24px 'opensans-regular', sans-serif;
margin-top: 6px;
}
/*----------------------------------------------*/
/* Skill Bars
/*----------------------------------------------*/
.bars {
width: 95%;
float: left;
padding: 0;
text-align: left;
}
.bars .skills {
margin-top: 36px;
list-style: none;
}
.bars li {
position: relative;
margin-bottom: 60px;
background: #ccc;
height: 42px;
border-radius: 3px;
}
.bars li em {
font: 15px 'opensans-bold', sans-serif;
color: #313131;
text-transform: uppercase;
letter-spacing: 2px;
font-weight: normal;
position: relative;
top: -36px;
}
.bar-expand {
position: absolute;
left: 0;
top: 0;
margin: 0;
padding-right: 24px;
background: #313131;
display: inline-block;
height: 42px;
line-height: 42px;
border-radius: 3px 0 0 3px;
}
/*
.git {
-moz-animation: git 2s ease;
-webkit-animation: git 2s ease;
}
.illustrator {
-moz-animation: illustrator 2s ease;
-webkit-animation: illustrator 2s ease;
}
.reactjs {
-moz-animation: reactjs 2s ease;
-webkit-animation: reactjs 2s ease;
}
.css {
-moz-animation: css 2s ease;
-webkit-animation: css 2s ease;
}
.html5 {
-moz-animation: html5 2s ease;
-webkit-animation: html5 2s ease;
}
.vuejs {
-moz-animation: vuejs 2s ease;
-webkit-animation: vuejs 2s ease;
}
.mongodb {
-moz-animation: mongodb 2s ease;
-webkit-animation: mongodb 2s ease;
}
@-moz-keyframes git {
0% { width: 0px; }
100% { width: 60%; }
}
@-moz-keyframes illustrator {
0% { width: 0px; }
100% { width: 55%; }
}
@-moz-keyframes reactjs {
0% { width: 0px; }
100% { width: 50%; }
}
@-moz-keyframes css {
0% { width: 0px; }
100% { width: 90%; }
}
@-moz-keyframes html5 {
0% { width: 0px; }
100% { width: 80%; }
}
@-moz-keyframes vuejs {
0% { width: 0px; }
100% { width: 50%; }
}
@-moz-keyframes mongodb {
0% { width: 0px; }
100% { width: 80%; }
}
@-webkit-keyframes photoshop {
0% { width: 0px; }
100% { width: 60%; }
}
@-webkit-keyframes illustrator {
0% { width: 0px; }
100% { width: 55%; }
}
@-webkit-keyframes reactjs {
0% { width: 0px; }
100% { width: 50%; }
}
@-webkit-keyframes css {
0% { width: 0px; }
100% { width: 90%; }
}
@-webkit-keyframes html5 {
0% { width: 0px; }
100% { width: 80%; }
}
@-webkit-keyframes vuejs {
0% { width: 0px; }
100% { width: 50%; }
}
@-webkit-keyframes mongodb {
0% { width: 0px; }
100% { width: 80%; }
} */
/* ------------------------------------------------------------------ */
/* e. Portfolio Section
/* ------------------------------------------------------------------ */
#portfolio {
background: #ebeeee;
padding-top: 90px;
padding-bottom: 60px;
}
#portfolio h1 {
font: 15px/24px 'opensans-semibold', sans-serif;
text-transform: uppercase;
letter-spacing: 1px;
text-align: center;
margin-bottom: 48px;
color: #95A3A3;
}
/* Portfolio Content */
#portfolio-wrapper .columns { margin-bottom: 36px; }
.portfolio-item .item-wrap {
background: #fff;
overflow: hidden;
position: relative;
-webkit-transition: all 0.3s ease-in-out;
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}
.portfolio-item .item-wrap a {
display: block;
cursor: pointer;
}
/* overlay */
.portfolio-item .item-wrap .overlay {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: 0;
-moz-opacity: 0;
filter:alpha(opacity=0);
-webkit-transition: opacity 0.3s ease-in-out;
-moz-transition: opacity 0.3s ease-in-out;
-o-transition: opacity 0.3s ease-in-out;
transition: opacity 0.3s ease-in-out;
background: url(../images/overlay-bg.png) repeat;
}
.portfolio-item .item-wrap .link-icon {
display: block;
color: #fff;
height: 30px;
width: 30px;
font-size: 18px;
line-height: 30px;
text-align: center;
opacity: 0;
-moz-opacity: 0;
filter:alpha(opacity=0);
-webkit-transition: opacity 0.3s ease-in-out;
-moz-transition: opacity 0.3s ease-in-out;
-o-transition: opacity 0.3s ease-in-out;
transition: opacity 0.3s ease-in-out;
position: absolute;
top: 50%;
left: 50%;
margin-left: -15px;
margin-top: -15px;
}
.portfolio-item .item-wrap img {
vertical-align: bottom;
}
.portfolio-item .portfolio-item-meta { padding: 18px }
.portfolio-item .portfolio-item-meta h5 {
font: 14px/21px 'opensans-bold', sans-serif;
color: #fff;
}
.portfolio-item .portfolio-item-meta p {
font: 12px/18px 'opensans-light', sans-serif;
color: #c6c7c7;
margin-bottom: 0;
}
/* on hover */
.portfolio-item:hover .overlay {
opacity: 1;
-moz-opacity: 1;
filter:alpha(opacity=100);
}
.portfolio-item:hover .link-icon {
opacity: 1;
-moz-opacity: 1;
filter:alpha(opacity=100);
}
/* popup modal */
.popup-modal {
max-width: 550px;
background: #fff;
position: relative;
margin: 0 auto;
}
.popup-modal .description-box { padding: 12px 36px 18px 36px; }
.popup-modal .description-box h4 {
font: 15px/24px 'opensans-bold', sans-serif;
margin-bottom: 12px;
color: #111;
}
.popup-modal .description-box p {
font: 14px/24px 'opensans-regular', sans-serif;
color: #A1A1A1;
margin-bottom: 12px;
}
.popup-modal .description-box .categories {
font: 11px/21px 'opensans-light', sans-serif;
color: #A1A1A1;
text-transform: uppercase;
letter-spacing: 2px;
display: block;
text-align: left;
}
.popup-modal .description-box .categories i {
margin-right: 8px;
}
.popup-modal .link-box {
padding: 18px 36px;
background: #111;
text-align: left;
}
.popup-modal .link-box a {
color: #fff;
font: 11px/21px 'opensans-bold', sans-serif;
text-transform: uppercase;
letter-spacing: 3px;
cursor: pointer;
}
.popup-modal a:hover { color: #00CCCC; }
.popup-modal a.popup-modal-dismiss { margin-left: 24px; }
/* fadein/fadeout effect for modal popup
/* ------------------------------------------------------------------ */
/* content at start */
.mfp-fade.mfp-wrap .mfp-content .popup-modal {
opacity: 0;
-webkit-transition: all 200ms ease-in-out;
-moz-transition: all 200ms ease-in-out;
-o-transition: all 200ms ease-in-out;
-ms-transition: all 200ms ease-in-out;
transition: all 200ms ease-in-out;
}
/* content fadein */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content .popup-modal {
opacity: 1;
}
/* content fadeout */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content .popup-modal {
opacity: 0;
}
/* ------------------------------------------------------------------ */
/* f. Call To Action Section
/* ------------------------------------------------------------------ */
#call-to-action {
background: #212121;
padding-top: 66px;
padding-bottom: 48px;
}
#call-to-action h1 {
font: 18px/24px 'opensans-bold', sans-serif;
text-transform: uppercase;
letter-spacing: 3px;
color: #fff;
}
#call-to-action h1 span { display: none; }
#call-to-action .header-col h1:before {
font-family: 'FontAwesome';
content: "\f0ac";
padding-right: 10px;
font-size: 72px;
line-height: 72px;
text-align: left;
float: left;
color: #fff;
}
#call-to-action .action {
margin-top: 12px;
}
#call-to-action h2 {
font: 28px/36px 'opensans-bold', sans-serif;
color: #EBEEEE;
margin-bottom: 6px;
}
#call-to-action h2 a {
color: inherit;
}
#call-to-action p {
color: #636363;
font-size: 17px;
}
/*#
call-to-action .button {
color:#fff;
background: #0D0D0D;
}
*/
#call-to-action .button:hover,
#call-to-action .button:active {
background: #FFFFFF;
color: #0D0D0D;
}
#call-to-action p span {
font-family: 'opensans-semibold', sans-serif;
color: #D8D8D8;
}
/* ------------------------------------------------------------------
/* g. Testimonials
/* ------------------------------------------------------------------ */
#testimonials {
background: #1F1F1F url(../images/testimonials-bg.jpg) no-repeat center center;
background-size: cover !important;
-webkit-background-size: cover !important;
background-attachment: fixed;
position: relative;
min-height: 200px;
width: 100%;
overflow: hidden;
}
#testimonials .text-container {
padding-top: 96px;
padding-bottom: 66px;
}
#testimonials h1 {
font: 18px/24px 'opensans-bold', sans-serif;
text-transform: uppercase;
letter-spacing: 3px;
color: #fff;
}
#testimonials h1 span { display: none; }
#testimonials .header-col { padding-top: 9px; }
#testimonials .header-col h1:before {
font-family: 'FontAwesome';
content: "\f10d";
padding-right: 10px;
font-size: 72px;
line-height: 72px;
text-align: left;
float: left;
color: #fff;
}
/* Blockquotes */
#testimonials blockquote {
margin: 0 0px 30px 0px;
padding-left: 0;
position: relative;
text-shadow: 0px 1px 3px rgba(0, 0, 0, 1);
}
#testimonials blockquote:before { content: none; }
#testimonials blockquote p {
font-family: 'librebaskerville-italic', serif;
padding: 0;
font-size: 24px;
line-height: 48px;
color: #fff
}
#testimonials blockquote cite {
display: block;
font-size: 12px;
font-style: normal;
line-height: 18px;
color: #fff;
}
#testimonials blockquote cite:before { content: "\2014 \0020"; }
#testimonials blockquote cite a,
#testimonials blockquote cite a:visited { color: #8B9798; border: none }
/* Flex Slider
/* ------------------------------------------------------------------ */
/* Reset */
.flexslider a:active,
.flexslider a:focus { outline: none; }
.slides,
.flex-control-nav,
.flex-direction-nav { margin: 0; padding: 0; list-style: none; }
.slides li { margin: 0; padding: 0;}
/* Necessary Styles */
.flexslider {
position: relative;
zoom: 1;
margin: 0;
padding: 0;
}
.flexslider .slides { zoom: 1; }
.flexslider .slides > li { position: relative; }
/* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides > li { display: none; -webkit-backface-visibility: hidden; }
/* Suggested container for slide animation setups. Can replace this with your own */
.flex-container { zoom: 1; position: relative; }
/* Clearfix for .slides */
.slides:before,
.slides:after {
content: " ";
display: table;
}
.slides:after {
clear: both;
}
/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
* include js that eliminates this class on page load */
.no-js .slides > li:first-child { display: block; }
/* Slider Styles */
.slides { zoom: 1; }
.slides > li {
/*margin-right: 5px; */
overflow: hidden;
}
/* Control Nav */
.flex-control-nav {
width: 100%;
position: absolute;
bottom: -20px;
text-align: left;
}
.flex-control-nav li {
margin: 0 6px;
display: inline-block;
zoom: 1;
*display: inline;
}
.flex-control-paging li a {
width: 12px;
height: 12px;
display: block;
background: #ddd;
background: rgba(255, 255, 255, .3);
cursor: pointer;
text-indent: -9999px;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
-o-border-radius: 20px;
border-radius: 20px;
box-shadow: inset 0 0 3px rgba(255, 255, 255, .3);
}
.flex-control-paging li a:hover {
background: #CCC;
background: rgba(255, 255, 255, .7);
}
.flex-control-paging li a.flex-active {
background: #fff;
background: rgba(255, 255, 255, .9);
cursor: default;
}
/* ------------------------------------------------------------------ */
/* h. Contact Section
/* ------------------------------------------------------------------ */
#contact {
background: #191919;
padding-top: 96px;
padding-bottom: 102px;
color: #636363;
}
#contact .section-head { margin-bottom: 42px; }
#contact a, #contact a:visited { color: #11ABB0; }
#contact a:hover, #contact a:focus { color: #fff; }
#contact h1 {
font: 18px/24px 'opensans-bold', sans-serif;
text-transform: uppercase;
letter-spacing: 3px;
color: #EBEEEE;
margin-bottom: 6px;
}
#contact h1 span { display: none; }
#contact h1:before {
font-family: 'FontAwesome';
content: "\f0e0";
padding-right: 10px;
font-size: 72px;
line-height: 72px;
text-align: left;
float: left;
color: #ebeeee;
}
#contact h4 {
font: 16px/24px 'opensans-bold', sans-serif;
color: #EBEEEE;
margin-bottom: 6px;
}
#contact p.lead {
font: 18px/36px 'opensans-light', sans-serif;
padding-right: 3%;
}
#contact .header-col { padding-top: 6px; }
/* contact form */
#contact form { margin-bottom: 30px; }
#contact label {
font: 15px/24px 'opensans-bold', sans-serif;
margin: 12px 0;
color: #EBEEEE;
display: inline-block;
float: left;
width: 26%;
}
#contact input,
#contact textarea,
#contact select {
padding: 18px 20px;
color: #eee;
background: #373233;
margin-bottom: 42px;
border: 0;
outline: none;
font-size: 15px;
line-height: 24px;
width: 65%;
}
#contact input:focus,
#contact textarea:focus,
#contact select:focus {
color: #fff;
background-color: #11ABB0;
}
#contact button.submit {
text-transform: uppercase;
letter-spacing: 3px;
color:#fff;
background: #0D0D0D;
border: none;
cursor: pointer;
height: auto;
display: inline-block;
border-radius: 3px;
margin-left: 26%;
}
#contact button.submit:hover {
color: #0D0D0D;
background: #fff;
}
#contact span.required {
color: #11ABB0;
font-size: 13px;
}
#message-warning, #message-success {
display: none;
background: #0F0F0F;
padding: 24px 24px;
margin-bottom: 36px;
width: 65%;
margin-left: 26%;
}
#message-warning { color: #D72828; }
#message-success { color: #11ABB0; }
#message-warning i,
#message-success i {
margin-right: 10px;
}
#image-loader {
display: none;
position: relative;
left: 18px;
top: 17px;
}
/* Twitter Feed */
#twitter {
margin-top: 12px;
padding: 0;
}
#twitter li {
margin: 6px 0px 12px 0;
line-height: 30px;
}
#twitter li span {
display: block;
}
#twitter li b a {
font: 13px/36px 'opensans-regular', Sans-serif;
color: #474747 !important;
border: none;
}
/* ------------------------------------------------------------------ */
/* i. Footer
/* ------------------------------------------------------------------ */
footer {
padding-top: 48px;
margin-bottom: 48px;
color: #303030;
font-size: 14px;
text-align: center;
position: relative;
}
footer a, footer a:visited { color: #525252; }
footer a:hover, footer a:focus { color: #fff; }
/* copyright */
footer .copyright {
margin: 0;
padding: 0;
}
footer .copyright li {
display: inline-block;
margin: 0;
padding: 0;
line-height: 24px;
}
.ie footer .copyright li {
display: inline;
}
footer .copyright li:before {
content: "\2022";
padding-left: 10px;
padding-right: 10px;
color: #095153;
}
footer .copyright li:first-child:before {
display: none;
}
/* social links */
footer .social-links {
margin: 18px 0 30px 0;
padding: 0;
font-size: 30px;
}
footer .social-links li {
display: inline-block;
margin: 0;
padding: 0;
margin-left: 42px;
color: #F06000;
}
footer .social-links li:first-child { margin-left: 0; }
/* Go To Top Button */
#go-top {
position: absolute;
top: -24px;
left: 50%;
margin-left: -30px;
}
#go-top a {
text-decoration: none;
border: 0 none;
display: block;
width: 60px;
height: 60px;
background-color: #525252;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
color: #fff;
font-size: 21px;
line-height: 60px;
border-radius: 100%;
}
#go-top a:hover { background-color: #0F9095; }