sonic-screwdriver 0.0.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/Gemfile.lock +26 -2
  4. data/README.md +156 -23
  5. data/bin/sonic +8 -1
  6. data/docs/.gitignore +4 -0
  7. data/docs/CNAME +1 -0
  8. data/docs/Gemfile +3 -0
  9. data/docs/LICENSE +21 -0
  10. data/docs/README.md +21 -0
  11. data/docs/_config.yml +69 -0
  12. data/docs/_docs/commands.md +10 -0
  13. data/docs/_docs/how-it-works.md +34 -0
  14. data/docs/_docs/install.md +75 -0
  15. data/docs/_docs/next-steps.md +18 -0
  16. data/docs/_docs/settings.md +73 -0
  17. data/docs/_docs/sonic-ecs-exec.md +7 -0
  18. data/docs/_docs/sonic-ecs-run.md +7 -0
  19. data/docs/_docs/sonic-execute.md +7 -0
  20. data/docs/_docs/sonic-help.md +7 -0
  21. data/docs/_docs/sonic-list.md +7 -0
  22. data/docs/_docs/sonic-ssh.md +7 -0
  23. data/docs/_docs/tutorial-ecs-exec.md +69 -0
  24. data/docs/_docs/tutorial-ecs-run.md +94 -0
  25. data/docs/_docs/tutorial-execute.md +38 -0
  26. data/docs/_docs/tutorial-ssh.md +119 -0
  27. data/docs/_docs/tutorial.md +11 -0
  28. data/docs/_docs/why.md +27 -0
  29. data/docs/_includes/about.html +19 -0
  30. data/docs/_includes/commands.html +28 -0
  31. data/docs/_includes/contact.html +17 -0
  32. data/docs/_includes/contact_disqus.html +16 -0
  33. data/docs/_includes/contact_static.html +17 -0
  34. data/docs/_includes/content.html +21 -0
  35. data/docs/_includes/css/bootstrap.min.css +7 -0
  36. data/docs/_includes/css/main.css +481 -0
  37. data/docs/_includes/css/quotes.css +102 -0
  38. data/docs/_includes/css/sonic.css +163 -0
  39. data/docs/_includes/css/syntax.css +60 -0
  40. data/docs/_includes/css/table.css +53 -0
  41. data/docs/_includes/css/timeline.css +201 -0
  42. data/docs/_includes/edit-on-github.html +11 -0
  43. data/docs/_includes/example.html +21 -0
  44. data/docs/_includes/footer.html +49 -0
  45. data/docs/_includes/head.html +32 -0
  46. data/docs/_includes/header.html +15 -0
  47. data/docs/_includes/js.html +28 -0
  48. data/docs/_includes/js_disqus.html +21 -0
  49. data/docs/_includes/modals.html +40 -0
  50. data/docs/_includes/nav.html +27 -0
  51. data/docs/_includes/quotes.html +19 -0
  52. data/docs/_includes/subnav.html +35 -0
  53. data/docs/_includes/ufo-ship-options.md +13 -0
  54. data/docs/_includes/uses.html +19 -0
  55. data/docs/_layouts/default.html +11 -0
  56. data/docs/_layouts/style.css +6 -0
  57. data/docs/articles.md +5 -0
  58. data/docs/css/font-awesome/css/font-awesome.css +1566 -0
  59. data/docs/css/font-awesome/css/font-awesome.min.css +4 -0
  60. data/docs/css/font-awesome/fonts/FontAwesome.otf +0 -0
  61. data/docs/css/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  62. data/docs/css/font-awesome/fonts/fontawesome-webfont.svg +504 -0
  63. data/docs/css/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  64. data/docs/css/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  65. data/docs/docs.md +21 -0
  66. data/docs/img/logos/boltops-logo-full.png +0 -0
  67. data/docs/img/logos/boltops-logo.png +0 -0
  68. data/docs/img/sonic-screwdriver.jpg +0 -0
  69. data/docs/img/tutorials/ec2-console-public-ip.png +0 -0
  70. data/docs/img/ufo.jpg +0 -0
  71. data/docs/index.html +9 -0
  72. data/docs/js/bootstrap.js +2114 -0
  73. data/docs/js/bootstrap.min.js +6 -0
  74. data/docs/js/cbpAnimatedHeader.js +44 -0
  75. data/docs/js/cbpAnimatedHeader.min.js +11 -0
  76. data/docs/js/classie.js +80 -0
  77. data/docs/js/contact_me.js +70 -0
  78. data/docs/js/contact_me_static.js +23 -0
  79. data/docs/js/freelancer.js +37 -0
  80. data/docs/js/jqBootstrapValidation.js +912 -0
  81. data/docs/js/jquery-1.11.0.js +4 -0
  82. data/docs/js/jquery.easing.min.js +44 -0
  83. data/docs/js/nav.js +53 -0
  84. data/docs/quick-start.md +39 -0
  85. data/docs/style.css +3 -0
  86. data/lib/bash_scripts/docker-exec.sh +15 -0
  87. data/lib/bash_scripts/docker-run.sh +15 -0
  88. data/lib/sonic.rb +11 -2
  89. data/lib/sonic/aws_services.rb +19 -0
  90. data/lib/sonic/cli.rb +37 -8
  91. data/lib/sonic/cli/help.rb +123 -3
  92. data/lib/sonic/default/settings.yml +12 -0
  93. data/lib/sonic/docker.rb +128 -0
  94. data/lib/sonic/execute.rb +131 -0
  95. data/lib/sonic/list.rb +85 -0
  96. data/lib/sonic/settings.rb +80 -0
  97. data/lib/sonic/ssh.rb +136 -0
  98. data/lib/sonic/ssh/ec2_tag.rb +59 -0
  99. data/lib/sonic/ssh/identifier_detector.rb +145 -0
  100. data/lib/sonic/ui.rb +26 -0
  101. data/lib/sonic/version.rb +2 -2
  102. data/qa.md +21 -0
  103. data/sonic.gemspec +3 -1
  104. data/spec/fixtures/home/.gitkeep +0 -0
  105. data/spec/fixtures/project/.gitkeep +0 -0
  106. data/spec/fixtures/project/command.txt +2 -0
  107. data/spec/lib/cli_spec.rb +16 -6
  108. data/spec/lib/sonic/execute_spec.rb +35 -0
  109. data/spec/spec_helper.rb +5 -3
  110. metadata +133 -3
@@ -0,0 +1,102 @@
1
+ /* carousel */
2
+ #quote-carousel
3
+ {
4
+ padding: 0 10px 30px 10px;
5
+ margin-top: 30px;
6
+ }
7
+
8
+ /* Control buttons */
9
+ #quote-carousel .carousel-control
10
+ {
11
+ background: none;
12
+ color: #222;
13
+ font-size: 2.3em;
14
+ text-shadow: none;
15
+ margin-top: 30px;
16
+ }
17
+ /* Previous button */
18
+ #quote-carousel .carousel-control.left
19
+ {
20
+ left: -12px;
21
+ }
22
+ /* Next button */
23
+ #quote-carousel .carousel-control.right
24
+ {
25
+ right: -12px !important;
26
+ }
27
+ /* Changes the position of the indicators */
28
+ #quote-carousel .carousel-indicators
29
+ {
30
+ right: 50%;
31
+ top: auto;
32
+ bottom: 0px;
33
+ margin-right: -19px;
34
+ }
35
+ /* Changes the color of the indicators */
36
+ #quote-carousel .carousel-indicators li
37
+ {
38
+ background: #c0c0c0;
39
+ }
40
+ #quote-carousel .carousel-indicators .active
41
+ {
42
+ background: #333333;
43
+ }
44
+ #quote-carousel img
45
+ {
46
+ width: 250px;
47
+ height: 100px
48
+ }
49
+ /* End carousel */
50
+
51
+ .item blockquote {
52
+ border-left: none;
53
+ margin: 0;
54
+ }
55
+
56
+ .item blockquote img {
57
+ margin-bottom: 10px;
58
+ }
59
+
60
+ .item blockquote p:before {
61
+ content: "\f10d";
62
+ font-family: 'Fontawesome';
63
+ float: left;
64
+ margin-right: 10px;
65
+ }
66
+
67
+
68
+
69
+ /**
70
+ MEDIA QUERIES
71
+ */
72
+
73
+ /* Small devices (tablets, 768px and up) */
74
+ @media (min-width: 768px) {
75
+ #quote-carousel
76
+ {
77
+ margin-bottom: 0;
78
+ padding: 0 40px 30px 40px;
79
+ }
80
+
81
+ }
82
+
83
+ /* Small devices (tablets, up to 768px) */
84
+ @media (max-width: 768px) {
85
+
86
+ /* Make the indicators larger for easier clicking with fingers/thumb on mobile */
87
+
88
+ #quote-carousel .carousel-indicators {
89
+ bottom: -20px !important;
90
+ }
91
+ #quote-carousel .carousel-indicators li {
92
+ display: inline-block;
93
+ margin: 0px 5px;
94
+ width: 15px;
95
+ height: 15px;
96
+ }
97
+ #quote-carousel .carousel-indicators li.active {
98
+ margin: 0px 5px;
99
+ width: 20px;
100
+ height: 20px;
101
+ }
102
+ }
@@ -0,0 +1,163 @@
1
+ ol.overview-prodes li {
2
+ font-size: 1.1em;
3
+ padding: 10px 0;
4
+ }
5
+
6
+ section#main {
7
+ text-align: center;
8
+ color: #fff;
9
+ background: #{{ site.color.primary }};
10
+ }
11
+
12
+ section#main .container {
13
+ padding-top: 60px;
14
+ padding-bottom: 50px;
15
+ }
16
+
17
+ section#main img {
18
+ display: block;
19
+ margin: 0 auto 20px;
20
+ }
21
+
22
+ section#main .intro-text .name {
23
+ display: block;
24
+ text-transform: uppercase;
25
+ font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
26
+ font-size: 2em;
27
+ font-weight: 700;
28
+ }
29
+
30
+ section#main .intro-text .skills {
31
+ font-size: 1.25em;
32
+ font-weight: 300;
33
+ }
34
+
35
+ @media(min-width:768px) {
36
+ section#main {
37
+ text-align: left;
38
+ }
39
+
40
+ section#main .container {
41
+ padding-top: 60px;
42
+ padding-bottom: 40px;
43
+ }
44
+
45
+ section#main .intro-text .name {
46
+ font-size: 4.75em;
47
+ }
48
+
49
+ section#main .intro-text .skills {
50
+ font-size: 1.75em;
51
+ }
52
+ }
53
+
54
+ .content-body {
55
+ text-align: left;
56
+ font-size: 1.2em;
57
+ }
58
+
59
+ .content-body h2 {
60
+ text-align: center;
61
+ }
62
+
63
+ .content-body ul,
64
+ .content-body ol {
65
+ margin-top: 0;
66
+ }
67
+
68
+ .content-nav {
69
+ /*background-color: green;*/
70
+ margin-top: 40px;
71
+ font-size: 1.25em;
72
+ }
73
+
74
+ .content-nav ul, .content-nav ol {
75
+ list-style-type: none;
76
+ margin-left: 0;
77
+ padding-left: 10px;
78
+ }
79
+
80
+ .content-nav a {
81
+ color: #9acfe0;
82
+ }
83
+
84
+ .content-nav a.active {
85
+ color: #e2ddef;
86
+ font-weight: bold;
87
+ }
88
+
89
+ /* override for syntax.css */
90
+ code {
91
+ color: #443e40;
92
+ background-color: #cdcbd4;
93
+ }
94
+
95
+ footer h3 {
96
+ margin-bottom: 25px;
97
+ }
98
+
99
+ footer img.footer-logo {
100
+ width: 240px;
101
+ }
102
+
103
+ img.doc-photo {
104
+ width: 100%;
105
+ }
106
+
107
+ /*footer*/
108
+ ul.tools {
109
+ margin-top: 0;
110
+ }
111
+ ul.tools li {
112
+ font-size: 1.3em;
113
+ }
114
+
115
+
116
+
117
+ .btn-xl {
118
+ padding: 20px 40px;
119
+ border-color: #{{ site.data.template.color.primary }};
120
+ border-radius: 3px;
121
+ text-transform: uppercase;
122
+ font-family: {{ site.data.template.font.primary }};
123
+ font-size: 18px;
124
+ font-weight: 700;
125
+ color: #fff;
126
+ background-color: #{{ site.data.template.color.primary }};
127
+ }
128
+
129
+ .edit-on-github {
130
+ font-size: 0.9em;
131
+ border-top: thin solid white;
132
+ border-bottom: thin solid white;
133
+ padding: 20px 0;
134
+ margin-top: 80px;
135
+ }
136
+
137
+ .edit-on-github h2,
138
+ .edit-on-github p,
139
+ .edit-on-github li {
140
+ font-size: 1.5em;
141
+ }
142
+
143
+ .use-cases {
144
+ font-size: 1.25em;
145
+ }
146
+
147
+ .use-cases li {
148
+ margin-bottom: 15px;
149
+ }
150
+
151
+ table.ship-options td:first-child {
152
+ white-space: nowrap;
153
+ }
154
+
155
+ .keyboard-tip {
156
+ display: none;
157
+ }
158
+ @media(min-width:992px) {
159
+ .keyboard-tip {
160
+ display: block;
161
+ font-size: 0.9em;
162
+ }
163
+ }
@@ -0,0 +1,60 @@
1
+ .highlight { background: #ffffff; }
2
+ .highlight .c { color: #999988; font-style: italic } /* Comment */
3
+ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
4
+ .highlight .k { font-weight: bold } /* Keyword */
5
+ .highlight .o { font-weight: bold } /* Operator */
6
+ .highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
7
+ .highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
8
+ .highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
9
+ .highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
10
+ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
11
+ .highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
12
+ .highlight .ge { font-style: italic } /* Generic.Emph */
13
+ .highlight .gr { color: #aa0000 } /* Generic.Error */
14
+ .highlight .gh { color: #999999 } /* Generic.Heading */
15
+ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
16
+ .highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
17
+ .highlight .go { color: #888888 } /* Generic.Output */
18
+ .highlight .gp { color: #555555 } /* Generic.Prompt */
19
+ .highlight .gs { font-weight: bold } /* Generic.Strong */
20
+ .highlight .gu { color: #aaaaaa } /* Generic.Subheading */
21
+ .highlight .gt { color: #aa0000 } /* Generic.Traceback */
22
+ .highlight .kc { font-weight: bold } /* Keyword.Constant */
23
+ .highlight .kd { font-weight: bold } /* Keyword.Declaration */
24
+ .highlight .kp { font-weight: bold } /* Keyword.Pseudo */
25
+ .highlight .kr { font-weight: bold } /* Keyword.Reserved */
26
+ .highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
27
+ .highlight .m { color: #009999 } /* Literal.Number */
28
+ .highlight .s { color: #d14 } /* Literal.String */
29
+ .highlight .na { color: #008080 } /* Name.Attribute */
30
+ .highlight .nb { color: #0086B3 } /* Name.Builtin */
31
+ .highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
32
+ .highlight .no { color: #008080 } /* Name.Constant */
33
+ .highlight .ni { color: #800080 } /* Name.Entity */
34
+ .highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
35
+ .highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
36
+ .highlight .nn { color: #555555 } /* Name.Namespace */
37
+ .highlight .nt { color: #000080 } /* Name.Tag */
38
+ .highlight .nv { color: #008080 } /* Name.Variable */
39
+ .highlight .ow { font-weight: bold } /* Operator.Word */
40
+ .highlight .w { color: #bbbbbb } /* Text.Whitespace */
41
+ .highlight .mf { color: #009999 } /* Literal.Number.Float */
42
+ .highlight .mh { color: #009999 } /* Literal.Number.Hex */
43
+ .highlight .mi { color: #009999 } /* Literal.Number.Integer */
44
+ .highlight .mo { color: #009999 } /* Literal.Number.Oct */
45
+ .highlight .sb { color: #d14 } /* Literal.String.Backtick */
46
+ .highlight .sc { color: #d14 } /* Literal.String.Char */
47
+ .highlight .sd { color: #d14 } /* Literal.String.Doc */
48
+ .highlight .s2 { color: #d14 } /* Literal.String.Double */
49
+ .highlight .se { color: #d14 } /* Literal.String.Escape */
50
+ .highlight .sh { color: #d14 } /* Literal.String.Heredoc */
51
+ .highlight .si { color: #d14 } /* Literal.String.Interpol */
52
+ .highlight .sx { color: #d14 } /* Literal.String.Other */
53
+ .highlight .sr { color: #009926 } /* Literal.String.Regex */
54
+ .highlight .s1 { color: #d14 } /* Literal.String.Single */
55
+ .highlight .ss { color: #990073 } /* Literal.String.Symbol */
56
+ .highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
57
+ .highlight .vc { color: #008080 } /* Name.Variable.Class */
58
+ .highlight .vg { color: #008080 } /* Name.Variable.Global */
59
+ .highlight .vi { color: #008080 } /* Name.Variable.Instance */
60
+ .highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
@@ -0,0 +1,53 @@
1
+ table {
2
+ width: 100%;
3
+ background-color: #4f6879;
4
+ /* margin: .5em 0;
5
+ border-radius: 5px;
6
+ box-shadow: 0 1px 3px rgba(0,0,0,0.3);*/
7
+ margin-bottom: 20px;
8
+ }
9
+
10
+ thead {
11
+ /* border-top-left-radius: 5px;
12
+ border-top-right-radius: 5px;
13
+ color: #fff;
14
+ background-color: #3a3a3a;
15
+ */}
16
+
17
+ tr {
18
+
19
+ }
20
+
21
+ thead th {
22
+ background-color: #475161;
23
+ text-transform: uppercase;
24
+ color: #cdcdce;
25
+ /* position: relative;
26
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
27
+ */}
28
+
29
+ tbody {
30
+ /* display: table-row-group;
31
+ vertical-align: middle;
32
+ border-color: inherit;
33
+ */}
34
+
35
+ tr {
36
+ /* display: table-row;
37
+ vertical-align: inherit;
38
+ border-color: inherit;
39
+ */}
40
+
41
+ tbody td {
42
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
43
+ color: #ececec;
44
+ /* border-top: 1px solid rgba(0,0,0,0.1);
45
+ box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
46
+ background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJod…IgaGVpZ2h0PSIxIiBmaWxsPSJ1cmwoI2dyYWQtdWNnZy1nZW5lcmF0ZWQpIiAvPgo8L3N2Zz4=);
47
+ background-image: -o-linear-gradient(top, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%);
48
+ */}
49
+
50
+ th,
51
+ td {
52
+ padding: 10px;
53
+ }
@@ -0,0 +1,201 @@
1
+ .timeline {
2
+ position: relative;
3
+ padding: 0;
4
+ list-style: none;
5
+ }
6
+
7
+ .timeline:before {
8
+ content: "";
9
+ position: absolute;
10
+ top: 0;
11
+ bottom: 0;
12
+ left: 40px;
13
+ width: 2px;
14
+ margin-left: -1.5px;
15
+ background-color: #f1f1f1;
16
+ }
17
+
18
+ .timeline>li {
19
+ position: relative;
20
+ margin-bottom: 50px;
21
+ min-height: 50px;
22
+ }
23
+
24
+ .timeline>li:before,
25
+ .timeline>li:after {
26
+ content: " ";
27
+ display: table;
28
+ }
29
+
30
+ .timeline>li:after {
31
+ clear: both;
32
+ }
33
+
34
+ .timeline>li .timeline-panel {
35
+ float: right;
36
+ position: relative;
37
+ width: 100%;
38
+ padding: 0 20px 0 100px;
39
+ text-align: left;
40
+ }
41
+
42
+ .timeline>li .timeline-panel:before {
43
+ right: auto;
44
+ left: -15px;
45
+ border-right-width: 15px;
46
+ border-left-width: 0;
47
+ }
48
+
49
+ .timeline>li .timeline-panel:after {
50
+ right: auto;
51
+ left: -14px;
52
+ border-right-width: 14px;
53
+ border-left-width: 0;
54
+ }
55
+
56
+ .timeline>li .timeline-image {
57
+ z-index: 100;
58
+ position: absolute;
59
+ left: 0;
60
+ width: 80px;
61
+ height: 80px;
62
+ margin-left: 0;
63
+ border: 7px solid #f1f1f1;
64
+ border-radius: 100%;
65
+ text-align: center;
66
+ color: #fff;
67
+ background-color: #fed136;
68
+ }
69
+
70
+ .timeline>li .timeline-image h4 {
71
+ margin-top: 26px;
72
+ font-size: 18px;
73
+ line-height: 14px;
74
+ }
75
+
76
+ .timeline>li.timeline-inverted>.timeline-panel {
77
+ float: right;
78
+ padding: 0 20px 0 100px;
79
+ text-align: left;
80
+ }
81
+
82
+ .timeline>li.timeline-inverted>.timeline-panel:before {
83
+ right: auto;
84
+ left: -15px;
85
+ border-right-width: 15px;
86
+ border-left-width: 0;
87
+ }
88
+
89
+ .timeline>li.timeline-inverted>.timeline-panel:after {
90
+ right: auto;
91
+ left: -14px;
92
+ border-right-width: 14px;
93
+ border-left-width: 0;
94
+ }
95
+
96
+ .timeline>li:last-child {
97
+ margin-bottom: 0;
98
+ }
99
+
100
+ .timeline .timeline-heading h4 {
101
+ margin-top: 0;
102
+ color: inherit;
103
+ }
104
+
105
+ .timeline .timeline-heading h4.subheading {
106
+ text-transform: none;
107
+ }
108
+
109
+ .timeline .timeline-body>p,
110
+ .timeline .timeline-body>ul {
111
+ margin-bottom: 0;
112
+ }
113
+
114
+ @media(min-width:768px) {
115
+ .timeline:before {
116
+ left: 50%;
117
+ }
118
+
119
+ .timeline>li {
120
+ margin-bottom: 100px;
121
+ min-height: 100px;
122
+ }
123
+
124
+ .timeline>li .timeline-panel {
125
+ float: left;
126
+ width: 41%;
127
+ padding: 0 20px 20px 30px;
128
+ text-align: right;
129
+ }
130
+
131
+ .timeline>li .timeline-image {
132
+ left: 50%;
133
+ width: 100px;
134
+ height: 100px;
135
+ margin-left: -50px;
136
+ }
137
+
138
+ .timeline>li .timeline-image h4 {
139
+ margin-top: 32px;
140
+ font-size: 20px;
141
+ line-height: 18px;
142
+ }
143
+
144
+ .timeline>li.timeline-inverted>.timeline-panel {
145
+ float: right;
146
+ padding: 0 30px 20px 20px;
147
+ text-align: left;
148
+ }
149
+ }
150
+
151
+ @media(min-width:992px) {
152
+ .timeline>li {
153
+ min-height: 150px;
154
+ }
155
+
156
+ .timeline>li .timeline-panel {
157
+ padding: 0 20px 20px;
158
+ }
159
+
160
+ .timeline>li .timeline-image {
161
+ width: 150px;
162
+ height: 150px;
163
+ margin-left: -75px;
164
+ }
165
+
166
+ .timeline>li .timeline-image h4 {
167
+ margin-top: 55px;
168
+ font-size: 38px;
169
+ line-height: 26px;
170
+ }
171
+
172
+ .timeline>li.timeline-inverted>.timeline-panel {
173
+ padding: 0 20px 20px;
174
+ }
175
+ }
176
+
177
+ @media(min-width:1200px) {
178
+ .timeline>li {
179
+ min-height: 170px;
180
+ }
181
+
182
+ .timeline>li .timeline-panel {
183
+ padding: 0 20px 20px 100px;
184
+ }
185
+
186
+ .timeline>li .timeline-image {
187
+ width: 170px;
188
+ height: 170px;
189
+ margin-left: -85px;
190
+ }
191
+
192
+ .timeline>li .timeline-image h4 {
193
+ /*margin-top: 40px;*/
194
+ margin-top: 65px;
195
+ font-size: 42px;
196
+ }
197
+
198
+ .timeline>li.timeline-inverted>.timeline-panel {
199
+ padding: 0 100px 20px 20px;
200
+ }
201
+ }