JAVA SCRIPT

Key event.(Measurement ID). G-8G6HW8KFC3 Ads text file. google.com, pub-4028769101460329, DIRECT, f08c47fec0942fa0

<a>https://www.youtube.com/@MDNurulALAM-vz3pn., https://www.facebook.com/profile.php?id=100017399628467&mibextid=ZbWKwL,. https://pbs.twimg.com/profile_images/1801623604406394880/DXk9uJ3V.jpg., mdainvtech.bloggpost.com.https://www.facebook.com/100017399628467/subscribe/,https://www.facebook.com/groups/1511616632783104/?ref=share_group_link, https://www.instagram.com/almdnurul?igsh=MWRma3EzZWIxeDh6OA== https://help.instagram.com/442108830566254/?helpref=uf_share

<a><p>My favorite horse is the <a href="https://mdaindvtech.blogspot.com/Palomino">palomino</a>.</p>

<a rel="sponsored" href="https://cheese.mdaindvtech.com/Appenzeller_cheese">Appenzeller</a>

<a>https://bn.quora.com/unanswered/%E0%A7%AB-%E0%A6%9F%E0%A6%BE%E0%A6%95%E0%A6%BE%E0%A6%AF%E0%A6%BC-%E0%A7%AE-%E0%A6%9F%E0%A6%BF-%E0%A6%86%E0%A6%AE%E0%A6%B2%E0%A6%95%E0%A6%BF-%E0%A6%95%E0%A6%BF%E0%A6%A8%E0%A7%87-%E0%A7%AB?ch=10&oid=204412368&share=0a3e4c3b&srid=3qD36A&target_type=question

LEARN JAVA SCRIPT.

Learn coding techniques, best practices, and the latest trends in web development with our JavaScript tutorials and guides. Stay updated on the latest features and enhance your coding skills today.






Page UR



Java.
  অ্যাপ্লিকেশন গুলির জন্য সর্বোত্তম অনুশীলনের একটি সেট প্রতিনিধিত্ব করে যা ক্লাউড পরিবেশের উন্নতি করবে (অ্যাপ্লিকেশন হিসাবে সফ্টওয়্যার)। 

নিম্নলিখিত 12টি কারণ রয়েছে:1. একটি সংস্করণযুক্ত কোডবেস (উদাহরণস্বরূপ, একটি IT সংগ্রহস্থল) 

একই কোডবেস অনেক স্থাপনার জন্য ব্যবহার করা হয়।
2. পরিষেবাগুলি স্পষ্টভাবে সমস্ত নির্ভরতা ঘোষণা করা উচিত এবং এর উপর নির্ভর করা উচিত নয়৷


3. স্থাপনার পরিবেশের মধ্যে পরিবর্তিত কনফিগারেশন পরিবেশে সংরক্ষণ করা উচিত (বিশেষত পরিবেশের ভেরিয়েবলে)।

4. সমস্ত ব্যাকিং পরিষেবা সংযুক্ত সংস্থান হিসাবে বিবেচিত হয়, যেগুলি সম্পাদন পরিবেশ দ্বারা পরিচালিত হয় (সংযুক্ত এবং বিচ্ছিন্ন)৷

5. ডেলিভারি পাইপ লাইনের কঠোরভাবে পৃথক পর্যায় থাকা উচিত: নির্মাণ, মুক্তি এবং চালানো।6.  স্থায়ী ডেটা একটি উপযুক্ত ব্যাকিং পরিষেবাতে সংরক্ষণ করা উচিত।

7. স্বয়ংসম্পূর্ণ পরিষেবাগুলি একটি নির্দিষ্ট পোর্টে শোনার মাধ্যমে অন্যান্য পরিষেবা গুলির জন্য নিজেদেরকে উপলব্ধ করা উচিত৷

8. স্বতন্ত্র প্রসেস স্কেলিং (অনুভূমিক স্কেলিং) দ্বারা একযোগে অর্জন করা হয়।
9. প্রক্রিয়াগুলি অবশ্যই নিষ্পত্তি যোগ্য হতে হবে: দ্রুত স্টার্টআপ এবং আকর্ষণীয় শাটডাউন আচরণ গুলি আরও শক্তিশালী এবং স্থিতিস্থাপক সিস্টেমের দিকে নিয়ে যায়।

10স্থানীয় উন্নয়ন থেকে উৎপাদন পর্যন্ত সমস্ত পরিবেশ যথাসম্ভব সমান হওয়া উচিত।অ্যাপ্লিকেশন গুলিকে ইভেন্ট স্ট্রীম হিসাবে লগ তৈরি করা উচিত (উদাহরণস্বরূপ, stdout এবং stderr-এ লেখা), এবং সম্মিলিত স্ট্রীমগুলি সম্পাদনের পরিবেশে বিশ্বাস করা উচিত।

12 যদি প্রশাসক কার্য গুলির প্রয়োজন হয়, সেগুলিকে উত্স নিয়ন্ত্রণে রাখা উচিত এবং পাশাপাশি প্যাকেজ করা উচিত৷

এটি অ্যাপ্লিকেশনের মতো একই পরিবেশে চালানো হয় তা নিশ্চিত করতে অ্যাপ্লিকেশন।একটি ভাল মাইক্রোসার্ভিস পরিবেশ অর্জনের জন্য এই বিষয়গুলিকে কঠোরভাবে অনুসরণ করতে হবে না।
 
 মাইক্রোসার্ভিসগুলি ছোট, স্বাধীন (স্বায়ত্তশাসিত), পরিবর্তনযোগ্য প্রক্রিয়াগুলি ব্যবহার করে জটিল অ্যাপ্লিকেশনগুলি রচনা করতে ব্যবহৃত হয় যা হালকা  API ব্যবহার করে যোগাযোগ করে, যা ভাষার উপর নির্ভর করে না।
 মাইক্রোসার্ভিস হল একটি 12-ফ্যাক্টর অ্যাপ্লিকেশন, যেখানে প্রতিস্থাপনযোগ্য ব্যাকিং পরিষেবাগুলি একটি বার্তা ব্রোকার, পরিষেবা রেজিস্ট্রি এবং স্বাধীন ডেটা স্টোর সরবরাহ করে।

 স্বতন্ত্র মাইক্রোসার্ভিস এবং ইউনিক্স কমান্ড লাইনে চেইনড কমান্ডের ভূমিকার মধ্যে সমান্তরাল করে তোলে:$1s grep 'service' sort -rএই UNIX কমান্ড প্রতিটি ভিন্ন জিনিস । কমান্ডগুলি কোন ভাষায় লেখা হয় বা তাদের কোডবেস কত বড় সে সম্পর্কে সচেতনতা ছাড়াই আপনি কমান্ডগুলি ব্যবহার করতে পারেন।একটি মাইক্রোসার্ভিসের আকার কোডের লাইনের সংখ্যার সাথে সম্পর্কিত নয়। পরিবর্তে, এটি তার সুযোগ বর্ণনা করে। 

"ছোট" শব্দের ব্যবহার যেমন একটি মাইক্রোসার্ভিসে প্রযোজ্য, মূলত এর অর্থ হল যে এটি উদ্দেশ্যমূলক। মাইক্রোসার্ভিস একটি জিনিস করা উচিত।

যদি পরিবর্তনগুলি স্থাপনের জন্য একাধিক পরিষেবাতে একযোগে বা সময় সংবেদনশীল আপডেটের প্রয়োজন হয়, তাহলে ভুল করবেন৷

 এই আপডেট গুলির প্রয়োজনের পিছনে ভাল, বাস্তবসম্মত, কারণ থাকতে পারে, তবে এটি আপনার পরিষেবাগুলির মধ্যে সম্পর্ক গুলির একটি পর্যালোচনাকে অনুরোধ করবে৷ কিছু সম্ভাব্য ফলাফল আছে:পরিষেবাগুলির স্বাধীন জীবনচক্র সংরক্ষণের জন্য আপনাকে আপনার সংস্করণের কৌশলটি সংশোধন করতে হবে।বর্তমান পরিষেবা সীমানা সঠিকভাবে আঁকা হয় না, এবং পরিষেবাগুলি সঠিকভাবে স্বাধীন টুকরোগুলিতে পুনর্বিন্যাস করা উচিত।রিফ্যাক্টরিং পরিষেবাগুলি ঘটবে, বিশেষ করে স্ক্র্যাচ থেকে একটি অ্যাপ্লিকেশন তৈরি করার সময়। প্রতিক্রিয়া করার ক্ষমতা এবং রিফ্যাক্টর পরিষেবাগুলি যেমন সমস্যাগুলি আবিষ্কৃত হয় মাইক্রো সার্ভিসেস পদ্ধতির একটি সুবিধা।

পলিগ্লট এবং ভাষা-অজ্ঞেয়বাদী প্রোটোকল সম্পর্কে একটি দ্রুত নোট পলিগ্লট মাইক্রো সার্ভিস-ভিত্তিক আর্কিটেকচারের একটি ঘন ঘন উদ্ধৃত সুবিধা। 

প্রতিটি পরিষেবার চাহিদা মেটাতে উপযুক্ত ভাষা বা ডেটা স্টোর বেছে নিতে সক্ষম হওয়া শক্তিশালী হতে পারে এবং উল্লেখযোগ্য দক্ষতা আনতে পারে।
 যাইহোক, অস্পষ্ট প্রযুক্তির ব্যবহার দীর্ঘমেয়াদী রক্ষণাবেক্ষণকে জটিল করে তুলতে পারে এবং বিকাশকারীদের চলাচলে বাধা দিতে পারে। সময়ের সাথে সাথে নতুন প্রযুক্তির সাথে তালিকা প্রসারিত করার জন্য একটি সংজ্ঞায়িত নীতি সহ, শুরুতে বেছে নেওয়ার জন্য সমর্থিত প্রযুক্তিগুলির একটি তালিকা তৈরি করে উভয়ের মধ্যে একটি ভারসাম্য তৈরি করুন।

রক্ষণাবেক্ষণ যোগ্যতা, নিরীক্ষা যোগ্যতা এবং ডেটা সুরক্ষা ভাল হতে পারে, 
যখন তত্পরতা সংরক্ষণ করে এবং পরীক্ষার মাধ্যমে উদ্ভাবনকে সমর্থন করে।

 রিপ্রেজেন্টেশনাল স্টেট ট্রান্সফার (REST) ​​আর্কিটেকচার প্যাটার্ন ইউনিফর্ম ইন্টারফেস তৈরির জন্য নির্দেশিকা সংজ্ঞায়িত করে যা পরিষেবার বাস্তবায়ন থেকে অন-দ্য-ওয়্যার ডেটা উপস্থাপনাকে আলাদা করে। 

RESTful আর্কিটেকচারের জন্য অনুরোধের অবস্থা ক্লায়েন্টের দ্বারা রক্ষণাবেক্ষণ করা প্রয়োজন, 
 REST এবং মাইক্রোসা র্ভিসের মধ্যে ভাগ করা ধারণাগুলি স্পষ্ট হওয়া উচিত।

হাইপারটেক্সট ট্রান্সফার প্রোটোকল (HTTP) হল ইন্টারনেটে সমস্ত অ্যাপ্লিকেশনের জন্য একটি সাধারণ যোগাযোগের ভাষা। 

এটিতে ক্রিয়াপদ এবং রিটার্ন কোডগুলির একটি অভিব্যক্তিপূর্ণ সেট রয়েছে যা শুধুমাত্র REST গ্রহণের মাধ্যমে তাদের সম্ভাবনা উপলব্ধ করে।REST/HTTP মিথস্ক্রিয়া সহজাতভাবে সিঙ্ক্রোনাস(অনুরোধ/প্রতিক্রিয়া) । 

অসিঙ্ক্রোনাস যোগাযোগগুলি মাইক্রো সার্ভিসগুলির মধ্যে আলগা সংযোগ বজায় রাখতে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। 

উন্নত বার্তা সারিবদ্ধ প্রোটোকল (AMQP) এবং বার্তা সারিবদ্ধ টেলিমেট্রি ট্রান্সপোর্ট (MQTT) এর মতো মানগুলির সাথে জাভা মেসেজ সার্ভিস (জেএমএস) এর মতো ভাষা-নির্দিষ্ট প্রক্রিয়াগুলি তৈরি করে৷ 

(সাধারণত টমক্যাট)।
 স্প্রিং বুট কনফিগারেশনের উপর কনভেনশনের উপর জোর দেয় এবং অতিরিক্ত ফাংশন সক্ষম করতে টীকা এবং ক্লাস পাথ আবিষ্কারের সংমিশ্রণ ব্যবহার করে।

স্প্রিং ক্লাউড হল তৃতীয় পক্ষের ক্লাউড প্রযুক্তি এবং স্প্রিং প্রোগ্রামিং মডেলের মধ্যে একীকরণের একটি সংগ্রহ৷ 
কিছু হল স্প্রিং প্রোগ্রামিং মডেল এবং থার্ড-পার্টি টেকনোলজির মধ্যে ইন্টিগ্রেশন। 
কম ক্ষেত্রে, স্প্রিং ক্লাউড প্রযুক্তি স্প্রিং প্রোগ্রামিং মডেলের বাইরে ব্যবহারযোগ্য, যেমন স্প্রিং ক্লাউড সংযোগকারী কোর।

ড্রপ উইজার্ড হল জাভাতে মাইক্রো সার্ভিস তৈরির আরেকটি প্রযুক্তি। এটিতে একটি মতামতযুক্ত পদ্ধতিও রয়েছে, একটি পূর্বনির্বাচিত স্ট্যাক সহ যা অতিরিক্ত ক্ষমতা সহ একটি এমবেডেড জেটি সার্লেট কন্টেইনারকে উন্নত করে।

 ড্রপ উইজার্ড সমর্থন করে এমন প্রযুক্তির সেট তুলনামূলকভাবে সংকীর্ণ, যদিও তৃতীয় পক্ষ বা সম্প্রদায় প্রদত্ত প্লাগ-ইনগুলি ফাঁক পূরণ করতে উপলব্ধ। তাদের কিছু ক্ষমতা, বিশেষ করে অ্যাপ্লিকেশন মেট্রিক্সের জন্য তাদের সমর্থন বেশ ভাল।

 
এই বাহ্যিক দৃশ্য থেকে API ধারাবাহিকতা নিশ্চিত করতে সাহায্য করে। এই বাহ্যিক দৃশ্যটি উপভোক্তা চালিত চুক্তি 12 এর সাথে সারিবদ্ধ, একটি প্যাটার্ন যা ভোক্তাদের প্রত্যাশার উপর ফোকাস রেখে API ডিজাইন করার পরামর্শ দেয়।

সঠিক HTTP ক্রিয়া ব্যবহার করুন।

REST API-গুলিকে ক্রিয়াকলাপগুলি তৈরি করা, পুনরুদ্ধার করা, আপডেট করা এবং মুছে ফেলার জন্য আদর্শ HTTP ক্রিয়া ব্যবহার করা উচিত, অপারেশনটি অক্ষমতাপূর্ণ কিনা (একাধিকবার পুনরাবৃত্তি করা নিরাপদ) কিনা সেদিকে বিশেষ মনোযোগ দেওয়া উচিত।

POST অপারেশনগুলি (C) সংস্থান তৈরি করতে ব্যবহার করা যেতে পারে। একটি POST অপারেশনের স্বতন্ত্র বৈশিষ্ট্য হল যে এটি অদম্য নয়। 
উদাহরণস্বরূপ, যদি একটি POST অনুরোধ সংস্থান তৈরি করতে ব্যবহৃত হয় এবং এটি একাধিকবার শুরু করা হয়, প্রতিটি আহ্বানের ফলে একটি নতুন, অনন্য সংস্থান তৈরি করা উচিত।
GET ক্রিয়াকলাপ গুলি অবশ্যই অদম্য এবং শূন্য উভয়ই হতে হবে৷ তাদের কোন পার্শ্বপ্রতিক্রিয়া সৃষ্টি করা উচিত নয় এবং শুধুমাত্র তথ্য পুনরুদ্ধার করতে ব্যবহার করা উচিত।
 সুনির্দিষ্ট হওয়ার জন্য, ক্যোয়ারী প্যারামিটার সহ GET অনুরোধগুলি তথ্য পরিবর্তন বা আপডেট করার জন্য ব্যবহার করা উচিত নয় (পরিবর্তে POST, PUT, বা PATCH ব্যবহার করুন)।

PUT অপারেশন গুলি (U) সংস্থান আপডেট করতে ব্যবহার করা যেতে পারে।
 PUT অপারেশনগুলি সাধারণত আপডেট করার জন্য  একটি সম্পূর্ণ অনুলিপি অন্তর্ভুক্ত করে, যা অপারেশনটিকে অদম্য করে তোলে।প্যাচ অপারেশনগুলি সংস্থানগুলির আংশিক আপডেট(U) এর অনুমতি দেয়। কিভাবে ডেল্টা নির্দিষ্ট করা হয়েছে এবং তারপর রিসোর্সে প্রয়োগ করা হয়েছে তার উপর নির্ভর করে তারা অদম্য হতে পারে বা নাও হতে পারে।
 উদাহরণস্বরূপ, যদি একটি প্যাচ অপারেশন নির্দেশ করে যে একটি মান পরিবর্তন করা উচিত।
A থেকে B পর্যন্ত, এটি সক্ষম হয় না। এটির কোন প্রভাব নেই যদি এটি একাধিকবার শুরু হয় এবং মানটি ইতিমধ্যেই B হয়৷ 
প্যাচ অপারেশনগুলির জন্য সমর্থন অসঙ্গত৷ 

উদাহরণস্বরূপ, Java EE7-এ JAX-RS-এ @PATCH টীকা নেই।ডিলিট অপারেশনগুলি আশ্চর্যজনকভাবে রিসোর্স মুছে ফেলতে ব্যবহৃত হয় না। মুছে ফেলার ক্রিয়াকলাপগুলি অটুট, কারণ একটি সংস্থান শুধুমাত্র একবার মুছে ফেলা যেতে পারে৷ 
যাইহোক, রিটার্ন কোড পরিবর্তিত হয়, কারণ প্রথম অপারেশন সফল হয় (১০০), যখন পরবর্তী আহ্বানে সংস্থান পাওয়া যায় না (১০৪)।

মেশিন-বান্ধব, বর্ণনামূলক ফলাফল তৈরি করুন।

একটি অভিব্যক্তিপূর্ণ REST API শুরু করা ক্রিয়াকলাপগুলি থেকে কী ফেরত দেওয়া হয় সে সম্পর্কে সাবধানতার সাথে বিবেচনা করা উচিত। প্রদত্ত যে API গুলি ব্যবহারকারীদের পরিবর্তে সফ্টওয়্যার দ্বারা শুরু করা হয়, কলারের সাথে সম্ভাব্য সবচেয়ে কার্যকর এবং কার্যকর উপায়ে তথ্য যোগাযোগের যত্ন নেওয়া উচিত৷
একটি উদাহরণ হিসাবে, এটি একটি স্ট্যাটাস কোড ফেরত দেওয়া সাধারণ  এবং HTML এর সাথে ত্রুটির বার্তা ব্যাখ্যা করে৷ 
যদিও এই কৌশলটি ওয়েব পৃষ্ঠাগুলি দেখার ব্যবহারকারীদের জন্য কাজ করতে পারে (যাদের জন্য HTTP স্ট্যাটাস কোড লুকানো), তাদের অনুরোধ সফল হয়েছে কিনা তা নির্ধারণ করা মেশিনগুলির জন্য এটি কঠিন।

HTTP স্থিতি কোড প্রাসঙ্গিক এবং দরকারী হতে হবে. সবকিছু ঠিক থাকলে 200 (ঠিক আছে) ব্যবহার করুন। যখন কোনও প্রতিক্রিয়া ডেটা না থাকে, তার পরিবর্তে একটি 204  ব্যবহার করুন। সেই টেকনিকের বাইরে, একটি 201 (CREATED) POST অনুরোধের জন্য ব্যবহার করা উচিত যার ফলে একটি রিসোর্স তৈরি হয়, একটি রেসপন্স বডি আছে কি না।

একটি 409 (সংঘাত) ব্যবহার করুন যখন সমসাময়িক পরিবর্তন দ্বন্দ্ব, বা একটি 400 ব্যবহার করুন যখন প্যারামিটার গুলি বিকৃত হয়। এইচটিটিপি স্ট্যাটাস কোডের সেট শক্তিশালী, এবং যতটা সম্ভব নির্দিষ্টভাবে অনুরোধের ফলাফল প্রকাশ করতে ব্যবহার করা উচিত। 
html যোগাযোগ দক্ষ করার জন্য আপনার প্রতিক্রিয়া গুলিতে কী ডেটা ফেরত দেওয়া হচ্ছে তাও আপনার বিবেচনা করা উচিত। উদাহরণস্বরূপ, যখন একটি POST অনুরোধের সাথে একটি সংস্থান তৈরি করা হয়, তখন প্রতিক্রিয়াটিতে একটি অবস্থান শিরোনামে নতুন তৈরি সংস্থানের অবস্থান অন্তর্ভুক্ত করা উচিত। রেসপন্স বডিতে রিসোর্স সম্পর্কে অতিরিক্ত তথ্য ফেরত দেওয়ার দরকার নেই। 
যাইহোক, বাস্তবে তৈরি রিসোর্স সাধারণত প্রতিক্রিয়াতে অন্তর্ভুক্ত করা হয় কারণ এটি কলারের জন্য তৈরি রিসোর্স আনার জন্য একটি অতিরিক্ত GET অনুরোধ করার প্রয়োজনীয়তা দূর করে। একই PUT এবং PATCH অনুরোধের জন্য প্রযোজ্য।

রিসোর্স ইউআরআই এবং সংস্করণ RESTful রিসোর্স URI-এর কিছু দিক সম্পর্কে বিভিন্ন মতামত রয়েছে।

 সাধারণভাবে, সম্পদগুলি বিশেষ্য হওয়া উচিত, ক্রিয়া নয়, এবং শেষবিন্দুগুলি বহুবচন হওয়া উচিত। এই কৌশলটির ফলে ক্রিয়াকলাপগুলি তৈরি, পুনরুদ্ধার, আপডেট এবং মুছে ফেলার জন্য একটি পরিষ্কার কাঠামো পাওয়া যায়।

পোস্ট/অ্যাকাউন্ট একটি নতুন আইটেম তৈরি করুন GET/accounts আইটেমগুলির একটি তালিকা পুনরুদ্ধার করুনGET/accounts/16 একটি নির্দিষ্ট আইটেম পুনরুদ্ধার করুনPUT/accounts/16

নির্দিষ্ট আইটেম PATCH/accounts/16 আপডেট aনির্দিষ্ট আইটেম DELETE/accounts/16 মুছুন ।

নির্দিষ্ট আইটেম সাধারণ সম্মতি হল URI-এর সাথে জিনিসগুলি সহজ রাখা। 
আপনি যদি এমন একটি অ্যাপ্লিকেশন তৈরি করেন যা একটি নির্দিষ্ট ধরণের ইঁদুরকে ট্র্যাক করে, তাহলে URI হবে /mouses/ এবং না/মাইস/,
।সম্পর্ক গুলি নেস্টিং ইউ আর আই দ্বারা মডেল করা হয়, উদাহরণস্বরূপ, একটি অ্যাকাউন্টের সাথে যুক্ত শংসাপত্রগুলি পরিচালনা করার জন্য /accounts/16/credentials এর মতো।

যেখানে কম সম্মতি আছে  সাথে যুক্ত ক্রিয়াকলাপের সাথে কি ঘটবে।
 কিন্তু এটি এই স্বাভাবিক কাঠামোর মধ্যে খাপ খায় না। এই অপারেশনগুলি পরিচালনা করার কোন একক সঠিক উপায় নেই। API-এর ভোক্তার জন্য যা সবচেয়ে ভালো কাজ করে তা করুন।

উদাহরণস্বরূপ, গেম অন!, প্লেয়ার পরিষেবা এমন ক্রিয়াকলাপগুলি সরবরাহ করে যা ব্যবহারকারীর নাম এবং প্রিয় রঙ তৈরি করতে সহায়তা করে৷ গেমের মধ্যে প্রতিটি খেলোয়াড়ের অবস্থান পুনরুদ্ধার করাও সম্ভব। যে কাঠামোটি বেছে নেওয়া হয়েছিল তা সমস্ত খেলোয়াড়কে বিস্তৃত ক্রিয়াকলাপ গুলিকে প্রতিফলিত করে, যদিও এখনও আপনাকে নির্দিষ্ট খেলোয়াড়দের সাথে কাজ করার অনুমতি দেয়। 
খেলোয়াড়/accounts একটি তৈরি করুননতুন খেলোয়াড়পান/খেলোয়াড়/accounts/{id}উদ্ধার aনির্দিষ্ট প্লেয়ারপান/খেলোয়াড়/accounts/{id}/location Retrieveএকটি নির্দিষ্টখেলোয়াড়েরঅবস্থানPUT/খেলোয়াড়/accounts/{id}/location আপডেট aনির্দিষ্টখেলোয়াড়েরঅবস্থানপান/খেলোয়াড়/কোলোr রিটার্ন 10উত্পন্নরংপান/খেলোয়াড়/নামরিটার্ন 10উত্পন্ননামপান/খেলোয়াড়/লোকাtions পুনরুদ্ধারএর অবস্থান।

URI-তে সংস্করণ যোগ করা একটি সংস্করণ নির্দিষ্ট করার জন্য সবচেয়ে সহজ পদ্ধতি। 
এই পদ্ধতির এই সুবিধা রয়েছে:এটা বোঝা সহজ।আপনার অ্যাপ্লিকেশনে পরিষেবাগুলি তৈরি করার সময় এটি অর্জন করা সহজ।
এটি  API ব্রাউজিং সরঞ্জাম এবং কার্ল-এর মতো কমান্ড-লাইন সরঞ্জামগুলির সাথে সামঞ্জস্যপূর্ণ।আপনি যদি URI-তে সংস্করণটি রাখতে যাচ্ছেন, সংস্করণটি সম্পূর্ণরূপে আপনার অ্যাপ্লিকেশনে প্রযোজ্য হবে, তাই ব্যবহার করুন, উদাহরণস্বরূপ, /api/accounts/v1 এর পরিবর্তে /api/v1/accounts। অ্যাপ্লিকেশান স্টেটের ইঞ্জিন হিসাবে হাইপারমিডিয়া (HATEOAS) হল API গ্রাহকদের URI প্রদান করার একটি উপায় তাই তারা নিজেরাই URI তৈরির জন্য দায়ী নয়। GitHub, 
উদাহরণস্বরূপ, এই কারণে তাদের প্রতিক্রিয়াগুলিতে হাইপারমিডিয়া URL প্রদান করে। 
13 HATEOAS যদি অর্জন করা অসম্ভব না হয় তবে কঠিন হয়ে যায় যদি বিভিন্ন ব্যাকএন্ড পরিষেবাগুলি তাদের URI-তে স্বাধীনভাবে পরিবর্তিত সংস্করণ থাকতে পারে।আপনি যদি আপনার ইউ আর আই-তে সংস্করণটি রাখার সিদ্ধান্ত নেন, আপনি এটিকে কয়েকটি ভিন্ন উপায়ে পরিচালনা করতে পারেন, আংশিকভাবে আপনার সিস্টেমে অনুরোধ গুলি কীভাবে রুট করা হয় তার দ্বারা নির্ধারিত হয়। যাইহোক, এক মুহুর্তের জন্য ধরে নিন যে আপনার গেটওয়ে প্রক্সি এক্সটার্নাল/api/v1/accounts URI কে /accounts/v1 তে কভার করে, যা আপনার পরিষেবা দ্বারা প্রদত্ত JAX-RS এন্ডপয়েন্টে ম্যাপ করে। এই ক্ষেত্রে, /accounts একটি প্রাকৃতিক প্রসঙ্গ মূল। এর পরে আপনি হয় সংস্করণটি @ApplicationPath টীকাতে অন্তর্ভুক্ত করতে পারেন।

অ্যাপ্লিকেশনটি API এর শুধুমাত্র একটি সংস্করণ সমর্থন করছে।উদাহরণ 2-1 URI-তে সংস্করণ যোগ করতে @ApplicationPath টীকা ব্যবহার করেপ্যাকেজ retail_store.accounts.api; @ApplicationPath("/v1")পাবলিক ক্লাস ApplicationClass অ্যাপ্লিকেশান প্রসারিত করে {}বিকল্পভাবে, যদি পরিষেবাটি অ্যাপ্লিকেশনটির একাধিক সংস্করণ সমর্থন করে, তাহলে আপনি সংস্করণটিকে @Path টীকাতে ঠেলে দিতে পারেন।
 @ApplicationPath ইউআরআই পরিবর্তন না করে একটি বিশ্রামের শেষ বিন্দু সংজ্ঞায়িত করেপ্যাকেজ retail_store.accounts.api.v1; @ApplicationPath("/")পাবলিক ক্লাস ApplicationClass অ্যাপ্লিকেশান প্রসারিত করে {} retail_store.accounts.api.v1; @পাথ("v1/অ্যাকাউন্ট")পাবলিক ক্লাস অ্যাকাউন্টসএপিআই {@ পান@পাথ("{id}")@উৎপাদন (MediaType.APPLICATION_JSON)স্ট্রিং আইডি) {পাবলিক রেসপন্স getAccounts (@PathParam("id")getId(id);

// পেলোড পপুলেট... crediteEvent.fire (পেমেন্ট পেলোড);।



এমন একজন ব্যবহারকারীকে বিবেচনা করুন যিনি গেম অন দিয়ে প্রমাণীকরণ করেছেন! এবং একটি রুম আপডেট করতে চায়।

। যখন ব্যবহারকারী মানচিত্র পরিষেবায় একটি আপডেট রুম অনুরোধ পাঠায়, তখন তারা একটি নিশ্চিতকরণ প্রতিক্রিয়া আশা করে, যার মানে অনুরোধটি অবশ্যই সিঙ্ক্রোনাস হতে হবে। এই সিঙ্ক্রোনাস অনুরোধ একটি নিশ্চিতকরণ প্রদান করে যে হয় আপডেটটি সফল হয়েছে বা আপডেটটি সফলভাবে একটি সারিতে যোগ করা হয়েছে (আপডেট ফাংশনের বাস্তবায়নের উপর নির্ভর করে)।

আপডেট হওয়ার পরে, যেটি রুমটি ডাটাবেসে একটি সিঙ্ক্রোনাস ব্যবহার করে , 
 পরিষেবাটিকে অন্যকে পরিবর্তনটি জানাতে হবে। এই আপডেটটি পৃষ্ঠপোষকতা করে না, তাই এটি একটি › us ইভেন্ট ব্যবহার করে পাঠানো হয় যে অন্যান্য পরিষেবাগুলি (4)।<37%

প্রতিক্রিয়া প্রতিক্রিয়া =Response.ok(accounts).build(); ar.resume (প্রতিক্রিয়া);}JAX-RS 2.0 এ অ্যাসিঙ্ক্রোনাস সমর্থন ব্যবহারের আরও উদাহরণ দেখতে, নিম্নলিখিত গিটহাব প্রকল্পটি দেখুন:https://github.com/WASdev/sample.async.jaxrsআরেকটি বিকল্প RxJava মত প্রতিক্রিয়াশীল লাইব্রেরি ব্যবহার করছে। RxJava হল ReactiveX-এর একটি জাভা বাস্তবায়ন, একটি লাইব্রেরি যা একাধিক সমান্তরাল আউট বাউন্ড অনুরোধ থেকে প্রতিক্রিয়া গুলিকে একত্রিত এবং ফিল্টার করার জন্য ডিজাইন করা হয়েছে। এটি পর্যবেক্ষক প্যাটার্নকে প্রসারিত করে এবং লাইব্রেরি গুলির সাথে ভালভাবে সংহত করে যেগুলি লোড ব্যালেন্সিং পরিচালনা করার জন্য ডিজাইন করা হয়েছে এবং আপনার এন্ড পয়েন্ট যেমন FailSafe এবং Netflix Hystrix-এ স্থিতিস্থাপকতা যোগ করার জন্য ডিজাইন করা হয়েছে।

 অ্যাসিঙ্ক্রোনাস মেসেজিং (ইভেন্ট)অসিঙ্ক্রোনাস মেসেজিং ডিকপল সমন্বয়ের জন্য ব্যবহৃত হয়। 
একটি অ্যাসিঙ্ক্রোনাস ইভেন্ট শুধুমাত্র তখনই ব্যবহার করা যেতে পারে যদি ইভেন্টের নির্মাতার প্রতিক্রিয়ার প্রয়োজন না হয়। 
একটি বহিরাগত ক্লায়েন্ট থেকে একটি অনুরোধ সাধারণত একটি প্রতিক্রিয়া ফেরতে আগে বিভিন্ন microservices মাধ্যমে যেতে হবে, 
 যদি এই কলগুলির প্রতিটি সিঙ্ক্রোনাসভাবে করা হয়, তাহলে কলের জন্য মোট সময় অন্যান্য অনুরোধ গুলি ধরে রাখে। মাইক্রো সার্ভিস সিস্টেম যত বেশি জটিল এবং বাহ্যিক অনুরোধের জন্য মাইক্রোসা র্ভিসের মধ্যে যত বেশি মিথস্ক্রিয়া প্রয়োজন, আপনার সিস্টেমে ফলাফলের লেটেন্সি তত বেশি। যদি প্রক্রিয়ায় করা অনুরোধগুলিকে অ্যাসিঙ্ক্রোনাস ইভেন্ট দিয়ে প্রতিস্থাপিত করা যায়, তাহলে আপনার বাস্তবায়ন করা উচিত।

সিঙ্ক্রোনাস অনুরোধগুলিতে আপনার প্রতিক্রিয়ার গতি বাড়ান কারণ প্রতিক্রিয়া ফেরত দেওয়ার আগে আপনাকে অন্যান্য সিঙ্ক্রোনাস অনুরোধগুলি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করতে হবে না।
ইভেন্টগুলির জন্য Java EE স্পেসিফিকেশন সমর্থনের সুবিধা নিন। 
অভ্যন্তরীণ অ্যাসিঙ্ক্রোনাস ইভেন্টগুলি প্রসঙ্গ এবং  (CDI)13 ব্যবহার করে করা যেতে পারে। এই মডেলে, একটি ইভেন্ট একটি জাভা ইভেন্ট অবজেক্ট এবং কোয়ালিফায়ার প্রকারের একটি সেট নিয়ে গঠিত। গুলি করা ইভেন্টে প্রতিক্রিয়া জানাতে চান এমন যেকোনো পদ্ধতি @অবজার্ভস টীকা ব্যবহার করে। 

ফায়ার() পদ্ধতি ব্যবহার করে ইভেন্টগুলি চালানো হয়
।প্রসঙ্গ পাবলিক ক্লাস পেমেন্ট ইভেন্ট {পাবলিক স্ট্রিং পেমেন্ট টাইপ;পাবলিক দীর্ঘ মান;সর্বজনীন স্ট্রিং তারিখ সময়;সর্বজনীন পেমেন্ট ইভেন্ট() {}}পাবলিক ক্লাস পেমেন্ট ইভেন্ট হ্যান্ডলার {সর্বজনীন অকার্যকর ক্রেডিট (@অবজার্ভস @ক্রেডিট পেমেন্ট ইভেন্ট ইভেন্ট) {}}পাবলিক ক্লাস পেমেন্ট {@ইনজেক্ট@ক্রেডিটইভেন্ট Payment Event> credit Event;পাবলিক স্ট্রিং পে() {পেমেন্ট ইভেন্ট পেমেন্ট পেলোড = নতুন পেমেন্ট ইভেন্ট();।


ম্যানেজমেন্টের দৃষ্টিকোণ থেকে, আপনার ডেভেলপমেন্ট টিমের জন্য টেমপ্লেটিং করা মূল্যবান হতে পারে, যা মাইক্রোসার্ভিসেসের সিস্টেম বাস্তবায়ন করছে। 
এই অর্থে টেমপ্লেটিং কোড খণ্ড গুলির একটি structure সংজ্ঞায়িত করছে যা একটি মাইক্রো সার্ভিসের প্রয়োজনীয় অংশগুলি তৈরি করতে ব্যবহার করা যেতে পারে।একটি মাইক্রো সার্ভিস টেমপ্লেট সাধারণত এই সাধারণ ক্ষমতা গুলি অন্তর্ভুক্ত করে।

একটি গ্রাফিকাল ইউজার ইন্টারফেস গ্রাফিকাল উপাদান দিয়ে তৈরি করা হয় যাকে কম্পোনেন্ট বলা হয়। 

সাধারণ উপাদান গুলির মধ্যে বোতাম, স্ক্রলবার এবং পাঠ্য ক্ষেত্রগুলির মতো আইটেম অন্তর্ভুক্ত থাকে।কম্পোনেন্ট উপাদানগুলি ব্যবহারকারীকে প্রোগ্রামের সাথে ইন্টারঅ্যাক্ট করার অনুমতি দেয় এবং ব্যবহারকারীকে প্রোগ্রামের অবস্থা সম্পর্কে চাক্ষুষ প্রতিক্রিয়া প্রদান করে। উপাদানগুলি একা দাঁড়ায় না, বরং পাত্রে পাওয়া যায়।ধারকপাত্রে উপাদানগুলির বিন্যাস ধারণ করে এবং নিয়ন্ত্রণ করে। কন্টেইনার গুলি নিজেই উপাদান, এবং এইভাবে অন্যান্য পাত্রের ভিতরে স্থাপন করা যেতে পারে।

গ্রাফিক্যাল ইউজার ইন্টারফেস পাস আউট একটি Menultem হল মৌলিক আইটেম যা একটি মেনুতে যায়। 
মেনুগুলি নিজেই মেনু আইটেম, সাবমেনু গুলিকে মেনু গুলির ভিতরে নেস্ট করার অনুমতি দেয়।
 Menultem হল MenuComponent-এর একটি সাবক্লাস হিসাবে 13টি রঙ প্রদান করে। 
তারা রঙ. লাল, সবুজ, নীল, ম্যাজেন্টা, সায়ান, হলুদ, কালো, সাদা, ধূসর, গাঢ় ধূসর, হালকা ধূসর, কমলা এবং গোলাপী।একটি উপাদান/পাত্রের পটভূমি এবং অগ্রভাগ (টেক্সট) রঙ সেট করতে, আপনি আহ্বান করতে পারেন:JLabel লেবেল new JLabel("Test"); label.setBackground (Color.LIGHT GRAY): label.setForeground (Color.RED);

 java.awt. ফন্ট একটি নির্দিষ্ট ফন্টের মুখের প্রতিনিধিত্ব করে, যা পাঠ্য রেন্ডার করার জন্য ব্যবহার করা যেতে পারে। আপনি টেক্সট রেন্ডার করার জন্য গ্রাফিক্স প্রসঙ্গ g-এর জন্য বর্তমান ফন্ট সেট করতে setFont() পদ্ধতি ব্যবহার করতে পারেন। 
যেমন,ফন্ট myFontl new Font (Font. MONOSPACED, Font. FLAIN, 121; Font myFont2 নতুন ফন্ট (Font, SSRIF, Font BOLD Font.ITALIC, 
Activity 1
 import java.awt.*; public class framel public static void main (String args[]){ Frame fr new Frame ("A Frame Window"); fr.setSize(400,200); fr.setLocation(100,100); fr.show();

 Activity 2 import java.awt.*; public class menubarl public static void main(String args[]){ Frame fr: MenuBar mba Menu menu; fr new Frame("A Frame Window"); fr.setSize(400,200); fr.setLocation (100,100); mb menu new MenuBar(); new Menu ("File"); mb.add(menu); fr.setMenuBar (mb); fr.show(); 

Activity 3 import java.awt.*; public class menuitemi public static void main(String args[]) Frame fr MenuBar mb: Menu menu Menultem mil,mi2; Department of Information Technology and Communication, 
fr new Frame ("A Frame Window"); fr.setSize(400,200); fr.setLocation(100,100); new MenuBar(); menu mil m12 new Menu ("File"); new MenuItem("New"); new MenuItem("Add"); menu.add(mil); menu.add(m12); mo.add(menu); fr.setMenuBar (mb); fr.show(); Activity 4 import java.awt.*; public class menuseparator [ public static void main(String args[]){ Frame fr: MenuBar mb; Menu menu; MenuItem mil,mi2,mir fr new Frame("A Frame Window"); fr.setSize(400,200); fr.setLocation(100,100); new MenuBar(); menu new Menu ("File"); mil new MenuItem("New"); ni new MenuItem("-"); //act as separator m12 new Menultem("Add"); menu.add(mil); menu.add(mi); menu.add(m.12): mb.add (menu); Ir.setMenuBar (mb); fr.show(); 
Activity 5 import java.awt.*; public clasa nestedmenu public static void main(String args[]){ Frame fr new Frame ("Nested Menu"); fr.setSize(400,200); fr.setLocation (100,100); MenuBar mb new MenuBar(); Menu menu new Menu ("File"); Menu menuAdd MenuItem item new Menu ("Add"); new MenuItem("Ficture"); menuAdd.add(item); menu.add (menuAdd); mb.add (menu); fr.setMenuBar(mb); fr.show(); Activity 6 import java.awt.*; public class label extends Frame Label lbl; public label () ( setSize(400,200); setlocation (200,100); setTitle("Label AWT Component"); setVisible(true); lbl new Label ("I Love Java Programming"); add(lbl); show(); public static void main(String[] args){ label fr new label(); 


Activity 7
 import java.awt.*; public class button extenda Framel Button btn; public button()( setSize(400,200); setlocation (200,100); setTitle("Button ANT Component"); setVisible(true); btn new Button("I Love Java Frogramming"); add(btn); show(); 3 public static void main(String[] args){ button fr new button(); 3
 Activity 8 import java.awt.*; public class checkbox extends Frame( Checkbox cb; public checkbox ()( setSize(400,200); setLocation(200,100); setTitle("Checkbox AWT Component"); setVisible(true); eb new Checkbox ("I Love Java Programming"); add(cb); show(); public static void main(Stringil args) { checkbox fr new checkbox(); 

Activity 9 
import java.awt.*; public class radiobutton extends Frame( CheckboxGroup cbg: Checkbox rbi, rb2; public radicbutton(){ setSize(400,200); setLocation (200,100); setTitle("RadioButton AWT Component"); setLayout (new FlowLayout()); setVisible(true); cog new CheckboxGroup(); rbi new Checkbox ("I Love Java C++", chg,true); rb2 new Checkbox ("I Love Java Programming", cbg, false); add(rbl): add (rb2); show(); public static void main(String[] args){ radiobutton fr new radiobutton(); } 
Activity 10 import java.awt.*; public class scrollpane extends Frame( public scrollpane() ( setLayout (new BorderLayout()); ScrollPane 30 new ScrollPane (ScrollPane.SCROLLBARS ALWAYS); SC.add(new ScrollPane()); add (SC, BorderLayout.CENTER), setSize (700, 250); setVisible(true); public static void main(String[] args){ scrollpane fr new scrollpane();
Activity 11
 import java.awt.*; public clasa dialog public static void main(String args[]){ Frame fr new Frame ("A Dialog Frame"); fr.setSize(200,200); String title "Title": boolean modal true: Dialog dig new Dialog(fr,title, modal); dlg.setLayout (new FlowLayout()); Button ok now Button("OK"); Label lbl new Label("Click OK to continue"); dlg.add(lbl); dlg.add(ok); dlg.pack(); dlg.setLocation (100,100); dlg.show();

 Activity 12 import java.awt.*; public class panel{ public static void main(String args[]){ Frame fr new Frame ("My Dialog"); fr.setSize(200,200); String title "Title": boolean modal true; Dialog dig new Dialog(fr,title, modal); dlg.setLayout (new FlowLayout()); Button ok new Button("OK"); Label lbl new Label ("Click OK to continue"); Panel pl new Fanel(); pl.add(lbl); Fanel p2 new Panel(); p2.add(ck);
dlg.add(pl); dlg.add(p2); dlg.pack(); dig.setLocation (100,100); dlg.show();

 Activity 13 import java.awt.*; public class textfield extends Frame Panel pi; TextField tf; public textfield() ( setSize(400,200); setlocation (200,100); setTitle("TextField AWT Component"); setVisible(true); pl new Panel(); pl.setLayout (new FlowLayout()); tf new TextField(20); pl.add(tf): add(p1); show(); public static void main(String[] args){ textfield fr new textfield(); 3 

Activity 14 import java.awt.*; public class textarea extends Frame( Panel pl: TextArea ta; public textarea(){ setSize(400,200); setLocation (200,100); setTitle("TextArea setVisible(true); ANT Component");
pl new Panel(); pl.setLayout (new FlowLayout()); ta new TextArea (10,20), pl.add(ta): add(pl); show(); public static void main(String[] args) { textarea fr new textarea(); 1

 Activity 15 import java.awt.*; public class Project extends Frame ( Label 1bl; public Project(){ setSize(400,200); setlocation (200,100); setTitle("Font Color AWT Component"); setVisible(true); Font f new Font ("Verdana", Font.BOLD, 30); //"Verdana" font name, Font. BOLD font style, 30 font size Ibi new Label ("I Love Java Programming"): Ibl.setFont(f); //set the font. 1bl.setForeground (Color.RED); //change font color lbl.setBackground (Color.LIGHT GRAY); //change background color add(lbl); show(); 3 public static void main(String[] args){ Project p new Project(); .

<a>Enclosure link. Page UR https://mdaindvtech.blogspot.com/2024/10/digital-marketing.html https://mdaindvtech.blogspot.com/2024/09/httpsmdaindvtech.blogspot.com202409stock-market-investmentbengali.html. https://mdaindvtech.blogspot.com/2024/11/make-money.html https://mdaindvtech.blogspot.com/2024/11/html-tutorial.html https://mdaindvtech.blogspot.com/2024/12/python-code-programming.html https://mdaindvtech.blogspot.com/2024/10/in-light-of-quran-and-hadith.html https://mdaindvtech.blogspot.com/2024/09/alberuni-life-story.html, https://mdaindvtech.blogspot.com/2024/09/httpsmdaindvtech.blogspot.com202409youtube-channelseo-earn-money.html.html, https://mdaindvtech.blogspot.com/2024/08/httpsmdaindvtech.blogspot.com202408preparation-of-competitive-exams.html.html. https://mdaindvtech.blogspot.com/2024/08/The%20Quran%20is%20the%20words%20of%20Godhttpsmdaindvtech.blogspot.com202408blog-post350.html.html. https://mdaindvtech.blogspot.com/2024/08/blog-post_26.html. https://mdaindvtech.blogspot.com/2024/08/computer-shortcuts-httpsmdaindvtech.html. https://mdaindvtech.blogspot.com/2024/08/blog-post_163.html. https://mdaindvtech.blogspot.com/2024/08/al-fatihaal-quran-mdaindvtechbloggpostc.html. https://mdaindvtech.blogspot.com/2024/08/aristotle-biography-httpsmdaindvtechblo.html. https://mdaindvtech.blogspot.com/2024/08/blog-post_18.html. https://mdaindvtech.blogspot.com/2024/08/blog-post_411.html. https://mdaindvtech.blogspot.com/2024/08/blog-post_17.html. https://mdaindvtech.blogspot.com/2024/08/oldest-secendery-exam-questions-papers.html, https://mdaindvtech.blogspot.com/2024/08/g-k-for-competitive-exams.html, https://mdaindvtech.blogspot.com/2024/08/columbus-1451-1506.html, https://mdaindvtech.blogspot.com/2024/07/indian-history-questions-for.html, https://mdaindvtech.blogspot.com/2024/07/islam-is-solution-of-humanity.html, https://mdaindvtech.blogspot.com/2024/07/unique-tallent-holdhar-nag-aom-amin.html, https://mdaindvtech.blogspot.com/2024/09/network-marketing.html, https://mdaindvtech.blogspot.com/2024/07/blog-post_27.html, https://mdaindvtech.blogspot.com/2024/07/kabita-samogro-md-nurul-alam.html, https://mdaindvtech.blogspot.com/2024/07/about-great-galileo.html, https://mdaindvtech.blogspot.com/2024/07/shortcut-usage-of-ms-word-keyboard.html,





<data:view.title.escaped/> <![CDATA[/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0} /* */ /*!************************************************ * Blogger Template Style * Name: Contempo **************************************************/ body{ overflow-wrap:break-word; word-break:break-word; word-wrap:break-word } .hidden{ display:none } .invisible{ visibility:hidden } .container::after,.float-container::after{ clear:both; content:""; display:table } .clearboth{ clear:both } #comments .comment .comment-actions,.subscribe-popup .FollowByEmail .follow-by-email-submit,.widget.Profile .profile-link,.widget.Profile .profile-link.visit-profile{ background:0 0; border:0; box-shadow:none; color:$(body.link.color); cursor:pointer; font-size:14px; font-weight:700; outline:0; text-decoration:none; text-transform:uppercase; width:auto } .dim-overlay{ background-color:rgba(0,0,0,.54); height:100vh; left:0; position:fixed; top:0; width:100% } #sharing-dim-overlay{ background-color:transparent } input::-ms-clear{ display:none } .blogger-logo,.svg-icon-24.blogger-logo{ fill:#ff9800; opacity:1 } .loading-spinner-large{ -webkit-animation:mspin-rotate 1.568s infinite linear; animation:mspin-rotate 1.568s infinite linear; height:48px; overflow:hidden; position:absolute; width:48px; z-index:200 } .loading-spinner-large>div{ -webkit-animation:mspin-revrot 5332ms infinite steps(4); animation:mspin-revrot 5332ms infinite steps(4) } .loading-spinner-large>div>div{ -webkit-animation:mspin-singlecolor-large-film 1333ms infinite steps(81); animation:mspin-singlecolor-large-film 1333ms infinite steps(81); background-size:100%; height:48px; width:3888px } .mspin-black-large>div>div,.mspin-grey_54-large>div>div{ background-image:url(https://www.blogblog.com/indie/mspin_black_large.svg) } .mspin-white-large>div>div{ background-image:url(https://www.blogblog.com/indie/mspin_white_large.svg) } .mspin-grey_54-large{ opacity:.54 } @-webkit-keyframes mspin-singlecolor-large-film{ from{ -webkit-transform:translateX(0); transform:translateX(0) } to{ -webkit-transform:translateX(-3888px); transform:translateX(-3888px) } } @keyframes mspin-singlecolor-large-film{ from{ -webkit-transform:translateX(0); transform:translateX(0) } to{ -webkit-transform:translateX(-3888px); transform:translateX(-3888px) } } @-webkit-keyframes mspin-rotate{ from{ -webkit-transform:rotate(0); transform:rotate(0) } to{ -webkit-transform:rotate(360deg); transform:rotate(360deg) } } @keyframes mspin-rotate{ from{ -webkit-transform:rotate(0); transform:rotate(0) } to{ -webkit-transform:rotate(360deg); transform:rotate(360deg) } } @-webkit-keyframes mspin-revrot{ from{ -webkit-transform:rotate(0); transform:rotate(0) } to{ -webkit-transform:rotate(-360deg); transform:rotate(-360deg) } } @keyframes mspin-revrot{ from{ -webkit-transform:rotate(0); transform:rotate(0) } to{ -webkit-transform:rotate(-360deg); transform:rotate(-360deg) } } .skip-navigation{ background-color:#fff; box-sizing:border-box; color:#000; display:block; height:0; left:0; line-height:50px; overflow:hidden; padding-top:0; position:fixed; text-align:center; top:0; -webkit-transition:box-shadow .3s,height .3s,padding-top .3s; transition:box-shadow .3s,height .3s,padding-top .3s; width:100%; z-index:900 } .skip-navigation:focus{ box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2); height:50px } #main{ outline:0 } .main-heading{ position:absolute; clip:rect(1px,1px,1px,1px); padding:0; border:0; height:1px; width:1px; overflow:hidden } .Attribution{ margin-top:1em; text-align:center } .Attribution .blogger img,.Attribution .blogger svg{ vertical-align:bottom } .Attribution .blogger img{ margin-$endSide:.5em } .Attribution div{ line-height:24px; margin-top:.5em } .Attribution .copyright,.Attribution .image-attribution{ font-size:.7em; margin-top:1.5em } .BLOG_mobile_video_class{ display:none } .bg-photo{ background-attachment:scroll!important } body .CSS_LIGHTBOX{ z-index:900 } .extendable .show-less,.extendable .show-more{ border-color:$(body.link.color); color:$(body.link.color); margin-top:8px } .extendable .show-less.hidden,.extendable .show-more.hidden{ display:none } .inline-ad{ display:none; max-width:100%; overflow:hidden } .adsbygoogle{ display:block } #cookieChoiceInfo{ bottom:0; top:auto } iframe.b-hbp-video{ border:0 } .post-body img{ max-width:100% } .post-body iframe{ max-width:100% } .post-body a[imageanchor="1"]{ display:inline-block } .byline{ margin-$endSide:1em } .byline:last-child{ margin-$endSide:0 } .link-copied-dialog{ max-width:520px; outline:0 } .link-copied-dialog .modal-dialog-buttons{ margin-top:8px } .link-copied-dialog .goog-buttonset-default{ background:0 0; border:0 } .link-copied-dialog .goog-buttonset-default:focus{ outline:0 } .paging-control-container{ margin-bottom:16px } .paging-control-container .paging-control{ display:inline-block } .paging-control-container .comment-range-text::after,.paging-control-container .paging-control{ color:$(body.link.color) } .paging-control-container .comment-range-text,.paging-control-container .paging-control{ margin-$endSide:8px } .paging-control-container .comment-range-text::after,.paging-control-container .paging-control::after{ content:"\b7"; cursor:default; padding-$startSide:8px; pointer-events:none } .paging-control-container .comment-range-text:last-child::after,.paging-control-container .paging-control:last-child::after{ content:none } .byline.reactions iframe{ height:20px } .b-notification{ color:#000; background-color:#fff; border-bottom:solid 1px #000; box-sizing:border-box; padding:16px 32px; text-align:center } .b-notification.visible{ -webkit-transition:margin-top .3s cubic-bezier(.4,0,.2,1); transition:margin-top .3s cubic-bezier(.4,0,.2,1) } .b-notification.invisible{ position:absolute } .b-notification-close{ position:absolute; right:8px; top:8px } .no-posts-message{ line-height:40px; text-align:center } @media screen and (max-width:800px){ body.item-view .post-body a[imageanchor="1"][style*="float: left;"],body.item-view .post-body a[imageanchor="1"][style*="float: right;"]{ float:none!important; clear:none!important } body.item-view .post-body a[imageanchor="1"] img{ display:block; height:auto; margin:0 auto } body.item-view .post-body>.separator:first-child>a[imageanchor="1"]:first-child{ margin-top:20px } .post-body a[imageanchor]{ display:block } body.item-view .post-body a[imageanchor="1"]{ margin-left:0!important; margin-right:0!important } body.item-view .post-body a[imageanchor="1"]+a[imageanchor="1"]{ margin-top:16px } } .item-control{ display:none } #comments{ border-top:1px dashed rgba(0,0,0,.54); margin-top:20px; padding:20px } #comments .comment-thread ol{ margin:0; padding-left:0; padding-$startSide:0 } #comments .comment .comment-replybox-single,#comments .comment-thread .comment-replies{ margin-left:60px } #comments .comment-thread .thread-count{ display:none } #comments .comment{ list-style-type:none; padding:0 0 30px; position:relative } #comments .comment .comment{ padding-bottom:8px } .comment .avatar-image-container{ position:absolute } .comment .avatar-image-container img{ border-radius:50% } .avatar-image-container svg,.comment .avatar-image-container .avatar-icon{ border-radius:50%; border:solid 1px $(posts.icons.color); box-sizing:border-box; fill:$(posts.icons.color); height:35px; margin:0; padding:7px; width:35px } .comment .comment-block{ margin-top:10px; margin-$startSide:60px; padding-bottom:0 } #comments .comment-author-header-wrapper{ margin-left:40px } #comments .comment .thread-expanded .comment-block{ padding-bottom:20px } #comments .comment .comment-header .user,#comments .comment .comment-header .user a{ color:$(posts.title.color); font-style:normal; font-weight:700 } #comments .comment .comment-actions{ bottom:0; margin-bottom:15px; position:absolute } #comments .comment .comment-actions>*{ margin-right:8px } #comments .comment .comment-header .datetime{ bottom:0; color:rgba($(posts.title.color.red),$(posts.title.color.green),$(posts.title.color.blue),.54); display:inline-block; font-size:13px; font-style:italic; margin-$startSide:8px } #comments .comment .comment-footer .comment-timestamp a,#comments .comment .comment-header .datetime a{ color:rgba($(posts.title.color.red),$(posts.title.color.green),$(posts.title.color.blue),.54) } #comments .comment .comment-content,.comment .comment-body{ margin-top:12px; word-break:break-word } .comment-body{ margin-bottom:12px } #comments.embed[data-num-comments="0"]{ border:0; margin-top:0; padding-top:0 } #comments.embed[data-num-comments="0"] #comment-post-message,#comments.embed[data-num-comments="0"] div.comment-form>p,#comments.embed[data-num-comments="0"] p.comment-footer{ display:none } #comment-editor-src{ display:none } .comments .comments-content .loadmore.loaded{ max-height:0; opacity:0; overflow:hidden } .extendable .remaining-items{ height:0; overflow:hidden; -webkit-transition:height .3s cubic-bezier(.4,0,.2,1); transition:height .3s cubic-bezier(.4,0,.2,1) } .extendable .remaining-items.expanded{ height:auto } .svg-icon-24,.svg-icon-24-button{ cursor:pointer; height:24px; width:24px; min-width:24px } .touch-icon{ margin:-12px; padding:12px } .touch-icon:active,.touch-icon:focus{ background-color:rgba(153,153,153,.4); border-radius:50% } svg:not(:root).touch-icon{ overflow:visible } html[dir=rtl] .rtl-reversible-icon{ -webkit-transform:scaleX(-1); -ms-transform:scaleX(-1); transform:scaleX(-1) } .svg-icon-24-button,.touch-icon-button{ background:0 0; border:0; margin:0; outline:0; padding:0 } .touch-icon-button .touch-icon:active,.touch-icon-button .touch-icon:focus{ background-color:transparent } .touch-icon-button:active .touch-icon,.touch-icon-button:focus .touch-icon{ background-color:rgba(153,153,153,.4); border-radius:50% } .Profile .default-avatar-wrapper .avatar-icon{ border-radius:50%; border:solid 1px $(posts.icons.color); box-sizing:border-box; fill:$(posts.icons.color); margin:0 } .Profile .individual .default-avatar-wrapper .avatar-icon{ padding:25px } .Profile .individual .avatar-icon,.Profile .individual .profile-img{ height:120px; width:120px } .Profile .team .default-avatar-wrapper .avatar-icon{ padding:8px } .Profile .team .avatar-icon,.Profile .team .default-avatar-wrapper,.Profile .team .profile-img{ height:40px; width:40px } .snippet-container{ margin:0; position:relative; overflow:hidden } .snippet-fade{ bottom:0; box-sizing:border-box; position:absolute; width:96px } .snippet-fade{ $endSide:0 } .snippet-fade:after{ content:"\2026" } .snippet-fade:after{ float:$endSide } .post-bottom{ -webkit-box-align:center; -webkit-align-items:center; -ms-flex-align:center; align-items:center; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap } .post-footer{ -webkit-box-flex:1; -webkit-flex:1 1 auto; -ms-flex:1 1 auto; flex:1 1 auto; -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap; -webkit-box-ordinal-group:2; -webkit-order:1; -ms-flex-order:1; order:1 } .post-footer>*{ -webkit-box-flex:0; -webkit-flex:0 1 auto; -ms-flex:0 1 auto; flex:0 1 auto } .post-footer .byline:last-child{ margin-$endSide:1em } .jump-link{ -webkit-box-flex:0; -webkit-flex:0 0 auto; -ms-flex:0 0 auto; flex:0 0 auto; -webkit-box-ordinal-group:3; -webkit-order:2; -ms-flex-order:2; order:2 } .centered-top-container.sticky{ left:0; position:fixed; right:0; top:0; width:auto; z-index:50; -webkit-transition-property:opacity,-webkit-transform; transition-property:opacity,-webkit-transform; transition-property:transform,opacity; transition-property:transform,opacity,-webkit-transform; -webkit-transition-duration:.2s; transition-duration:.2s; -webkit-transition-timing-function:cubic-bezier(.4,0,.2,1); transition-timing-function:cubic-bezier(.4,0,.2,1) } .centered-top-placeholder{ display:none } .collapsed-header .centered-top-placeholder{ display:block } .centered-top-container .Header .replaced h1,.centered-top-placeholder .Header .replaced h1{ display:none } .centered-top-container.sticky .Header .replaced h1{ display:block } .centered-top-container.sticky .Header .header-widget{ background:0 0 } .centered-top-container.sticky .Header .header-image-wrapper{ display:none } .centered-top-container img,.centered-top-placeholder img{ max-width:100% } .collapsible{ -webkit-transition:height .3s cubic-bezier(.4,0,.2,1); transition:height .3s cubic-bezier(.4,0,.2,1) } .collapsible,.collapsible>summary{ display:block; overflow:hidden } .collapsible>:not(summary){ display:none } .collapsible[open]>:not(summary){ display:block } .collapsible:focus,.collapsible>summary:focus{ outline:0 } .collapsible>summary{ cursor:pointer; display:block; padding:0 } .collapsible:focus>summary,.collapsible>summary:focus{ background-color:transparent } .collapsible>summary::-webkit-details-marker{ display:none } .collapsible-title{ -webkit-box-align:center; -webkit-align-items:center; -ms-flex-align:center; align-items:center; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex } .collapsible-title .title{ -webkit-box-flex:1; -webkit-flex:1 1 auto; -ms-flex:1 1 auto; flex:1 1 auto; -webkit-box-ordinal-group:1; -webkit-order:0; -ms-flex-order:0; order:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap } .collapsible-title .chevron-down,.collapsible[open] .collapsible-title .chevron-up{ display:block } .collapsible-title .chevron-up,.collapsible[open] .collapsible-title .chevron-down{ display:none } .flat-button{ cursor:pointer; display:inline-block; font-weight:700; text-transform:uppercase; border-radius:2px; padding:8px; margin:-8px } .flat-icon-button{ background:0 0; border:0; margin:0; outline:0; padding:0; margin:-12px; padding:12px; cursor:pointer; box-sizing:content-box; display:inline-block; line-height:0 } .flat-icon-button,.flat-icon-button .splash-wrapper{ border-radius:50% } .flat-icon-button .splash.animate{ -webkit-animation-duration:.3s; animation-duration:.3s } .overflowable-container{ max-height:$(body.text.font.size * 1.2 + 2 * 8px + 2 * 4px + 4px); overflow:hidden; position:relative } .overflow-button{ cursor:pointer } #overflowable-dim-overlay{ background:0 0 } .overflow-popup{ box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12); background-color:$(tabs.overflow.background.color); left:0; max-width:calc(100% - 32px); position:absolute; top:0; visibility:hidden; z-index:101 } .overflow-popup ul{ list-style:none } .overflow-popup .tabs li,.overflow-popup li{ display:block; height:auto } .overflow-popup .tabs li{ padding-left:0; padding-right:0 } .overflow-button.hidden,.overflow-popup .tabs li.hidden,.overflow-popup li.hidden{ display:none } .pill-button{ background:0 0; border:1px solid; border-radius:12px; cursor:pointer; display:inline-block; padding:4px 16px; text-transform:uppercase } .ripple{ position:relative } .ripple>*{ z-index:1 } .splash-wrapper{ bottom:0; left:0; overflow:hidden; pointer-events:none; position:absolute; right:0; top:0; z-index:0 } .splash{ background:#ccc; border-radius:100%; display:block; opacity:.6; position:absolute; -webkit-transform:scale(0); -ms-transform:scale(0); transform:scale(0) } .splash.animate{ -webkit-animation:ripple-effect .4s linear; animation:ripple-effect .4s linear } @-webkit-keyframes ripple-effect{ 100%{ opacity:0; -webkit-transform:scale(2.5); transform:scale(2.5) } } @keyframes ripple-effect{ 100%{ opacity:0; -webkit-transform:scale(2.5); transform:scale(2.5) } } .search{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; line-height:24px; width:24px } .search.focused{ width:100% } .search.focused .section{ width:100% } .search form{ z-index:101 } .search h3{ display:none } .search form{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-box-flex:1; -webkit-flex:1 0 0; -ms-flex:1 0 0px; flex:1 0 0; border-bottom:solid 1px transparent; padding-bottom:8px } .search form>*{ display:none } .search.focused form>*{ display:block } .search .search-input label{ display:none } .centered-top-placeholder.cloned .search form{ z-index:30 } .search.focused form{ border-color:$(blog.title.color); position:relative; width:auto } .collapsed-header .centered-top-container .search.focused form{ border-bottom-color:transparent } .search-expand{ -webkit-box-flex:0; -webkit-flex:0 0 auto; -ms-flex:0 0 auto; flex:0 0 auto } .search-expand-text{ display:none } .search-close{ display:inline; vertical-align:middle } .search-input{ -webkit-box-flex:1; -webkit-flex:1 0 1px; -ms-flex:1 0 1px; flex:1 0 1px } .search-input input{ background:0 0; border:0; box-sizing:border-box; color:$(blog.title.color); display:inline-block; outline:0; width:calc(100% - 48px) } .search-input input.no-cursor{ color:transparent; text-shadow:0 0 0 $(blog.title.color) } .collapsed-header .centered-top-container .search-action,.collapsed-header .centered-top-container .search-input input{ color:$(posts.title.color) } .collapsed-header .centered-top-container .search-input input.no-cursor{ color:transparent; text-shadow:0 0 0 $(posts.title.color) } .collapsed-header .centered-top-container .search-input input.no-cursor:focus,.search-input input.no-cursor:focus{ outline:0 } .search-focused>*{ visibility:hidden } .search-focused .search,.search-focused .search-icon{ visibility:visible } .search.focused .search-action{ display:block } .search.focused .search-action:disabled{ opacity:.3 } .widget.Sharing .sharing-button{ display:none } .widget.Sharing .sharing-buttons li{ padding:0 } .widget.Sharing .sharing-buttons li span{ display:none } .post-share-buttons{ position:relative } .centered-bottom .share-buttons .svg-icon-24,.share-buttons .svg-icon-24{ fill:$(sharing.icons.color) } .sharing-open.touch-icon-button:active .touch-icon,.sharing-open.touch-icon-button:focus .touch-icon{ background-color:transparent } .share-buttons{ background-color:$(sharing.background.color); border-radius:2px; box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12); color:$(sharing.text.color); list-style:none; margin:0; padding:8px 0; position:absolute; top:-11px; min-width:200px; z-index:101 } .share-buttons.hidden{ display:none } .sharing-button{ background:0 0; border:0; margin:0; outline:0; padding:0; cursor:pointer } .share-buttons li{ margin:0; height:48px } .share-buttons li:last-child{ margin-bottom:0 } .share-buttons li .sharing-platform-button{ box-sizing:border-box; cursor:pointer; display:block; height:100%; margin-bottom:0; padding:0 16px; position:relative; width:100% } .share-buttons li .sharing-platform-button:focus,.share-buttons li .sharing-platform-button:hover{ background-color:rgba(128,128,128,.1); outline:0 } .share-buttons li svg[class*=" sharing-"],.share-buttons li svg[class^=sharing-]{ position:absolute; top:10px } .share-buttons li span.sharing-platform-button{ position:relative; top:0 } .share-buttons li .platform-sharing-text{ display:block; font-size:16px; line-height:48px; white-space:nowrap } .share-buttons li .platform-sharing-text{ margin-$startSide:56px } .sidebar-container{ background-color:$(sidebar.backgroundColorBottom); max-width:$(sidebar.width); overflow-y:auto; -webkit-transition-property:-webkit-transform; transition-property:-webkit-transform; transition-property:transform; transition-property:transform,-webkit-transform; -webkit-transition-duration:.3s; transition-duration:.3s; -webkit-transition-timing-function:cubic-bezier(0,0,.2,1); transition-timing-function:cubic-bezier(0,0,.2,1); width:$(sidebar.width); z-index:101; -webkit-overflow-scrolling:touch } .sidebar-container .navigation{ line-height:0; padding:16px } .sidebar-container .sidebar-back{ cursor:pointer } .sidebar-container .widget{ background:0 0; margin:0 16px; padding:16px 0 } .sidebar-container .widget .title{ color:$(widget.title.color); margin:0 } .sidebar-container .widget ul{ list-style:none; margin:0; padding:0 } .sidebar-container .widget ul ul{ margin-$startSide:1em } .sidebar-container .widget li{ font-size:16px; line-height:normal } .sidebar-container .widget+.widget{ border-top:1px dashed $(sidebar.separator.color) } .BlogArchive li{ margin:16px 0 } .BlogArchive li:last-child{ margin-bottom:0 } .Label li a{ display:inline-block } .BlogArchive .post-count,.Label .label-count{ float:$endSide; margin-$startSide:.25em } .BlogArchive .post-count::before,.Label .label-count::before{ content:"(" } .BlogArchive .post-count::after,.Label .label-count::after{ content:")" } .widget.Translate .skiptranslate>div{ display:block!important } .widget.Profile .profile-link{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex } .widget.Profile .team-member .default-avatar-wrapper,.widget.Profile .team-member .profile-img{ -webkit-box-flex:0; -webkit-flex:0 0 auto; -ms-flex:0 0 auto; flex:0 0 auto; margin-$endSide:1em } .widget.Profile .individual .profile-link{ -webkit-box-orient:vertical; -webkit-box-direction:normal; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column } .widget.Profile .team .profile-link .profile-name{ -webkit-align-self:center; -ms-flex-item-align:center; align-self:center; display:block; -webkit-box-flex:1; -webkit-flex:1 1 auto; -ms-flex:1 1 auto; flex:1 1 auto } .dim-overlay{ background-color:rgba(0,0,0,.54); z-index:100 } body.sidebar-visible{ overflow-y:hidden } @media screen and (max-width:$(sidebar.width + content.width + content.margin * 2 - 1px)){ .sidebar-container{ bottom:0; position:fixed; top:0; left:0; right:auto } .sidebar-container.sidebar-invisible{ -webkit-transition-timing-function:cubic-bezier(.4,0,.6,1); transition-timing-function:cubic-bezier(.4,0,.6,1); -webkit-transform:translateX($(sidebar.width * -1)); -ms-transform:translateX($(sidebar.width * -1)); transform:translateX($(sidebar.width * -1)) } } @media screen and (min-width:$(sidebar.width + content.width + content.margin * 2)){ .sidebar-container{ position:absolute; top:0; left:0; right:auto } .sidebar-container .navigation{ display:none } } .dialog{ box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12); background:$(posts.background.color); box-sizing:border-box; color:$(body.text.color); padding:30px; position:fixed; text-align:center; width:calc(100% - 24px); z-index:101 } .dialog input[type=email],.dialog input[type=text]{ background-color:transparent; border:0; border-bottom:solid 1px rgba($(body.text.color.red),$(body.text.color.green),$(body.text.color.blue),.12); color:$(body.text.color); display:block; font-family:$(body.text.font.family); font-size:16px; line-height:24px; margin:auto; padding-bottom:7px; outline:0; text-align:center; width:100% } .dialog input[type=email]::-webkit-input-placeholder,.dialog input[type=text]::-webkit-input-placeholder{ color:$(body.text.color) } .dialog input[type=email]::-moz-placeholder,.dialog input[type=text]::-moz-placeholder{ color:$(body.text.color) } .dialog input[type=email]:-ms-input-placeholder,.dialog input[type=text]:-ms-input-placeholder{ color:$(body.text.color) } .dialog input[type=email]::-ms-input-placeholder,.dialog input[type=text]::-ms-input-placeholder{ color:$(body.text.color) } .dialog input[type=email]::placeholder,.dialog input[type=text]::placeholder{ color:$(body.text.color) } .dialog input[type=email]:focus,.dialog input[type=text]:focus{ border-bottom:solid 2px $(body.link.color); padding-bottom:6px } .dialog input.no-cursor{ color:transparent; text-shadow:0 0 0 $(body.text.color) } .dialog input.no-cursor:focus{ outline:0 } .dialog input.no-cursor:focus{ outline:0 } .dialog input[type=submit]{ font-family:$(body.text.font.family) } .dialog .goog-buttonset-default{ color:$(body.link.color) } .subscribe-popup{ max-width:364px } .subscribe-popup h3{ color:$(posts.title.color); font-size:1.8em; margin-top:0 } .subscribe-popup .FollowByEmail h3{ display:none } .subscribe-popup .FollowByEmail .follow-by-email-submit{ color:$(body.link.color); display:inline-block; margin:0 auto; margin-top:24px; width:auto; white-space:normal } .subscribe-popup .FollowByEmail .follow-by-email-submit:disabled{ cursor:default; opacity:.3 } @media (max-width:800px){ .blog-name div.widget.Subscribe{ margin-bottom:16px } body.item-view .blog-name div.widget.Subscribe{ margin:8px auto 16px auto; width:100% } } .tabs{ list-style:none } .tabs li{ display:inline-block } .tabs li a{ cursor:pointer; display:inline-block; font-weight:700; text-transform:uppercase; padding:12px 8px } .tabs .selected{ border-bottom:4px solid $(tabs.selected.color) } .tabs .selected a{ color:$(tabs.selected.color) } body#layout .bg-photo,body#layout .bg-photo-overlay{ display:none } body#layout .page_body{ padding:0; position:relative; top:0 } body#layout .page{ display:inline-block; left:inherit; position:relative; vertical-align:top; width:540px } body#layout .centered{ max-width:954px } body#layout .navigation{ display:none } body#layout .sidebar-container{ display:inline-block; width:40% } body#layout .hamburger-menu,body#layout .search{ display:none } .centered-top-container .svg-icon-24,body.collapsed-header .centered-top-placeholder .svg-icon-24{ fill:$(header.icons.color) } .sidebar-container .svg-icon-24{ fill:$(sidebar.icons.color) } .centered-bottom .svg-icon-24,body.collapsed-header .centered-top-container .svg-icon-24{ fill:$(posts.icons.color) } .centered-bottom .share-buttons .svg-icon-24,.share-buttons .svg-icon-24{ fill:$(sharing.icons.color) } body{ background-color:$(body.background.color); color:$(body.text.color); font:$(body.text.font); margin:0; min-height:100vh } img{ max-width:100% } h3{ color:$(body.text.color); font-size:16px } a{ text-decoration:none; color:$(body.link.color) } a:visited{ color:$(body.link.visited.color) } a:hover{ color:$(body.link.hover.color) } blockquote{ color:$(blockquote.color); font:$(blockquote.font); font-size:x-large; text-align:center } .pill-button{ font-size:12px } .bg-photo-container{ height:$(body.background.height); overflow:hidden; position:absolute; width:100%; z-index:1 } .bg-photo{ background:$(body.background); background-attachment:scroll; background-size:cover; -webkit-filter:blur($(body.background.blur)); filter:blur($(body.background.blur)); height:calc(100% + 2 * $(body.background.blur)); left:$(0 - body.background.blur); position:absolute; top:$(0 - body.background.blur); width:calc(100% + 2 * $(body.background.blur)) } .bg-photo-overlay{ background:rgba(0,0,0,.26); background-size:cover; height:$(body.background.height); position:absolute; width:100%; z-index:2 } .hamburger-menu{ float:left; margin-top:0 } .sticky .hamburger-menu{ float:none; position:absolute } .search{ border-bottom:solid 1px $(blog.title.color.transparent); float:right; position:relative; -webkit-transition-property:width; transition-property:width; -webkit-transition-duration:.5s; transition-duration:.5s; -webkit-transition-timing-function:cubic-bezier(.4,0,.2,1); transition-timing-function:cubic-bezier(.4,0,.2,1); z-index:101 } .search .dim-overlay{ background-color:transparent } .search form{ height:36px; -webkit-transition-property:border-color; transition-property:border-color; -webkit-transition-delay:.5s; transition-delay:.5s; -webkit-transition-duration:.2s; transition-duration:.2s; -webkit-transition-timing-function:cubic-bezier(.4,0,.2,1); transition-timing-function:cubic-bezier(.4,0,.2,1) } .search.focused{ width:calc(100% - 48px) } .search.focused form{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-box-flex:1; -webkit-flex:1 0 1px; -ms-flex:1 0 1px; flex:1 0 1px; border-color:$(blog.title.color); margin-$startSide:-24px; padding-$startSide:36px; position:relative; width:auto } .item-view .search,.sticky .search{ $endSide:0; float:none; margin-left:0; position:absolute } .item-view .search.focused,.sticky .search.focused{ width:calc(100% - 50px) } .item-view .search.focused form,.sticky .search.focused form{ border-bottom-color:$(posts.text.color) } .centered-top-placeholder.cloned .search form{ z-index:30 } .search_button{ -webkit-box-flex:0; -webkit-flex:0 0 24px; -ms-flex:0 0 24px; flex:0 0 24px; -webkit-box-orient:vertical; -webkit-box-direction:normal; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column } .search_button svg{ margin-top:0 } .search-input{ height:48px } .search-input input{ display:block; color:$(search.input.color); font:$(search.input.font); height:48px; line-height:48px; padding:0; width:100% } .search-input input::-webkit-input-placeholder{ color:$(search.placeholder.color); opacity:.3 } .search-input input::-moz-placeholder{ color:$(search.placeholder.color); opacity:.3 } .search-input input:-ms-input-placeholder{ color:$(search.placeholder.color); opacity:.3 } .search-input input::-ms-input-placeholder{ color:$(search.placeholder.color); opacity:.3 } .search-input input::placeholder{ color:$(search.placeholder.color); opacity:.3 } .search-action{ background:0 0; border:0; color:$(blog.title.color); cursor:pointer; display:none; height:48px; margin-top:0 } .sticky .search-action{ color:$(posts.text.color) } .search.focused .search-action{ display:block } .search.focused .search-action:disabled{ opacity:.3 } .page_body{ position:relative; z-index:20 } .page_body .widget{ margin-bottom:16px } .page_body .centered{ box-sizing:border-box; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-box-orient:vertical; -webkit-box-direction:normal; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column; margin:0 auto; max-width:$(content.width); min-height:100vh; padding:24px 0 } .page_body .centered>*{ -webkit-box-flex:0; -webkit-flex:0 0 auto; -ms-flex:0 0 auto; flex:0 0 auto } .page_body .centered>#footer{ margin-top:auto } .blog-name{ margin:24px 0 16px 0 } .item-view .blog-name,.sticky .blog-name{ box-sizing:border-box; margin-left:36px; min-height:48px; opacity:1; padding-top:12px } .blog-name .subscribe-section-container{ margin-bottom:32px; text-align:center; -webkit-transition-property:opacity; transition-property:opacity; -webkit-transition-duration:.5s; transition-duration:.5s } .item-view .blog-name .subscribe-section-container,.sticky .blog-name .subscribe-section-container{ margin:0 0 8px 0 } .blog-name .PageList{ margin-top:16px; padding-top:8px; text-align:center } .blog-name .PageList .overflowable-contents{ width:100% } .blog-name .PageList h3.title{ color:$(blog.title.color); margin:8px auto; text-align:center; width:100% } .centered-top-container .blog-name{ -webkit-transition-property:opacity; transition-property:opacity; -webkit-transition-duration:.5s; transition-duration:.5s } .item-view .return_link{ margin-bottom:12px; margin-top:12px; position:absolute } .item-view .blog-name{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap; margin:0 48px 27px 48px } .item-view .subscribe-section-container{ -webkit-box-flex:0; -webkit-flex:0 0 auto; -ms-flex:0 0 auto; flex:0 0 auto } .item-view #header,.item-view .Header{ margin-bottom:5px; margin-right:15px } .item-view .sticky .Header{ margin-bottom:0 } .item-view .Header p{ margin:10px 0 0 0; text-align:left } .item-view .post-share-buttons-bottom{ margin-$endSide:16px } .sticky{ background:$(posts.background.color); box-shadow:0 0 20px 0 rgba(0,0,0,.7); box-sizing:border-box; margin-left:0 } .sticky #header{ margin-bottom:8px; margin-$endSide:8px } .sticky .centered-top{ margin:4px auto; max-width:$(content.width - 32px); min-height:48px } .sticky .blog-name{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; margin:0 48px } .sticky .blog-name #header{ -webkit-box-flex:0; -webkit-flex:0 1 auto; -ms-flex:0 1 auto; flex:0 1 auto; -webkit-box-ordinal-group:2; -webkit-order:1; -ms-flex-order:1; order:1; overflow:hidden } .sticky .blog-name .subscribe-section-container{ -webkit-box-flex:0; -webkit-flex:0 0 auto; -ms-flex:0 0 auto; flex:0 0 auto; -webkit-box-ordinal-group:3; -webkit-order:2; -ms-flex-order:2; order:2 } .sticky .Header h1{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-$endSide:-10px; margin-bottom:-10px; padding-$endSide:10px; padding-bottom:10px } .sticky .Header p{ display:none } .sticky .PageList{ display:none } .search-focused>*{ visibility:visible } .search-focused .hamburger-menu{ visibility:visible } .item-view .search-focused .blog-name,.sticky .search-focused .blog-name{ opacity:0 } .centered-bottom,.centered-top-container,.centered-top-placeholder{ padding:0 16px } .centered-top{ position:relative } .item-view .centered-top.search-focused .subscribe-section-container,.sticky .centered-top.search-focused .subscribe-section-container{ opacity:0 } .page_body.has-vertical-ads .centered .centered-bottom{ display:inline-block; width:calc(100% - 176px) } .Header h1{ color:$(blog.title.color); font:$(blog.title.font); line-height:normal; margin:0 0 13px 0; text-align:center; width:100% } .Header h1 a,.Header h1 a:hover,.Header h1 a:visited{ color:$(blog.title.color) } .item-view .Header h1,.sticky .Header h1{ font-size:24px; line-height:24px; margin:0; text-align:left } .sticky .Header h1{ color:$(posts.text.color) } .sticky .Header h1 a,.sticky .Header h1 a:hover,.sticky .Header h1 a:visited{ color:$(posts.text.color) } .Header p{ color:$(blog.title.color); margin:0 0 13px 0; opacity:.8; text-align:center } .widget .title{ line-height:28px } .BlogArchive li{ font-size:16px } .BlogArchive .post-count{ color:$(posts.text.color) } #page_body .FeaturedPost,.Blog .blog-posts .post-outer-container{ background:$(posts.background.color); min-height:40px; padding:30px 40px; width:auto } .Blog .blog-posts .post-outer-container:last-child{ margin-bottom:0 } .Blog .blog-posts .post-outer-container .post-outer{ border:0; position:relative; padding-bottom:.25em } .post-outer-container{ margin-bottom:16px } .post:first-child{ margin-top:0 } .post .thumb{ float:left; height:20%; width:20% } .post-share-buttons-bottom,.post-share-buttons-top{ float:$(endSide) } .post-share-buttons-bottom{ margin-$endSide:24px } .post-footer,.post-header{ clear:$(startSide); color:$(posts.byline.color); margin:0; width:inherit } .blog-pager{ text-align:center } .blog-pager a{ color:$(posts.navigation.link.color) } .blog-pager a:visited{ color:$(posts.navigation.link.visited.color) } .blog-pager a:hover{ color:$(posts.navigation.link.hover.color) } .post-title{ font:$(posts.title.font); float:$(startSide); margin:0 0 8px 0; max-width:calc(100% - 48px) } .post-title a{ font:$(posts.stream.title.font) } .post-title,.post-title a,.post-title a:hover,.post-title a:visited{ color:$(posts.title.color) } .post-body{ color:$(posts.text.color); font:$(posts.text.font); line-height:1.6em; margin:1.5em 0 2em 0; display:block } .post-body img{ height:inherit } .post-body .snippet-thumbnail{ float:$(startSide); margin:0; margin-$endSide:2em; max-height:128px; max-width:128px } .post-body .snippet-thumbnail img{ max-width:100% } .main .FeaturedPost .widget-content{ border:0; position:relative; padding-bottom:.25em } .FeaturedPost img{ margin-top:2em } .FeaturedPost .snippet-container{ margin:2em 0 } .FeaturedPost .snippet-container p{ margin:0 } .FeaturedPost .snippet-thumbnail{ float:none; height:auto; margin-bottom:2em; margin-$endSide:0; overflow:hidden; max-height:calc(600px + 2em); max-width:100%; text-align:center; width:100% } .FeaturedPost .snippet-thumbnail img{ max-width:100%; width:100% } .byline{ color:$(posts.byline.color); display:inline-block; line-height:24px; margin-top:8px; vertical-align:top } .byline.post-author:first-child{ margin-$endSide:0 } .byline.reactions .reactions-label{ line-height:22px; vertical-align:top } .byline.post-share-buttons{ position:relative; display:inline-block; margin-top:0; width:100% } .byline.post-share-buttons .sharing{ float:$(endSide) } .flat-button.ripple:hover{ background-color:rgba($(body.link.color.red),$(body.link.color.green),$(body.link.color.blue),.12) } .flat-button.ripple .splash{ background-color:rgba($(body.link.color.red),$(body.link.color.green),$(body.link.color.blue),.4) } a.timestamp-link,a:active.timestamp-link,a:visited.timestamp-link{ color:inherit; font:inherit; text-decoration:inherit } .post-share-buttons{ margin-left:0 } .clear-sharing{ min-height:24px } .comment-link{ color:$(body.link.color); position:relative } .comment-link .num_comments{ margin-left:8px; vertical-align:top } #comment-holder .continue{ display:none } #comment-editor{ margin-bottom:20px; margin-top:20px } #comments .comment-form h4,#comments h3.title{ position:absolute; clip:rect(1px,1px,1px,1px); padding:0; border:0; height:1px; width:1px; overflow:hidden } .post-filter-message{ background-color:rgba(0,0,0,.7); color:#fff; display:table; margin-bottom:16px; width:100% } .post-filter-message div{ display:table-cell; padding:15px 28px } .post-filter-message div:last-child{ padding-$startSide:0; text-align:$(endSide) } .post-filter-message a{ white-space:nowrap } .post-filter-message .search-label,.post-filter-message .search-query{ font-weight:700; color:$(body.link.color) } #blog-pager{ margin:2em 0 } #blog-pager a{ color:$(attribution.link.color); font-size:14px } .subscribe-button{ border-color:$(blog.title.color); color:$(blog.title.color) } .sticky .subscribe-button{ border-color:$(posts.text.color); color:$(posts.text.color) } .tabs{ margin:0 auto; padding:0 } .tabs li{ margin:0 8px; vertical-align:top } .tabs .overflow-button a,.tabs li a{ color:$(tabs.color); font:$(tabs.font); line-height:$(body.text.font.size * 1.2) } .tabs .overflow-button a{ padding:12px 8px } .overflow-popup .tabs li{ text-align:left } .overflow-popup li a{ color:$(tabs.overflow.color); display:block; padding:8px 20px } .overflow-popup li.selected a{ color:$(tabs.overflow.selected.color) } a.report_abuse{ font-weight:400 } .Label li,.Label span.label-size,.byline.post-labels a{ background-color:$(labels.background.color); border:1px solid $(labels.background.color); border-radius:15px; display:inline-block; margin:4px 4px 4px 0; padding:3px 8px } .Label a,.byline.post-labels a{ color:$(labels.text.color) } .Label ul{ list-style:none; padding:0 } .PopularPosts{ background-color:$(popularposts.background.color); padding:30px 40px } .PopularPosts .item-content{ color:$(popularposts.text.color); margin-top:24px } .PopularPosts a,.PopularPosts a:hover,.PopularPosts a:visited{ color:$(popularposts.link.color) } .PopularPosts .post-title,.PopularPosts .post-title a,.PopularPosts .post-title a:hover,.PopularPosts .post-title a:visited{ color:$(popularposts.title.color); font-size:18px; font-weight:700; line-height:24px } .PopularPosts,.PopularPosts h3.title a{ color:$(posts.text.color); font:$(posts.text.font) } .main .PopularPosts{ padding:16px 40px } .PopularPosts h3.title{ font-size:14px; margin:0 } .PopularPosts h3.post-title{ margin-bottom:0 } .PopularPosts .byline{ color:$(popularposts.byline.color) } .PopularPosts .jump-link{ float:$(endSide); margin-top:16px } .PopularPosts .post-header .byline{ font-size:.9em; font-style:italic; margin-top:6px } .PopularPosts ul{ list-style:none; padding:0; margin:0 } .PopularPosts .post{ padding:20px 0 } .PopularPosts .post+.post{ border-top:1px dashed $(sidebar.separator.color) } .PopularPosts .item-thumbnail{ float:$(startSide); margin-$endSide:32px } .PopularPosts .item-thumbnail img{ height:88px; padding:0; width:88px } .inline-ad{ margin-bottom:16px } .desktop-ad .inline-ad{ display:block } .adsbygoogle{ overflow:hidden } .vertical-ad-container{ float:$(endSide); margin-$endSide:16px; width:128px } .vertical-ad-container .AdSense+.AdSense{ margin-top:16px } .inline-ad-placeholder,.vertical-ad-placeholder{ background:$(posts.background.color); border:1px solid #000; opacity:.9; vertical-align:middle; text-align:center } .inline-ad-placeholder span,.vertical-ad-placeholder span{ margin-top:290px; display:block; text-transform:uppercase; font-weight:700; color:$(posts.title.color) } .vertical-ad-placeholder{ height:600px } .vertical-ad-placeholder span{ margin-top:290px; padding:0 40px } .inline-ad-placeholder{ height:90px } .inline-ad-placeholder span{ margin-top:36px } .Attribution{ color:$(attribution.text.color) } .Attribution a,.Attribution a:hover,.Attribution a:visited{ color:$(attribution.link.color) } .Attribution svg{ fill:$(attribution.icon.color) } .sidebar-container{ box-shadow:1px 1px 3px rgba(0,0,0,.1) } .sidebar-container,.sidebar-container .sidebar_bottom{ background-color:$(sidebar.backgroundColorBottom) } .sidebar-container .navigation,.sidebar-container .sidebar_top_wrapper{ background-color:$(sidebar.backgroundColorTop) } .sidebar-container .sidebar_top{ overflow:auto } .sidebar-container .sidebar_bottom{ width:100%; padding-top:16px } .sidebar-container .widget:first-child{ padding-top:0 } .sidebar_top .widget.Profile{ padding-bottom:16px } .widget.Profile{ margin:0; width:100% } .widget.Profile h2{ display:none } .widget.Profile h3.title{ color:$(profile.title.color); margin:16px 32px } .widget.Profile .individual{ text-align:center } .widget.Profile .individual .profile-link{ padding:1em } .widget.Profile .individual .default-avatar-wrapper .avatar-icon{ margin:auto } .widget.Profile .team{ margin-bottom:32px; margin-left:32px; margin-right:32px } .widget.Profile ul{ list-style:none; padding:0 } .widget.Profile li{ margin:10px 0 } .widget.Profile .profile-img{ border-radius:50%; float:none } .widget.Profile .profile-link{ color:$(profile.link.color); font-size:.9em; margin-bottom:1em; opacity:.87; overflow:hidden } .widget.Profile .profile-link.visit-profile{ border-style:solid; border-width:1px; border-radius:12px; cursor:pointer; font-size:12px; font-weight:400; padding:5px 20px; display:inline-block; line-height:normal } .widget.Profile dd{ color:$(profile.text.color); margin:0 16px } .widget.Profile location{ margin-bottom:1em } .widget.Profile .profile-textblock{ font-size:14px; line-height:24px; position:relative } body.sidebar-visible .page_body{ overflow-y:scroll } body.sidebar-visible .bg-photo-container{ overflow-y:scroll } @media screen and (min-width:$(sidebar.width + content.width + content.margin * 2)){ .sidebar-container{ margin-top:$(body.background.height); min-height:calc(100% - $(body.background.height)); overflow:visible; z-index:32 } .sidebar-container .sidebar_top_wrapper{ background-color:$(sidebar.backgroundColorTopHD); height:$(body.background.height); margin-top:$(body.background.height * -1) } .sidebar-container .sidebar_top{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; height:$(body.background.height); -webkit-box-orient:horizontal; -webkit-box-direction:normal; -webkit-flex-direction:row; -ms-flex-direction:row; flex-direction:row; max-height:$(body.background.height) } .sidebar-container .sidebar_bottom{ max-width:$(sidebar.width); width:$(sidebar.width) } body.collapsed-header .sidebar-container{ z-index:15 } .sidebar-container .sidebar_top:empty{ display:none } .sidebar-container .sidebar_top>:only-child{ -webkit-box-flex:0; -webkit-flex:0 0 auto; -ms-flex:0 0 auto; flex:0 0 auto; -webkit-align-self:center; -ms-flex-item-align:center; align-self:center; width:100% } .sidebar_top_wrapper.no-items{ display:none } } .post-snippet.snippet-container{ max-height:120px } .post-snippet .snippet-item{ line-height:24px } .post-snippet .snippet-fade{ background:-webkit-linear-gradient($startSide,$(posts.background.color) 0,$(posts.background.color) 20%,$(posts.background.color.transparent) 100%); background:linear-gradient(to $startSide,$(posts.background.color) 0,$(posts.background.color) 20%,$(posts.background.color.transparent) 100%); color:$(body.text.color); height:24px } .popular-posts-snippet.snippet-container{ max-height:72px } .popular-posts-snippet .snippet-item{ line-height:24px } .PopularPosts .popular-posts-snippet .snippet-fade{ color:$(body.text.color); height:24px } .main .popular-posts-snippet .snippet-fade{ background:-webkit-linear-gradient($startSide,$(popularposts.background.color) 0,$(popularposts.background.color) 20%,$(popularposts.background.color.transparent) 100%); background:linear-gradient(to $startSide,$(popularposts.background.color) 0,$(popularposts.background.color) 20%,$(popularposts.background.color.transparent) 100%) } .sidebar_bottom .popular-posts-snippet .snippet-fade{ background:-webkit-linear-gradient($startSide,$(sidebar.backgroundColorBottom) 0,$(sidebar.backgroundColorBottom) 20%,$(sidebar.backgroundColorBottom.transparent) 100%); background:linear-gradient(to $startSide,$(sidebar.backgroundColorBottom) 0,$(sidebar.backgroundColorBottom) 20%,$(sidebar.backgroundColorBottom.transparent) 100%) } .profile-snippet.snippet-container{ max-height:192px } .has-location .profile-snippet.snippet-container{ max-height:144px } .profile-snippet .snippet-item{ line-height:24px } .profile-snippet .snippet-fade{ background:-webkit-linear-gradient($startSide,$(sidebar.backgroundColorTop) 0,$(sidebar.backgroundColorTop) 20%,$(sidebar.backgroundColorTop.transparent) 100%); background:linear-gradient(to $startSide,$(sidebar.backgroundColorTop) 0,$(sidebar.backgroundColorTop) 20%,$(sidebar.backgroundColorTop.transparent) 100%); color:$(profile.text.color); height:24px } @media screen and (min-width:$(sidebar.width + content.width + content.margin * 2)){ .profile-snippet .snippet-fade{ background:-webkit-linear-gradient($startSide,$(sidebar.backgroundColorTopHD) 0,$(sidebar.backgroundColorTopHD) 20%,$(sidebar.backgroundColorTopHD.transparent) 100%); background:linear-gradient(to $startSide,$(sidebar.backgroundColorTopHD) 0,$(sidebar.backgroundColorTopHD) 20%,$(sidebar.backgroundColorTopHD.transparent) 100%) } } @media screen and (max-width:800px){ .blog-name{ margin-top:0 } body.item-view .blog-name{ margin:0 48px } .centered-bottom{ padding:8px } body.item-view .centered-bottom{ padding:0 } .page_body .centered{ padding:10px 0 } body.item-view #header,body.item-view .widget.Header{ margin-right:0 } body.collapsed-header .centered-top-container .blog-name{ display:block } body.collapsed-header .centered-top-container .widget.Header h1{ text-align:center } .widget.Header header{ padding:0 } .widget.Header h1{ font-size:$(blog.title.font.size * 24 / 45); line-height:$(blog.title.font.size * 24 / 45); margin-bottom:13px } body.item-view .widget.Header h1{ text-align:center } body.item-view .widget.Header p{ text-align:center } .blog-name .widget.PageList{ padding:0 } body.item-view .centered-top{ margin-bottom:5px } .search-action,.search-input{ margin-bottom:-8px } .search form{ margin-bottom:8px } body.item-view .subscribe-section-container{ margin:5px 0 0 0; width:100% } #page_body.section div.widget.FeaturedPost,div.widget.PopularPosts{ padding:16px } div.widget.Blog .blog-posts .post-outer-container{ padding:16px } div.widget.Blog .blog-posts .post-outer-container .post-outer{ padding:0 } .post:first-child{ margin:0 } .post-body .snippet-thumbnail{ margin:0 3vw 3vw 0 } .post-body .snippet-thumbnail img{ height:20vw; width:20vw; max-height:128px; max-width:128px } div.widget.PopularPosts div.item-thumbnail{ margin:0 3vw 3vw 0 } div.widget.PopularPosts div.item-thumbnail img{ height:20vw; width:20vw; max-height:88px; max-width:88px } .post-title{ line-height:1 } .post-title,.post-title a{ font-size:20px } #page_body.section div.widget.FeaturedPost h3 a{ font-size:22px } .mobile-ad .inline-ad{ display:block } .page_body.has-vertical-ads .vertical-ad-container,.page_body.has-vertical-ads .vertical-ad-container ins{ display:none } .page_body.has-vertical-ads .centered .centered-bottom,.page_body.has-vertical-ads .centered .centered-top{ display:block; width:auto } div.post-filter-message div{ padding:8px 16px } } @media screen and (min-width:$(sidebar.width + content.width + content.margin * 2)){ body{ position:relative } body.item-view .blog-name{ margin-left:48px } .page_body{ margin-left:$(sidebar.width) } .search{ margin-left:0 } .search.focused{ width:100% } .sticky{ padding-left:$(sidebar.width) } .hamburger-menu{ display:none } body.collapsed-header .page_body .centered-top-container{ padding-left:$(sidebar.width); padding-right:0; width:100% } body.collapsed-header .centered-top-container .search.focused{ width:100% } body.collapsed-header .centered-top-container .blog-name{ margin-left:0 } body.collapsed-header.item-view .centered-top-container .search.focused{ width:calc(100% - 50px) } body.collapsed-header.item-view .centered-top-container .blog-name{ margin-left:40px } } ]]> <![CDATA[ body#layout .hidden, body#layout .invisible { display: inherit; } body#layout .navigation { display: none; } body#layout .page, body#layout .sidebar_top, body#layout .sidebar_bottom { display: inline-block; left: inherit; position: relative; vertical-align: top; } body#layout .page { float: right; margin-left: 20px; width: 55%; } body#layout .sidebar-container { float: right; width: 40%; } body#layout .hamburger-menu { display: none; } ]]>
Clear out style (needs to be a non-empty string) We don't display labels on the home page. We call super.postShareButtons from the migrated positions. Overridden, and migrated to postFooter. Called as postFooterJumpLink. Ripple, and show 'keep reading' as the default.
Cap the total number of ads (widgets and inline ads). Filter out the featured post, but only on the homepage. Don't show feed links.
Don't show Don't show
Re-order the thumbnail before the snippet, add 'Keep reading' link.
If we are replacing the title, force it to render anyway, and it'll be hidden in CSS.
Default the title to 'Popular posts from this blog'. Add a 'keep reading' link to the item-content.
No title for single profiles. Default to 'Blog authors' for team.
Change link to 'visit profile'


Comments

https://mdaindvtech.blogspot.com/p/java-script.html

PYTHON COAD PROGRAMMING পাইথন

HISTORY QUESTION FOR COMPETITIVE EXAM.

OLD QUESTION PAPER:M.P YEAR -1994-95

G . K for competitive exams. : https://mdaindvtech.blogspot.com.

About great Galileo.

The Qur'an is the solution of humanity? : https://mdaindvtech.bloggpost.com