<link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!------ Include the above in your HEAD tag ---------->
</head>
<body><header class="navbar navbar-default navbar-fixed-top">
<div class="container clearfix">
<div class="row" id="header-row1">
<div class="col-xs-4">
<div class="row"><div class="col-xs-12"><span id="logo"><a> <img class="img-responsive img-fluid" style="height: 80%; weight: auto;" src="http://www.sangampatel.com/assets/img/logo2-big.png"></a></span></div></div>
<div class="row tagline1"><div class="col-xs-12 text-center"><span class="text-center subtext"><strong class="logo-title logo-subtitle">Ace-Level Marketing Talent</strong></span></div></div><!-- TAGLINE -->
</div>
<div class="col-xs-1"></div>
<div class="col-xs-7">
<div class="tcb-quote-carousel">
<div class="carousel slide carousel-fade" id="fade-quote-carousel" data-interval="10000" data-ride="carousel">
<!-- Carousel items -->
<div class="carousel-inner">
<div class="item active"><i class=" fa fa-quote-left fa-3x" style="color: darkblue; margin-top: -5px; float: left; background-color: white;"></i><i class=" fa fa-quote-right fa-3x" style="color: darkblue; margin-top: -5px; float: right; background-color: white;"></i><blockquote><p style="color: blue; font-style: italic;">It is not the strongest of the species that survive, nor the most intelligent, but the ones that adapt best in response to change.</p><div class="clearfix"></div>
<div class="quoter"><strong>Charles Darwin </strong><small>Maker of Mankind's Greatest Discover</small>
</div></blockquote>
</div>
<div class="item"><i class=" fa fa-quote-left fa-3x" style="color: darkblue; margin-top: -5px; float: left; background-color: white;"></i><i class=" fa fa-quote-right fa-3x" style="color: darkblue; margin-top: -5px; float: right; background-color: white;"></i>
<blockquote><p style="color: blue; font-style: italic;">The world is changing very fast. Big will not beat small anymore. Instead, it's fast beating slow.</p>
<div class="quoter"><strong>Rupurt Murdoch</strong><small>Media Mogul</small></div></blockquote>
</div>
<div class="item"><i class=" fa fa-quote-left fa-3x" style="color: darkblue; margin-top: -5px; float: left; background-color: white;"></i><i class=" fa fa-quote-right fa-3x" style="color: darkblue; margin-top: -5px; float: right; background-color: white;"></i>
<blockquote><p style="color: blue; font-style: italic;">Failure is not fatal, but failure to change might be.</p>
<div class="quoter"><strong>John Wooden</strong><small>Won 10 NCAA Championships</small></div>
<br></blockquote>
</div>
</div>
</div>
</div>
<!-- <ul class="nav navbar-nav navbar-expand-sm navbar-dark bg-dark">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li class="dropdown-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="./">Login <span class="sr-only">(current)</span></a></li>
<li><a href="../navbar-static-top/">Contact Me</a></li>
<li><a href="../navbar-fixed-top/">Why Hire Me?</a></li>
</ul>
-->
<div class="collapse navbar-collapse navbar-right">
<ul class="nav navbar-nav">
<li><a href="#">Home</a></li>
<li class="dropdown "><a class="dropdown-toggle" id="drop1" role="button" href="#" data-toggle="dropdown">Books <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
<li role="presentation"><a role="menuitem" href="#">HTML</a></li>
<li role="presentation"><a role="menuitem" href="#">CSS</a></li>
<li role="presentation"><a role="menuitem" href="#">JQuery</a></li>
<li role="presentation"><a role="menuitem" href="#">JavaScript</a></li>
<li role="presentation"><a role="menuitem" href="#">Bootstarp</a></li>
</ul>
</li>
<li class="dropdown "><a class="dropdown-toggle" id="drop1" role="button" href="#" data-toggle="dropdown">services <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
<li role="presentation"><a role="menuitem" href="#">services-1</a></li>
<li role="presentation"><a role="menuitem" href="#">services-2</a></li>
<li role="presentation"><a role="menuitem" href="#">services-3</a></li>
<li role="presentation"><a role="menuitem" href="#">services-4</a></li>
</ul>
</li>
</ul>
</div>
<div class="tagline2"><span class="subtext"><strong class="logo-title logo-subtitle">Ace-Level Marketing Talent</strong></span></div><!-- TAGLINE -->
</div>
</div>
</div>
</header></body>
</html>
.tcb-quote-carousel{background: #f9f9f9; margin-top: 15px;
.quote{color: rgba(251,251,255,.7); text-align: center; margin-bottom: -10px;} .carousel {padding-bottom: 60px;
.carousel-indicators > li {background-color: #e84a64; border: none;}}
blockquote {margin: 1px 25px 1px 25px; text-align: center;}
}
.carousel-fade {
.carousel-inner {
.item {transition-property: opacity;}
.item,.active.left,.active.right {opacity: 0;}
.active,.next.left,.prev.right {opacity: 1;}
.next,.prev,.active.left,.active.right {left: 0;
transform: translate3d(0, 0, 0);}
}}
/* sliding imgBG make it fade
.item {&:nth-child(1) {background-image: url("http://sangampatel.com/assets/img/road1.jpg"); background-size: cover; background-repeat: no-repeat; }
&:nth-child(2) {background-image: url("http://sangampatel.com/assets/img/road2.jpg"); background-size: cover; background-repeat: no-repeat;}
&:nth-child(3) {background-image: url("http://sangampatel.com/assets/img/road3.jpg"); background-size: cover; background-repeat: no-repeat;} }
*/
BLUR = false;
PULSATION = true;
PULSATION_PERIOD = 600;
PARTICLE_RADIUS = 4;
/* disable blur before using blink */
BLINK = false;
GLOBAL_PULSATION = false;
QUALITY = 2; /* 0 - 5 */
/* set false if you prefer rectangles */
ARC = true;
/* trembling + blur = fun */
TREMBLING = 0; /* 0 - infinity */
FANCY_FONT = "Arial";
BACKGROUND = "#000";
BLENDING = true;
/* if empty the text will be a random number */
var TEXT;
num = 0;
TEXTArray = ["CSS", "Demo","Text","Html","Java"];
QUALITY_TO_FONT_SIZE = [10, 12, 40, 50, 100, 350];
QUALITY_TO_SCALE = [20, 6, 4, 2, 0.9, 0.5];
QUALITY_TO_TEXT_POS = [10, 20, 60, 100, 370, 280];
window.onload = function () {
document.body.style.backgroundColor = BACKGROUND;
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var W = canvas.width;
var H = canvas.height;
var tcanvas = document.createElement("canvas");
var tctx = tcanvas.getContext("2d");
tcanvas.width = W;
tcanvas.height = H;
total_area = W * H;
total_particles = 928;
single_particle_area = total_area / total_particles;
area_length = Math.sqrt(single_particle_area);
var particles = [];
for (var i = 1; i <= total_particles; i++) {
particles.push(new particle(i));
}
function particle(i) {
this.r = Math.round(Math.random() * 255|0);
this.g = Math.round(Math.random() * 255|0);
this.b = Math.round(Math.random() * 255|0);
this.alpha = 1;
this.x = (i * area_length) % W;
this.y = (i * area_length) / W * area_length;
/* randomize delta to make particles sparkling */
this.deltaOffset = Math.random() * PULSATION_PERIOD | 0;
this.radius = 0.1 + Math.random() * 2;
}
var positions = [];
function new_positions() {
TEXT = TEXTArray[num];
if (num < TEXTArray.length - 1) {
num++;
} else {
num = 0;
}
//alert(TEXT);
tctx.fillStyle = "white";
tctx.fillRect(0, 0, W, H)
//tctx.fill();
tctx.font = "bold " + QUALITY_TO_FONT_SIZE[QUALITY] + "px " + FANCY_FONT;
//tctx.textAlign='center';//文本水平对齐方式
//tctx.textBaseline='middle';
//tctx.strokeStyle = "black";
tctx.fillStyle="#f00";
//tctx.strokeText(TEXT,30, 50);
tctx.fillText(TEXT,20, 60);
image_data = tctx.getImageData(0, 0, W, H);
pixels = image_data.data;
positions = [];
for (var i = 0; i < pixels.length; i = i + 2) {
if (pixels[i] != 255) {
position = {
x: (i / 2 % W | 0) * QUALITY_TO_SCALE[QUALITY] | 0,
y: (i / 2 / W | 0) * QUALITY_TO_SCALE[QUALITY] | 0
}
positions.push(position);
}
}
get_destinations();
}
function draw() {
var now = Date.now();
ctx.globalCompositeOperation = "source-over";
if (BLUR) ctx.globalAlpha = 0.1;
else if (!BLUR && !BLINK) ctx.globalAlpha = 1.0;
ctx.fillStyle = BACKGROUND;
ctx.fillRect(0, 0, W, H)
if (BLENDING) ctx.globalCompositeOperation = "lighter";
for (var i = 0; i < particles.length; i++) {
p = particles[i];
/* in lower qualities there is not enough full pixels for all of them - dirty hack*/
if (isNaN(p.x)) continue
ctx.beginPath();
ctx.fillStyle = "rgb(" + p.r + ", " + p.g + ", " + p.b + ")";
ctx.fillStyle = "rgba(" + p.r + ", " + p.g + ", " + p.b + ", " + p.alpha + ")";
if (BLINK) ctx.globalAlpha = Math.sin(Math.PI * mod * 1.0);
if (PULSATION) { /* this would be 0 -> 1 */
var mod = ((GLOBAL_PULSATION ? 0 : p.deltaOffset) + now) % PULSATION_PERIOD / PULSATION_PERIOD;
/* lets make the value bouncing with sinus */
mod = Math.sin(mod * Math.PI);
} else var mod = 1;
var offset = TREMBLING ? TREMBLING * (-1 + Math.random() * 2) : 0;
var radius = PARTICLE_RADIUS * p.radius;
if (!ARC) {
ctx.fillRect(offset + p.x - mod * radius / 2 | 0, offset + p.y - mod * radius / 2 | 0, radius * mod,
radius * mod);
} else {
ctx.arc(offset + p.x | 0, offset + p.y | 0, radius * mod, Math.PI * 2, false);
ctx.fill();
}
p.x += (p.dx - p.x) / 10;
p.y += (p.dy - p.y) / 10;
}
}
function get_destinations() {
for (var i = 0; i < particles.length; i++) {
pa = particles[i];
particles[i].alpha = 1;
var distance = [];
nearest_position = 0;
if (positions.length) {
for (var n = 0; n < positions.length; n++) {
po = positions[n];
distance[n] = Math.sqrt((pa.x - po.x) * (pa.x - po.x) + (pa.y - po.y) * (pa.y - po.y));
if (n > 0) {
if (distance[n] <= distance[nearest_position]) {
nearest_position = n;
}
}
}
particles[i].dx = positions[nearest_position].x;
particles[i].dy = positions[nearest_position].y;
particles[i].distance = distance[nearest_position];
var po1 = positions[nearest_position];
for (var n = 0; n < positions.length; n++) {
var po2 = positions[n];
distance = Math.sqrt((po1.x - po2.x) * (po1.x - po2.x) + (po1.y - po2.y) * (po1.y - po2.y));
if (distance <= 5) {
positions.splice(n, 1);
}
}
} else {
//particles[i].alpha = 0;
}
}
}
function init() {
new_positions();
setInterval(draw, 30);
setInterval(new_positions, 2000);
}
init();
};
var hw_mc = $('#merry_christmas').HandWriting({
text_color: 'rgba(0,100,0,1)', text_lineWidth: 2,
show_pen: true, pen_image: 'mc_pen.png',
anim_layers: 20, steps_between_letters: 8,
letter_steps: 8, isc: [0.75, 0.75, 0.75, 0.75, 0.75, 0.5],
hw_scale: 2.0, line_offset_x: 0,
line_offset_y: 25, drawings: ['lred.png', 'lyellow.png', 'lgreen.png', 'ggold.png', 'gred.png', 'g2.png'],
replay: true, wait_after_finish_duration: 3000,
finish_effect: 'fade', image_rotation: 'random',
random_pos_x: 0, random_pos_y: 0,
text_align: 'center', complete: function(){hw_hny.play_anim();}
});
/*// get 2D context
var ctx = document.querySelector("canvas").getContext("2d"),
// dash-length for off-range
dashLen = 220,
// we'll update this, initialize
dashOffset = dashLen,
// some arbitrary speed
speed = 5,
// the text we will draw
txt = "Ace-Level Marketing Talent",
// start position for x and iterator
x = 30, i = 0;
// Comic Sans?? Let's make it useful for something ;) w/ fallbacks
ctx.font = "50px Comic Sans MS, cursive, TSCu_Comic, sans-serif";
// thickness of the line
ctx.lineWidth = 15px;
// to avoid spikes we can join each line with a round joint
ctx.lineJoin = "round";
// increase realism letting background (f.ex. paper) show through
ctx.globalAlpha = 2/3;
// some color, lets use a black pencil
ctx.strokeStyle = ctx.fillStyle = "BLACK";
(function loop() {
// clear canvas for each frame
ctx.clearRect(x, 0, 60, 150);
// calculate and set current line-dash for this char
ctx.setLineDash([dashLen - dashOffset, dashOffset - speed]);
// reduce length of off-dash
dashOffset -= speed;
// draw char to canvas with current dash-length
ctx.strokeText(txt[i], x, 90);
// char done? no, the loop
if (dashOffset > 0) requestAnimationFrame(loop);
else {
// ok, outline done, lets fill its interior before next
ctx.fillText(txt[i], x, 90);
// reset line-dash length
dashOffset = dashLen;
// get x position to next char by measuring what we have drawn
// notice we offset it a little by random to increase realism
x += ctx.measureText(txt[i++]).width + ctx.lineWidth * Math.random();
// lets use an absolute transform to randomize y-position a little
ctx.setTransform(1, 0, 0, 1, 0, 3 * Math.random());
// and just cause we can, rotate it a little too to make it even
// more realistic
ctx.rotate(Math.random() * 0.005);
// if we still have chars left, loop animation again for this char
if (i < txt.length) requestAnimationFrame(loop);
}
})();
// just to self-invoke the loop */