diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn index 67ab9a71..8ac5532f 100644 --- a/CHANGELOG.mkdn +++ b/CHANGELOG.mkdn @@ -183,6 +183,7 @@ CHANGELOG (notable new features) --------- ### 10.1.3 +* Common: CyanogenMod Account * Common: Privacy Guard * Common: Dialer blacklists * Common: Wake-on-Home @@ -190,6 +191,12 @@ CHANGELOG (notable new features) * Common: Profile improvements * Various small bugfixes, global and device-specific +### 10.1.2 +* Master Key #2 fix + +### 10.1.1 +* Master Key #1 fix + ### 10.1.0 * Common: Android 4.2.2 (Google) * Common: cLock Lockscreen and Homescreen Widget @@ -377,7 +384,7 @@ CHANGELOG (notable new features) * Common: TI wl12xx FM radio reverse engineering - Michael A. Reid * Common: Tablet tweaks - Sven Dawitz * Common: Revamped CMStats - Chris Soyars -* Common: Improved RTL text support and fonts - Eyad Aboulouz, Eran Mizrahi, +* Common: Improved RTL text support and fonts - Eyad Aboulouz, Eran Mizrahi, * Espresso/Legend: Enabled native WiFi tethering - Cyanogen, OMAPZoom.org * Legend/Liberty/Buzz/Click: Enabled FM Radio - Alexander Hofbauer (libaudio patch) * Z71: Enabled MPEG4/AAC video recording - arcee @@ -392,164 +399,3 @@ CHANGELOG (notable new features) * Supersonic: WiMAX support - HTC, Shinzul, toastcfh, shift, #teamwin, Cyanogen, Joey Conway * Supersonic: HDMI mirror support: #teamwin * ONE: Enabled native WiFi tethering - arcee - -### 6.1.3 -* Ace: Fix issue with some BT Headset - -### 6.1.2 -* Ace: Kernel to 2.6.32.27 and some performance tweaks - -### 6.1.1 -* Common: Add rotary lockscreen - Kmobs/Robert Burns -* Common: Updated translations - (everyone) -* Common: Push update notificatiosn - Chris Soyars -* Common: Fix camera sounds - CAF/Cyanogen/mtwebster -* N1/DS/Supersonic/Bravo(c): Kernel performance tweaks and fixes (various) -* N1: Update build fingerprint -* Vision: Fix MMS over WiFi calling - Zinx -* Vision: Add console=null to kernel command line - Adam Tygart -* Vision: Kernel to 2.6.32.27 and some performance tweaks -* Droid: FRG83D fingerprint, translations, camera, torch fixes - -### 6.1.0 -* Common: Update to Android 2.2.1 -* Common: Various bugfixes from AOSP and CodeAurora -* Common: ADWLauncher 1.3.3 - Ander Webbs -* Common: Configurable audio focus for music app - Jonas Larsson -* Common: APN cleanup (fixes many issues with GPS and MMS) - Cyanogen -* Common: Use ARMv6 optimizations for DS/Hero targets - Ninpo -* Common: AudioDSP updates - Antti S. Lankila -* Common: Status bar themes - Michael Webster -* Common: Email app updates** - Michael Webster -* Common: Selected kernel optimizations - Kernelzilla -* Common: EMMC support - Koush -* Common: Camcorder touch-to-focus - Cyanogen -* Common: Notification "quiet hours" - Evan Charlton -* Common; Superuser 2.3.6 - Adam Shanks (ChainsDD) -* Common: Camera/camcorder continuous autofocus - Cyanogen -* Common: Camera option sliders - Cyanogen -* Common: Control locking of MMS app in memory - Julian J. M -* Common: Kill foreground app by long-pressing back - Evan Charlton -* Common: New AppWidgetPicker dialog - boombuler@XDA -* Common: FileManager app - OpenIntents (graphics update from Fitsnugly) -* Common: Anonymous install statistics gathering - Chris Soyars -* Common: Stable shot camera mode - Cyanogen -* Common: Dual-mode snooze (long press dismiss) - Evan Charlton -* Common: Compose SMS/MMS via search button long press - Wes Garner -* Common: Notification category support - Pedlar -* Common: Galaxy S style power widget in notification bar - Pedlar -* Common: Autodetect if we should use /cache for system dex files - Kali- -* Common: Quick PIN unlock - gsarrica -* Common: Increase performance of Gallery3D caching system - Androbot -* Common: Gallery3D bugfixes and improvements - CodeAurora -* Common: Gallery3D highres patches - Petar Šegina -* Common: Skia performance enhancements - CodeAurora -* Common: APN list update - Paul Weiss -* Common: Fix AGPS issues on all platforms -* Common: Ability to customize location to save attachments in MMS - Wes Garner -* Common: Dismiss notifications by swiping - Evan Charlton -* Common: Enabled Sound Recorder app -* Common: Bluetooth OBEX performance boost - Sony -* Common: Updated Terminal Emulator app - Jack Palevich -* Common: Updated headset drawables - blunden -* Common: Optional overscrolling - Google, arcee, Robert Burns -* Common: Messaging/Phone sliders on lockscreen - Rodolfo Hurtado -* Common: Lockscreen gestures - Michael Webster -* Common: Camera bugfixes (mostly for Droid) - Michael Webster -* Common: Bluetooth FTP server profile - CodeAurora -* Common: New wallpapers - Prash -* Common: Super duper unified flashlights - Michael Webster -* Common: Launch applications via DeskClock - Evan Charlton -* N1/Bravo/Incredible/Supersonic/Vision/Ace: FM Radio support - MIUI - http://miui.com (graphics from Fitsnugly, HaXzAmaTiC, and blunden - bugfixes and extra features from Cyanogen, Zinx, mtwebster, and Wysie)) -* N1/DS/Bravo(c)/Supersonic - Unified kernel (Cyanogen, toastcfh, Kali-, defer, Zinx, ezterry, Pershoot, and others) -* N1: Increased camera performance - Charan Singh -* N1: Enhanced battery driver - Roger Podacter, theloginwithnoname -* DS: Updated hardware drivers from official release -* DS: CompCache sizes can be adjusted through CMParts - Wes Garner -* DS: Removed bootloader/radio asserts - GOOD LUCK -* Supersonic - Kernel 2.6.34 courtesy of Toast and Madcoder -* Supersonic - Use WiMAX LED for notifications - Cyanogen -* Bravo: Kernel merged with cm-kernel - Kali, Defer -* Espresso: Improve backlights - Wes Garner -* Espresso/Legend/Liberty: Kernel OC patch - dumfuq (no OC by default) -* Espresso/Legend/Liberty: Using media libs from 2.2 -* Espresso: Fixed Bluetooth SCO -* Legend/Supersonic: Proper notification light support - Alex Hofbauer -* Incredible: Enable torch app -* Incredible: Better internal storage support - Josh Stone -* Sholes: Enable Torch app - mtwebster -* Vision: Kernel 2.6.32.26, many improvements, 1.4GHz capable (coolbho3k), new ganeth driver (zinx) -* Vision: Quickeys implementation - Optedoblivion -* Vision: Insane GPS fix - Zinx -* Vision: LED enhancement - Pershoot -* Droid: Kernel 2.6.32.9 - -### 6.0.0 -* ANDROID: Google, HTC, Qualcomm, and everybody else. We <3 U -* Common: ADWLauncher 1.1.4 - Ander Webbs -* Common: Music app enhancements - Eliot Stocker -* Common: Phone mod V.30.1 - cytown -* Common: WyContacts 1.2 - Wysie (port to Froyo by Sileht) -* Common: Superuser 2.3.3 - Adam Shanks (ChainsDD) -* Common: Deskclock extra settings - cyanogen, Michael Webster -* Common: MMS enhancements from Ruqqq, Takuo Kitame, jeagoss, temporalshadows -* Common: Improved RTL text rendering - David Kohen, Omri Baumer -* Common: Themable user interface elements - Wysie, bcrook, jeagoss -* Common: FLAC playback support - Kenny Root, Cyanogen, Glenn Maynard -* Common: Lockscreen enhancements - Wysie -* Common: Long-press home options - Wysie, bcrook -* Common: OpenVPN support - James Bottomley, Takuo Kitame -* Common: Br0tips - Kmobs -* Common: Browser incognito mode - Optedoblivion -* Common: Zipalign on install (if needed) + system dex cache to /cache - Cyanogen/Chris Soyars -* Common: Customizable Nexus LWP - Chris Soyars/Cyanogen -* Common: JIT toggle, configurable heapsize, compcache supprt - Cyanogen -* Common: Adjustable haptic feedback - Michael Webster -* Common: Custom wallpapers - jairomeo, prash, SatanR1 -* Common: Battery percentage display - canadiancow, jeagoss -* Common: Trackball wake, trackball unlock, menu unlock - Jon Boekenoogen/Kmobs -* Common: Surfaceflinger night mode and effects - Jeff Sharkey, widget from Wysie -* Common: Reflow webviews on pinch option - Jonas Larsson -* Common: Enhanced accelerometer settings - Jonas Larsson -* Common: A2DP bugfixes - Glenn Maynard -* Common: Browser fullscreen mode and other enhancements - Wysie -* Common: Major build system enhancements by Chris Soyars & Koush -* Common: Long press volume buttons to skip songs - Jon Boekenoogen -* Common: Accelerated ARMv7 JPEG and PNG decoding - Qualcomm -* Common: Skia acceleration on ARMv7 - Qualcomm -* Common: Patch wrangling - Cyanogen, Chris Soyars, Koush, Kmobs -* Common: Bluetooth HID support - Erin Yueh @ 0xlab -* Common: Mouse pointer support - Chih-Wei Huang (android-x86) -* Common: Configurable install location + allow move any app to external storage - Cyanogen -* Common: Busybox and rsync Android ports from Dylex -* Common: nano, and libncurses are now built from source. - cvpcs -* Common: Dual camera support - Cyanogen -* Common: Support for HTC camera firmware with extra features - Cyanogen, Qualcomm -* Common: Other camera enhancements - Cyanogen -* Common: Customizable status bar - Michael Webster -* Common: Lockscreen music controls - Kmobs -* Common: "Roam Only" mode - jrgutier -* Common: Mobile data toggle for power widget - Drakaz -* Common: Exchange support fixes and volume rocker selection - Michael Webster -* Common: Lock home app in memory option - Cyanogen -* Common: Audio DSP support (equalizer, virtual room, compressor effects) - Antti S. Lankila -* Common: Customizable trackball notifications - Pedlar -* Common: Fully customizable power widget - piafinho -* Common: Zoom (except in 720p), flash, and other camera parameters can be changed while recording - Cyanogen, Qualcomm -* Common: New boot animation by 73v1n: http://www.youtube.com/watch?v=LnweaNTtb1k -* Common: Arabic language support - Aziz Huss, David Kohen -* Common: Torch app - Ben Buxton, Cyanogen -* Common: Browser color invert (save battery on AMOLED screens) - Qualcomm -* Common: Configurable brightness sensor - Jonas Larsson -* Common: Ad-Hoc wifi support - Petr Havlena -* Common: Audio focus enhancements - Jonas Larsson -* Common: Mail folder sync settings - Michael Webster -* N1/DS/Desire: Kernel 2.6.34.4 with Pershoot/Kmobs clock settings -* D/S: Camera reverse engineering by NCommander, Eddie Ringle, & Cyanogen -* D/S: Kernel patches for stability from Zinx Verituse -* D/S: MT3G Fender/1.2 support from Zinx Verituse -* D/S: Better media profiles - Charan Singh -* EVO: Kernel base from toastcfh, display patches from AssassinsLament and netarchy, backport of various features from Cyanogen (2.6.32) -* EVO: Sprint MMS fixes - Darchstar, toastcfh -* N1/Desire: True 720P encoding support - HTC, Cyanogen, Charan Singh, Enomther -* Desire: Kernel base from Kali- & Defer diff --git a/CONTRIBUTORS.mkdn b/CONTRIBUTORS.mkdn index 5a33ba68..81eb1a32 100644 --- a/CONTRIBUTORS.mkdn +++ b/CONTRIBUTORS.mkdn @@ -6,109 +6,232 @@ A non-exhaustive list of people involved in Replicant is available at: http://re CyanogenMod =========== -Maintainers (CyanogenMod 10.1): +Maintainers (CyanogenMod 13.0): ----------------------------- * __Acer A700:__ pawitp -* __Amazon Kindle Fire 1st Edition:__ Hashcode -* __Amazon Kindle Fire 2nd Edition:__ Hashcode +* __Amazon Kindle Fire 1st Edition:__ Hashcode, FuZZ__ +* __Amazon Kindle Fire 2nd Edition:__ Hashcode, FuZZ__ * __Asus EeePad Transformer (TF101):__ Bumble-Bee, EnJens * __Asus EeePad Transformer Prime (TF201):__ Bumble-Bee, EnJens -* __Asus EeePad Transformer Pad TF300T:__ xplodwild +* __Asus EeePad Transformer Pad TF300T:__ chrmhoffmann * __Asus EeePad Transformer Pad Infinity TF700T:__ dasunsrule32 +* __Asus EeePad Transformer Pad TF701T:__ pershoot * __B&N NookColor (encore):__ eyeballer, fattire, keyodi, krylon360, sluo (NookieDevs) -* __Google Galaxy Nexus:__ , bekit, Bumble-Bee, burnsra, KalimochoAz -* __Google Nexus S:__ burnsra, KalimochoAz +* __B&N Nook Tablet (acclaim):__ chrmhoffmann +* __Google Android One:__ varunchitre15 +* __Google Galaxy Nexus:__ bekit, Bumble-Bee, burnsra, KalimochoAz, something15525 +* __Google Nexus S:__ burnsra, KalimochoAz, klusark * __Google Nexus 4:__ rmcc -* __Google Nexus 7:__ burnsra, fattire, nemith (GSM) +* __Google Nexus 5:__ fluxi +* __Google Nexus 6:__ dhacker29 +* __Google Nexus 7:__ burnsra, fattire, Thömy, nemith, JoeyRizzoli (GSM) * __Google Nexus 10:__ atinm, dalingrin, kornyone, gweedo767 +* __Google Nexus Player:__ dhacker29, bmc08gt +* __HTC Desire 601(zara/zaracl):__ uberlaggydarwin, PatrikKT +* __HTC Desire 816:__ Grarak, v_superuser +* __HTC Desire Eye:__ uberlaggydarwin +* __HTC Droid DNA:__ crpalmer, invisiblek * __HTC Droid Incredible 4G LTE:__ intervigil, mdmower * __HTC Evo 4G LTE:__ kushdeck, toastcfh -* __HTC One (GSM):__ codeworkx, h8rift +* __HTC One (GSM):__ h8rift +* __HTC One M8:__ deck, h8rift, invisblek, toastcfh, u-ra, uberlaggydarwin +* __HTC One M8 Dual SIM (m8dug):__ bgcngm +* __HTC One M9 (hima):__ cyanogen, Rashed97, varunchitre15 +* __HTC One Max (T6):__ flyhalf205, sbrissen * __HTC One (Sprint):__ kushdeck, toastcfh +* __HTC One (Verizon):__ flyhalf205, mdmower * __HTC One S:__ intervigil, xkonni +* __HTC One X:__ gorbi16, mdeejay, tbalden, Thömy +* __HTC One X+:__ Lloir, tombriden * __HTC One XL:__ h8rift, intervigil +* __LG G2 (AT&T) (D800):__ arcee, Rashed97, Shelnutt2 +* __LG G2 (T-Mobile) (D801):__ arcee, Rashed97, Shelnutt2 +* __LG G2 (International) (D802):__ arcee, Rashed97, Shelnutt2 +* __LG G2 (Canada) (D803):__ arcee, Rashed97, Shelnutt2 +* __LG G2 (Sprint) (LS980):__ arcee, Rashed97, Shelnutt2 +* __LG G2 (Verizon) (VS980):__ arcee, Rashed97, Shelnutt2 +* __LG G3 (AT&T) (D850):__ +* __LG G3 (T-Mobile) (D851):__ bryan2894 +* __LG G3 (Canada) (D852):__ cuzz1369 +* __LG G3 (International) (D855):__ finnq +* __LG G3 (Korea) (F400):__ TheNoFace +* __LG G3 (Sprint) (LS990):__ +* __LG G3 (Verizon) (VS985):__ invisiblek +* __LG G4 (T-Mobile) (H811):__ codeworkx, genesixxbf3 +* __LG G4 (International) (H815):__ codeworkx, genesixxbf3 * __LG Optimus LTE (P930) / LG Nitro HD {P935):__ arcee * __LG Optimus LTE (SK Telecom) (SU640):__ arcee -* __Motorola Droid 3:__ dhacker29, Hashcode -* __Motorola Droid 4:__ dhacker29, Hashcode -* __Motorola Droid Bionic:__ dhacker29, Hashcode -* __Motorola Droid RAZR/RAZR Maxx (CDMA):__ dhacker29, Hashcode -* __Motorola RAZR/RAZR Maxx (GSM):__ dhacker29, Hashcode +* __Moto E 2014 (xt1021,xt1022,xt1023/condor):__ percy_g2, scritch007, ashwin007 +* __Moto G 2014 (xt1063,xt1064,xt1068,xt1069/titan):__ LuK1337, luca020400 +* __Moto G 4G (xt1039,xt1040,xt1042,xt1045/peregrine):__ somcom3x, intervigil +* __Moto G 4G 2014 (xt1072,xt1077,xt1078,xt1079/thea):__ LuK1337, luca020400 +* __Moto X (xt1053,xt1055,xt1056,xt1058,xt1060/ghost):__ Hashcode, Skrilax_CZ +* __Moto X 2014 (victara):__ crpalmer, invisiblek +* __Motorola Moto MAXX(quark) :__ Skrilax_CZ +* __Motorola Atrix HD (MB886/qinara):__ epinter, Hashcode, Skrilax_CZ, nadlabak +* __Motorola Droid 3 (solana):__ Hashcode, stargo +* __Motorola Droid 4 (maserati):__ Hashcode, stargo +* __Motorola Droid Bionic (targa):__ Hashcode, stargo +* __Motorola Droid Maxx (obake-maxx):__ Skrilax_CZ +* __Motorola Droid RAZR/RAZR Maxx (spyder) (CDMA):__ Hashcode, stargo +* __Motorola Droid RAZR HD/HD Maxx (xt926/vanquish) (CDMA):__ Hashcode, epinter, Skrilax_CZ, nadlabak +* __Motorola Droid RAZR M (xt907/scorpion_mini):__ Hashcode, epinter, Skrilax_CZ, nadlabak +* __Motorola Photon Q (xt897/asanti) (GSM):__ Skrilax_CZ, nadlabak, epinter, Hashcode +* __Motorola Photon Q (xt897c/asanti_c) (CDMA):__ nadlabak, Skrilax_CZ, epinter, Hashcode +* __Motorola RAZR/RAZR Maxx (umts_spyder) (GSM):__ Hashcode, stargo +* __Motorola RAZR HD(xt925/vanquish) (GSM):__ epinter, Hashcode, Skrilax_CZ, nadlabak * __Motorola Xoom (WiFi):__ bazar, SteadyHawkin, TDR (Team Rogue) * __Motorola Xoom 3G (UMTS):__ bazar, SteadyHawkin, TDR (Team Rogue) * __Motorola Xoom 4G LTE (Verizon):__ bazar, SteadyHawkin, TDR (Team Rogue) +* __OnePlus One:__ cyanogen, intervigil, inwotep, arcee +* __Oppo Find 5:__ intervigil, nebkat, raymanfx +* __Oppo Find 7:__ intervigil, tdm, inwotep, mikeioannina +* __Oppo N1:__ raymanfx +* __Oppo N3:__ invisiblek, maniac103 +* __Oppo R7:__ maniac103, mikeioannina, Rashed97 +* __Oppo R7 Plus:__ maniac103, mikeioannina, Rashed97 * __Samsung Captivate (SGH-I896 / SGH-I897):__ pawitp * __Samsung Epic 4G (SPH-D700):__ bbelos +* __Samsung Exhilarate (SGH-I577):__ mikeyman77, carvsdriver * __Samsung Fascinate / Mesmerize (SCH-I500):__ jt1134, sbrissen -* __Samsung Galaxy Note (GT-N7000):__ Entropy512, Espenfjo +* __Samsung Galaxy Note (GT-N7000):__ Espenfjo * __Samsung Galaxy Note II (GT-N7100):__ nebkat -* __Samsung Galaxy Note II LTE (GT-N7105):__ codeworkx -* __Samsung Galaxy Note II LTE (AT&T) (SGH-I317):__ codeworkx, cyanogen -* __Samsung Galaxy Note II LTE (T-Mobile) (SGH-T889):__ codeworkx -* __Samsung Galaxy Note II LTE (SCH-I605 / SPH-L900):__ sbrissen -* __Samsung Galaxy Note 10.1 (GT-N80XX):__ Entropy512, Espenfjo +* __Samsung Galaxy Note II LTE (AT&T) (SGH-I317):__ cyanogen +* __Samsung Galaxy Note II LTE (Verizon) (SCH-I605):__ sbrissen +* __Samsung Galaxy Note II LTE (Sprint) (SPH-L900):__ sbrissen +* __Samsung Galaxy Note II LTE (USCC) (SCH-R950):__ sbrissen +* __Samsung Galaxy Note III (hlte):__ cyanogen, noobnl, slayher +* __Samsung Galaxy Note IV Exynos (trelte):__ raymanfx +* __Samsung Galaxy Note IV Exynos (trhplte):__ raymanfx +* __Samsung Galaxy Note 8.0 3G (GT-N5100):__ sbrissen +* __Samsung Galaxy Note 8.0 WiFi (GT-N5110):__ sbrissen +* __Samsung Galaxy Note 10.1 (GT-N80XX):__ Espenfjo +* __Samsung Galaxy Note 10.1 LTE (Verizon) (SCH-I925):__ sbrissen +* __Samsung Galaxy Premier (GT-I9260):__ ljzyal * __Samsung Galaxy R (GT-I9103):__ Adam77Root, Epsylon3 * __Samsung Galaxy S Blaze 4G (SGH-T769):__ UberPinguin * __Samsung Galaxy S (GT-I9000):__ pawitp * __Samsung Galaxy S (GT-I9000B):__ helvio88 -* __Samsung Galaxy S II (AT&T) (SGH-I777):__ Entropy512 -* __Samsung Galaxy S II (intl) (GT-I9100):__ codeworkx, Espenfjo -* __Samsung Galaxy S II (intl) (GT-I9100G):__ codeworkx -* __Samsung Galaxy S III (AT&T) (SGH-I747):__ cyanogen -* __Samsung Galaxy S III (Cricket) (SCH-R530):__ noobnl -* __Samsung Galaxy S III (intl) (GT-I9300):__ xplodwild, codeworkx -* __Samsung Galaxy S III LTE (GT-I9305):__ mcampbellsmith, codeworkx -* __Samsung Galaxy S III (MetroPCS) (SCH-R530):__ noobnl -* __Samsung Galaxy S III (Sprint) (SPH-L710):__ mkasick, noobnl -* __Samsung Galaxy S III (T-Mobile) (SGH-T999):__ cyanogen -* __Samsung Galaxy S III (US Cellular) (SCH-R530):__ noobnl +* __Samsung Galaxy S II (GT-I9100):__ Caio Schnepper +* __Samsung Galaxy S II (intl) (GT-I9100G):__ Jiangyi, Ryuinferno +* __Samsung Galaxy S II (T-Mobile) (SGH-T989):__ mikeyman77 +* __Samsung Galaxy S II (AT&T) (SGH-I727):__ topprospect +* __Samsung Galaxy S III (AT&T) (SGH-I747):__ nardholio +* __Samsung Galaxy S III (Sprint) (SPH-L710):__ noobnl * __Samsung Galaxy S III (Verizon) (SCH-I535):__ invisiblek -* __Samsung Galaxy S IV (AT&T) (SGH-I337):__ attn1 -* __Samsung Galaxy S IV (Canada) (SGH-I337M):__ DvTonder -* __Samsung Galaxy S IV (Sprint) (SPH-L720):__ mkasick, noobnl -* __Samsung Galaxy S IV (T-Mobile) (SGH-M919):__ cyanogen -* __Samsung Galaxy S IV (US Cellular) (SCH-R540):__ noobnl +* __Samsung Galaxy S III LTE (GT-I9305):__ mcampbellsmith +* __Samsung Galaxy S IV 3G (GT-I9500):__ intervigil, Alberto96 +* __Samsung Galaxy S IV (AT&T) (SGH-I337):__ FarmGeek4Life +* __Samsung Galaxy S IV (Sprint) (SPH-L720):__ noobnl +* __Samsung Galaxy S IV (T-Mobile) (SGH-M919):__ dcd * __Samsung Galaxy S IV (Verizon) (SCH-I545):__ invisiblek -* __Samsung Galaxy S IV Mini (Intl LTE) (GT-I9195):__arco -* __Samsung Galaxy S IV Mini (Intl 3G) (GT-I9190):__arco +* __Samsung Galaxy S IV LTE (GT-I9505):__ AntaresOne +* __Samsung Galaxy S IV LTE-A (GT-I9506):__ solk2 +* __Samsung Galaxy S IV Mini 3G (GT-I9190):__ arco +* __Samsung Galaxy S IV Mini LTE (GT-I9195):__ arco +* __Samsung Galaxy S V (AU) (SCL23):__ scoty755 +* __Samsung Galaxy S V (Vodafone) (SM-G900I):__ Regi24 * __Samsung Galaxy Tab 7" (GSM):__ cdesai, humberos * __Samsung Galaxy Tab 7" (CDMA):__ jt1134 -* __Samsung Galaxy Tab 2 7" (GT-P31xx):__ codeworkx -* __Samsung Galaxy Tab 2 10.1" (GT-P51xx):__ codeworkx +* __Samsung Galaxy Tab 2 7" (GT-P31xx):__ codyf86 +* __Samsung Galaxy Tab 2 10.1" (GT-P51xx):__ codyf86 +* __Samsung Galaxy Tab Pro 8.4" (SM-T320):__ crpalmer * __Samsung Vibrant (SGH-T959):__ FaultException -* __Sony Xperia T (mint):__ jerpelea, Kali- (FreeXperia team), codeworkx, tilal6991 -* __Sony Xperia V (tsubasa):__ jerpelea, Kali- (FreeXperia team), codeworkx, tilal6991 -* __Sony Xperia Z (yuga):__ jerpelea, Kali- (FreeXperia team), cdesai, codeworkx, Entropy512 -* __Sony Xperia ZL (odin):__ jerpelea, Kali- (FreeXperia team) +* __Sony Xperia E3 (flamingo):__ FreeXperia Team +* __Sony Xperia L (taoshan):__ olivieer, FreeXperia Team +* __Sony Xperia M (nicki):__ RonG, FreeXperia Team +* __Sony Xperia M2 (eagle):__ FreeXperia Team +* __Sony Xperia SP (huashan):__ Mrcl1450 +* __Sony Xperia T (mint):__ FreeXperia Team, tilal6991, uberlaggydarwin +* __Sony Xperia T2 Ultra (tianchi):__ FreeXperia Team +* __Sony Xperia T3 (seagull):__ FreeXperia Team +* __Sony Xperia V (tsubasa):__ FreeXperia Team, tilal6991, championswimmer, uberlaggydarwin +* __Sony Xperia Z (yuga):__ FreeXperia Team, Turl, olivieer +* __Sony Xperia ZL (odin):__ FreeXperia Team +* __Sony Xperia ZR (dogo):__ FreeXperia Team +* __Sony Xperia Tablet Z LTE (pollux):__ FreeXperia Team, snc +* __Sony Xperia Tablet Z WiFi (pollux_windy):__ FreeXperia Team, snc +* __Sony Xperia Tablet Z2 LTE (castor):__ FreeXperia Team +* __Sony Xperia Tablet Z2 WiFi (castor_windy):__ FreeXperia Team +* __Sony Xperia Z3 Tablet Compact LTE (scorpion):__ FreeXperia Team +* __Sony Xperia Z Ultra (togari):__ FreeXperia Team +* __Sony Xperia Z1 (honami):__ FreeXperia Team +* __Sony Xperia Z1 compact (amami):__ FreeXperia Team, intervigil, championswimmer +* __Sony Xperia Z2 (sirius):__ FreeXperia Team +* __Sony Xperia Z3 (z3):__ FreeXperia Team +* __Sony Xperia Z3 Compact (z3c):__ FreeXperia Team +* __Sony Z Ultra GPE (togari_gpe):__ FreeXperia Team +* __Xiaomi Mi2(s) (aries):__ Michael Zimmermann +* __Xiaomi Mi3/4 (cancro):__ JoeyRizzoli + +FreeXperia Team: +------------------- +Team: Jerpelea, Bin4ry, Kali-, codeworkx, Bumble-Bee, cdesai, AdFad666, tilal6991, kholk General developers: ------------------- * __UI Team:__ blunden, prash -* __UX Team:__ blunden, ciwrl, daneshm, DvTonder, mad-murdock, maniac103, Kaik541 +* __UX Team:__ blunden, ciwrl, daneshm, DvTonder, jackmu95, maniac103, Kaik541 * __Other:__ jruesga Translators: ------------ -* __Afrikaans:__ Corrie Meyer, David van Tonder -* __Catalan:__ Oriol Pellicer -* __Croatian:__ Antonio Marin -* __Czech:__ Ondrej Zima, Radovan Kepak, Pavel Kucera, Jozka Jozin, Jiri Silvarich, Vaclav Moucha -* __Dutch:__ Marco Brohet, Kasper Hettinga, Sam Segers, Bart Tiemersma, Eddy Witkamp -* __Finnish:__ Antti Leukkunen, Niko Koivu -* __French:__ Sbastien Vaucher, David Girault, Tanguy Pruvot -* __German:__ Kim L, Jacob Mller, Patrick Schaaf, Christoph Quiter, Markus Hoeber, Matthias Bchner, Danny Baumann -* __Greek:__ Michael Bestas -* __Hungarian:__ Tams Tth, Dvid Lszl, Dniel Buga -* __Italian:__ Francesco Foresta, Moreno Pojer, Eugenio Ziliotto, Giulio Cervera, Mauro Bazzano -* __Japanese:__ Takuo Kitame -* __Korean:__ Inseok Lee -* __Polish:__ Maciej Rozbicki -* __Portuguese-Brazil:__ Gustavo Rosa -* __Portuguese:__ Eduardo Martins, Ricardo Pinho -* __Russian:__ OlegKrikun, Pavel Volkov, Kir Kolyshkin -* __Simplified Chinese:__ comercy, Qian Zheng, Andrew Jiang, John Hsing -* __Slovak:__ Juraj Janecek -* __Spanish:__ PeRiJeY, KalimochoAz, Chuckycrx, Jorge Ruesga, djMesias -* __Swedish:__ Patrik Kullman -* __Traditional Chinese:__ Ladios Jonquil -* __Turkish:__ Ethem Evlice (androidmeda) +* __Afrikaans:__ David van Tonder (DvTonder), Corrie Meyer (isimobile) +* __Arabic:__ Umar Omar (uomar8) +* __Asturian:__ esbardu (esbardu), ivarela (malditoastur), Xandru Martino Ruz (Xandru), Xuacu Saturio (Xuacu) +* __Catalan:__ Arnau (Arnau), Pau Galindo (Pau_Galindo) +* __Chinese Simplified:__ Matthew Humphrey (775405984), Contactfront (Contactfront), Easeman Wang (easeman9), jiveking (jiveking), Yun Liu (liuyun97), Hexchain Tong (richard0053), Ryan Chan (smartryan), Thomas Wang (ts0516) +* __Chinese Traditional:__ Hsiang Jung, CHENG (HJCHENG), Kelvin Cheong (kelvincheong), Bing-Hua Wang (louiswpf), npes87184 (npes87184), Ryan Chan (smartryan) +* __Chinese Traditional, Hong Kong:__ Kelvin Cheong (kelvincheong), Ryan Chan (smartryan), Li Chi Tung (tonyli1357) +* __Croatian:__ David Boca (davidboca), markan (markan), Robert Rozić (Rox), Josip Volf (Wuk) +* __Czech:__ Radovan Kepák (bckp), Štěpán Dalecký (daleckystepan), engy (engy), Keltek (Keltek), ScArSVK (ScArSVK), Snoop05 (Snoop05) +* __Danish:__ Morten Jørgensen (Fidoble), Jacob_DK (Jacob_DK), Ole Ingeman Christensen (OIChristensen) +* __Dutch:__ Eddy Witkamp (eddywitkamp), Frank Baeten (frankbaeten), Tom Heisterkamp (HappyFlow), Martin Coulon (martinusbe), Timo Viveen (Nadermane), ray1618 (ray1618), Marco Brohet (therbom) +* __Estonian:__ Rudolf Tammekivi (rtammekivi) +* __Finnish:__ Eero Hyrsky (EnergySnail), Jani Kinnunen (jkinnunen), Niko Koivu (niko0o), Sasu Lehtonen (zazza) +* __French:__ DelPETER (DelPETER), humpf (humpf), Julien Stephan (julienstephan29), laddass (laddass), .... (lemachinbidule), math Matmutant (matmutant), Micks29 (Micks29), opengillou (opengillou), Alexandre Bertrand (trandbert) +* __Galician:__ Daniel (canu7), Isaac Álvarez Veiga (Erithrym) +* __Georgian:__ Alexander (alexander_9) +* __German:__ Sascha Schroeder (c1ph4), Kim Le (elektroschmock78), Jacob Müller (jackmu95), Kilian von Pflugk (kilianvonpflugk), Kilowatt.W (kilowatt), Benjamin Huschle (kolsms), Danny Baumann (maniac103), Mardon (markusmenzel), maxee (maxee), michelsberg (michelsberg), Roman Ettlinger (romanett98), Stefan O. (stefanao), Thomas Reinhardt (tarreas), unpublished (unpublished), Yannik (yanniks) +* __Greek:__ Vasilis Akritas (billak75), Michael Bestas (mikeioannina) +* __Hebrew:__ Arthur Zamarin (arthurzam), evyatark2 (evyatark2), Mr_Guy (Mr_Guy), Oren Cohen (orenc17), sagi232123 (sagi232123) +* __Hindi:__ c0d3ripp3r (c0d3ripp3r), Solomon Sunder (solomonsunder) +* __Hungarian:__ Bálint Czobor (balint), Buga Dániel (BugaDániel), fischerandris (fischerandris), lazajnd (lazajnd), Tamás Tóth (tothtamassyman) +* __Indonesian:__ Vicky Sofyan (Arch9), famihyypia (famihyypia), Ilham Ibrahim (iiibrahim89), Ruswan Efendi (RuswanWu7), tohenk (tohenk) +* __Italian:__ Alessandro Preti (alessandropreti), Francesco Foresta (francescoforesta), Joey Rizzoli (linuxx), Lorenzo Faccini (lo97), rheeze (rheeze), Valdevies (Valdevies) +* __Japanese:__ Black Zigong (blackzigong), jiveking (jiveking), おたっく (otack), Sena Endo (senaforandroid), stmay30 (stmay30) +* __Korean:__ 이승렬 (toy0605) +* __Kurdish:__ falah (Dylan2785) +* __Latvian:__ Māris Rēdmanis (maaris) +* __Lithuanian:__ Liudas Ališauskas (liudas.alisauskas), Edmundas Plentauskas (plentauskas1992), HardLight (polizplz), Saulius Vyšniauskas (SauliusVy) +* __Luxembourgish:__ Michel Weimerskirch (michel_weimerskirch), soued031 (soued031) +* __Malay:__ tanakwagu (tanakwagu) +* __Norwegian Bokmal:__ Vegard Fladby (Allram), Sten Eikrem (Storesteinen) +* __Persian:__ Ali Niki (alinik), Mehdi HosseinZade (Arshen) (Arshen-2014), Yaser Rajabi (yrajabi) +* __Polish:__ Dawid (dawidohs), Kamil Jarosław (devloz1996), Michał Gątkowski (IreuN), Andrzej Ressel (jereksel), Michał Kamień (kamykowsky), lozohcum M (lozohcum), Tomasz Popielarczyk (popielarczyktomasz), Michał Jakubowski (revanmj) +* __Portuguese:__ João Pedro Luís (joaopluis), Sergio Borges (sergioborges99), André Pinela (sheffzor), Tercio Carvalho (tercioc) +* __Portuguese, Brazilian:__ Carlos Henrique Brendler Cabral (carloshbcabral), Gafanhotz (Gafanhotz), Gustavo Rosa (gustavogyn), Tercio Carvalho (tercioc) +* __Romanian:__ apolodor (apolodor), azzureux (azzureux), Marian-Mina Mihai (bboylalu), mihaitaus (mihaitaus) +* __Russian:__ Vladislav Koldobskiy (NeverGone), Alexey Kuznetsov (eeepc1016p), Artem Leshchev (matshch), Maxim Perepelitsa (N0xFF), Yaroslav Yadrishnikov (MrYadro) +* __Serbian (Cyrillic):__ Dragan Milenkovic (gagy187), Sava Mikalački (mikalackis), Драган (WD40) +* __Sinhala:__ Rananga Suraweera (rananga) +* __Slovak:__ Martin (mato), Bohuslav Oršula (orsulab), Peter Malík (PeterM), pyler (pyler), Snoop05 (Snoop05) +* __Spanish:__ Isaac Álvarez Veiga (Erithrym), Jorge Ruesga (jruesga), Lorenzo M (Lorenzo_M), luchomacedo92 (LuchoMacedo), Pau Galindo (Pau_Galindo) +* __Swedish:__ Simon Bäck (backsimon), elelinux (elelinux), Simon Danielsson (sad_88), Ted Lundwall (TedLundwall) +* __Tamil:__ Kishore Sheik Ahamed (kishoreinme), Solomon Sunder (solomonsunder), Stars Soft (starssoft), அருண் குமார் - Arun Kumar (thangamani-arun) +* __Thai:__ pureexe (pureexe) +* __Turkish:__ Arif GÜLER (ArF), Mesut Öztürk (doktormesut), Murat KOŞAK (muratkosak), okirat (okirat), Şenol (senoleker) +* __Ukrainian:__ Andriy Poznakhovskyy (Andrulko), Nazar Sokolovsky (nazar_sokolovsky), Maks (probil), xalich (xalich) +* __Uyghur:__ jiveking (jiveking) +* __Vietnamese:__ Bảo Quân (quan221295), Triet Bui Minh (x3cafe) + +Graphics and Assets: +-------------------- +* __Wallpapers:__ Matthew Hanley, Henry Mason +* __Icons:__ Bjorn Lunden, Henry Mason +* __Bootanimation:__ Dima Skvarskyi + +Former Contributors: +-------------------- +* __Devices:__ Entropy512, xplodwild +* __Features:__ mad-murdock, wysie, Ander Webbs, ChainsDD, xplodwild diff --git a/LICENSE b/LICENSE index e1acbbb2..69f49a5e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ - Copyright 2011-12 The CyanogenMod Project + Copyright 2011-15 The CyanogenMod Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/README.mkdn b/README.mkdn index a8e02d68..9eff1ec1 100644 --- a/README.mkdn +++ b/README.mkdn @@ -32,7 +32,7 @@ You can do this by using these commands: (Go to repo you are patching, make your changes and commit) cmgerrit - repo start cm-10.1 . + repo start cm-13.0 . (Make your changes and commit) repo upload . Note: "." meaning current directory @@ -52,7 +52,7 @@ familiar with [Repo](https://source.android.com/source/using-repo.html) and [Ver To initialize your local repository using the CyanogenMod trees, use a command like this: - repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1 + repo init -u git://github.com/CyanogenMod/android.git -b cm-13.0 Then to sync up: diff --git a/bash_completion/repo.bash b/bash_completion/repo.bash index 1c4a2a8a..9ae5e00f 100644 --- a/bash_completion/repo.bash +++ b/bash_completion/repo.bash @@ -587,6 +587,7 @@ _repo_sync() { OPTIONS=( "-h" "--help" "-f" "--force-broken" + "--force-sync" "-l" "--local-only" "-n" "--network-only" "-d" "--detach" diff --git a/build/core/apicheck.mk b/build/core/apicheck.mk new file mode 100644 index 00000000..088adc43 --- /dev/null +++ b/build/core/apicheck.mk @@ -0,0 +1,126 @@ +# Copyright (C) 2015 The CyanogenMod Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# +# Rules for running apicheck to confirm that you haven't broken +# api compatibility or added apis illegally. +# + +# skip api check for PDK buid +ifeq (,$(filter true, $(WITHOUT_CHECK_API) $(TARGET_BUILD_PDK))) + +.PHONY: checkapi-cm + +# Run the checkapi rules by default. +droidcore: checkapi-cm + +cm_last_released_sdk_version := $(lastword $(call numerically_sort, \ + $(filter-out current, \ + $(patsubst $(CM_SRC_API_DIR)/%.txt,%, $(wildcard $(CM_SRC_API_DIR)/*.txt)) \ + )\ + )) + +.PHONY: check-cm-public-api +checkapi-cm : check-cm-public-api + +.PHONY: update-cm-api + +# INTERNAL_CM_PLATFORM_API_FILE is the one build by droiddoc. +# Note that since INTERNAL_CM_PLATFORM_API_FILE is the byproduct of api-stubs module, +# (See vendor/cmsdk/Android.mk) +# we need to add api-stubs as additional dependency of the api check. + +# Check that the API we're building hasn't broken the last-released +# SDK version. +$(eval $(call check-api, \ + checkpublicapi-cm-last, \ + $(CM_SRC_API_DIR)/$(cm_last_released_sdk_version).txt, \ + $(INTERNAL_CM_PLATFORM_API_FILE), \ + $(FRAMEWORK_CM_PLATFORM_REMOVED_API_FILE), \ + $(INTERNAL_CM_PLATFORM_REMOVED_API_FILE), \ + cat $(BUILD_SYSTEM)/apicheck_msg_last.txt, \ + check-cm-public-api, \ + $(call doc-timestamp-for, cm-api-stubs) \ + )) + + +# Check that the API we're building hasn't changed from the not-yet-released +# SDK version. +$(eval $(call check-api, \ + checkpublicapi-cm-current, \ + $(FRAMEWORK_CM_PLATFORM_API_FILE), \ + $(INTERNAL_CM_PLATFORM_API_FILE), \ + $(FRAMEWORK_CM_PLATFORM_REMOVED_API_FILE), \ + $(INTERNAL_CM_PLATFORM_REMOVED_API_FILE), \ + cat $(BUILD_SYSTEM)/apicheck_msg_current.txt, \ + check-cm-public-api, \ + $(call doc-timestamp-for, cm-api-stubs) \ + )) + +.PHONY: update-cm-public-api +update-cm-public-api: $(INTERNAL_CM_PLATFORM_API_FILE) | $(ACP) + @echo -e ${CL_GRN}"Copying cm_current.txt"${CL_RST} + $(hide) $(ACP) $(INTERNAL_CM_PLATFORM_API_FILE) $(FRAMEWORK_CM_PLATFORM_API_FILE) + @echo -e ${CL_GRN}"Copying cm_removed.txt"${CL_RST} + $(hide) $(ACP) $(INTERNAL_CM_PLATFORM_REMOVED_API_FILE) $(FRAMEWORK_CM_PLATFORM_REMOVED_API_FILE) + +update-cm-api : update-cm-public-api + +#####################Check System API##################### +.PHONY: check-cm-system-api +checkapi-cm : check-cm-system-api + +# Check that the Cyanogen System API we're building hasn't broken the last-released +# SDK version. +$(eval $(call check-api, \ + checksystemapi-cm-last, \ + $(CM_SRC_SYSTEM_API_DIR)/$(cm_last_released_sdk_version).txt, \ + $(INTERNAL_CM_PLATFORM_SYSTEM_API_FILE), \ + $(FRAMEWORK_CM_PLATFORM_SYSTEM_REMOVED_API_FILE), \ + $(INTERNAL_CM_PLATFORM_SYSTEM_REMOVED_API_FILE), \ + cat $(BUILD_SYSTEM)/apicheck_msg_last.txt, \ + check-cm-system-api, \ + $(call doc-timestamp-for, cm-system-api-stubs) \ + )) + +# Check that the System API we're building hasn't changed from the not-yet-released +# SDK version. +$(eval $(call check-api, \ + checksystemapi-cm-current, \ + $(FRAMEWORK_CM_PLATFORM_SYSTEM_API_FILE), \ + $(INTERNAL_CM_PLATFORM_SYSTEM_API_FILE), \ + $(FRAMEWORK_CM_PLATFORM_SYSTEM_REMOVED_API_FILE), \ + $(INTERNAL_CM_PLATFORM_SYSTEM_REMOVED_API_FILE), \ + cat $(BUILD_SYSTEM)/apicheck_msg_current.txt, \ + check-cm-system-api, \ + $(call doc-timestamp-for, cm-system-api-stubs) \ + )) + +.PHONY: update-cm-system-api +update-cm-api : update-cm-system-api + +update-cm-system-api: $(INTERNAL_PLATFORM_CM_SYSTEM_API_FILE) | $(ACP) + @echo Copying cm_system-current.txt + $(hide) $(ACP) $(INTERNAL_CM_PLATFORM_SYSTEM_API_FILE) $(FRAMEWORK_CM_PLATFORM_SYSTEM_API_FILE) + @echo Copying cm_system-removed.txt + $(hide) $(ACP) $(INTERNAL_CM_PLATFORM_SYSTEM_REMOVED_API_FILE) $(FRAMEWORK_CM_PLATFORM_SYSTEM_REMOVED_API_FILE) + +.PHONY: update-cm-prebuilts-latest-public-api +current_sdk_release_text_file := $(CM_SRC_API_DIR)/$(cm_last_released_sdk_version).txt + +update-cm-prebuilts-latest-public-api: $(FRAMEWORK_CM_PLATFORM_API_FILE) | $(ACP) + @echo -e ${CL_GRN}"Publishing cm_current.txt as latest API release"${CL_RST} + $(hide) $(ACP) $(FRAMEWORK_CM_PLATFORM_API_FILE) $(current_sdk_release_text_file) + +endif diff --git a/build/core/clear_vars.mk b/build/core/clear_vars.mk new file mode 100644 index 00000000..f996179b --- /dev/null +++ b/build/core/clear_vars.mk @@ -0,0 +1,11 @@ +# +#CM-specific variable clears +# +LOCAL_IGNORE_SUBDIR := + +LOCAL_MAVEN_GROUP := +LOCAL_MAVEN_ARTIFACT := +LOCAL_MAVEN_VERSION := +LOCAL_MAVEN_CLASSIFIER := +LOCAL_MAVEN_PACKAGING := +LOCAL_MAVEN_REPO := \ No newline at end of file diff --git a/build/core/config.mk b/build/core/config.mk new file mode 100644 index 00000000..57bb514c --- /dev/null +++ b/build/core/config.mk @@ -0,0 +1,27 @@ +# Copyright (C) 2015 The CyanogenMod Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +CM_SRC_API_DIR := $(TOPDIR)prebuilts/cmsdk/api +CM_SRC_SYSTEM_API_DIR := $(TOPDIR)prebuilts/cmsdk/system-api +INTERNAL_CM_PLATFORM_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/cm_public_api.txt +INTERNAL_CM_PLATFORM_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/cm_removed.txt +INTERNAL_CM_PLATFORM_SYSTEM_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/cm_system-api.txt +INTERNAL_CM_PLATFORM_SYSTEM_REMOVED_API_FILE := $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/cm_system-removed.txt +FRAMEWORK_CM_PLATFORM_API_FILE := $(TOPDIR)vendor/cmsdk/api/cm_current.txt +FRAMEWORK_CM_PLATFORM_REMOVED_API_FILE := $(TOPDIR)vendor/cmsdk/api/cm_removed.txt +FRAMEWORK_CM_PLATFORM_SYSTEM_API_FILE := $(TOPDIR)vendor/cmsdk/system-api/cm_system-current.txt +FRAMEWORK_CM_PLATFORM_SYSTEM_REMOVED_API_FILE := $(TOPDIR)vendor/cmsdk/system-api/cm_system-removed.txt + +BUILD_MAVEN_PREBUILT := $(TOP)/vendor/replicant/build/core/maven_artifact.mk +PUBLISH_MAVEN_PREBUILT := $(TOP)/vendor/replicant/build/core/maven_artifact_publish.mk diff --git a/build/core/definitions.mk b/build/core/definitions.mk new file mode 100644 index 00000000..c2c157c8 --- /dev/null +++ b/build/core/definitions.mk @@ -0,0 +1,6 @@ +# +# CM-specific macros +# +define uniq +$(if $1,$(firstword $1) $(call uniq,$(filter-out $(firstword $1),$1))) +endef diff --git a/build/core/maven_artifact.mk b/build/core/maven_artifact.mk new file mode 100644 index 00000000..08491d25 --- /dev/null +++ b/build/core/maven_artifact.mk @@ -0,0 +1,56 @@ +# Copyright (C) 2015 The CyanogenMod Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ifeq ($(strip $(LOCAL_MAVEN_GROUP)),) + $(error LOCAL_MAVEN_GROUP not defined.) +endif +ifeq ($(strip $(LOCAL_MAVEN_ARTIFACT)),) + $(error LOCAL_MAVEN_ARTIFACT not defined.) +endif +ifeq ($(strip $(LOCAL_MAVEN_VERSION)),) + $(error LOCAL_MAVEN_VERSION not defined.) +endif +ifeq ($(strip $(LOCAL_MAVEN_REPO)),) + $(error LOCAL_MAVEN_REPO not defined.) +endif +ifeq ($(strip $(LOCAL_MAVEN_PACKAGING)),) + LOCAL_MAVEN_PACKAGING := jar +endif + +artifact_filename := $(LOCAL_MAVEN_GROUP).$(LOCAL_MAVEN_ARTIFACT)-$(LOCAL_MAVEN_VERSION)$(if $(LOCAL_MAVEN_CLASSIFIER),-$(LOCAL_MAVEN_CLASSIFIER)).$(LOCAL_MAVEN_PACKAGING) + +LOCAL_PREBUILT_MODULE_FILE := $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(LOCAL_MODULE),,COMMON)/$(artifact_filename) + +$(LOCAL_PREBUILT_MODULE_FILE): repo := $(LOCAL_MAVEN_REPO) +$(LOCAL_PREBUILT_MODULE_FILE): group := $(LOCAL_MAVEN_GROUP) +$(LOCAL_PREBUILT_MODULE_FILE): artifact := $(LOCAL_MAVEN_ARTIFACT) +$(LOCAL_PREBUILT_MODULE_FILE): version := $(LOCAL_MAVEN_VERSION) +$(LOCAL_PREBUILT_MODULE_FILE): packaging := $(LOCAL_MAVEN_PACKAGING) +$(LOCAL_PREBUILT_MODULE_FILE): classifier := $(LOCAL_MAVEN_CLASSIFIER) +$(LOCAL_PREBUILT_MODULE_FILE): + $(hide) mvn -q org.apache.maven.plugins:maven-dependency-plugin:2.10:get \ + org.apache.maven.plugins:maven-dependency-plugin:2.10:copy \ + -DremoteRepositories=central::::$(repo) \ + -Dartifact=$(group):$(artifact):$(version):$(packaging)$(if $(classifier),:$(classifier)) \ + -Dmdep.prependGroupId=true \ + -Dmdep.overWriteSnapshots=true \ + -Dmdep.overWriteReleases=true \ + -Dtransitive=false \ + -DoutputDirectory=$(dir $@) + @echo -e ${CL_GRN}"Download:"${CL_RST}" $@" + +include $(BUILD_PREBUILT) + +# the "fetchprebuilts" target will go through and pre-download all of the maven dependencies in the tree +fetchprebuilts: $(LOCAL_PREBUILT_MODULE_FILE) \ No newline at end of file diff --git a/build/core/maven_artifact_publish.mk b/build/core/maven_artifact_publish.mk new file mode 100644 index 00000000..f9844739 --- /dev/null +++ b/build/core/maven_artifact_publish.mk @@ -0,0 +1,49 @@ +# Copyright (C) 2015 The CyanogenMod Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +full_target := $(call doc-timestamp-for,$(LOCAL_MODULE)) + +ifeq ($(strip $(LOCAL_MAVEN_POM)),) + $(error LOCAL_MAVEN_POM not defined.) +endif +ifeq ($(strip $(LOCAL_MAVEN_REPO)),) + $(error LOCAL_MAVEN_REPO not defined.) +endif +ifeq ($(strip $(LOCAL_MAVEN_FILE_PATH)),) + $(error LOCAL_MAVEN_FILE_PATH not defined.) +endif +ifeq ($(strip $(LOCAL_MAVEN_REPO_ID)),) + $(error LOCAL_MAVEN_REPO_ID not defined.) +endif + + +$(full_target): pomfile := $(LOCAL_MAVEN_POM) +$(full_target): repo := $(LOCAL_MAVEN_REPO) +$(full_target): path_to_file := $(LOCAL_MAVEN_FILE_PATH) +$(full_target): repoId := $(LOCAL_MAVEN_REPO_ID) +$(full_target): classifier := $(LOCAL_MAVEN_CLASSIFIER) +$(full_target): sources := $(LOCAL_MAVEN_SOURCES) +$(full_target): javadoc := $(LOCAL_MAVEN_JAVADOC) + +$(full_target): + $(hide) mvn -e -X gpg:sign-and-deploy-file \ + -DpomFile=$(pomfile) \ + -Durl=$(repo) \ + -Dfile=$(path_to_file) \ + -DrepositoryId=$(repoId) \ + -Dclassifier=$(classifier) \ + -Dsources=$(sources) \ + -Djavadoc=$(javadoc) + @echo -e ${CL_GRN}"Publishing:"${CL_RST}" $@" +$(LOCAL_MODULE) : $(full_target) \ No newline at end of file diff --git a/build/tools/droiddoc/templates-cmsdk/assets/android-developer-docs.css b/build/tools/droiddoc/templates-cmsdk/assets/android-developer-docs.css new file mode 100644 index 00000000..cd610f74 --- /dev/null +++ b/build/tools/droiddoc/templates-cmsdk/assets/android-developer-docs.css @@ -0,0 +1,2768 @@ +/* file: android-developer-core.css + author: smain + date: september 2008 + info: core developer styles (developer.android.com) + Required by jdiff +*/ + + +/* RESET STYLES */ + +html,body,div,h1,h2,h3,h4,h5,h6,p,img, +dl,dt,dd,ol,ul,li,table,caption,tbody, +tfoot,thead,tr,th,td,form,fieldset, +embed,object,applet { + margin: 0; + padding: 0; + border: 0; +} + +/* BASICS */ + +html, body { + overflow:hidden; /* keeps scrollbar off IE */ + background-color:#fff; +} + +body { + font-family:arial,sans-serif; + color:#000; + font-size:13px; + color:#333; + background-image:url(images/bg_fade.jpg); + background-repeat:repeat-x; +} + +a, a code { + color:#006699; +} + +a:active, +a:active code { + color:#f00; +} + +a:visited, +a:visited code { + color:#006699; +} + +input, select, +textarea, option, label { + font-family:inherit; + font-size:inherit; + padding:0; + margin:0; + vertical-align:middle; +} + +option { + padding:0 4px; +} + +p, form { + padding:0; + margin:0 0 1em; +} + +code, pre { + color:#007000; + font-family:monospace; + line-height:1em; +} + +var { + color:#007000; + font-style:italic; +} + +pre { + border:1px solid #ccc; + background-color:#fafafa; + padding:10px; + margin:0 0 1em 1em; + overflow:auto; + line-height:inherit; /* fixes vertical scrolling in webkit */ +} + +h1,h2,h3,h4,h5 { + margin:1em 0; + padding:0; +} + +p,ul,ol,dl,dd,dt,li { + line-height:1.3em; +} + +ul,ol { + margin:0 0 .8em; + padding:0 0 0 2em; +} + +li { + padding:0 0 .5em; +} + +dl { + margin:0 0 1em 0; + padding:0; +} + +dt { + margin:0; + padding:0; +} + +dd { + margin:0 0 1em; + padding:0 0 0 2em; +} + +li p { + margin:.5em 0 0; +} + +dd p { + margin:1em 0 0; +} + +li pre, li table, li img { + margin:.5em 0 0 1em; +} + +dd pre, +#jd-content dd table, +#jd-content dd img { + margin:1em 0 0 1em; +} + +li ul, +li ol, +dd ul, +dd ol { + margin:0; + padding: 0 0 0 2em; +} + +li li, +dd li { + margin:0; + padding:.5em 0 0; +} + +dl dl, +ol dl, +ul dl { + margin:0 0 1em; + padding:0; +} + +table { + font-size:1em; + margin:0 0 1em; + padding:0; + border-collapse:collapse; + border-width:0; + empty-cells:show; +} + +td,th { + border:1px solid #ccc; + padding:6px 12px; + text-align:left; + vertical-align:top; + background-color:inherit; +} + +th { + background-color:#dee8f1; +} + +td > p:last-child { + margin:0; +} + +hr.blue { + background-color:#DDF0F2; + border:none; + height:5px; + margin:20px 0 10px; +} + +blockquote { + margin: 0 0 1em 1em; + padding: 0 4em 0 1em; + border-left:2px solid #eee; +} +/* LAYOUT */ + +#body-content { + /* "Preliminary" watermark for preview releases and interim builds. + background:transparent url(images/preliminary.png) repeat scroll 0 0; */ + margin:0; + position:relative; + width:100%; +} + +#header { + height: 114px; + position:relative; + z-index:100; + min-width:675px; /* min width for the tabs, before they wrap */ + padding:0 10px; + border-bottom:3px solid #94b922; +} + +#headerLeft{ + padding: 25px 0 0; +} + +#headerLeft img{ + height:50px; + width:180px; +} + +#headerRight { + position:absolute; + right:0; + top:0; + text-align:right; +} + +/* Tabs in the header */ + +#header ul { + list-style: none; + margin: 7px 0 0; + padding: 0; + height: 29px; +} + +#header li { + float: left; + margin: 0px 2px 0px 0px; + padding:0; +} + +#header li a { + text-decoration: none; + display: block; + background-image: url(images/bg_images_sprite.png); + background-position: 0 -58px; + background-repeat: no-repeat; + color: #666; + font-size: 13px; + font-weight: bold; + width: 94px; + height: 29px; + text-align: center; + margin: 0px; +} + +#header li a:hover { + background-image: url(images/bg_images_sprite.png); + background-position: 0 -29px; + background-repeat: no-repeat; +} + +#header li a span { + position:relative; + top:7px; +} + +#header li a span+span { + display:none; +} + +/* tab highlighting */ + +.home #home-link a, +.guide #guide-link a, +.reference #reference-link a, +.sdk #sdk-link a, +.resources #resources-link a, +.videos #videos-link a { + background-image: url(images/bg_images_sprite.png); + background-position: 0 0; + background-repeat: no-repeat; + color: #fff; + font-weight: bold; + cursor:default; +} + +.home #home-link a:hover, +.guide #guide-link a:hover, +.reference #reference-link a:hover, +.sdk #sdk-link a:hover, +.resources #resources-link a:hover, +.videos #videos-link a:hover { + background-image: url(images/bg_images_sprite.png); + background-position: 0 0; +} + +#headerLinks { + margin:10px 10px 0 0; + height:13px; + font-size: 11px; + vertical-align: top; +} + +#headerLinks a { + color: #7FA9B5; +} + +#headerLinks img { + vertical-align:middle; +} + +#language { + margin:0 10px 0 4px; +} + +#search { + height:45px; + margin:15px 10px 0 0; +} + +/* MAIN BODY */ + +#mainBodyFluid { + margin: 20px 10px; + color:#333; +} + +#mainBodyFixed { + margin: 20px 10px; + color: #333; + width:930px; + position:relative; +} + +#mainBodyFixed h3, +#mainBodyFluid h3 { + color:#336666; + font-size:1.25em; + margin: 0em 0em 0em 0em; + padding-bottom:.5em; +} + +#mainBodyFixed h2, +#mainBodyFluid h2 { + color:#336666; + font-size:1.25em; + margin: 0; + padding-bottom:.5em; +} + +#mainBodyFixed h1, +#mainBodyFluid h1 { + color:#435A6E; + font-size:1.7em; + margin: 1em 0; +} + +#mainBodyFixed .green, +#mainBodyFluid .green, +#jd-content .green { + color:#7BB026; + background-color:none; +} + +#mainBodyLeft { + float: left; + width: 600px; + margin-right: 20px; + color: #333; + position:relative; +} + +div.indent { + margin-left: 40px; + margin-right: 70px; +} + +#mainBodyLeft p { + color: #333; + font-size: 13px; +} + +#mainBodyLeft p.blue { + color: #669999; +} + +#mainBodyLeft #communityDiv { + float: left; + background-image:url(images/bg_community_leftDiv.jpg); + background-repeat: no-repeat; + width: 581px; + height: 347px; + padding: 20px 0px 0px 20px; +} + +#mainBodyRight { + float: left; + width: 300px; + color: #333; +} + +#mainBodyRight p { + padding-right: 50px; + color: #333; +} + +#mainBodyRight table { + width: 100%; +} + +#mainBodyRight td { + border:0px solid #666; + padding:0px 5px; + text-align:left; +} + +#mainBodyRight td p { + margin:0 0 1em 0; +} + +#mainBodyRight .blueBorderBox { + border:5px solid #ddf0f2; + padding:18px 18px 18px 18px; + text-align:left; +} + +#mainBodyFixed .seperator { + background-image:url(images/hr_gray_side.jpg); + background-repeat:no-repeat; + width: 100%; + float: left; + clear: both; +} + +#mainBodyBottom { + float: left; + width: 100%; + clear:both; + color: #333; +} + +#mainBodyBottom .seperator { + background-image:url(images/hr_gray_main.jpg); + background-repeat:no-repeat; + width: 100%; + float: left; + clear: both; +} + +/* FOOTER */ + +#footer { + float: left; + width:90%; + margin: 20px; + color: #aaa; + font-size: 11px; +} + +#footer a { + color: #aaa; + font-size: 11px; +} + +#footer a:hover { + text-decoration: underline; + color:#aaa; +} + +#footerlinks { + margin-top:2px; +} + +#footerlinks a, +#footerlinks a:visited { + color:#006699; +} + +/* SEARCH FILTER */ + +#search_autocomplete { + color:#aaa; +} + +#search-button { + display:inline; +} + +#search_filtered_div { + position:absolute; + margin-top:-1px; + z-index:101; + border:1px solid #BCCDF0; + background-color:#fff; +} + +#search_filtered { + min-width:100%; +} +#search_filtered td{ + background-color:#fff; + border-bottom: 1px solid #669999; + line-height:1.5em; +} + +#search_filtered .jd-selected { + background-color: #94b922; + cursor:pointer; +} +#search_filtered .jd-selected, +#search_filtered .jd-selected a { + color:#fff; +} + +.no-display { + display: none; +} + +.jd-autocomplete { + font-family: Arial, sans-serif; + padding-left: 6px; + padding-right: 6px; + padding-top: 1px; + padding-bottom: 1px; + font-size: 0.81em; + border: none; + margin: 0; + line-height: 1.05em; +} + +.show-row { + display: table-row; +} +.hide-row { + display: hidden; +} + +/* SEARCH */ + +/* restrict global search form width */ +#searchForm { + width:350px; +} + +#searchTxt { + width:200px; +} + +/* disable twiddle and size selectors for left column */ +#leftSearchControl div { + width: 100%; +} + +#leftSearchControl .gsc-twiddle { + background-image : none; +} + +#leftSearchControl td, #searchForm td { + border: 0px solid #000; +} + +#leftSearchControl .gsc-resultsHeader .gsc-title { + padding-left : 0px; + font-weight : bold; + font-size : 13px; + color:#006699; + display : none; +} + +#leftSearchControl .gsc-resultsHeader div.gsc-results-selector { + display : none; +} + +#leftSearchControl .gsc-resultsRoot { + padding-top : 6px; +} + +#leftSearchControl div.gs-visibleUrl-long { + display : block; + color:#006699; +} + +.gsc-webResult div.gs-visibleUrl-short, +table.gsc-branding, +.gsc-clear-button { + display : none; +} + +.gsc-cursor-box .gsc-cursor div.gsc-cursor-page, +.gsc-cursor-box .gsc-trailing-more-results a.gsc-trailing-more-results, +#leftSearchControl a, +#leftSearchControl a b { + color:#006699; +} + +.gsc-resultsHeader { + display: none; +} + +/* Disable built in search forms */ +.gsc-control form.gsc-search-box { + display : none; +} +table.gsc-search-box { + margin:6px 0 0 0; + border-collapse:collapse; +} + +td.gsc-input { + padding:0 2px; + width:100%; + vertical-align:middle; +} + +input.gsc-input { + border:1px solid #BCCDF0; + width:99%; + padding-left:2px; + font-size:.95em; +} + +td.gsc-search-button { + text-align: right; + padding:0; + vertical-align:top; +} + +#search-button { + margin:0 0 0 2px; + font-size:11px; +} + +/* search result tabs */ + +#doc-content .gsc-control { + position:relative; +} + +#doc-content .gsc-tabsArea { + position:relative; + white-space:nowrap; +} + +#doc-content .gsc-tabHeader { + padding: 3px 6px; + position:relative; + width:auto; +} + +#doc-content .gsc-tabHeader.gsc-tabhActive { + border-top: 2px solid #94B922; +} + +#doc-content h2#searchTitle { + padding:0; +} + +#doc-content .gsc-resultsbox-visible { + padding:1em 0 0 6px; +} + +/* CAROUSEL */ + +#homeMiddle { + padding: 0px 0px 0px 0px; + float: left; + width: 584px; + height: 627px; + position:relative; +} + +#topAnnouncement { + background:url(images/home/bg_home_announcement.png) no-repeat 0 0; +} + +#homeTitle { + padding:15px 15px 0; + height:30px; +} + +#homeTitle h2 { + padding:0; +} + +#announcement-block { + padding:0 15px 0; + overflow:hidden; + background: url(images/hr_gray_side.jpg) no-repeat 15px 0; + zoom:1; +} + +#announcement-block>* { + padding:15px 0 0; +} + +#announcement-block img { + float:left; + margin:0 30px 0 0; +} + +#announcement { + float:left; + margin:0; +} + +#carousel { + background:url(images/home/bg_home_carousel.png) no-repeat 0 0; + position:relative; + height:400px; +} + +#carouselMain { + background: url(images/home/bg_home_carousel_board.png) 0 0 no-repeat; + height:auto; + padding: 25px 21px 0; + overflow:hidden; + position:relative; + zoom:1; /*IE6*/ +} + +#carouselMain img { + margin:0; +} + +#carouselMain .bulletinDesc h3 { + margin:0; + padding:0; +} + +#carouselMain .bulletinDesc p { + margin:0; + padding:0.7em 0 0; +} + +#carouselWheel { + background: url(images/home/bg_home_carousel_wheel.png) 0 0 no-repeat; + padding-top:40px; + height:150px; +} + +.clearer { clear:both; } + +a#arrow-left, a#arrow-right { + float:left; + width:42px; + height:42px; + background-image:url(images/home/carousel_buttons_sprite.png); + background-repeat:no-repeat; +} +a#arrow-left { + margin:35px 3px 0 10px; +} +a#arrow-right { + margin:35px 10px 0 0; +} +a.arrow-left-off, +a#arrow-left.arrow-left-off:hover { + background-position:0 0; +} +a.arrow-right-off, +a#arrow-right.arrow-right-off:hover { + background-position:-42px 0; +} +a#arrow-left:hover { + background-position:0 -42px; +} +a#arrow-right:hover { + background-position:-42px -42px; +} +a.arrow-left-on { + background-position:0 0; +} +a.arrow-right-on { + background-position:-42px 0; +} +a.arrow-right-off, +a.arrow-left-off { + cursor:default; +} + +.app-list-container { + margin:0 20px; + position:relative; + width:100%; +} + +div#list-clip { + height:110px; + width:438px; + overflow:hidden; + position:relative; + float:left; +} + +div#app-list { + left:0; + z-index:1; + position:absolute; + margin:11px 0 0; + _margin-top:13px; + width:1000%; +} + +#app-list a { + display:block; + float:left; + height:90px; + width:90px; + margin:0 24px 0; + padding:3px; + background:#99cccc; + -webkit-border-radius:7px; + -moz-border-radius:7px; + border-radius:7px; + text-decoration:none; + text-align:center; + font-size:11px; + line-height:11px; +} + +#app-list a span { + position:relative; + top:-4px; +} + +#app-list img { + width:90px; + height:70px; + margin:0; +} + +#app-list a.selected, +#app-list a:active.selected, +#app-list a:hover.selected { + background:#A4C639; + color:#fff; + cursor:default; + text-decoration:none; +} + +#app-list a:hover, +#app-list a:active { + background:#ff9900; +} + +#app-list a:hover span, +#app-list a:active span { + text-decoration:underline; +} + +#droid-name { + padding-top:.5em; + color:#666; + padding-bottom:.25em; +} + +/*IE6*/ +* html #app-list a { zoom: 1; margin:0 24px 0 15px;} + +* html #list-clip { + width:430px !important; +} + +/*carousel bulletin layouts*/ +/*460px width*/ +/*185px height*/ +.img-left { + float:left; + width:230px; + overflow:hidden; + padding:8px 0 8px 8px; +} +.desc-right { + float:left; + width:270px; + padding:10px; +} +.img-right { + float:right; + width:220px; + overflow:hidden; + padding:8px 8px 8px 0; +} +.desc-left { + float:right; + width:280px; + padding:10px; + text-align:right; +} +.img-top { + padding:20px 20px 0; +} +.desc-bottom { + padding:10px; +} + + +/* VIDEO PAGE */ + +#mainBodyLeft.videoPlayer { + width:570px; +} + +#mainBodyRight.videoPlayer { + width:330px; +} + +/* player */ + +#videoPlayerBox { + background-color: #DAF3FC; + border-radius:7px; + -moz-border-radius:7px; + -webkit-border-radius:7px; + width:530px; + padding:20px; + border:1px solid #d3ecf5; + box-shadow:2px 3px 1px #eee; + -moz-box-shadow:2px 3px 1px #eee; + -webkit-box-shadow:2px 3px 1px #eee; +} + +#videoBorder { + background-color: #FFF; + min-height:399px; + height:auto !important; + border:1px solid #ccdada; + border-radius:7px 7px 0 0; + -moz-border-radius:7px 7px 0 0; + -webkit-border-top-left-radius:7px; + -webkit-border-top-right-radius:7px; +} + +#videoPlayerTitle { + width:500px; + padding:15px 15px 0; +} + +#videoPlayerTitle h2 { + font-weight:bold; + font-size:1.2em; + color:#336666; + margin:0; + padding:0; +} + +#objectWrapper { + padding:15px 15px; + height:334px; + width:500px; +} + +/* playlist tabs */ + +ul#videoTabs { + list-style-type:none; + padding:0; + clear:both; + margin:0; + padding: 20px 0 0 15px; + zoom:1; /* IE7/8, otherwise top-padding is double */ +} + +ul#videoTabs li { + display:inline; + padding:0; + margin:0 3px 0 0; + line-height:2em; +} + +ul#videoTabs li a { + border-radius:7px 7px 0 0; + -moz-border-radius:7px 7px 0 0; + -webkit-border-top-left-radius:7px; + -webkit-border-top-right-radius:7px; + background:#95c0d0; + color:#fff; + text-decoration:none; + padding:.45em 1.5em; + font-weight:bold; +} + +ul#videoTabs li.selected a { + font-weight:bold; + text-decoration:none; + color:#555; + background:#daf3fc; + border-bottom:1px solid #daf3fc; +} + +ul#videoTabs li:hover a { + background:#85acba; +} + +ul#videoTabs li.selected:hover a { + background:#daf3fc; +} + +/* playlists */ + +#videos { + background:#daf3fc; + margin-bottom:1.5em; + padding:15px; + border-radius:5px; + -moz-border-radius:5px; + -webkit-border-radius:5px; + box-shadow:2px 3px 1px #eee; + -moz-box-shadow:2px 3px 1px #eee; + -webkit-box-shadow:2px 3px 1px #eee; +} + +#videos div { + display:none; +} + +#videos div.selected { + display:block; +} + +ul.videoPreviews { + list-style:none; + padding:0; + margin:0; + zoom:1; /* IE, otherwise, layout doesn't update when showing 'more' */ +} + +ul.videoPreviews li { + margin:0 0 5px; + padding:0; + overflow:hidden; + position:relative; +} + +#mainBodyFixed ul.videoPreviews h3 { + font-size: 12px; + margin:0 0 1em 130px; + padding:0; + font-weight:bold; + color:inherit; +} + +ul.videoPreviews a { + margin:1px; + padding:10px; + text-decoration:none; + height:90px; + display:block; + border-radius:5px; + -moz-border-radius:5px; + -webkit-border-radius:5px; + background-color:transparent; +} + +ul.videoPreviews a:hover { + background-color:#FFF; + border:none; /* IE8, otherwise, bg doesn't work */ +} + +ul.videoPreviews a.selected { + background-color: #FF9900; +} + +ul.videoPreviews img { + float:left; + clear:left; + margin:0; +} + +ul.videoPreviews h3 { + font-size:12px; + font-weight:bold; + text-decoration:none; + margin:0 0 1em 130px; + padding:0; +} + +ul.videoPreviews p { + font-size: 12px; + text-decoration:none; + margin:0 0 1.2em 130px; +} + +ul.videoPreviews p.full { + display:none; +} + +ul.videoPreviews span.more { + padding:0 0 0 12px; + background:url(images/arrow_bluelink_down.png) 0 2px no-repeat; +} + +ul.videoPreviews span.less { + padding:0 0 0 12px; + background:url(images/arrow_bluelink_up.png) 0 2px no-repeat; + display:none; +} + +ul.videoPreviews p.toggle { + position:absolute; + margin:0; + margin-top:-23px; /* instead of bottom:23px, because IE won't do it correctly */ + left:140px; +} + +ul.videoPreviews p.toggle a { + height:auto; + margin:0; + padding:0; + zoom:1; /* IE6, otherwise the margin considers the img on redraws */ +} + +ul.videoPreviews p.toggle a:hover { + text-decoration:underline; + background:transparent; /* IE6, otherwise it inherits white */ +} + +/* featured videos */ + +#mainBodyRight h2 { + padding:0 0 5px; +} + +#mainBodyRight ul.videoPreviews { + margin:10px 0 0; +} + +#mainBodyRight ul.videoPreviews li { + font-size:11px; + line-height:13px; + margin:0 0 5px; + padding:0; +} + +#mainBodyRight ul.videoPreviews h3 { + padding:0; + margin:0; + font-size:100%; +} + +#mainBodyRight ul.videoPreviews a { + text-decoration:none; + height:108px; + border:1px solid #FFF; +} + +#mainBodyRight ul.videoPreviews a:hover { + border:1px solid #CCDADA; +} + +#mainBodyRight ul.videoPreviews a.selected { + border:1px solid #FFF; +} + +#mainBodyRight ul.videoPreviews p { + line-height:1.2em; + padding:0; + margin:4px 0 0 130px; +} + +#mainBodyRight ul.videoPreviews img { + margin-top:5px; +} + +/* Pretty printing styles. Used with prettify.js. */ + +.str { color: #080; } +.kwd { color: #008; } +.com { color: #800; } +.typ { color: #606; } +.lit { color: #066; } +.pun { color: #660; } +.pln { color: #000; } +dl.tag-list dt code, +.tag { color: #008; } +dl.atn-list dt code, +.atn { color: #828; } +.atv { color: #080; } +.dec { color: #606; } + +@media print { + .str { color: #060; } + .kwd { color: #006; font-weight: bold; } + .com { color: #600; font-style: italic; } + .typ { color: #404; font-weight: bold; } + .lit { color: #044; } + .pun { color: #440; } + .pln { color: #000; } + .tag { color: #006; font-weight: bold; } + .atn { color: #404; } + .atv { color: #060; } +} + + +#title { + border-bottom: 4px solid #ccc; + display:none; +} + +#title h1 { + color:#336666; + margin:0; + padding: 5px 10px; + font-size: 1em; + line-height: 15px; +} + +#title h1 .small{ + color:#000; + margin:0; + font-size: 13px; + padding:0 0 0 15px; +} + +/* SIDE NAVIGATION */ + +#side-nav { + padding:0 6px 0 0; + background-color: #fff; + font-size:12px; +} + +#resize-packages-nav { +/* keeps the resize handle below the h-scroll handle */ + height:270px; + overflow:hidden; + max-height:100%; +} + +#packages-nav { + height:270px; + max-height:inherit; + position:relative; + overflow:auto; +} + +#classes-nav, +#devdoc-nav { + overflow:auto; + position:relative; +} + +#side-nav ul { + list-style: none; + margin: 0; + padding:5px 0; +} + +#side-nav ul ul { + margin: .5em 0 0 0; + padding: 0; +} + +#side-nav li { + padding:0; + padding:1px 0 1px 0; + zoom:1; +} + +#side-nav li span.heading, +#side-nav li h2 { + display:block; + font-size:12px; + font-weight: bold; + margin:.5em 0 0 0; + padding: 3px 0 1px 9px; +} + +#side-nav li a { + display: inline-block; /* needed to apply padding to line-wraps */ + text-decoration:none; + padding: 0 0 0 18px; + zoom:1; +} + +#side-nav li a span+span { + display:none; +} + +#side-nav li a:hover { + text-decoration:underline; +} + +#side-nav li a+a { + padding: 0; +} +/*second level (nested) list*/ +#side-nav li li li a { + padding: 0 0 0 28px; +} +/*third level (nested) list*/ +#side-nav li li li li a { + padding: 0 0 0 38px; +} + +#side-nav .selected { + background-color: #435a6e; + color: #fff; + font-weight:bold; +} + +#side-nav .selected a { + color: #fff; + text-decoration:none; +} + +#side-nav strong { + display:block; +} + +#side-nav .toggle-list .toggle-img { + margin:0; + padding:0; + position:absolute; + top:0; + left:0; + height:16px; + width:15px; + outline-style:none; +} +/* second-level toggle */ +#side-nav .toggle-list .toggle-list .toggle-img { + left:10px; +} + +#side-nav .closed .toggle-img, +#side-nav .open .closed .toggle-img { + background:url('images/triangle-closed-small.png') 7px 4px no-repeat; +} +#side-nav .open .toggle-img { + background:url('images/triangle-opened-small.png') 7px 4px no-repeat; +} + +#side-nav .toggle-list { + position:relative; +} + +#side-nav .toggle-list ul { + margin:0; + display:none; +} + +#side-nav .toggle-list div { + display:block; +} + +#index-links .selected { + background-color: #fff; + color: #000; + font-weight:normal; + text-decoration:none; +} + +#index-links { + padding:7px 0 4px 10px; +} + +/* nav tree */ + +#nav-tree ul { + padding:5px 0 1.5em; +} + +#side-nav #nav-tree ul li a, +#side-nav #nav-tree ul li span.no-children { + padding: 0 0 0 0; + margin: 0; +} + +#nav-tree .plus { + margin: 0 3px 0 0; +} + +#nav-tree ul ul { + list-style: none; + margin: 0; + padding: 0 0 0 0; +} + +#nav-tree ul li { + margin: 0; + padding: 0 0 0 0; + white-space: nowrap; +} + +#nav-tree .children_ul { + margin:0; +} + +#nav-tree a.nolink { + color: black; + text-decoration: none; +} + +#nav-tree span.label { + width: 100%; +} + +#nav-tree { + overflow-x: auto; + overflow-y: scroll; +} + +#nav-swap { + font-size:10px; + line-height:10px; + margin-left:1em; + text-decoration:none; + display:block; +} + +#tree-link { + +} + +/* DOCUMENT BODY */ + +#doc-content { + overflow:auto; +} + +#jd-header { + background-color: #E2E2E2; + padding: 7px 15px; +} + +#jd-header h1 { + margin: 0 0 10px; + font-size:1.7em; +} + +#jd-header .crumb { + font-size:.9em; + line-height:1em; + color:#777; +} + +#jd-header .crumb a, +#jd-header .crumb a:visited { + text-decoration:none; + color:#777; +} + +#jd-header .crumb a:hover { + text-decoration:underline; +} + +#jd-header table { + margin:0; + padding:0; +} + +#jd-header td { + border:none; + padding:0; + vertical-align:top; +} + +#jd-header.guide-header { + background-color:#fff; + color:#435a6e; + height:50px; +} + +#jd-descr { + position:relative; +} + +/* summary tables for reference pages */ +.jd-sumtable { + margin: .5em 1em 1em 1em; + width:95%; /* consistent table widths; within IE's quirks */ + font-size:.9em; +} + +.jd-sumtable a { + text-decoration:none; +} + +.jd-sumtable a:hover { + text-decoration:underline; +} + +/* the link inside a sumtable for "Show All/Hide All" */ +.toggle-all { + display:block; + float:right; + font-weight:normal; + font-size:0.9em; +} + +/* adjustments for in/direct subclasses tables */ +.jd-sumtable-subclasses { + margin: 1em 0 0 0; + max-width:968px; +} + +/* extra space between end of method name and open-paren */ +.sympad { + margin-right: 2px; +} + +/* right alignment for the return type in sumtable */ +.jd-sumtable .jd-typecol { + text-align:right; +} + +/* adjustments for the expando table-in-table */ +.jd-sumtable-expando { + margin:.5em 0; + padding:0; +} + +/* a div that holds a short description */ +.jd-descrdiv { + padding:3px 1em 0 1em; + margin:0; + border:0; +} + +/* page-top-right container for reference pages (holds +links to summary tables) */ +#api-info-block { + font-size:.8em; + padding:6px 10px; + font-weight:normal; + float:right; + text-align:right; + color:#999; + max-width:70%; +} + +#api-level-toggle { + padding:0 10px; + font-size:11px; + float:right; +} + +#api-level-toggle label.disabled { + color:#999; +} + +div.api-level { + font-size:.8em; + font-weight:normal; + color:#999; + float:right; + padding:0 7px 0; + margin-top:-25px; +} + +#api-info-block div.api-level { + font-size:1.3em; + font-weight:bold; + float:none; + color:#444; + padding:0; + margin:0; +} + +/* Force link colors for IE6 */ +div.api-level a { + color:#999; +} +#api-info-block div.api-level a:link { + color:#444; +} +#api-level-toggle a { + color:#999; +} + +div#deprecatedSticker { + display:none; + z-index:99; + position:fixed; + right:15px; + top:114px; + margin:0; + padding:1em; + background:#FFF; + border:1px solid #dddd00; + box-shadow:-5px 5px 10px #ccc; + -moz-box-shadow:-5px 5px 10px #ccc; + -webkit-box-shadow:-5px 5px 10px #ccc; +} + +div#naMessage { + display:none; + width:555px; + height:0; + margin:0 auto; +} + +div#naMessage div { + z-index:99; + width:450px; + position:fixed; + margin:50px 0; + padding:4em 4em 3em; + background:#FFF; + border:1px solid #dddd00; + box-shadow:-10px 10px 40px #888; + -moz-box-shadow:-10px 10px 40px #888; + -webkit-box-shadow:-10px 10px 40px #888; +} +/* IE6 can't position fixed */ +* html div#naMessage div { position:absolute; } + +div#naMessage strong { + font-size:1.1em; +} + +.absent, +.absent a:link, +.absent a:visited, +.absent a:hover, +.absent * { + color:#bbb !important; + cursor:default !important; + text-decoration:none !important; +} + +#api-level-toggle a, +.api-level a { + color:inherit; + text-decoration:none; +} + +#api-level-toggle a:hover, +.api-level a:hover { + color:inherit; + text-decoration:underline !important; + cursor:pointer !important; +} + +#side-nav li.absent.selected, +#side-nav li.absent.selected *, +#side-nav div.label.absent.selected, +#side-nav div.label.absent.selected * { + background-color:#eaeaea !important; +} +/* IE6 quirk (won't chain classes, so just keep background blue) */ +* html #side-nav li.selected, +* html #side-nav li.selected *, +* html #side-nav div.label.selected, +* html #side-nav div.label.selected * { + background-color: #435a6e !important; +} + + +.absent h4.jd-details-title, +.absent h4.jd-details-title * { + background-color:#f6f6f6 !important; +} + +.absent img { + opacity: .3; + filter: alpha(opacity=30); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; +} + + +/* applies to a div containing links to summary tables */ +.sum-details-links { + padding:0; + font-weight:normal; +} + +.sum-details-links a { + text-decoration:none; +} + +.sum-details-links a:hover { + text-decoration:underline; +} + + +/* inheritance table */ +.jd-inheritance-table { + border-spacing:0; + margin:0; + padding:0; + font-size:.9em; +} +.jd-inheritance-table td { + border: none; + margin: 0; + padding: 0; +} +.jd-inheritance-table .jd-inheritance-space { + font-weight:bold; + width:1em; +} +.jd-inheritance-table .jd-inheritance-interface-cell { + padding-left: 17px; +} + +#jd-content { + padding: 18px 15px; +} + +hr { + background-color:#ccc; + border-color:#fff; + margin:2em 0 1em; +} + +/* DOC CLASSES */ + +#jd-content h1 { +/*sdk page*/ + font-size:1.6em; + color:#336666; + margin:0 0 .5em; +} + +#jd-content h2 { + font-size:1.45em; + color:#111; + border-top:2px solid #ccc; + padding: .5em 0 0; + margin: 2em 0 1em 0; +} + +#jd-content h3 { + font-size:1.3em; + color:#3a3a3a; + padding: 0; + margin: 1.5em 0 .65em 0; +} + +#jd-content h4 { + font-size:1.1em; + color:#3a3a3a; + padding: 0; + margin: 1.25em 0 .65em 0; +} + +#jd-content h5 { + font-size:1.0em; + color:#3a3a3a; + padding: 0; + margin: 1em 0 .65em 0; +} + +#jd-content .small-header { + font-size:1em; + color:#000; + font-weight:bold; + border:none; + padding:0; + margin:1em 0 .5em; + position:inherit; +} + +#jd-content table { + margin: 0 0 1em 1em; +} + +#jd-content img { + margin: 0 0 1em 1em; +} + +#jd-content li img, +#jd-content dd img { + margin:.5em 0 .5em 1em; +} + +.nolist { + list-style:none; + padding:0; + margin:0 0 1em 1em; +} + +.nolist li { + padding:0 0 2px; + margin:0; +} + +h4 .normal { + font-size:.9em; + font-weight:normal; +} + +.caps { + font-variant:small-caps; + font-size:1.2em; +} + +dl.tag-list dl.atn-list { + padding:0 0 0 2em; +} + +.jd-details { +/* border:1px solid #669999; + padding:4px; */ + margin:0 0 1em; +} + +/* API reference: a container for the +.tagdata blocks that make up the detailed +description */ +.jd-details-descr { + padding:0; + margin:.5em .25em; +} + +/* API reference: a block containing +a detailed description, a params table, +seealso list, etc */ +.jd-tagdata { + margin:.5em 1em; +} + +.jd-tagdata p { + margin:0 0 1em 1em; +} + +/* API reference: adjustments to +the detailed description block */ +.jd-tagdescr { + margin:.25em 0 .75em 0; + line-height:1em; +} + +.jd-tagdescr p { + margin:.5em 0; + padding:0; + +} + +.jd-tagdescr ol, +.jd-tagdescr ul { + margin:0 2.5em; + padding:0; +} + +.jd-tagdescr table, +.jd-tagdescr img { + margin:.25em 1em; +} + +.jd-tagdescr li { +margin:0 0 .25em 0; +padding:0; +} + +/* API reference: heading marking +the details section for constants, +attrs, methods, etc. */ +h4.jd-details-title { + font-size:1.15em; + background-color: #E2E2E2; + margin:1.5em 0 .6em; + padding:3px 95px 3px 3px; /* room for api-level */ +} + +h4.jd-tagtitle { + margin:0; +} + +/* API reference: heading for "Parameters", "See Also", etc., +in details sections */ +h5.jd-tagtitle { + margin:0 0 .25em 0; + font-size:1em; +} + +.jd-tagtable { + margin:0; +} + +.jd-tagtable td, +.jd-tagtable th { + border:none; + background-color:#fff; + vertical-align:top; + font-weight:normal; + padding:2px 10px; +} + +.jd-tagtable th { + font-style:italic; +} + +#jd-content table h2 { + background-color: #d6d6d6; + font-size: 1.1em; + margin:0 0 10px; + padding:5px; + left:0; + width:auto; +} + +div.design-announce { + border-top:1px solid #33B5E5; + border-bottom:1px solid #33B5E5; + padding:5px 10px 10px 55px; + margin:2em 0; + background:url('images/icon_design.png') 5px 13px no-repeat; +} + +div.design-announce p { + margin: .5em 0 0 0; +} + +div.special { + padding: .5em 1em 1em 1em; + margin: 0 0 1em; + background-color: #DAF3FC; + border:1px solid #d3ecf5; + border-radius:5px; + -moz-border-radius:5px; + -webkit-border-radius:5px; +} + +div.special p { + margin: .5em 0 0 0; +} + +div.special ol { + margin: 0; +} + +div.special ol li { + margin: 0; + padding: 0; +} + +#jd-content div.special h2, +#jd-content div.special h3 { + color:#669999; + font-size:1.2em; + border:none; + margin:0 0 .5em; + padding:0; +} + +#jd-content div.special.reference h2, +#jd-content div.special.reference h3, +#jd-content div.special.reference h4 { + color:#000; + font-size:1em; + border:none; + font-weight:bold; + margin:.5em 0; + padding:0; +} + +p.note, div.note, +p.caution, div.caution, +p.warning, div.warning { + margin: 1em; + padding: 0 0 0 .5em; + border-left: 4px solid; +} + +p.special-note, +div.special-note { + background-color:#EBF3DB; + padding:10px 20px; + margin:0 0 1em; +} + +p.note, +div.note { + border-color: #99aacc; +} + +p.warning, +div.warning { + border-color: #aa0033; +} + +p.caution, +div.caution { + border-color: #ffcf00; +} + +li .note, +li .caution, +li .warning { + margin: .5em 0 0 0; + padding: .2em .5em .2em .9em; +} + +/* Makes sure the first paragraph does not add top-whitespace within the box*/ +li .note>p:first-child, +li .caution>p:first-child, +li .warning>p:first-child { + margin-top:0; + padding-top:0; +} + +dl.xml dt { + font-variant:small-caps; + font-size:1.2em; +} + +dl.xml dl { + padding:0; +} + +dl.xml dl dt { + font-variant:normal; + font-size:1em; +} + +.listhead li { + font-weight: bold; +} + +.listhead li *, /*ie*/.listhead li li { + font-weight: normal; +} + +ol.no-style, +ul.no-style { + list-style:none; + padding-left:1em; +} + +.new, +.new-child { + font-size: .78em; + font-weight: bold; + color: #ff3d3d; + text-decoration: none; + vertical-align:top; + line-height:.9em; + white-space:nowrap; +} + +.toggle-list.open .new-child { + display:none; +} + +pre.classic { + background-color:transparent; + border:none; + padding:0; +} + +p.img-caption { + margin: -0.5em 0 1em 1em; /* matches default img left-margin */ +} + +div.figure { + float:right; + clear:right; + margin:1em 0 0 0; + padding:0 0 0 3em; + background-color:#fff; + /* width must be defined w/ an inline style matching the image width */ +} + +#jd-content +div.figure img { + margin: 0 0 1em; +} + +div.figure p.img-caption { + margin: -0.5em 0 1em 0; +} + +p.table-caption { + margin: 0 0 0.5em 1em; /* matches default table left-margin */ +} + + +/* toggle for misc content (such as long sample code) + see toggleContent() script in android-developer-docs.js */ +.toggle-content.closed .toggle-content-toggleme { + display:none; +} + +.toggle-content a[href="#"] { + text-decoration:none; + color:inherit; +} + +.toggle-content-toggleme { + padding-bottom:1px; /* fixes animation bounce due to margins */ +} + +#jd-content .toggle-content img.toggle-content-img { + margin:0; +} + + +/* BEGIN quickview sidebar element styles */ + +#qv-wrapper { + float: right; + width:310px; /* +35px padding */ + background-color:#fff; + margin:-48px 0 2px 0; + padding:0 0 20px 35px; +} + +#qv { + background-color:#fff; + border:4px solid #dee8f1; + margin:0; + padding:0 5px 5px; + width:292px; /* +10px padding; +8px border */ + font-size:.9em; +} + +#qv ol { + list-style:none; + padding: 0; +} + +#qv ol ol{ + list-style:none; + padding: 0 0 0 12px; + margin:0; +} + +#qv ul { + padding: 0 10px 0 2em; +} + +#qv li { + padding: 0 10px 3px; + line-height: 1.2em; +} + +#qv li li { + padding: 3px 10px 0; +} + +#qv ul li { + padding: 0 10px 0 0; +} + +#qv li.selected a { + color:#555; + text-decoration:none; +} + +#qv a, +#qv a code { + color:#cc6600; +} + +#qv p { + margin:8px 0 0; + padding:0 10px; +} + +#jd-content #qv h2 { + font-size:1.05em; + font-weight:bold; + margin:12px 0 .25em 0; + padding:0 10px; + background-color:transparent; + color:#7BB026; + border:none; + left:0; + z-index:1; +} + +#qv-extra #rule { + padding: 0 10px; + margin: 0; +} + +#qv-sub-rule { + padding: 5px 15px 10px; + margin: 0; +} + +#jd-content +#qv-sub-rule h2 { + margin: 0 0 .5em 0; +} + +/* END quickview sidebar element styles */ + +/* Begin sidebox sidebar element styles */ + +.sidebox-wrapper { + float:right; + clear:right; + width:310px; /* +35px padding */ + background-color:#fff; + margin:0; + padding:0 0 20px 35px; +} + +.sidebox { + border-left:1px solid #dee8f1; + background-color:#ffffee; + margin:0; + padding:8px 12px; + font-size:0.9em; + width:285px; /* +24px padding; +1px border */ +} + +.sidebox p { + margin-bottom: .75em; +} + +.sidebox ul { + padding: 0 0 0 1.5em; +} + +.sidebox li ul { + margin-top:0; + margin-bottom:.1em; +} + +.sidebox li { +padding:0 0 0 0em; +} + +#jd-content .sidebox h2, +#jd-content .sidebox h3, +#jd-content .sidebox h4, +#jd-content .sidebox h5 { + border:none; + font-size:1em; + margin:0; + padding:0 0 8px; + left:0; + z-index:0; +} + +.sidebox hr { + background-color:#ccc; + border:none; +} + +/* End sidebox sidebar element styles */ + +/* BEGIN developer training bar styles */ + +div#tb-wrapper { + float: right; + clear:right; + width:380px; /* +25px padding = 405 */ + background-color:#fff; + margin:0 0 2px 0; + padding:0 0 20px 25px; +} + +div#tb { + margin:0; + padding:0 15px; + width:350px; /* +15px padding = 380 */ + font-size:.9em; + background:#e9e9e9; + border:1px solid #aaa; + border-radius:5px; + -moz-border-radius:5px; + -webkit-border-radius:5px; + overflow:auto; +} + +div#tb h2 { + font-size:1.3em; + font-weight:bold; + margin:1em 0; + padding:0; + background-color:transparent; + border:none; + clear:both; +} + +div.download-box a.button { + color: #069; + font-size:1.1em; + font-weight:bold; + text-decoration:none; + height:27px; + line-height:27px; + text-align:center; + padding:5px 8px; + background-color: #fff; + border: 1px solid #aaa; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; +} + +div.download-box a.button:hover { + border-color: #09C; + background-color: #4CADCB; + background-image: -webkit-gradient(linear,left top,left bottom,from(#5dbcd9),to(#4cadcb)); + background-image: -webkit-linear-gradient(top,#5dbcd9,#4cadcb); + background-image: -moz-linear-gradient(top,#5dbcd9,#4cadcb); + background-image: -ms-linear-gradient(top,#5dbcd9,#4cadcb); + background-image: -o-linear-gradient(top,#5dbcd9,#4cadcb); + background-image: linear-gradient(top,#5dbcd9,#4cadcb); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#5dbcd9',EndColorStr='#4cadcb'); + color: #fff; +} + +div.download-box a.button:active { + background-color: #1E799A; + background-image: none; + border-color: #30B7E6; +} + +div.download-box p.filename { + font-size:0.85em; + color:#888; + margin:4px 0 1em 10px; +} + +/* End developer training bar */ + +/* Training nav bar (previous/next) */ + +div.training-nav-top { + float: right; + width:380px; /* +25px padding = 405 */ + margin:-58px 0 0 0; + padding:0 0 20px 25px; +} + +div.training-nav-bottom { + padding:1px; /* for weird FF bug (scrollbar appears) */ + margin:3em 0; + overflow:auto; +} + +div.training-nav-button-next a, +div.training-nav-button-previous a { + display:block; + width:160px; + height:55px; + padding:4px 7px; + border:1px solid #aaa; + border-radius:5px; + -moz-border-radius:5px; + -webkit-border-radius:5px; + text-decoration:none; + font-weight:bold; +} + +div.training-nav-button-next a:hover, +div.training-nav-button-previous a:hover { + border:1px solid #069; /* match link color */ +} + +div.training-nav-button-next a:active, +div.training-nav-button-previous a:active { + border:1px solid #f00; /* match link color */ +} + +div.training-nav-button-previous { + float:left; + text-align:left; +} + +div.training-nav-button-next { + float:right; + text-align:right; +} + +span.training-nav-button-title { + display:block; + font-size:.85em; + font-weight:normal; + line-height:1.3em; + margin:.5em 0 0; +} + +/* End training nav bar */ + +/* BEGIN image and caption styles (originally for UI Guidelines docs) */ + +table.image-caption { + padding:0; + margin:.5em 0; + border:0; +} + +td.image-caption-i { + font-size:92%; + padding:0 5px; + margin:0; + border:0; +} + +td.image-caption-i img { + padding:0 1em; + margin:0; +} + +.image-list { + width:24px; + text-align:center; +} + +td.image-caption-c { + font-size:92%; + padding:1em 2px 2px 2px; + margin:0; + border:0; + width:350px; +} + +.grad-rule-top { +background-image:url(images/grad-rule-qv.png); +background-repeat:no-repeat; +padding-top:1em; +margin-top:0; +} + +.image-caption-nested { + margin-top:0; + padding:0 0 0 1em; +} + +.image-caption-nested td { + padding:0 4px 2px 0; + margin:0; + border:0; +} + +/* END image and caption styles */ + +/* table of contents */ + +ol.toc { + margin: 0 0 1em 0; + padding: 0; + list-style: none; + font-size:95%; +} + +ol.toc li { + font-weight: bold; + margin: 0 0 .5em 1em; + padding: 0; +} + +ol.toc li p { + font-weight: normal; +} + +ol.toc li ol { + margin: 0; + padding: 0; +} + +ol.toc li li { + padding: 0; + margin: 0 0 0 1em; + font-weight: normal; + list-style: none; +} + +table ol.toc { + margin-left: 0; +} + +.columns td { + padding:0 5px; + border:none; +} + +/* link table */ +.jd-linktable { + margin: 0 0 1em; + border-bottom: 1px solid #888; +} +.jd-linktable th, +.jd-linktable td { + padding: 3px 5px; + vertical-align: top; + text-align: left; + border:none; +} +.jd-linktable tr { + background-color: #fff; +} +.jd-linktable td { + border-top: 1px solid #888; + background-color: inherit; +} +.jd-linktable td p { + padding: 0 0 5px; +} +.jd-linktable .jd-linkcol { +} +.jd-linktable .jd-descrcol { +} +.jd-linktable .jd-typecol { + text-align:right; +} +.jd-linktable .jd-valcol { +} +.jd-linktable .jd-commentrow { + border-top:none; + padding-left:25px; +} +.jd-deprecated-warning { + margin-top: 0; + margin-bottom: 10px; +} + +tr.alt-color { + background-color: #f6f6f6; +} + +/* expando trigger */ +#jd-content .jd-expando-trigger-img { + margin:0; +} + +/* jd-expando */ +.jd-inheritedlinks { + padding:0 0 0 13px +} + +/* SDK PAGE */ +table.download tr { + background-color:#d9d9d9; +} + +table.download tr.alt-color { + background-color:#ededed; +} + +table.download td, +table.download th { + border:2px solid #fff; + padding:10px 5px; +} + +table.download th { + background-color:#6d8293; + color:#fff; +} + +/* INLAY 180 COPY and 240PX EXTENSION */ +/* modified to 43px so that all browsers eliminate the package panel h-scroll */ +.g-tpl-240 .g-unit, +.g-unit .g-tpl-240 .g-unit, +.g-unit .g-unit .g-tpl-240 .g-unit { + display: block; + margin: 0 0 0 243px; + width: auto; + float: none; +} +.g-unit .g-unit .g-tpl-240 .g-first, +.g-unit .g-tpl-240 .g-first, +.g-tpl-240 .g-first { + display: block; + margin: 0; + width: 243px; + float: left; +} +/* 240px alt */ +.g-tpl-240-alt .g-unit, +.g-unit .g-tpl-240-alt .g-unit, +.g-unit .g-unit .g-tpl-240-alt .g-unit { + display: block; + margin: 0 243px 0 0; + width: auto; + float: none; +} +.g-unit .g-unit .g-tpl-240-alt .g-first, +.g-unit .g-tpl-240-alt .g-first, +.g-tpl-240-alt .g-first { + display: block; + margin: 0; + width: 243px; + float: right; +} + +/* 200px */ +.g-tpl-200 .g-unit, +.g-unit .g-tpl-200 .g-unit, +.g-unit .g-unit .g-tpl-200 .g-unit { + display: block; + margin: 0 0 0 200px; + width: auto; + float: none; +} +.g-unit .g-unit .g-tpl-200 .g-first, +.g-unit .g-tpl-200 .g-first, +.g-tpl-200 .g-first { + display: block; + margin: 0; + width: 200px; + float: left; +} +/* 200px alt */ +.g-tpl-200-alt .g-unit, +.g-unit .g-tpl-200-alt .g-unit, +.g-unit .g-unit .g-tpl-200-alt .g-unit { + display: block; + margin: 0 200px 0 0; + width: auto; + float: none; +} +.g-unit .g-unit .g-tpl-200-alt .g-first, +.g-unit .g-tpl-200-alt .g-first, +.g-tpl-200-alt .g-first { + display: block; + margin: 0; + width: 200px; + float: right; +} + +/* 190px */ +.g-tpl-190 .g-unit, +.g-unit .g-tpl-190 .g-unit, +.g-unit .g-unit .g-tpl-190 .g-unit { + display: block; + margin: 0 0 0 190px; + width: auto; + float: none; +} +.g-unit .g-unit .g-tpl-190 .g-first, +.g-unit .g-tpl-190 .g-first, +.g-tpl-190 .g-first { + display: block; + margin: 0; + width: 190px; + float: left; +} +/* 190px alt */ +.g-tpl-190-alt .g-unit, +.g-unit .g-tpl-190-alt .g-unit, +.g-unit .g-unit .g-tpl-190-alt .g-unit { + display: block; + margin: 0 190px 0 0; + width: auto; + float: none; +} +.g-unit .g-unit .g-tpl-190-alt .g-first, +.g-unit .g-tpl-190-alt .g-first, +.g-tpl-190-alt .g-first { + display: block; + margin: 0; + width: 190px; + float: right; +} + +/* 180px */ +.g-tpl-180 .g-unit, +.g-unit .g-tpl-180 .g-unit, +.g-unit .g-unit .g-tpl-180 .g-unit { + display: block; + margin: 0 0 0 180px; + width: auto; + float: none; +} +.g-unit .g-unit .g-tpl-180 .g-first, +.g-unit .g-tpl-180 .g-first, +.g-tpl-180 .g-first { + display: block; + margin: 0; + width: 180px; + float: left; +} +/* 180px alt */ +.g-tpl-180-alt .g-unit, +.g-unit .g-tpl-180-alt .g-unit, +.g-unit .g-unit .g-tpl-180-alt .g-unit { + display: block; + margin: 0 180px 0 0; + width: auto; + float: none; +} +.g-unit .g-unit .g-tpl-180-alt .g-first, +.g-unit .g-tpl-180-alt .g-first, +.g-tpl-180-alt .g-first { + display: block; + margin: 0; + width: 180px; + float: right; +} + + +/* JQUERY RESIZABLE STYLES */ +.ui-resizable { position: relative; } +.ui-resizable-handle { position: absolute; display: none; font-size: 0.1px; z-index:1; } +.ui-resizable .ui-resizable-handle { display: block; } +body .ui-resizable-disabled .ui-resizable-handle { display: none; } +body .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-s { cursor: s-resize; height: 6px; width: 100%; bottom: 0px; left: 0px; + background: transparent url("images/resizable-s2.gif") repeat scroll center top; } +.ui-resizable-e { cursor: e-resize; width: 6px; right: 0px; top: 0px; height: 100%; + background: transparent url("images/resizable-e2.gif") repeat scroll right center; } + +@media print { + + body { + overflow:visible; + } + + #header { + height:60px; + } + + #headerLeft { + padding:0; + } + + #header-tabs, + #headerRight, + #side-nav, + #api-info-block { + display:none; + } + + #body-content { + position:inherit; + } + + #doc-content { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } + + #jd-header { + padding:10px 0; + } + + #jd-content { + padding:15px 0 0; + } + + #footer { + float:none; + margin:2em 0 0; + } + + h4.jd-details-title { + border-bottom:1px solid #666; + } + + pre { + /* these allow lines to break (if there's a white space) */ + overflow: visible; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + } + + h1, h2, h3, h4, h5, h6 { + page-break-after: avoid; + } + + table, img { + page-break-inside: avoid; + } +} diff --git a/build/tools/droiddoc/templates-cmsdk/assets/cid_smart.png b/build/tools/droiddoc/templates-cmsdk/assets/cid_smart.png new file mode 100755 index 00000000..67c1f77e Binary files /dev/null and b/build/tools/droiddoc/templates-cmsdk/assets/cid_smart.png differ diff --git a/build/tools/droiddoc/templates-cmsdk/assets/css/default.css b/build/tools/droiddoc/templates-cmsdk/assets/css/default.css new file mode 100644 index 00000000..f411d934 --- /dev/null +++ b/build/tools/droiddoc/templates-cmsdk/assets/css/default.css @@ -0,0 +1,7440 @@ +/* color definitions */ +/* 16 column layout */ +/* clearfix idiom */ +/* common mixins */ +/* page layout + top-level styles */ +::selection { + background-color: #0099cc; + color: #fff; } +::-webkit-selection { + background-color: #0099cc; + color: #fff; } +::-moz-selection { + background-color: #0099cc; + color: #fff; } + +html, body { + height: 100%; + margin: 0; + padding: 0; + background-color:#F9F9F9; + -webkit-font-smoothing: antialiased; + /* prevent subpixel antialiasing, which thickens the text */ + /* text-rendering: optimizeLegibility; */ + /* turned off ligatures due to bug 5945455 */ } + +body { + color: #222; + font: 14px/19px Roboto, sans-serif; + font-weight: 400; + letter-spacing:.1; + padding:0 10px; } + +#page-container { + width: 940px; + margin: 0 40px; } + +#page-header { + height: 80px; + margin-bottom: 20px; + font-size: 48px; + line-height: 48px; + font-weight: 100; + padding-left: 10px; } + #page-header a { + display: block; + position: relative; + top: 20px; + text-decoration: none; + color: #555555 !important; } + +#main-row { + display: inline-block; } + #main-row:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; } + * html #main-row { + height: 1px; } + +#page-footer { + margin-left: 190px; + margin-top: 80px; + color: #999999; + padding-bottom: 40px; + font-size: 12px; + line-height: 15px; } + #page-footer a { + color: #777777; } + #page-footer #copyright { + margin-bottom: 10px; } + +#nav-container { + width: 160px; + min-height: 10px; + margin-right: 20px; + float: left; } + +#nav { + margin:0; + padding:0 0 30px; +} + +#side-nav { + min-height:5px; /* silly way to avoid doc floating left when nav goes fixed */ + margin-bottom:1px; +} +#devdoc-nav { + outline:none; + width:auto; + margin: 20px 0 0; } + +#devdoc-nav h2 { + border:0; +} + +#devdoc-nav.fixed { + position: fixed; + margin:0; + top: 65px; /* sticky-header height + 20px gutter */ +} + +#devdoc-nav span.small { + font-size:12px; + font-weight:normal; +} + +#content { + width: 760px; + float: left; } + +a:hover, +acronym:hover { + color: #7aa1b0 !important; } + +a:focus, +a:active { + color: #33b5e5 !important; } + +a.external-link { + background:url('../images/styles/open_new_page.png') no-repeat 100% 50%; + padding-right:16px; +} + +img { + border: none; } +#jd-content img { + margin-bottom:15px; +} + +ul { + margin: 0; + padding: 0; } + +strong { + font-weight: 500; } + +em { + font-style: italic; } + +acronym, +.tooltip-link { + border-bottom: 1px dotted #555555; + cursor: help; } + +acronym:hover, +.tooltip-link:hover { + color: #7aa1b0; + border-bottom-color: #7aa1b0; } + +img.with-shadow, +video.with-shadow { + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); } + +/* disclosures mixin */ +/* content layout */ +.layout-content-row { + display: inline-block; + margin-bottom: 10px; } + * html .layout-content-row { + height: 1px; } + +.layout-content-col { + float: left; + margin-left: 20px; } + .layout-content-col:first-child { + margin-left: 0; } + .layout-content-col h3, + .layout-content-col h4 { + margin-top:0; } + +.layout-content-col.span-1 { + width: 40px; } + +.layout-content-col.span-2 { + width: 100px; } + +.layout-content-col.span-3 { + width: 160px; } + +.layout-content-col.span-4 { + width: 220px; } + +.layout-content-col.span-5 { + width: 280px; } + +.layout-content-col.span-6 { + width: 340px; } + +.layout-content-col.span-7 { + width: 400px; } + +.layout-content-col.span-8 { + width: 460px; } + +.layout-content-col.span-9 { + width: 520px; } + +.layout-content-col.span-10 { + width: 580px; } + +.layout-content-col.span-11 { + width: 640px; } + +.layout-content-col.span-12 { + width: 700px; } + +.layout-content-col.span-13 { + width: 760px; } + +.vspace.size-1 { + height: 10px; } + +.vspace.size-2 { + height: 20px; } + +.vspace.size-3 { + height: 30px; } + +.vspace.size-4 { + height: 40px; } + +.vspace.size-5 { + height: 50px; } + +.vspace.size-6 { + height: 60px; } + +.vspace.size-7 { + height: 70px; } + +.vspace.size-8 { + height: 80px; } + +.vspace.size-9 { + height: 90px; } + +.vspace.size-10 { + height: 100px; } + +.vspace.size-11 { + height: 110px; } + +.vspace.size-12 { + height: 120px; } + +.vspace.size-13 { + height: 130px; } + +.vspace.size-14 { + height: 140px; } + +.vspace.size-15 { + height: 150px; } + +.vspace.size-16 { + height: 160px; } + +/* nav */ +#nav { + /* section header divs */ + /* expanded section header divs */ + /* sublinks */ } + #nav li { + list-style-type: none; + font-size: 14px; + margin:0; + padding:0; + line-height: 15px; } + #nav a { + color: #555555; + text-decoration: none; + word-wrap:break-word; } + #nav .nav-section-header { + position: relative; + margin-bottom: 1px; + padding: 0 30px 0 0; } + #nav li.selected a, #nav li.selected > .nav-section-header > a { + color: #09C; + } + #nav li.selected ul li a { + /* don't highlight child items */ + color: #555555; } + #nav .nav-section .nav-section .nav-section-header { + /* no white line between second level sections */ + margin-bottom: 0; } + /* section header links */ + #nav > li > div > a { + display: block; + color: #333333; + font-weight: 500; + padding: 10px 0 10px 10px; } + #nav .nav-section-header:after { + content: ''; + background: transparent url(../images/styles/disclosure_down.png) no-repeat scroll 50% 50%; + width: 34px; + height: 34px; + display: block; + position: absolute; + top: 0; + right: 0; } + #nav .nav-section-header.empty { + padding:0; } + #nav .nav-section-header.empty:after { + display: none; } + /* nested nav headers */ + #nav .nav-section .nav-section { + position: relative; + padding: 0; + margin: 0; } + #nav .nav-section li a { + /* first gen child (2nd level li) */ + display:block; + font-weight: normal; + text-transform: none; + padding: 7px 5px 7px 10px; + } + #nav .nav-section li li a { + /* second gen child (3rd level li) */ + padding: 5px 5px 5px 10px; + } + #nav li.expanded .nav-section-header { + background:#e9e9e9; + background: rgba(0, 0, 0, 0.05); } + #nav li.expanded li .nav-section-header { + background: transparent; } + #nav li.expanded li ul { + /* 3rd level ul */ + padding:0 0 0 10px; + } + #nav li.expanded > .nav-section-header:after { + content: ''; + background: transparent url(../images/styles/disclosure_up.png) no-repeat scroll 50% 50%; + width: 34px; + height: 34px; } + #nav li.expanded li ul.tree-list-children { + padding: 0; + } + #nav li.expanded li ul.tree-list-children .tree-list-children { + padding:0 0 0 10px; + } + #nav li span.tree-list-subtitle { + display:inline-block; + padding:5px 0 0 10px; + color:#555; + text-transform:uppercase; + font-size:12px; + } + #nav li span.tree-list-subtitle:before { + content: '—'; + } + #nav li span.tree-list-subtitle:after { + content: '—'; + } + #nav li span.tree-list-subtitle.package { + padding-top:15px; + cursor:default; + } + #nav li span.tree-list-subtitle.package:before { + content: ''; + } + #nav li span.tree-list-subtitle.package:after { + content: ''; + } + #nav li ul.tree-list-children.classes { + padding-left:10px; + } + #nav li ul { + display:none; + overflow: hidden; + margin: 0; } + #nav li ul.animate-height-in { + -webkit-transition: height 0.25s ease-in; + -moz-transition: height 0.25s ease-in; + transition: height 0.25s ease-in; } + #nav li ul.animate-height-out { + -webkit-transition: height 0.25s ease-out; + -moz-transition: height 0.25s ease-out; + transition: height 0.25s ease-out; } + #nav li ul li { + padding: 0; } + #nav li li li { + padding: 0; } + #nav li.expanded ul { + } + #nav li ul > li { + padding:0; + } + #nav li ul > li:last-child { + padding-bottom:5px; + } + #nav li ul.tree-list-children > li:last-child { + padding-bottom:0; + } + #nav li.expanded ul > li { + background:#efefef; + background: rgba(0, 0, 0, 0.03); } + #nav li.expanded ul > li li { + background:inherit; } + #nav li ul.tree-list-children ul { + display:block; } + +#nav.samples-nav li li li { + font-size:13px; +} +#nav.samples-nav li li li a { + padding-top:3px; + padding-bottom:3px; +} +#nav.samples-nav li li ul > li:last-child { + padding-bottom:3px; +} + +.new, +.new-child { + font-size: .78em; + font-weight: bold; + color: #ff3d3d; + vertical-align:top; + white-space:nowrap; +} + +/* content header */ +.content-header { + height: 30px; + margin:36px 0 23px; /* same as h1 */ + padding:0 0 10px;} /* same as h1 */ +.content-header.just-links { + margin-bottom:0; + padding-bottom:0;} + +.content-header h1 { + margin:0; + padding:0; + width: 700px; +} +.content-header > div:first-child { + height:1px; /* set fixed height for the header div to ensure the + next/prev links align with toc on training classes */ +} + +.content-footer { + border-top: 1px solid #ccc; + margin-top: 10px; + padding-top:10px; + width:100%; } + +.content-footer .col-9 { + margin-left:0; +} +.content-footer .col-4 { + margin-right:0; +} +.content-footer.wrap { + width:940px; +} +.content-footer .plus-container { + margin:5px 0 0; + text-align:right; + float:right; +} + +a.back-link { + text-decoration: none; + text-transform: uppercase; +} + +.content-header .paging-links { + margin-top:-25px; +} +.paging-links { + position: relative; + height:30px; } + .paging-links a { + position: absolute; } + .paging-links a, + .training-nav-top a { + color: #555555; + text-decoration: none; + text-transform: uppercase; } + .paging-links .prev-page-link:before, + .training-nav-top .prev-page-link:before, + a.back-link:before { + content: ''; + background: transparent url(../images/styles/disclosure_left.png) no-repeat scroll 50% 50%; + width: 10px; + height: 10px; + display: inline-block; + margin-right: 5px; } + .training-nav-top .next-page-link, + .training-nav-top .start-class-link, + .training-nav-top .start-course-link { + right: 10px; } + .paging-links .prev-page-link { + left: -15px; } + .paging-links .next-page-link { + right: 0; } + .next-page-link:after, + .start-class-link:after, + .start-course-link:after, + .next-class-link:after, + .go-link:after { + content: ''; + background: transparent url(../images/styles/disclosure_right.png) no-repeat scroll 50% 50%; + width: 10px; + height: 10px; + display: inline-block; + margin-left: 5px; } + .prev-page-link.inline:before { + content: none; } + .next-page-link.inline:after { + content: none; } + + .content-footer .paging-links .next-page-link { + left:0; + } + + .training-nav-top a { + display:block; + float:left; + width:122px; + height:28px; + padding: 8px; + line-height:28px; + text-align:center; + border:1px solid #DADADA; + border-bottom:0; + } + + .training-nav-top a.next-page-link { + border-left:0; + width:123px; + } + + .paging-links a.disabled, + .training-nav-top a.disabled, + .content-footer a.disabled { + color:#bbb; + } + + .paging-links a.disabled:hover, + .training-nav-top a.disabled:hover, + .content-footer a.disabled:hover { + cursor:default; + color:#bbb !important; + } + + .training-nav-top a.start-class-link, + .training-nav-top a.start-course-link { + width:262px; + } + + .paging-links a.start-class-link { + width:100%; + } + + /* list of classes on course landing page */ + ol.class-list { + list-style:none; + margin-left:0; + } + ol.class-list>li { + margin:0 0 15px; + padding:5px 0 0; + overflow:hidden; + border-top:1px solid #ccc; + } + ol.class-list li a.title { + font-size:16px; + margin:0; + clear:left; + display:block; + height:32px; + padding:0 4px; + } + ol.class-list li a.title h2 { + color:inherit; + margin:0 0 10px; + display:block; + float:left; + width:675px; + } + ol.class-list li a.title span { + display:none; + float:left; + font-size:18px; + font-weight:bold; + background: transparent url(../images/styles/disclosure_right.png) no-repeat scroll 50% 50%; + width: 10px; + height: 32px; + } + ol.class-list li a.title:hover { + background:#ddd; + color:#258AAF !important; + } + ol.class-list li a.title:hover span { + display:block; + } + + #jd-content + ol.class-list li img { + float:left; + clear:left; + width:64px; + margin:0 20px 0 0; + } + ol.class-list li p.description { + float:left; + display:block; + width:250px; + margin:0; + } + ol.class-list li p.description.article { + width: 550px; + } + ol.class-list ol { + float:left; + width:320px; + margin:0 0 0 30px; + list-style:none; + margin:0 0 0 20px; + } + ol.class-list div.lessons li { + margin:0 0 6px; + line-height:16px; + } + + + .hide { + display:none !important; + } + + + + /* inner-doc tabs w/ title */ + +div#title-tabs-wrapper { + border-bottom:1px solid #ccc; + margin:20px 0 30px; +} +h1.with-title-tabs { + display:inline-block; + margin:0 0 -1px 0; + padding:0 60px 0 0; + border-bottom:1px solid #F9F9F9; +} +ul#title-tabs { + list-style:none; + padding:0; + height:29px; + margin:0; + font-size:16px; + line-height:26px; + display:inline-block; + vertical-align:bottom; +} +ul#title-tabs li { + display:block; + float:left; + margin-right:40px; + border-bottom: 3px solid transparent; +} +ul#title-tabs li.selected { + border-bottom: 3px solid #93C; +} +ul#title-tabs li a { + color:#333; +} +ul#title-tabs li a:hover, +ul#title-tabs li a:active { + color:#93C !important; +} + + + +/* content body */ +@-webkit-keyframes glowheader { + from { + background-color: #33b5e5; + color: #000; + border-bottom-color: #000; } + + to { + background-color: transparent; + color: #33b5e5; + border-bottom-color: #33b5e5; } } + +@-moz-keyframes glowheader { + from { + background-color: #33b5e5; + color: #000; + border-bottom-color: #000; } + + to { + background-color: transparent; + color: #33b5e5; + border-bottom-color: #33b5e5; } } + +@keyframes glowheader { + from { + background-color: #33b5e5; + color: #000; + border-bottom-color: #000; } + + to { + background-color: transparent; + color: #33b5e5; + border-bottom-color: #33b5e5; } } + +h1:target, +h2:target, +h3:target { + -webkit-animation-name: glowheader; + -moz-animation-name: glowheader; + animation-name: glowheader; + -webkit-animation-duration: 0.7s; + -moz-animation-duration: 0.7s; + animation-duration: 0.7s; + -webkit-animation-timing-function: ease-out; + -moz-animation-timing-function: ease-out; + animation-timing-function: ease-out; } + +.design ol h4 { + margin-bottom:0; +} +.design ol { + counter-reset: item; } + .design ol>li { + font-size: 14px; + line-height: 20px; + list-style-type: none; + position: relative; } + .design ol>li:before { + content: counter(item) ". "; + counter-increment: item; + position: absolute; + left: -20px; + top: 0; } + .design ol li.value-1:before { + content: "1. "; } + .design ol li.value-2:before { + content: "2. "; } + .design ol li.value-3:before { + content: "3. "; } + .design ol li.value-4:before { + content: "4. "; } + .design ol li.value-5:before { + content: "5. "; } + .design ol li.value-6:before { + content: "6. "; } + .design ol li.value-7:before { + content: "7. "; } + .design ol li.value-8:before { + content: "8. "; } + .design ol li.value-9:before { + content: "9. "; } + .design ol li.value-10:before { + content: "10. "; } +.design .with-callouts ol>li { + list-style-position: inside; + margin-left: 0; } + .design .with-callouts ol>li:before { + display: inline; + left: -20px; + float: left; + width: 17px; + color: #33b5e5; + font-weight: 500; } +.design .with-callouts ul>li { + list-style-position: outside; } + +/* special list items */ +li.no-bullet { + list-style-type: none !important; } +li.no-bullet *{ + margin:0; } + +.design li.with-icon { + position: relative; + margin-left: 20px; + min-height: 30px; } + .design li.with-icon p { + margin-left: 0 !important; } + .design li.with-icon:before { + position: absolute; + left: -40px; + top: 0; + content: ''; + width: 30px; + height: 30px; } + .design li.with-icon.tablet:before { + background-image: url(../images/styles/ico_phone_tablet.png); } + .design li.with-icon.web:before { + background-image: url(../images/styles/ico_web.png); } + .design li.with-icon.action:before { + background-image: url(../images/styles/ico_action.png); } + .design li.with-icon.use:before { + background-image: url(../images/styles/ico_use.png); } + +/* figures and callouts */ +.figure { + position: relative; } + .figure.pad-below { + margin-bottom: 20px; } + .figure .figure-callout { + position: absolute; + color: #fff; + font-weight: 500; + font-size: 16px; + line-height: 23px; + text-align: center; + background: transparent url(../images/styles/callout.png) no-repeat scroll 50% 50%; + padding-right: 2px; + width: 30px; + height: 29px; + z-index: 1000; } + .figure .figure-callout.top { + top: -9px; } + .figure .figure-callout.right { + right: -5px; } + +.figure-caption { + margin: 0 10px 20px 0; + font-size: 14px; + line-height: 20px; + font-style: italic; } + +/* rows of figures */ +.figure-row { + font-size: 0; + line-height: 0; + /* to prevent space between figures */ } + .figure-row .figure { + display: inline-block; + vertical-align: top; } + .figure-row .figure + .figure { + margin-left: 10px; + /* reintroduce space between figures */ } + +/* video containers */ +.framed-galaxynexus-land-span-13 { + background: transparent url(../images/styles/device_galaxynexus_blank_land_span13.png) no-repeat +scroll top left; + padding: 42px 122px 62px 126px; + overflow: hidden; } + .framed-galaxynexus-land-span-13, .framed-galaxynexus-land-span-13 video, +.framed-galaxynexus-land-span-13 img { + width: 512px; + height: 286px; } + + +.framed-galaxynexus-land-span-8{ + background: transparent url(../images/styles/device_galaxynexus_blank_land_span8.png) no-repeat +scroll top left; + padding: 26px 68px 38px 72px; + overflow: hidden; } + .framed-galaxynexus-land-span-8, .framed-galaxynexus-land-span-8 video, +.framed-galaxynexus-land-span-8 img { + width: 320px; + height: 180px; } + +.framed-galaxynexus-port-span-9 { + background: transparent url(../images/styles/device_galaxynexus_blank_port_span9.png) no-repeat +scroll top left; + padding: 95px 122px 107px 124px; + overflow: hidden; } + .framed-galaxynexus-port-span-9, .framed-galaxynexus-port-span-9 video, +.framed-galaxynexus-port-span-9 img { + width: 274px; + height: 488px; } + +.framed-galaxynexus-port-span-5 { + background: transparent url(../images/styles/device_galaxynexus_blank_port_span5.png) no-repeat +scroll top left; + padding: 75px 31px 76px 33px; + overflow: hidden; } + .framed-galaxynexus-port-span-5, .framed-galaxynexus-port-span-5 video, +.framed-galaxynexus-port-span-5 img { + width: 216px; + height: 384px; } + +.framed-nexus4-port-216 { + background: transparent url(../images/styles/device_nexus4_blank_port_432.png) no-repeat +scroll top left; + background-size:240px 465px; + padding: 52px 12px 52px 12px; + overflow: hidden; } + .framed-nexus4-port-216, .framed-nexus4-port-216 video, + .framed-nexus4-port-216 img { + width: 216px; + height: 360px; } + +.framed-nexus5-port-span-5 { + background: transparent url(../images/styles/device_nexus5_blank_port_span5.png) no-repeat + scroll top left; + padding: 52px 33px 69px 31px; + overflow: hidden; +} + +.framed-nexus5-port-span-5, +.framed-nexus5-port-span-5 video, +.framed-nexus5-port-span-5 img { + width: 216px; + height: 384px; +} + +.framed-nexus5-land-span-13 { + background: transparent url(../images/styles/device_nexus5_blank_land_span13.png) no-repeat scroll top left; + padding: 36px 119px 54px 108px; + overflow: hidden; +} + +.framed-nexus5-land-span-13, +.framed-nexus5-land-span-13 video, +.framed-nexus5-land-span-13 img { + width: 533px; + height: 300px; +} + +.framed-nexus5-port-span-5, +.framed-nexus5-port-span-5 video, +.framed-nexus5-port-span-5 img { + width: 216px; + height: 384px; +} + +/* wear device frames */ + +.framed-wear-square { + background: transparent url(../images/styles/device_wear_square.png) no-repeat scroll top left; + background-size: 302px 302px; + height:222px; + width:222px; + padding:40px; + overflow:hidden; +} + +.framed-wear-square-small { + background: transparent url(../images/styles/device_wear_square_small.png) no-repeat scroll top left; + background-size: 169px 200px; + height:147px; + width:147px; + padding:27px 11px; + overflow:hidden; +} + +#jd-content +.framed-wear-square img { + height:222px; + width: 222px; + padding:0; + margin:0; +} + +#jd-content +.framed-wear-square-small img { + height:147px; + width: 147px; + padding:0; + margin:0; +} + + + + + + +/* landing page disclosures */ +.landing-page-link { + text-decoration: none; + font-weight: 500; + color: #333333; } + .landing-page-link:after { + content: ''; + background: transparent url(../images/styles/disclosure_right.png) no-repeat scroll 50% 50%; + width: 10px; + height: 10px; + display: inline-block; + margin-left: 5px; } + +/* tooltips */ +.tooltip-box { + position: absolute; + background-color: rgba(0, 0, 0, 0.9); + border-radius: 2px; + font-size: 14px; + line-height: 20px; + color: #fff; + padding: 6px 10px; + max-width: 250px; + z-index: 10000; } + .tooltip-box.below:after { + position: absolute; + content: ''; + line-height: 0; + display: block; + top: -10px; + left: 5px; + border: 5px solid transparent; + border-bottom-color: rgba(0, 0, 0, 0.9); } + +/* video note */ +.video-instructions { + margin-top: 10px; + margin-bottom: 10px; } + .video-instructions:before { + content: ''; + background: transparent url(../images/styles/ico_movie_inline.png) no-repeat scroll top left; + display: inline-block; + width: 12px; + height: 12px; + margin-right: 8px; } + .video-instructions:after { + content: 'Click device screen to replay movie.'; } + +/* download buttons */ +.download-button { + display: block; + margin-bottom: 5px; + text-decoration: none; + background-color: #33b5e5; + color: #fff !important; + font-weight: 500; + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12); + padding: 6px 12px; + border-radius: 2px; } + .download-button:hover, .download-button:focus { + background-color: #0099cc; + color: #fff !important; } + .download-button:active { + background-color: #006699; } + +/* UI tables and other things found in Writing style and Settings pattern */ +.ui-table { + width: 100%; + background-color: #282828; + color: #fff; + border-radius: 2px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); + border-collapse: separate; } + .ui-table th, + .ui-table td { + padding: 5px 10px; + background-color: inherit; + border:0;} + .ui-table thead th { + font-weight: bold; } + .ui-table tfoot td { + border-top: 1px solid #494949; + border-right: 1px solid #494949; + text-align: center; } + .ui-table tfoot td:last-child { + border-right: 0; } + +.layout-with-list-item-margins { + margin-left: 30px !important; } + +.emulate-content-left-padding { + margin-left: 10px; } + +.do-dont-label { + margin-bottom: 10px; + padding-left: 20px; + background: transparent none no-repeat scroll 0px 3px; } + .do-dont-label.bad { + background-image: url(../images/styles/ico_wrong.png); } + .do-dont-label.good { + background-image: url(../images/styles/ico_good.png); } + + + + + + + + + + + + + + + + + + + +/***** PREVIOUSLY style.css ******************/ + + + + + +@media screen, projection, print { +[dir='rtl'] { + direction: rtl; +} +html { + line-height: 20px; +} +pre, table, input, textarea, code { + font-size: 1em; +} +address, abbr, cite { + font-style: normal; +} +[dir='rtl'] th { + text-align: right; +} +html[lang^=ja] blockquote, html[lang^=ja] q, html[lang^=ko] blockquote, html[lang^=ko] q, +html[lang^=zh] blockquote, html[lang^=zh] q { + font-style: normal; +} +q { + font-style: italic; +} +fieldset, iframe, img { + border: 0; +} +img { + -ms-interpolation-mode: bicubic; + vertical-align: middle; + max-width: 100%; +} +q { + quotes: none; +} +sup, sub { + font-size: 11px; + line-height: 0; +} +} + +@media screen, projection { + +table, fieldset { + margin: 0; +} +h1 { + color:#333; + font-size: 34px; + margin: 36px 0 27px; + padding:0 0 10px; + font-weight:300; +} +h1, h2 { + line-height: 30px; +} +h1.short { + margin-right:320px; +} +h1.short { + margin-right:320px; +} +h1.super { + font-size: 37px; +} +h2 { + color:#333; + font-size: 26px; + margin: 32px 0 20px; + padding:0; + font-weight:300; +} +h3 { + color:#333; + font-size: 21px; + font-weight:400; + margin:21px 0 14px 0; +} +h3, h4 { + line-height: 21px; +} +h4 { + font-size: 18px; + margin: 12px 0; + font-weight:500; +} +h5 { + font-size: 14px; +} +h5, h6 { + margin: 5px 0; +} +h6 { + font-size: 12px; +} +hr { /* applied to the bottom of h2 elements */ + height: 1px; + margin: 3px 0 12px; + border: 0; + background: #ccc; +} +p, pre, table, form { + margin: 0 0 15px; +} +small { + font-size: 11.5px; + color: #000; +} +ul, ol { + margin: 0 0 15px 18px; + padding: 0; +} +[dir='rtl'] ul, [dir='rtl'] ol { + margin: 10px 30px 10px 10px; +} +ul ul, ul ol, ol ul, ol ol { + margin-bottom: 0; + margin-top: 0; +} +li { + margin:0 0 5px; +} +dd { + margin:0 0 10px 30px; +} +dd p, +dd pre, +dd ul, +dd ol, +dd dl { + margin-top:10px; +} +li p, +li pre, +li ul, +li ol, +li dl { + margin-top:5px; + margin-bottom:5px; +} +dl dd dl:first-child { + margin-top:0; +} +pre strong, pre b, a strong, a b, a code { + color: inherit; +} +pre, code { + color: #060; + font: 13px/1.5 monospace; +} +code { + font-weight:bold; + font: 13px/14px monospace; +} + +legend { + display: none; +} +a:link, a:visited, .link-color { + color: #258aaf; + text-decoration: none; +} +a:focus, a:hover, a:active { + color: #33B5E5; + text-decoration: none; +} +a.white { + color: #fff; + text-decoration:underline; +} +a.white:hover, a.white:active { + color: #ccc !important; +} +strong, b { + font-weight:bold; + color: #222; +} +table { + border-collapse: collapse; + border-spacing: 0; + border:0; + margin: .5em 1em 1em 0; + width:100%; /* consistent table widths; within IE's quirks */ + background-color:#f7f7f7; +} +th, td { + padding: 4px 12px; + vertical-align: top; + text-align: left; +} +td { + background-color:inherit; + border:solid 1px #DDD; +} +td *:last-child { + margin-bottom:0; +} +th { + background-color: #999; + color: #fff; + border:solid 1px #DDD; + font-weight: normal; +} +tr:first-of-type th:first-of-type:empty { + visibility: hidden; +} + +/* -------------------------------------------------------------------------- +Footer +*/ +.line { + clear: both; + background: #acbc00; + background: -moz-linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #acbc00), +color-stop(50%, #acbc00), color-stop(50%, #bdde00), color-stop(100%, #bdde00)); + background: -webkit-linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%); + background: -o-linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%); + background: -ms-linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%); + background: linear-gradient(top, #acbc00 0, #acbc00 50%, #bdde00 50%, #bdde00 100%); + height: 2px; + margin-top: 150px; + position: relative; + z-index: 11; +} +#footer { + font-size:11px; + clear: both; + color: #999; + padding: 15px 0; + margin-top:10px; + width:auto; +} +#footer-local ul { + list-style: none; + margin: 5px 0 30px 0; +} +#footer-local li { + display: inline; +} +#footer-local li+li:before { + content: '|'; + padding: 0 3px; + color: #e5e5e5; +} +#footer-global { + padding: 10px 15px; + background: #f5f5f5; +} +#footer-global { + border-top: 1px solid #ebebeb; + font-size: 11.5px; + line-height: 1.8; + list-style: none; +} +#footer-global ul { + margin: 0; +} +#footer-global li { + display: inline; + font-weight: bold; +} +#footer-global li+li:before { + content: '¬?'; + padding: 0 3px; +} +* html #footer-global li { + margin: 0 13px 0 0; +} +* [dir='rtl'] #footer-global li { + margin: 0 0 0 13px; +} +*+html #footer-global li { + margin: 0 13px 0 0; +} +*+[dir='rtl'] #footer-global li { + margin: 0 0 0 13px; +} +#footer-global li a { + font-weight: normal; +} +.locales { + margin: 10px 0 0 0px; +} +[dir='rtl'] .locales { + background-position: right center; + float: left; + padding: 0 24px 0 0; +} +.locales form { + margin: 0; +} +.locales select, .sites select { + line-height: 3.08; + margin: 0px 0; + border: solid 1px #EBEBEB; + -webkit-appearance: none; + background: white url('../images/arrows-up-down.png') right center no-repeat; + height: 30px; + color: #222; + line-height: normal; + padding: 5px; + width: 230px; +} +} + +/* ============================================================================= + Print Only + ========================================================================== */ +@media print { + /* configure printed page */ + @page { + margin: 0.75in 1in; + widows: 4; + orphans: 4; + } + + /* reset spacing metrics */ + html, body, .wrap { + margin: 0 !important; + padding: 0 !important; + width: auto !important; + } + + /* leave enough space on the left for bullets */ + body { + padding-left: 20px !important; + } + #doc-col { + margin-left: 0; + } + + /* hide a bunch of non-content elements */ + #header, #footer, #nav-x, #side-nav, + .training-nav-top, .training-nav-bottom, + #doc-col .content-footer, + .nav-x, .nav-y, + .paging-links { + display: none !important; + } + + /* remove extra space above page titles */ + #doc-col .content-header { + margin-top: 0; + } + + /* bump up spacing above subheadings */ + h2 { + margin-top: 40px !important; + } + + /* print link URLs where possible and give links default text color */ + p a:after { + content: " (" attr(href) ")"; + font-size: 80%; + } + p a { + word-wrap: break-word; + } + a { + color: inherit; + } + + /* syntax highlighting rules */ + .str { color: #060; } + .kwd { color: #006; font-weight: bold; } + .com { color: #600; font-style: italic; } + .typ { color: #404; font-weight: bold; } + .lit { color: #044; } + .pun { color: #440; } + .pln { color: #000; } + .tag { color: #006; font-weight: bold; } + .atn { color: #404; } + .atv { color: #060; } +} + +/* ============================================================================= + Columns + ========================================================================== */ + +@media screen, projection, print { +.full { + padding: 2.5em 0; + border-top: solid 1px #ddd; + border-bottom: solid 1px #ddd; + background: #f7f7f7; +} +.wrap { + margin: 0 auto; + width: 940px; + clear: both; +} +.cols { + height: 1%; + margin: 0 -1.533742331288343558282%; + width: 103.06748466257669%} +*+html .cols { + margin-bottom: 20px; +} +.cols:after { + clear: both; + content: ' '; + display: block; + height: 0; + visibility: hidden; +} +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, +.col-13, .col-14, .col-15, .col-16 { + display: inline; + float: left; + margin-left: 10px; + margin-right: 10px; +} +/* +* html .col-1, * html .col-2, * html .col-3, * html .col-4, * html .col-5, * html .col-6, * html +.col-7, * html .col-8, * html .col-9, * html .col-10, * html .col-11, * html .col-12 { + margin: 0; + padding: 0 1.4% 20px; +} +[dir='rtl'] .col-1, [dir='rtl'] .col-2, [dir='rtl'] .col-3, [dir='rtl'] .col-4, [dir='rtl'] .col-5, +[dir='rtl'] .col-6, [dir='rtl'] .col-7, [dir='rtl'] .col-8, [dir='rtl'] .col-9, [dir='rtl'] .col-10, +[dir='rtl'] .col-11, [dir='rtl'] .col-12 { + float: right; +} +*/ +.col-1 { width: 40px } +.col-2 { width: 100px } +.col-3 { width: 160px } +.col-4 { width: 220px } +.col-5 { width: 280px } +.col-6 { width: 340px } +.col-7 { width: 400px } +.col-8 { width: 460px } +.col-9 { width: 520px } +.col-10 { width: 580px } +.col-11 { width: 640px } +.col-12 { width: 700px } +.col-13 { width: 760px } +.col-14 { width: 820px } +.col-15 { width: 880px } +.col-16 { width: 940px } +} + +.col-right { + margin-right:0px; +} + +@media screen and (max-width:772px) { +.col-5, .col-6, .col-7 { + clear: both; + width: 97.0238096%} +} + +/* ============================================================================= + Layout + ========================================================================== */ +@media screen, projection, print { + +/* -------------------------------------------------------------------------- +Header, Login, Nav-X, Search +*/ +#header { + margin: 0; + padding: 0; +} +#header:before, #header:after { + content: ""; + display: table; + clear: both +} +.logo, .nav-x { + float: left; +} +.nav-x { + margin-top: -2px; + list-style-type: none; +} +.nav-x a { + color: #333; + font-size: 16px; +} +.about a.selected { + color: #9933CC; +} +.design a.selected { + color: #33b5e5; +} +.develop a.selected { + color: #F80; +} +.distribute a.selected { + color: #9C0; +} + + + +.nav-x li { + display: inline; + margin-right: 45px; +} +.search { + float: right; + position: relative; + width: 220px +} +.search .bottom, .search .left, .search .right { + position: absolute; + background-color: #a3a3a3; +} +.search .bottom { + width: 220px; + height: 1px; + top: 24px; + left: 0 +} +.search .left, .search .right { + height: 5px; + width: 1px +} +.search .left { top: 19px; left: 0 } +.search .right { top: 19px; right: 0 } +.search form { + float: left; + margin-top: 2px; + width: inherit; +} +.search .close, +#player-frame .close { + position: absolute; + right: 8px; + bottom: 4px; + width: 16px; + height: 16px; + margin: 0; + text-indent: -1000em; + background: url(../images/close.png) no-repeat 0 0; + z-index:9999; +} +.search .close:hover, .search .close:focus, +#player-frame .close:hover, #player-frame .close:focus { + background-position: -16px 0; + cursor:pointer; +} +#player-frame .close { + top: 6px; +} +.search form input { + color: #999; + font-size: 1em; + width: inherit; + border: none; + margin: 0; + padding:0 0 0 6px; + z-index: 1500; + background-color: transparent +} +.search:hover .bottom, .search:hover .left, .search:hover .right { + background-color: #33b5e5; +} +.search:hover .icon { + background-position: -8px 0 +} +.search form input:focus { + color: #222; + font-weight: bold; + outline:0; +} +/* Search Dropdown */ +.search-dropdown { + padding: 15px; + width: 192px; + border: solid 1px #c5c5c5; + background: #fff; + position: absolute; + top: 35px; + left: 0; + -moz-box-shadow: 0 0 10px rgba(0,0,0,0.2); + -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.2); + box-shadow: 0 0 10px rgba(0,0,0,0.2) +} +.search-dropdown ul, .search-dropdown ul li { + list-style-type: none; + margin: 0; + padding: 0 +} +.search-dropdown ul li { + clear: both +} +.search-dropdown img { + float: left; + margin: 0 10px 10px 0 +} +.search-dropdown h6 { + color: #222; + margin: 0; + line-height: normal +} +.search-dropdown .desc { + color: #999; + font-size: 11.5px; + line-height: normal; + margin: 0; +} +.search-dropdown li a:hover h6, .search-dropdown li a:hover .desc { + color: #33b5e5 +} +/* -------------------------------------------------------------------------- +Buttons +*/ +.button, a.button, .button-secondary, a.button-secondary { + border-image: initial; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + cursor: pointer; +} +.button, a.button { + display:inline-block; + background-color: #09c; + background-image: -webkit-gradient(linear, left top, left bottom, from(#2faddb), to(#09c)); + background-image: -webkit-linear-gradient(top, #2faddb, #09c); + background-image: -moz-linear-gradient(top, #2faddb, #09c); + background-image: -ms-linear-gradient(top, #2faddb, #09c); + background-image: -o-linear-gradient(top, #2faddb, #09c); + background-image: linear-gradient(top, #2faddb, #09c); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#2faddb', EndColorStr='#0099cc',GradientType=0); + border: 1px solid #3990ab; + color: #fff; +} +.button-secondary, a.button-secondary { + background-color: #f3f3f3; + border: 1px solid #dcdcdc; + color: #444; +} +a.button, a.button:visited, a.button-secondary, a.button-secondary:visited { + margin-right: 16px; + font-weight: 400; + min-width: 54px; + outline: 0; + padding: 8px 15px; + text-align: center; +} +.button, .button-secondary { + margin-right: 16px; + font-weight: 400; + min-width: 54px; + outline: 0; + padding: 0 15px; + text-align: center; +} +.button:hover, a.button:hover { + border-color: #09c; + background-color: #4cadcb; + background-image: -webkit-gradient(linear, left top, left bottom, from(#5dbcd9), to(#4cadcb)); + background-image: -webkit-linear-gradient(top, #5dbcd9, #4cadcb); + background-image: -moz-linear-gradient(top, #5dbcd9, #4cadcb); + background-image: -ms-linear-gradient(top, #5dbcd9, #4cadcb); + background-image: -o-linear-gradient(top, #5dbcd9, #4cadcb); + background-image: linear-gradient(top, #5dbcd9, #4cadcb); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#5dbcd9', +EndColorStr='#4cadcb',GradientType=0); + color: #fff !important; +} +.button:active, a.button:active { + background-color: #1e799a; + background-image: none; + border-color: #30b7e6; +} +a.button.big.subtitle { + line-height:18px; +} +.button-secondary:hover, a.button-secondary:hover { + border-color: #dbdbdb; + background-color: #f3f3f3; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec)); + background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec); + background-image: -moz-linear-gradient(top, #f9f9f9, #ececec); + background-image: -ms-linear-gradient(top, #f9f9f9, #ececec); + background-image: -o-linear-gradient(top, #f9f9f9, #ececec); + background-image: linear-gradient(top, #f9f9f9, #ececec); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f9f9f9', +EndColorStr='#ececec'); + color: #33B5E5 !important; +} +.button-secondary:active, a.button-secondary:active { + border-color: #dadada; + background: #ebebeb; /* Old browsers */ + /* IE9 SVG, needs conditional override of 'filter' to 'none' */ + background: +url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/ +Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0Jv +eD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+ +CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIg +eDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ViZWJl +YiIgc3RvcC1vcGFjaXR5PSIxIi8+ +CiAgICA8c3RvcCBvZmZzZXQ9IjEwJSIgc3RvcC1jb2xvcj0iI2Y5ZjlmOSIgc3RvcC1vcGFjaXR5PSIxIi8+ +CiAgICA8c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iI2ZhZmFmYSIgc3RvcC1vcGFjaXR5PSIxIi8+ +CiAgICA8c3RvcCBvZmZzZXQ9IjkwJSIgc3RvcC1jb2xvcj0iI2Y5ZjlmOSIgc3RvcC1vcGFjaXR5PSIxIi8+ +CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNmY2ZjYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFy +R3JhZGllbnQ+ +CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIg +Lz4KPC9zdmc+); + background: -moz-linear-gradient(top, #ebebeb 0%, #f9f9f9 5%, #fafafa 50%, #f9f9f9 90%, +#ffffff 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ebebeb), +color-stop(5%,#f9f9f9), color-stop(50%,#fafafa), color-stop(90%,#f9f9f9), color-stop(100%,#ffffff)); +/* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #ebebeb 0%,#f9f9f9 5%,#fafafa 50%,#f9f9f9 +90%,#ffffff 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #ebebeb 0%,#f9f9f9 5%,#fafafa 50%,#f9f9f9 90%,#ffffff +100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #ebebeb 0%,#f9f9f9 5%,#fafafa 50%,#f9f9f9 90%,#ffffff +100%); /* IE10+ */ + background: linear-gradient(top, #ebebeb 0%,#f9f9f9 5%,#fafafa 50%,#f9f9f9 90%,#ffffff +100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ebebeb', +endColorstr='#ffffff',GradientType=0 ); /* IE6-8 */ + -webkit-box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05); + -moz-box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05); + box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05); + color: #258AAF !important; +} +.button.big { + font-size:20px; + display:inline-block; +} +.button.big span.small { + font-size:14px; +} +.button-caption { + margin-top:10px; + font-size:12px; + font-style:italic; +} + +.button.disabled, +.button.disabled:hover, +.button.disabled:active { + background:#ebebeb; + color:#999 !important; + border-color:#999; + cursor:default; +} + +.training-nav-top a.button-secondary, +.training-nav-bottom a.button-secondary { + display:block; + float:left; + margin:0; + width:130px; + text-transform:uppercase; + font-weight:bold; + + background-color: #f3f3f3; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#ececec)); + background-image: -webkit-linear-gradient(top, #f9f9f9, #ececec); + background-image: -moz-linear-gradient(top, #f9f9f9, #ececec); + background-image: -ms-linear-gradient(top, #f9f9f9, #ececec); + background-image: -o-linear-gradient(top, #f9f9f9, #ececec); + background-image: linear-gradient(top, #f9f9f9, #ececec); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f9f9f9', +EndColorStr='#ececec'); + color: #33B5E5; +} + +.training-nav-top a.button-secondary:hover, +.training-nav-bottom a.button-secondary:hover { + background-color: #09c; + background-image: -webkit-gradient(linear, left top, left bottom, from(#2faddb), to(#09c)); + background-image: -webkit-linear-gradient(top, #2faddb, #09c); + background-image: -moz-linear-gradient(top, #2faddb, #09c); + background-image: -ms-linear-gradient(top, #2faddb, #09c); + background-image: -o-linear-gradient(top, #2faddb, #09c); + background-image: linear-gradient(top, #2faddb, #09c); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#2faddb', EndColorStr='#09c'); + border: 1px solid #3990ab; + color: #fff !important; +} + +.training-nav-top a.button-secondary.last, +.training-nav-bottom a.button-secondary.last { + border-left:0; +} + +.training-nav-top a.button-secondary.double-size, +.training-nav-bottom a.button-secondary.double-size { + width:291px; +} + +.training-nav-top, +.training-nav-bottom { + float:right; + margin:0 0 0 20px; +} + +.training-nav-top { + position:relative; + top:73px; +} + +.training-nav-bottom { + padding:0 0 20px; +} + +#tb-wrapper, +#qv-wrapper { + float:right; + clear:right; + margin:6px 0 0 30px; /* negative top-margin to counter the content-header bottom margin */ + padding:0 0 30px; +} + +#tb-wrapper { + margin:51px 0 0 20px; /* negative top-margin to counter the content-header bottom margin */ +} + +#tb, +#qv { + font-size:13px; + line-height:18px; + width:238px; + border:1px solid #ccc; + float:right; +} + +#tb { + width:278px; +} + +#tb h2, +#qv h2 { + margin:10px 15px; + padding:0; + text-transform:uppercase; + border-bottom:1px solid gainsboro; +} + +#tb *, +#qv * { + font-size:inherit; +} + +#tb .download-box, +#qv .download-box { + padding:0 0 0 15px; +} + +#tb .download-box .filename, +#qv .download-box .filename { + font-size:11px; + margin:4px 4px 10px; + color:#666; +} + + +/* Dev guide quicknav */ + +.sidebox-wrapper { + float:right; + clear:right; + margin:0 0 0 20px; + padding:0 0 20px; +} + +.sidebox { + width:226px; + font-size:13px; + line-height:18px; + border-left:4px solid #99CC00; + float:right; + padding:0 0 0 10px; + margin:0 0 1em 20px; +} + +.sidebox h2, +.sidebox h3, +.sidebox h4, +.sidebox h5 { + font-weight:bold; + margin:0 0 10px; + line-height: 16px; +} + +.sidebox * { + font-size:inherit; +} + +.sidebox > *:last-child { + margin-bottom:0; +} + +#tb ol, +#tb ul, +#qv ul { + margin:0 15px 10px 35px; +} + +#tb p { + margin:0 15px 10px; +} + +#qv ol { + list-style:none; + margin:0 15px 15px; + font-size:inherit; + line-height:inherit; +} + +#tb ol ol, +#tb ul ul, +#qv ol ol, +#qv ul ul, +.sidebox ol ol, +.sidebox ul ul { + margin-bottom:0; +} + +#qv ol ol { + margin:3px 0 3px 15px; +} + +.sidebox p, +#qv p, +#tb p { + margin: 0 0 10px; +} + +/* related resources blocks in checklists */ + +/* related resources sections that have dynamic content */ + + + +h3.rel-resources { +margin:1.25em auto; +} + +/* -------------------------------------------------------------------------- +Form +*/ +.article form { + margin: 0 0 20px; +} +.article form .form-required { + color: #dd4b39; +} +.article form fieldset { + margin: 0 0 20px; + padding: 0; +} +.article form legend { + display: block; + line-height: 1.5; + margin: 0; + padding: 0; +} +/* +.article form ol, .article form ul { + margin: 0 0 0 1em; + padding: 0 0 0 1em; +} +[dir='rtl'] .article form ol, [dir='rtl'] .article form ul { + margin: 0 1em 0 0; + padding: 0 1em 0 0; +} +.article form ol ul, .article form ul ul, [dir='rtl'] .article form ol ul, [dir='rtl'] .article form +ul ul { + list-style: none; + margin: 0; + padding: 0; +} +.article form li { + margin: 0 0 20px; +} +.article form li li { + margin: 0 0 5px; +} +*/ +.article form label { + display: block; + margin: 0 0 5px; + padding: 0; +} +.article form input[type='text'], .article form select, .article form textarea, .article form +.checkbox-group, .article form .radio-group { + margin-bottom: 15px; +} +.checkbox-group input { + width: 13px; + height: 13px; + background: #fff; + border: solid 1px #c6c6c6; + float: left; +} +.article form .checkbox-group, .article form .radio-group { + display: block +} +.article form select { + border: solid 1px #ebebeb; + border-top-color: #ddd; + -webkit-appearance: none; + background: #f3f3f3 url(../images/arrows-up-down.png) right center no-repeat; + height: 30px; + color: #222; + line-height: normal; + padding: 5px; + width: 130px; +} + +.article form .browse .browse-msg { + font-size: 11.5px; +} +.article form .browse .button-secondary { + height: auto; + line-height: 25px; + font-size: 11px; + padding: 0 8px; + margin: 0 10px 15px 0; +} +.article form input[type='text'], .article form textarea { + border: 1px solid #ebebeb; + border-top-color: #dcdcdc; + color: #222; + line-height: normal; + padding: 6px 10px; + width: 300px; +} +.article form textarea { + height: 150px; +} +.article form input[type='text']:focus, .article form textarea:focus { + border-color: #33B5E5; + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2); + -o-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2); + outline: 0; +} +.article form input[disabled], .article form textarea[disabled], .article form label.form-disabled { + color: #999; +} +.article form input[type='text'][disabled], .article form textarea[disabled] { + background-color: #ebebeb; +} +form .form-error input[type='text'], form .form-error textarea { + border-color: #dd4b39; + margin-right: 20px; +} +.aside { + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + margin: 10px 0; + padding: 20px; + color: #666; + position: relative; + background: #f9f9f9; +} +/* +.aside, .notification, .promo { + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + border-radius: 2px; + margin: 10px 0; + padding: 10px; + position: relative; +} +.aside>:first-child, .notification>:first-child, .promo>:first-child { + margin-top: 0; +} +.aside>:last-child, .notification>:last-child, .promo>:last-child { + margin-bottom: 0; +} +.aside { + background: #f9f9f9; +} +.notification { + background: #fffbe4; + border-color: #f8f6e6; +} +.promo { + background: #f6f9ff; + border-color: #eff2f9; +} +*/ + +/* SDK TOS styles */ + +div.sdk-terms { + white-space: pre-wrap; + word-wrap: break-word; + font-family: inherit; + font-size: inherit; + padding: 10px; + height: 370px; + width: 738px; + border: 1px solid #444; + background: transparent; + overflow:auto; + margin:0 0 10px; +} + +div.sdk-terms.fullsize { + padding: 0; + height: auto; + width: auto; + border:none; +} + +div.sdk-terms h3, +div.sdk-terms h2 { + margin:0; +} + +div#sdk-terms-form { + padding:0 0 0 10px; +} + +div#sdk-terms-form input { + display:inline; + margin:4px 4px 4px 0; +} + + +/* -------------------------------------------------------------------------- +Code Style +*/ +pre { + margin:0 0 1em 0; + padding: 1em; + overflow: auto; + border: solid 1px #ddd; + background: #f7f7f7; +} +.str { color: #800; } /* Code string */ +.kwd { color: #008; } +.typ { color: #606; } +.lit { color: #066; } +.pun { color: #660; } +.pln { color: #000; } +.tag { color: #008; } +.atn { color: #828; } +.atv { color: #800; } /* XML string */ +.dec { color: #606; } + +/* -------------------------------------------------------------------------- +Three-Pane +*/ +/* Package Nav & Classes Nav */ +.three-pane { + position: relative; + border-top: solid 1px #ebebeb; +} +#packages-nav .js-pane, +#classes-nav .js-pane { + overflow:visible; +} +#packages-nav { + height:270px; + max-height: inherit; + overflow: hidden; + position: relative; +} +#classes-nav { + overflow: hidden; + position: relative; +} +#packages-nav ul, #classes-nav ul { + list-style-type: none; + margin: 10px 0 20px 0; + padding: 0; +} +#classes-nav li { + font-weight: bold; + margin: 5px 0; +} +#packages-nav li, +#classes-nav li li { + margin: 0; +} +#packages-nav li a, #packages-nav li a:active, #packages-nav li a:visited, +#classes-nav li a, #classes-nav li a:active, #classes-nav li a:visited { + padding: 0 0 0 4px; +} +#packages-nav li a, #packages-nav li a:active, #packages-nav li a:visited, +#classes-nav li li a, #classes-nav li li a:active, #classes-nav li li a:visited, +#nav-tree li a, #nav-tree li a:active, #nav-tree li a:visited { + color: #222; + font-weight: normal; +} +#packages-nav li a, #packages-nav li a:active, #packages-nav li a:visited, +#classes-nav li li a, #classes-nav li li a:active, #classes-nav li li a:visited { + display: block; +} +#packages-nav li.selected a, #packages-nav li.selected a:active, #packages-nav li.selected +a:visited, +#classes-nav li li.selected a, #classes-nav li li.selected a:active, #classes-nav li li.selected +a:visited, +#nav-tree li div.selected { + font-weight: 500; + color: #0099cc; + background-color:#fff; } + #packages-nav li.selected ul li a, + #classes-nav li.selected ul li a { + /* don't highlight child items */ + color: #555555; } +#nav-tree li div.selected a { + font-weight: 500; + color: #0099cc; +} +#nav-swap { + height:30px; + border-top:1px solid #ccc; +} +#nav-swap a { + display:inline-block; + height:100%; + color: #222; + font-size: 12px; + padding: 5px 0 5px 5px; +} + +#nav-swap .fullscreen { + float: right; + width: 24px; + height: 24px; + text-indent: -1000em; + padding:0; + margin:3px 5px 0; + background: url(../images/fullscreen.png) no-repeat -24px 0; +} +#nav-swap .fullscreen.disabled { + background-position: 0 0; +} +#nav-swap .fullscreen:hover, +#nav-swap .fullscreen:focus { + cursor:pointer; +} + + +/* nav tree */ +#side-nav, #swapper, +#nav-tree, #tree-list { + overflow:hidden; + margin-left:0; +} + +#devdoc-nav { + overflow:visible !important; /* To keep the "to top" button visible */ +} + +#nav-tree ul { + list-style:none; + padding:0; + margin:10px 0; +} + +#nav-tree ul li div { + padding:0 0 0 4px; +} + +#side-nav #nav-tree ul li a, +#side-nav #nav-tree ul li span.no-children { + padding: 0; + margin: 0; +} + +#nav-tree .plus { + margin: 0 3px 0 0; +} + +#nav-tree ul ul { + list-style: none; + margin: 0; + padding: 0 0 0 0; +} + +#nav-tree ul li { + margin: 0; + padding: 0 0 0 0; + white-space: nowrap; +} + +#nav-tree .children_ul { + padding:0; + margin:0; +} +#nav-tree .children_ul li div { + padding:0 0 0 10px; +} +#nav-tree .children_ul .children_ul li div { + padding:0 0 0 20px; +} + +#nav-tree a.nolink { + color: #222; + text-decoration: none; +} + +#nav-tree span.label { + width: 100%; +} + +#nav-tree { + overflow-x: auto; + overflow-y: scroll; + outline:0; +} + + +/* Content */ +#doc-col { + margin-right:0; +} + +/* Uncomment this for preview release watermark +#doc-col { + background: url('../images/preview.png') repeat; +} +*/ + +#doc-content-container { + margin-left: 291px +} +#doc-header, #doc-content { + padding: 1em 2em; +} +#doc-header { + background: #f7f7f7; +} +#doc-header h1 { + line-height: 0; + margin-bottom: 15px; +} +#api-info-block { + float: right; + font-weight: bold; +} +#api-info-block a, #api-info-block a:active, #api-info-block a:visited { + color: #222; +} +#api-info-block a:hover, #api-info-block a:focus { + color: #33B5E5; +} +#api-nav-header { + height:19px; /* plus 16px padding = 35; same as #nav li */ + font-size:14px; + padding: 8px 0; + margin: 0; + border-bottom: 1px solid #CCC; + background:#e9e9e9; + background: rgba(0, 0, 0, 0.05); /* matches #nav li.expanded */ + +} +#api-nav-title { + padding:0 5px; + white-space:nowrap; +} + +#api-level-toggle { + float:right; + padding:0 5px; +} + +#api-level-toggle label { + margin:0; + vertical-align:top; + line-height: 19px; + font-size:13px; + height: 19px; +} + +#api-level-toggle .select-wrapper { + width: 35px; + display: inline-block; + overflow: hidden; +} +#api-level-toggle select { + border: 0; + appearance:none; + -moz-appearance:none; + -webkit-appearance: none; + background: transparent url(../images/arrows-up-down.png) 23px 5px no-repeat; + color: #222; + height: 19px; + line-height: 19px; + padding: 0; + margin:1px 0 0 0; + width:150%; + font-size:13px; + vertical-align:top; + outline:0; +} + + +/* Toggle for revision notes and stuff */ +div.toggle-content.closed .toggle-content-toggleme { + display:none; +} + +#jd-content img.toggle-content-img { + margin:0 5px 5px 0; +} + +div.toggle-content-toggleme { + padding:0 0 0 15px; +} + + +/* API LEVEL FILTERED MEMBERS */ + +.absent, +.absent a:link, +.absent a:visited, +.absent a:hover, +.absent * { + color:#bbb !important; + cursor:default !important; + text-decoration:none !important; +} +#devdoc-nav li.absent.selected, +#devdoc-nav li.absent.selected *, +#devdoc-nav div.label.absent.selected, +#devdoc-nav div.label.absent.selected * { + background-color:#eaeaea !important; +} +.absent h4.jd-details-title, +.absent h4.jd-details-title * { + background-color:#f6f6f6 !important; +} +.absent img { + opacity: .3; + filter: alpha(opacity=30); + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; +} + + + + + + + + + +/* JQUERY RESIZABLE STYLES */ +.ui-resizable { position: relative; } +.ui-resizable-handle { position: absolute; display: none; font-size: 0.1px; z-index:1; } +.ui-resizable .ui-resizable-handle { display: block; border-bottom: 1px solid #e4e4e4; } +/*body .ui-resizable-disabled .ui-resizable-handle { display: none; } +body .ui-resizable-autohide .ui-resizable-handle { display: none; }*/ +.ui-resizable-s { cursor: s-resize; height: 10px; width: 100% !important; bottom: -11px; left: 0; +border-bottom: solid 1px #ededed; + background: #f7f7f7 url("../images/resizable-s2.png") no-repeat scroll center center; } +/* +.ui-resizable-e { +cursor: e-resize; width: 10px; right: 0; top: 0; height: 100%; border-right: solid +1px #ededed;background: #f7f7f7 url("../images/resizable-e2.png") no-repeat scroll center center; } +*/ + +/* -------------------------------------------------------------------------- +Lightbox +*/ +.lightbox { + width: 769px; + padding: 1.5em; + margin: 0 auto; + border: solid 1px #dcdcdc; + background: #fff; + -moz-box-shadow: 1px 1px 5px rgba(0,0,0,0.1); + -webkit-box-shadow: 1px 1px 5px rgba(0,0,0,0.1); + box-shadow: 1px 1px 5px rgba(0,0,0,0.1) +} +.lightbox .header { + float: left; + width: 720px; + margin: -10px 20px 10px 0; +} +.lightbox .close { + float: right; + width: 10px; + height: 10px; + margin: -10px -10px 10px 0; + text-indent: -1000em; + background: url(../images/close.png) no-repeat 0 0; +} +.lightbox .close:hover, .lightbox .close:focus { + background-position: -10px 0; +} + +/* -------------------------------------------------------------------------- +Styles for samples browser +*/ + +#codesample-wrapper { + width:100000px; /* super wide to contain floats, but doesn't cause scroll */ + overflow:visible; +} +pre#codesample-block { + float:left; + overflow:visible; + background:transparent; + border:none; +} +pre#codesample-block a.number { + display:none; +} +pre#codesample-block .code-line:hover { + background:#e7e7e7; +} +pre#codesample-line-numbers { + float:left; + width:2em; + background:transparent; + border:none; + border-right:1px solid #ccc; + padding-left:0; + font-family:monospace; + text-align:right; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: -moz-none; + -ms-user-select: none; + user-select: none; +} +pre#codesample-line-numbers a { + color:#999; +} +pre#codesample-line-numbers.hidden { + display:none; +} +pre#codesample-block span.code-line { + width:100%; + display:inline-block; +} + +/* +Styles for displaying image or video resources in samples browser. +Resources are marked as no-display if they exceed the size limit. +*/ +div#codesample-resource img, div#codesample-resource video { + border: 1px solid #ececec; +} + +div#codesample-resource.noDisplay div { + border: 1px solid #ececec; + width:120px; + margin-bottom:4px; + padding:20px; +} + +div#codesample-resource .noDisplay-message:after { + font-style:italic; + font-size:12px; + content: 'This resource is not available for browsing. To view it, please download the project.'; +} + +/* +Styles for project structure (treeview) page +*/ +.structure-dir { +background-image:url(../../assets/images/folder.png); +background-repeat:no-repeat; +background-position:16px 2px; + margin:.25em 0 0 0; + padding:0 0 0 0; +} + +.structure-toggleme { + margin:0 0 0 3em; + padding:0 0 0 0; + text-decoration:none; +} + +.structure-java{ +background-image:url(../../assets/images/file-java.png); +background-repeat:no-repeat; +background-position:0px 2px; + margin:.3em 0 0 0; + padding:.3em 0 .3em 22px; +} + +.structure-file { +background-image:url(../../assets/images/file-generic.png); +background-repeat:no-repeat; +background-position:0px 2px; + margin:.3em 0 0 0; + padding:.3em 0 .3em 22px; +} + +.structure-xml { +background-image:url(../../assets/images/file-xml.png); +background-repeat:no-repeat; +background-position:0px 2px; + margin:.3em 0 0 0; + padding:.3em 0 .25em 22px; +} + +.structure-img { +background-image:url(../../assets/images/file-image.png); +background-repeat:no-repeat; +background-position:0px 2px; + margin:.3em 0 0 0; + padding:.3em 0 .25em 22px; +} + +.structure-manifest { +background-image:url(../../assets/images/file-manifest.png); +background-repeat:no-repeat; + margin:.0 0 0 1.25em; + padding:0 0 0 22px; + text-decoration:none; +} + +#jd-content .structure-toggle-img { + margin:.5em 0 0 0; +padding-right:2.1em; +} + +.dirInfo { + margin-left:2em; +} + +.structure-dir a { + text-decoration:none; +} + +.structure-manifest a { + text-decoration: none; +} +.structure-file a { + text-decoration: none; +} + +.sampleEmbed { + background-color:rgb(249, 249, 249); +} + +.sampleEmbed ol.lineNumbers { + list-style-type: decimal; + padding-left:1em; +} + +.sampleEmbed ol.lineNumbers li { +border-left:1px solid #ddd; +border-right:1px solid #ddd; +color:gray; +background-color:#f7f7f7; +margin:0 0 0 24px; +padding: 2px 2px 2px 6px; +} + +.sampleEmbed ol.lineNumbers li:hover { +background: #efefef; +} + +.samples-nav li a { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* -------------------------------------------------------------------------- +Styles for raw formatted line numbers (not used with listformatted version) +div.sampleLine div.lineNumber { + display: inline; +} +div.sampleLine div.lineCode { + display: inline; + padding-left:6px; +} +div.sampleLine { + padding:0; + margin:0; +}*/ + +/* -------------------------------------------------------------------------- +Butterbar +*/ +#butterbar-wrapper { + position:absolute; + top:0; + left:0; + width:100%; +} +#butterbar { + width:100%; + margin:0 auto; +} +#butterbar-message { + background-color:rgba(255, 187, 51, .4); + font-size:13px; + padding: 5px 0; + text-align:center; +} +a#butterbar-message { + cursor:pointer; + display:block; +} +a#butterbar-message:hover { + text-decoration:underline; +} + +/* -------------------------------------------------------------------------- +Misc +*/ + + +.clearfix:before, .clearfix:after { + content: ""; + display: table +} +.clearfix:after { + clear: both +} +.clearfix { + *zoom: 1 +} +table.blank th, table.blank td { + border: 0; + background: none +} +.caption { + margin: 0.5em 0 2em 0; + color: #000; + font-size: 11.5px; +} + +.nolist, .nolist ul, .nolist ol { + list-style:none; + margin-left:0; +} +#tb .nolist { + margin-left:15px; +} + +dl.xml>dt { + text-transform:uppercase; +} +dl.xml dl.attr { + margin-top:0; +} + +pre.classic { + background-color:transparent; + border:none; + padding:0; +} + +p.img-caption { + margin: -10px 0 20px; + font-size:13px; + color:#666; +} + +div.figure, +div.figure-right { + float:right; + clear:right; + margin:10px 0 0 0; + padding:0 0 0 20px; + /* width must be defined w/ an inline style matching the image width */ +} + +div.figure-left { + float:left; + clear:left; + margin:10px 0 0 0; + padding:0 20px 0 0; + /* width must be defined w/ an inline style matching the image width */ +} + +img.frame { + border:1px solid #DDD; + padding:4px; +} + +p.table-caption { + margin: 0 0 4px 0; + font-size:13px; + color:#666; +} + +p.code-caption { + margin-bottom: 4px; + font: 12px/1.5 monospace; + color:#666; +} + +div.note, +div.caution, +div.warning { + margin: 0 0 15px; +} + +p.note, div.note, +p.caution, div.caution, +p.warning, div.warning { + padding: 0 0 0 10px; + border-left: 4px solid; +} + +p.note, div.note { + border-color: #258AAF; +} + +p.caution, div.caution { + border-color: #FF8800; +} + +p.warning, div.warning { + border-color: #ff4443; +} + +div.note.design { + border-left: 4px solid #33B5E5; +} + +div.note.develop { + border-left: 4px solid #F80; +} + +div.note.distribute { + border-left: 4px solid #9C0; +} + +.note p, .caution p, .warning p { + margin:0 0 5px; +} + +.note p:last-child, .caution p:last-child, .warning p:last-child { + margin-bottom:0; +} + +body.about blockquote { + display:block; + float:right; + width:280px; + font-size:20px; + font-style:italic; + line-height:24px; + color:#33B5E5; + margin:0 0 20px 30px; +} + +div.design-announce p { + margin:0 0 10px; +} + +.expandable { + height:34px; + padding-left:20px; + position:relative; +} +.expandable:before { + content: ''; + background-image: url(../images/styles/disclosure_down.png); + background-repeat:no-repeat; + background-position: -12px -9px; + width: 20px; + height: 20px; + display: inline-block; + position: absolute; + top: 0; + left: 0; } +} +.expandable.expanded:before { + background-image: url(../images/styles/disclosure_up.png); +} + +/* notice box for cross links between Design/Develop docs */ +a.notice-developers-video, +a.notice-developers, +a.notice-designers-video, +a.notice-designers { + float:right; + clear:right; + width:238px; + min-height:50px; + margin:0 0 20px 20px; + border:1px solid #ddd; +} +a.notice-developers-video.wide, +a.notice-developers.wide, +a.notice-designers-video.wide, +a.notice-designers.wide { + width:278px; +} +a.notice-developers-video div, +a.notice-developers div, +a.notice-designers-video div, +a.notice-designers div { + min-height:40px; + background:url('../images/styles/notice-developers@2x.png') no-repeat 10px 10px; + background-size:40px 40px; + padding:10px 10px 10px 60px; +} +a.notice-designers div { + background:url('../images/styles/notice-designers@2x.png') no-repeat 10px 10px; + background-size:40px 40px; +} +a.notice-designers-video div { + background:url('../images/styles/notice-designers-video@2x.png') no-repeat 10px 10px; + background-size:40px 40px; +} +a.notice-developers-video div { + background:url('../images/styles/notice-developers-video@2x.png') no-repeat 10px 10px; + background-size:40px 40px; +} +a.notice-developers-video:hover, +a.notice-developers:hover, +a.notice-designers-video:hover, +a.notice-designers:hover { + background:#eee; +} +a.notice-developers-video h3, +a.notice-developers h3, +a.notice-designers-video h3, +a.notice-designers h3 { + font-size:13px; + line-height:18px; + font-weight:bold; + text-transform:uppercase; + color:#000 !important; + margin:0 0 1px; +} +a.notice-developers-video p, +a.notice-developers p, +a.notice-designers-video p, +a.notice-designers p { + margin:0; + line-height:14px; +} +a.notice-developers-video.left, +a.notice-developers.left, +a.notice-designers-video.left, +a.notice-designers.left { + margin-left:0; + float:left; +} + + +/* hide nested list items; companion to hideNestedLists() */ +.hide-nested li ol, +.hide-nested li ul { + display:none; +} + +a.header-toggle { + display:block; + float:right; + text-transform:uppercase; + font-size:.8em !important; + font-weight:normal; + margin-top:2px; +} + + +/* for IDE instruction toggle (Studio/Eclipse/Other) */ +select.ide { + background: transparent; + border: 1px solid #bbb; + border-left: 0; + border-right: 0; + margin: 10px 0; + padding: 10px 0; + color:#666; +} +select.ide, +select.ide option { + font-family: inherit; + font-size:16px; + font-weight:500; +} +/* hide all except studio by default */ +.select-ide.eclipse, +.select-ide.other { + display:none; +} +/* ... unless studio also includes one of the others */ +.select-ide.studio.eclipse, +.select-ide.studio.other { + display:none; +} + + +/* ----------------------------------------------- +good/bad example containers +*/ + +div.example-block { + background-repeat: no-repeat; + background-position:10px 8px; + background-color:#ccc; + padding:4px; + margin:.8em auto 1.5em 2em; + width:260px; + float:right; +} +/* red container */ +.example-block.bad { + background-image: url(/images/example-bad.png); + background-color:#f4cccc; +} +/* green container */ +.example-block.good { + background-image: url(/images/example-good.png); + background-color:#d9ead3; +} +/* container heading div */ +#jd-content .example-block .heading { + font-weight:bold; + margin:6px 0 9px 36px; + padding:6px auto; +} +/* container image (if any) */ +#jd-content .example-block img { + margin:0; + padding:0px; +} + +.example-block table { + margin:0; +} + +/* ----------------------------------------------- +Dialog box for popup messages +*/ + +div.dialog { + height:0; + margin:0 auto; +} + +div.dialog>div { + z-index:99; + position:fixed; + margin:70px 0; + width: 391px; + height: 200px; + background: #F7F7F7; +-moz-box-shadow: 0 0 15px rgba(0,0,0,0.5); +-webkit-box-shadow: 0 0 15px rgba(0,0,0,0.5); +box-shadow: 0 0 15px rgba(0,0,0,0.5); +} +/* IE6 can't position fixed */ +* html div.dialog div { position:absolute; } + + +div#deprecatedSticker { + display:none; + z-index:99; + position:fixed; + right:15px; + top:114px; + margin:0; + padding:1em; + background:#FFF; + border:1px solid #dddd00; + box-shadow:-5px 5px 10px #ccc; + -moz-box-shadow:-5px 5px 10px #ccc; + -webkit-box-shadow:-5px 5px 10px #ccc; +} + +div#langMessage, +div#naMessage { + display:none; + width:555px; + height:0; + margin:0 auto; +} + + +div#langMessage>div, +div#naMessage div { + z-index:99; + width:450px; + position:fixed; + margin:50px 0; + padding:4em 4em 3em; + background:#FFF; + border:1px solid #999; + box-shadow:-10px 10px 40px #888; + -moz-box-shadow:-10px 10px 40px #888; + -webkit-box-shadow:-10px 10px 40px #888; +} +/* IE6 can't position fixed */ +* html div#langMessage>div, +* html div#naMessage div { position:absolute; } + +div#naMessage strong { + font-size:1.1em; +} + +div#langMessage .lang { + display:none; +} + +/* -------------------------------------------------------------------------- +Slideshow Controls & Next/Prev +*/ +.slideshow-next, .slideshow-prev { + width: 20px; + height: 36px; + text-indent: -1000em; +} +.slideshow-container { + margin: 2em 0; +} +.slideshow-container:before, .slideshow-container:after { + content: ""; + display: table; + clear: both; +} +a.slideshow-next, a.slideshow-next:visited { + + float: right; + + background: url(../images/arrow-right.png) no-repeat 0 0 + +} + +a.slideshow-prev, a.slideshow-prev:visited { + + float: left; + + background: url(../images/arrow-left.png) no-repeat 0 0 + +} + +.slideshow-next:hover, .slideshow-prev:hover, .slideshow-next:focus, .slideshow-prev:focus { + + background-position: 0 -36px + +} + +.slideshow-next:active, .slideshow-prev:active { + + background-position: 0 -72px + +} +.slideshow-nav { + width: 74px; + margin: 0 auto; +} +.slideshow-nav a, .slideshow-nav a:visited { + display: inline-block; + width: 12px; + height: 12px; + margin: 0 2px 20px 2px; + background: #ccc; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + border-radius: 50%; +} +.slideshow-nav a:hover, .slideshow-nav a:focus { + + background: #33B5E5 +} + +.slideshow-nav a:active { + + background: #1e799a; + background: #ebebeb; + -webkit-box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05); + -moz-box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05); + box-shadow: inset 0px 0px 5px 2px rgba(0, 0, 0, .05); +} +.slideshow-nav a.active, .slideshow-nav a.active:active, .slideshow-nav a.active:visited { + background: #33B5E5 +} +/* -------------------------------------------------------------------------- +Tabs +*/ +ul.tabs { + padding: 0; + margin: 2em 0 0 0; +} +ul.tabs:before, ul.tabs:after { + content: ""; + display: table; + clear: both; +} +ul.tabs li { + list-style-type: none; + float: left; +} +ul.tabs li a, ul.tabs li a:active, ul.tabs li a:visited { + display: block; + height: 36px; + line-height: 36px; + padding: 0 15px; + margin-right: 2px; + color: #222; + -moz-border-radius-topleft: 2px; + -moz-border-radius-topright: 2px; + -moz-border-radius-bottomright: px; + -moz-border-radius-bottomleft: px; + -webkit-border-radius: 2px 2px px px; + border-radius: 2px 2px px px; + border-top: solid 1px #ebebeb; + border-left: solid 1px #ebebeb; + border-right: solid 1px #ebebeb; + background-color: #fff; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#fafafa)); + background-image: -webkit-linear-gradient(top, #ffffff, #fafafa); + background-image: -moz-linear-gradient(top, #ffffff, #fafafa); + background-image: -ms-linear-gradient(top, #ffffff, #fafafa); + background-image: -o-linear-gradient(top, #ffffff, #fafafa); + background-image: linear-gradient(top, #ffffff, #fafafa); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff', +EndColorStr='#fafafa'); +} +ul.tabs li a:hover { + color: #33B5E5; +} +ul.tabs li a.selected { + height: 37px; + color: #33B5E5; + background-color: #f7f7f7; + background-image: none; + border-color: #ddd; +} +.tab-content { + padding: 1.2em; + margin: -1px 0 2em 0; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + border: solid 1px #ddd; + background: #f7f7f7; +} +/* -------------------------------------------------------------------------- +Feature Boxes +*/ +.feature-box { + width: 291px; + height: 200px; + position: relative; + background: #F7F7F7; +} +.box-border .top, .box-border .bottom, .box-border .left, .box-border .right { + z-index: 100; + position: absolute; + background-color: #aaa; +} +.box-border .top, .box-border .bottom { + width: 291px; + height: 1px; +} +.dialog .box-border .top, +.dialog .box-border .bottom { width:391px; } + +.box-border .left, .box-border .right { + width: 1px; + height: 8px; +} +.box-border .top { top: 0; left: 0 } +.box-border .top .left { top: 1px; left: 0 } +.box-border .top .right { top: 1px; right: 0 } +.box-border .bottom .left { top: -8px; left: 0 } +.box-border .bottom { top: 200px; left: 0 } +.box-border .bottom .right { top: -8px; right: 0 } + +.feature-box h4, +.dialog h4 { + margin: 15px 18px 10px; + padding:0; +} + +.feature-box p, +.dialog p { + margin: 10px 18px; + padding:0; +} +.feature-box .link, +.dialog .link { + border-top: 1px solid #dedede; + bottom: 0; + position: absolute; + width: inherit; +} +.feature-box a, .feature-box h4, +.dialog a, .dialog h4 { + -webkit-transition: color .4s ease; + -moz-transition: color .4s ease; + -o-transition: color .4s ease; + transition: color .4s ease; +} +.feature-box:hover { + cursor: pointer; +} +.feature-box:hover .box-border .top, .feature-box:hover .box-border .bottom, .feature-box:hover +.left, .feature-box:hover .right { + background-color: #33B5E5; +} +.feature-box:hover h4, .feature-box:hover a { + color: #33B5E5; +} +/* -------------------------------------------------------------------------- +Page-Specific Styles +*/ +.colors { + position: relative; + float: left; + width: 92px; + margin: 40px 0 20px; +} +.colors div { + color: #fff; + font-size: 11.5px; + width: 82px; + height: 82px; + margin-top:-30px; + line-height: 82px; + text-align: center; + border: solid 5px #fff; + -webkit-border-radius: 50%; + -moz-border-radius: 50%; + border-radius: 50%; +} + + + + + + + + + + + + + + +/* ########### REFERENCE DOCS ################## */ + +#packages-nav h2, +#classes-nav h2 { + font-size:18px; + margin:0; + padding:0 0 0 4px; +} + +#jd-header { + padding: 0 0 12px; + margin: 20px 0 12px; + font-size:12px; + padding-bottom:12px; + border-bottom:solid 1px #ccc; +} + +#jd-header h1 { + margin:0; + padding:0 0 6px 0; +} + +/* not sure if this is needed in the ref docs, disabling for now +.jd-descr h2 { + margin:16px 0; +} +*/ + +/* page-top-right container for reference pages (holds +links to summary tables) */ +#api-info-block { + font-size:12px; + margin:20px 0 0; + padding:0 10px 6px; + font-weight:normal; + float:right; + text-align:right; + color:#999; + max-width:80%; + font-size: 12px; + line-height:14px; +} + +#api-info-block div.api-level { + font-weight:bold; + font-size:inherit; + float:none; + color:#222; + padding:0; + margin:0; +} + +/* inheritance table */ +.jd-inheritance-table { + border-spacing:0; + margin:0; + padding:0; + font-size:12px; + line-height:14px; + background-color:transparent; +} +.jd-inheritance-table tr td { + border: none; + margin: 0; + padding: 0; + background-color:transparent; +} +.jd-inheritance-table .jd-inheritance-space { + font-weight:bold; + width:1em; +} +.jd-inheritance-table .jd-inheritance-interface-cell { + padding-left: 17px; +} + + + +.jd-sumtable a { + text-decoration:none; +} + +.jd-sumtable a:hover { + text-decoration:underline; +} + +/* the link inside a sumtable for "Show All/Hide All" */ +.toggle-all { + display:block; + float:right; + font-weight:normal; + font-size:0.9em; +} + +/* adjustments for in/direct subclasses tables */ +.jd-sumtable.jd-sumtable-subclasses { + margin: 1em 0 0 0; + max-width:968px; + background-color:transparent; + font-size:13px; +} + +/* extra space between end of method name and open-paren */ +.sympad { + margin-right: 2px; +} + +/* right alignment for the return type in sumtable */ +.jd-sumtable .jd-typecol { + text-align:right; +} + +/* adjustments for the expando table-in-table */ +.jd-sumtable-expando { + margin:.5em 0; + padding:0; +} + +/* a div that holds a short description */ +.jd-descrdiv { + padding:3px 1em 0 1em; + margin:0; + border:0; +} + +#jd-content img.jd-expando-trigger-img { + padding:0 4px 4px 0; + margin:0; +} + +.jd-sumtable-subclasses div#subclasses-direct, +.jd-sumtable-subclasses div#subclasses-indirect { + margin:0 0 0 13px; +} + + + +/********* MEMBER REF *************/ + + +.jd-details { +/* border:1px solid #669999; + padding:4px; */ + margin:0 0 1em; +} + +/* API reference: a container for the +.tagdata blocks that make up the detailed +description */ +.jd-details-descr { + padding:0; + margin:.5em .25em; +} + +/* API reference: a block containing +a detailed description, a params table, +seealso list, etc */ +.jd-tagdata { + margin:.5em 1em; +} + +.jd-tagdata p { + margin:0 0 1em 1em; +} + +/* API reference: adjustments to +the detailed description block */ +.jd-tagdescr { + margin:.25em 0 .75em 0; +} + +.jd-tagdescr ol, +.jd-tagdescr ul { + margin:0 2.5em; + padding:0; +} + +.jd-tagdescr table, +.jd-tagdescr img { + margin:.25em 1em; +} + +.jd-tagdescr li { +margin:0 0 .25em 0; +padding:0; +} + +/* API reference: heading marking +the details section for constants, +attrs, methods, etc. */ +h4.jd-details-title { + font-size:1.15em; + background-color: #E2E2E2; + margin:1.5em 0 .6em; + padding:3px 95px 3px 3px; /* room for api-level */ +} +body.google h4.jd-details-title { + background-color: #FFF; + padding-top:5px; + border-top: 1px solid #ccc; +} +body.google table.jd-sumtable th { + background-color: #FFF; + color:#000; +} + +h4.jd-tagtitle { + margin:0; +} + +h4 .normal { + font-weight:normal; +} + +/* API reference: heading for "Parameters", "See Also", etc., +in details sections */ +h5.jd-tagtitle { + margin:0 0 .25em 0; + font-size:1em; +} + +.jd-tagtable { + margin:0; + background-color:transparent; + width:auto; +} + +.jd-tagtable td, +.jd-tagtable th { + border:none; + background-color:#fff; + vertical-align:top; + font-weight:normal; + padding:2px 10px; +} + +.jd-tagtable th { + font-style:italic; +} + +/* Inline api level indicator for methods */ +div.api-level { + font-size:.8em; + font-weight:normal; + color:#999; + float:right; + padding:0 8px 0; + margin-top:-30px; +} + +table.jd-tagtable td, +table.jd-tagtable th { + background-color:transparent; +} + +table.jd-tagtable th { + color:inherit; +} + + + + + + + + + + + + + + + + + + + + + + + +/* SEARCH FILTER */ + +.menu-container { + position:relative; +} +#search_autocomplete { + font-weight:normal; +} + +.search_filtered_wrapper.reference { + width: 193px; + float: right; +} +.search_filtered_wrapper.docs { + width:875px; + float: left; + position:absolute; + top:26px; + right:66px; +} +.suggest-card { + position:relative; + width:170px; + min-height:90px; + padding:5px; + border: solid 1px #C5C5C5; + background: white; + top: 15px; + margin-right:-5px; + -moz-box-shadow: 0 0 10px rgba(0,0,0,0.2); + -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); +} +.suggest-card.reference { + position:absolute; + z-index:999; + min-width:171px; /* +padding and border makes this match input width */ + min-height:93px; /* add 3px because this has 1 not 4px top border */ + width:auto; + top:41px; + margin:0; +} +.suggest-card.develop { + z-index:997; + border-top: solid 4px #F80; + float:right; +} +.suggest-card.design { + z-index:996; + border-top: solid 4px #33b5e5; + float:right; +} +.suggest-card.distribute { + z-index:995; + border-top: solid 4px #9C0; + float:right; +} +.child-card { + width:100%; +} +.suggest-card.dummy { + width:172px; + float:right; + border:0; + background:transparent; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +ul.search_filtered { + min-width:100%; + list-style: none; + margin: 0 0 5px; + padding: 0; +} +.search_filtered .jd-selected { + background:#efefef; + cursor:pointer; +} +.search_filtered .jd-selected, +.search_filtered .jd-selected a { + color:#09C !important; +} + +.no-display { + display: none; +} + +.search_filtered li.jd-autocomplete { + font-size: 0.81em; + border: none; + margin: 0 0 2px; + padding: 0; + line-height:1.5em; +} + +.search_filtered li a { + padding:0 5px; + color:#222 !important; + display:inline-block; + line-height:12px; +} + +.search_filtered li.header { + font-weight:bold; + color:#444; + border: none; + margin: 8px 0 2px; + padding:1px 5px; + line-height:1.5em; +} +.search_filtered li.header.small { + font-size:0.85em; +} + +.suggest-card.reference +.search_filtered li.header { + color:#aaa; + font-size: 0.81em; +} + +.search_filtered li.header:first-child { + margin: 0 0 2px; +} + +.show-item { + display: table-row; +} +.hide-item { + display: hidden; +} + + + + + +/* SEARCH RESULTS */ + + +#leftSearchControl .gsc-twiddle { + background-image : none; +} + +#leftSearchControl td, #searchForm td { + border: 0px solid #000; + padding:0; +} + +#leftSearchControl .gsc-resultsHeader .gsc-title { + padding-left : 0px; + font-weight : bold; + font-size : 13px; + color:#006699; + display : none; +} + +#leftSearchControl .gsc-resultsHeader div.gsc-results-selector { + display : none; +} + +#leftSearchControl .gsc-resultsRoot { + padding-top : 6px; +} + +#leftSearchControl div.gs-visibleUrl-long { + display : block; + color:#006699; +} + +#leftSearchControl .gsc-webResult { + padding:0 0 20px 0; +} + +.gsc-webResult div.gs-visibleUrl-short, +table.gsc-branding, +.gsc-clear-button { + display : none; +} + +.gsc-cursor-box .gsc-cursor div.gsc-cursor-page, +.gsc-cursor-box .gsc-trailing-more-results a.gsc-trailing-more-results, +#leftSearchControl a, +#leftSearchControl a b { + color:#006699; +} + +.gsc-resultsHeader { + display: none; +} + +/* Disable built in search forms */ +.gsc-control form.gsc-search-box { + display : none; +} +table.gsc-search-box { + margin:6px 0 0 0; + border-collapse:collapse; +} + +td.gsc-input { + padding:0 2px; + width:100%; + vertical-align:middle; +} + +input.gsc-input { + border:1px solid #BCCDF0; + width:99%; + padding-left:2px; + font-size:.95em; +} + +td.gsc-search-button { + text-align: right; + padding:0; + vertical-align:top; +} + + +#searchResults { + overflow:hidden; /* because the repositioned page links makes the section think it needs to scroll +(it doesn't) */ + height:auto; +} + +#searchResults .gsc-control { + position:relative; + width:auto; + padding:0 0 10px; +} + +#searchResults .gsc-tabsArea { + position:relative; + white-space:nowrap; + float:left; + width:200px; +} + +#searchResults .gsc-above-wrapper-area { + display:none; +} + +#searchResults .gsc-resultsbox-visible { + float:left; + width:720px; + margin-left:20px; +} + +#searchResults .gsc-tabHeader { + padding: 3px 6px; + position:relative; + width:auto; + display:block; +} + +#searchResults h2#searchTitle { + padding:0; + margin:5px 0; + border:none; +} + +#searchResults h2#searchTitle em { + font-style:normal; + color:#33B5E5; +} + +#searchResults .gsc-table-result { + margin:5px 0 10px 0; + background-color:transparent; +} +#searchResults .gs-web-image-box, .gs-promotion-image-box { + width:120px; +} +#searchResults .gs-web-image-box img.gs-image, .gs-promotion-image-box img.gs-promotion-image { + max-width:120px; +} + +#searchResults .gsc-table-result .gsc-thumbnail { + padding:0 20px 0 0; +} + +#searchResults td { + background-color:transparent; +} + +#searchResults .gsc-expansionArea { + position:relative; +} +#searchResults .gsc-tabsArea .gsc-cursor-box { + width:200px; + padding:20px 0 0 1px; +} +#searchResults .gsc-cursor-page { + display:inline-block; + float:left; + margin:-1px 0 0 -1px; + padding:0; + height:27px; + width:27px; + text-align:center; + line-height:2; +} + +#searchResults .gsc-tabHeader.gsc-tabhInactive, +#searchResults .gsc-cursor-page { + text-decoration:none; + color:#258AAF; + border: solid 1px #DADADA; +} + +#searchResults .gsc-tabHeader.gsc-tabhInactive:hover, +#searchResults .gsc-cursor-page:hover { + border-color: #DBDBDB; + background-color: #F3F3F3; + background-image: -webkit-gradient(linear, left top, left bottom, from(#F9F9F9), to(#ECECEC)); + background-image: -webkit-linear-gradient(top, #F9F9F9, #ECECEC); + background-image: -moz-linear-gradient(top, #F9F9F9, #ECECEC); + background-image: -ms-linear-gradient(top, #F9F9F9, #ECECEC); + background-image: -o-linear-gradient(top, #F9F9F9, #ECECEC); + background-image: linear-gradient(top, #F9F9F9, #ECECEC); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#f9f9f9', +EndColorStr='#ececec'); + color: #33B5E5; +} + +#searchResults .gsc-tabHeader.gsc-tabhActive, +#searchResults .gsc-tabHeader.gsc-tabhActive:hover, +#searchResults .gsc-cursor-page.gsc-cursor-current-page, +#searchResults .gsc-cursor-page.gsc-cursor-current-page:hover { + color:#fff; + background-color: #09C; + background-image: -webkit-gradient(linear, left top, left bottom, from(#2FADDB), to(#09C)); + background-image: -webkit-linear-gradient(top, #2FADDB, #09C); + background-image: -moz-linear-gradient(top, #2FADDB, #09C); + background-image: -ms-linear-gradient(top, #2FADDB, #09C); + background-image: -o-linear-gradient(top, #2FADDB, #09C); + background-image: linear-gradient(top, #2FADDB, #09C); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#2faddb', EndColorStr='#09c'); + border: 1px solid #3990AB; + z-index:100; +} + + + + + +/************ STICKY NAV BAR ******************/ + +#header-wrapper { + background: #f9f9f9; + margin: 0 -10px 0 -10px; + padding: 31px 10px 0px 10px; + position: relative; +} +#header-wrapper #nav-x div.wrap { + max-width: 940px; + height: 38px; +} +#header-wrapper #nav-x ul.nav-x li { + margin-right: 31px !important; + margin-top: 5px; + margin-bottom: 0px; + height: 30px; +} +#header-wrapper #nav-x > div.wrap ul.nav-x li.active { + color: #669900; + border-bottom: 3px solid #669900; +} +#header-wrapper #nav-x > div.wrap ul.nav-x li.active a { + color: #669900; +} +#header-wrapper #nav-x > div.wrap ul.nav-x a { + font-size: 14.5px; +} +#header-wrapper .developer-console-btn { + float: right; + background: #fefefe; + border-radius: 4px; + padding: 8px 14px; + box-shadow: 1px 1px 0px #7a7a7a; + font-size: 14px; + margin-top: -6px; + cursor: pointer; + color: #464646; + margin-right: 20px; +} +/* not currently used */ +#header-wrapper .shadow { + width: 1034px; + height: 4px; + position: absolute; + left: 50%; + margin-left: -517px; + bottom: -4px; + background-image: url(../images/header-shadow.png); +} + +#context { + clear: both; + padding-top: 14px; +} +#context .breadcrumb { + float: left; + margin-bottom: 10px; +} +#context .util { + float: right; + margin-right: 20px; +} + +.breadcrumb { + list-style: none; + margin: 0; + padding: 0; + position: relative; +} +.breadcrumb li { + float: left; + padding: 0 20px 0 0; + color: #000; + white-space: nowrap; +} +.breadcrumb li a { + color: #000; +} +.breadcrumb li:after { + content: url(../images/breadcrumb.png); + position: relative; + top: 1px; + left: 10px; + width: 5px; + height: 10px; +} +.breadcrumb li.current { + font-weight: 700; +} +.breadcrumb li.current:after { + display: none; +} + +/* Sticky Nav overrides */ +.sticky-menu { + position: fixed; + width: 940px; + height: 0px; + z-index: 51; + top: 12px; +} +#sticky-header { + display: none; + padding: 0 10px; + position: fixed; + background: #f9f9f9; + top: 0px; + left: 0px; + right: 0px; + height: 45px; + box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1); + border-bottom: 1px solid #a5c43a; + z-index: 50; +} +#sticky-header.design { + border-bottom: 1px solid #33b5e5; +} +#sticky-header.develop { + border-bottom: 1px solid #F80; +} +#sticky-header.distribute { + border-bottom: 1px solid #9C0; +} +#sticky-header.about { + border-bottom: 1px solid #9933CC; +} +#sticky-header > div { + overflow: hidden; + *zoom: 1; + width: 940px; + margin: 0 auto; + clear: both; + padding-top: 9px; +} +#sticky-header > div .logo { + float: left; + width: 26px; + height: 25px; + background: url(../images/dac_logo.png); + background-image: -webkit-image-set(url(../images/dac_logo.png) 1x, url(../images/dac_logo@2x.png) 2x); + z-index: 52; + position: relative; +} +#sticky-header > div .top { + float: left; + width: 38px; + height: 38px; + position: relative; + background: url(../images/styles/gototop.png); + z-index: 52; +} +#sticky-header > div .breadcrumb { + float: left; + padding: 0 0 0 10px; + border-left: 1px solid #d2d2d2; + line-height: 24px; + font-size: 14px; + position: relative; + top: 0px; + z-index: 52; +} + +/* offset the tags to account for sticky nav */ +body.reference a[name] { + visibility: hidden; + display: block; + position: relative; + top: -56px; +} + + +} + + + + + + + +/*********** PREVIOUSLY dac-styles.css ***************/ + + +#header { + border-bottom:0; +} + +#header .wrap { + max-width:940px; + height:41px; + border-bottom:1px solid; + border-color: #ccc; + position:relative; +} + +.about #header .wrap { + border-color: #9933CC; +} + +.design #header .wrap { + border-color: #33b5e5; +} + +.develop #header .wrap { + border-color: #F80; +} + +.distribute #header .wrap { + border-color: #9C0; +} + +.logo a { + float:left; +} + +#header .logo { + margin-top: -6px; + margin-left: 0px; + margin-bottom:0px; + width: 160px; + padding-right:10px; +} + + +#header-wrap .logo.landing-logo { + width:220px; + margin:0; + padding:0; + margin-bottom:22px; +} +#header-wrap .logo.landing-logo img { + padding:0 0 0 10px; +} + +.search { + height:25px; + margin-top: -3px; + margin-bottom: 0px; +} + + + +/* Quicknav */ +.btn-quicknav { + width:20px; + height:28px; + float:left; + margin-left:6px; + padding-right:10px; + position:relative; + cursor:pointer; + border-right:1px solid #CCC; +} + +.btn-quicknav a { + zoom:1; + position:absolute; + top:13px; + left:5px; + display:block; + text-indent:-9999em; + width:10px; + height:5px; + background:url(../images/quicknav_arrow.png) no-repeat; +} + +.btn-quicknav a.arrow-active { + background-position: 0 -5px; + display:none; +} + +#header-wrap.quicknav a.arrow-inactive { + display:none; +} + +.btn-quicknav.active a.arrow-active { + display:block; +} + +.nav-x li { + display:block; + float:left; + margin-right:45px; + -webkit-transition: all 0.25s linear; + -moz-transition: all 0.25s linear; + -ms-transition: all 0.25s linear; + -o-transition: all 0.25s linear; + transition: all 0.25s linear; +} + +#header-wrap.quicknav .nav-x li { + min-width:160px; + margin-right:20px; +} + +#header-wrap.quicknav li.last { + margin-right:0px; +} + +#quicknav { + float:none; + clear:both; + margin-left:0; + margin-top:-30px; + display:none; + overflow:hidden; +} + +#header-wrap.quicknav #quicknav { + +} + +#quicknav ul { + margin:10px 0; + padding:0; +} + +#quicknav ul li.about { + border-top:1px solid #9933CC; +} + +#quicknav ul li.design { + border-top:1px solid #33b5e5; +} + +#quicknav ul li.develop { + border-top:1px solid #FF8800; +} + +#quicknav ul li.distribute { + border-top:1px solid #99cc00; +} + +#quicknav ul li { + display:block; + float:left; + margin:0 20px 0 0; + min-width:140px; +} + +#quicknav ul li.last { + margin-right:0px; +} + +#quicknav ul li ul li { + float:none; +} + +#quicknav ul li ul li a { + color:#222; +} + +#quicknav ul li li ul, +#quicknav ul li li ul li { + margin:0; +} + +#quicknav ul li li ul li:before { + content:"\21B3"; +} + +#header-wrap { + -webkit-transition: all 0.25s ease-out; + -moz-transition: all 0.25s ease-out; + -ms-transition: all 0.25s ease-out; + -o-transition: all 0.25s ease-out; + transition: all 0.25s ease-out; + +} + +#header-wrap.quicknav { + height:216px; + +} + +/* SEARCH AND MORE */ +.search { + position: absolute; + width: 50px; + height:28px; + display: block; + margin-top:-3px; + margin-bottom:7px; + overflow:hidden; + z-index:100; + right:54px; + -webkit-transition: width 0.4s ease; + -moz-transition: width 0.4s ease; + -o-transition: width 0.4s ease; + transition: width 0.4s ease; +} + +.search #search-btn { + width:50px; + height:28px; + background:url(../images/icon_search.png) no-repeat; + float:left; +} + +.search-inner { + width:245px; +} + +.search:hover, .search.active { + width:245px; +} + +.search .bottom, .search .left, .search .right { + position: absolute; + background-color: #a2a2a2 +} + +.search .bottom { + width: 214px; + height: 1px; + top: 24px; + left: 0 +} + +.search .left, .search .right { + height: 5px; + width: 1px +} + +.search .left { + top: 22px; + left: 56px; + background-color:#CCC; +} + +.search .right { + top: 22px; + left: 238px; + background-color:#CCC; +} + +.search form { + margin-top: 2px; + width: 162px; + float:left; +} + +.search form input { + color: #2f2f2f; + font-size: 0.95em; + width: 178px; + border: none; + margin-left: 6px; + z-index: 1500; + position: relative; + background-color: transparent; + border-bottom:1px solid #CCC; + padding:0 0 0 4px; + outline:none; + height:24px; +} + +.search:hover form input { + border-bottom:1px solid #33B5E5; +} + +.search:hover .bottom, .search:hover .left, .search:hover .right { + background-color: #33b5e5; +} + +.search:hover #search-btn { + background-position: 0 -28px +} + +.search form input:focus { + color: #222; + font-weight: bold +} + +.moremenu { + float: right; + position: relative; + width: 50px; + height:28px; + display: block; + margin-top:-3px; + margin-bottom:7px; + overflow:hidden; + -webkit-transition: width 0.25s ease; + -moz-transition: width 0.25s ease; + -o-transition: width 0.25s ease; + transition: width 0.25s ease; +} + +.moremenu #more-btn { + width:40px; + height:28px; + background:url(../images/icon_more.png) no-repeat; + border-left:1px solid #CCC; + float:left; + cursor:pointer; +} + +.moremenu:hover #more-btn { + background-position:0 -28px; +} + +.morehover { + position:absolute; + right:6px; + top:-9px; + width:40px; + height:35px; + z-index:99; + overflow:hidden; + + -webkit-opacity:0; + -moz-opacity:0; + -o-opacity:0; + opacity:0; + + -webkit-transform-origin:100% 0%; + -moz-transform-origin:100% 0%; + -o-transform-origin:100% 0%; + transform-origin:100% 0%; + + -webkit-transition-property: -webkit-opacity; + -webkit-transition-duration: .25s; + -webkit-transition-timing-function:ease; + + -moz-transition-property: -moz-opacity; + -moz-transition-duration: .25s; + -moz-transition-timing-function:ease; + + -o-transition-property: -o-opacity; + -o-transition-duration: .25s; + -o-transition-timing-function:ease; + + transition-property: opacity; + transition-duration: .25s; + transition-timing-function:ease; +} + +.morehover:hover, +.morehover.hover { + opacity:1; + height:385px; + width:268px; + -webkit-transition-property:height, -webkit-opacity; +} + +.morehover .top { + width:268px; + height:39px; + background:url(../images/more_top.png) no-repeat; +} + +.morehover .mid { + width:228px; + background:url(../images/more_mid.png) repeat-y; + padding:10px 20px 0 20px; +} + +.morehover .mid .header { + border-bottom:1px solid #ccc; + font-weight:bold; +} + +.morehover .bottom { + width:268px; + height:6px; + background:url(../images/more_bottom.png) no-repeat; +} + +.morehover ul { + margin:10px 10px 20px 0; +} + +.morehover ul li { + list-style:none; +} + +.morehover ul li.active a, +.morehover ul li.active a:hover { + color:#222 !important; +} + +.morehover ul li.active img { + margin-right:4px; +} + + + + +/* MARQUEE */ +.slideshow-container { + width:100%; + overflow:hidden; + position:relative; +} +.slideshow-container .slideshow-prev { + position:absolute; + top:50%; + left:0px; + margin-top:-36px; + z-index:99; +} +.slideshow-container .slideshow-next { + position:absolute; + top:50%; + margin-top:-36px; + z-index:99; + right:0px; +} + +.slideshow-container .pagination { + position:absolute; + bottom:20px; + width:100%; + text-align:center; + z-index:99; +} +.slideshow-container .pagination ul { + margin:0; +} +.slideshow-container .pagination ul li{ + display: inline-block; + width:12px; + height:12px; + text-indent:-8000px; + list-style:none; + margin: 0 2px; + border-radius:6px; + background-color:#ccc; + cursor:pointer; + -webkit-transition:color .5s ease-in; + -moz-transition:color .5s ease-in; + -o-transition:color .5s ease-in; + transition:color .5s ease-in; +} +.slideshow-container .pagination ul li:hover { + background-color:#999; +} +.slideshow-container .pagination ul li.active { + background-color:#33b5e5; +} +.slideshow-container .pagination ul li.active:hover { + background-color:#33b5e5; +} +.slideshow-container ul li { + display:inline; + list-style:none; +} + + +#landing h1 { + margin:17px 0 20px 0 !important; +} + +a.download-sdk { + float:right; + margin:-10px 0; + height:30px; + padding-top:4px; + padding-bottom:0px; +} + +#nav-x { + padding-top: 13px; +} + +#nav-x .wrap { + min-height:32px; +} + +#nav-x .wrap, +#searchResults.wrap { + max-width:940px; + border-bottom:1px solid #CCC; +} + +#searchResults.wrap #leftSearchControl { + min-height:700px +} +.nav-x { + margin-left:0; + margin-bottom:0; +} + + + + + + + + + + +/* + * CSS Styles that are needed by jScrollPane for it to operate correctly. + */ + +.jspContainer { + overflow: hidden; + position: relative; +} + +.jspPane { + position: absolute; + width:100% !important; /* to avoid cut-off api names in reference in horiz scroll */ +} + +.jspVerticalBar { + position: absolute; + top: 0; + right: 0; + width: 4px; + height: 100%; + background: #f5f5f5; +} + +.jspHorizontalBar { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 4px; + background: #f5f5f5; +} + +.jspVerticalBar *, +.jspHorizontalBar * { + margin: 0; + padding: 0; +} +.jspCap { + display: block; +} + +.jspVerticalBar .jspCap { + height: 4px; +} + +.jspHorizontalBar .jspCap { + width: 0; + height: 100%; +} + +.jspHorizontalBar .jspCap { + float: left; +} + +.jspTrack { + position: relative; +} + +.jspDrag { + background: #bbb; + position: relative; + top: 0; + left: 0; + cursor: pointer; +} + +.jspDrag:hover, +.jspDrag:active { + border-color: #09c; + background-color: #4cadcb; + background-image: -webkit-gradient(linear, left top, right top, from(#5dbcd9), to(#4cadcb)); + background-image: -webkit-linear-gradient(left, #5dbcd9, #4cadcb); + background-image: -moz-linear-gradient(left, #5dbcd9, #4cadcb); + background-image: -ms-linear-gradient(left, #5dbcd9, #4cadcb); + background-image: -o-linear-gradient(left, #5dbcd9, #4cadcb); + background-image: linear-gradient(left, #5dbcd9, #4cadcb); + filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#5dbcd9', EndColorStr='#4cadcb'); +} + +.jspHorizontalBar .jspTrack, +.jspHorizontalBar .jspDrag { + float: left; + height: 100%; +} + +.jspArrow { + background: #999; + text-indent: -20000px; + display: block; + cursor: pointer; +} + +.jspArrow.jspDisabled { + cursor: default; + background: #ccc; +} + +.jspVerticalBar .jspArrow { + height: 16px; +} + +.jspHorizontalBar .jspArrow { + width: 16px; + float: left; + height: 100%; +} + +.jspVerticalBar .jspArrow:focus { + outline: none; +} + +.jspCorner { + float: left; + height: 100%; +} + +/* Yuk! CSS Hack for IE6 3 pixel bug :( */ +* html .jspCorner { + margin: 0 -3px 0 0; +} +/******* end of jscrollpane *********/ + + + + + +/************ DEVELOP HOMEPAGE ******************/ + +/* Slideshow */ +.slideshow-develop { + height: 316px; + width: 940px; + position: relative; + overflow:hidden; +} +.slideshow-develop .frame { + width: 940px; + height: 316px; +} +.slideshow-develop img.play { + max-width:350px; + max-height:240px; + margin:20px 0 0 90px; + -webkit-transform: perspective(800px ) rotateY( 35deg ); + box-shadow: -16px 20px 40px rgba(0, 0, 0, 0.3); + -moz-box-shadow: -16px 20px 40px rgba(0, 0, 0, 0.3); + -webkit-box-shadow: -16px 20px 40px rgba(0, 0, 0, 0.3); +} +.slideshow-develop img.play.no-shadow { + box-shadow: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; +} +.slideshow-develop img.play.no-transform { + -webkit-transform: none; +} +.slideshow-develop a.slideshow-next { + background: url(../images/arrow-right-develop.png); +} +.slideshow-develop a.slideshow-prev { + background: url(../images/arrow-left-develop.png); +} +.slideshow-develop .content-right { + float: left; +} +.slideshow-develop .content-right h2 { + padding:0; + margin-bottom:10px; + border:none; + font-size:24px; +} +.slideshow-develop .item { + height: 300px; + width: 940px; +} +.slideshow-develop .pagination ul li.active { + background-color: #F80; +} +.slideshow-develop .pagination ul li.active:hover { + background-color: #F80; +} +.slideshow-develop .item hr { + margin:5px 0 10px; +} +.slideshow-develop .item p { + margin:10px 0; +} +.slideshow-develop .item p.title-intro { + position:absolute; + margin:0; +} + +/* Feeds */ +.feed ul { + margin: 0; +} +.feed .feed-nav { + height: 25px; + border-bottom: 1px solid #CCC; +} +.feed .feed-nav li { + list-style: none; + float: left; + height: 21px; /* +4px bottom border = 25px; same as .feed-nav */ + margin-right: 25px; + cursor: pointer; +} +.feed .feed-nav li.active { + color: #000; + border-bottom: 4px solid #F80; +} +.feed .feed-container { + overflow: hidden; + width: 460px; +} +.feed .feed-container .feed-frame { + width: 1000px; +} +.feed .feed-container .feed-frame ul { + float: left; + width:460px; +} +.feed .feed-container .feed-frame ul ul { + float: none; + margin:10px 0 0 30px; +} +.feed .feed-container .feed-frame li { + list-style: none; + margin: 20px 0 20px 0; + width: 460px; + height:93px; +} +.feed .feed-container .feed-frame li.playlist { + height:auto; +} +.feed .feed-container .feed-frame li.playlist a { + height:93px; + display:block; +} +.feed .feed-container .feed-frame li.more { + height:20px; + margin:10px 0 5px 5px; +} +.feed .feed-container .feed-frame li.more a { + height:inherit; +} +.feed .feed-container .feed-frame li.playlist-video { + list-style: none; + margin: 0; + width: 460px; + height:55px; + font-size:12px; +} +.feed .feed-container .feed-frame li.playlist-video a { + height:45px; + padding:5px; +} +.feed .feed-container .feed-frame li.playlist-video h5 { + font-size:12px; + line-height:13px; + margin:0; +} +.feed .feed-container .feed-frame li.playlist-video p { + margin:5px 0 0; + line-height:15px; +} +.feed-container .feed-frame div.feed-image { + float: left; + border: 1px solid #999; + margin:0 20px 0 0; + width:122px; + height:92px; + background:url('../images/blog-default.png') no-repeat 0 0; + background-size:180px; +} +#jd-content .feed .feed-container .feed-frame li img { + float: left; + border: 1px solid #999; + margin:0 20px 0 0; + width:122px; + height:92px; +} +#jd-content .feed .feed-container .feed-frame li.playlist-video img { + width:inherit; + height:inherit; +} + +.feed .feed-container .feed-frame li a, +.feed .feed-container .feed-frame li a:active { + color:#555 !important; +} + +.feed .feed-container .feed-frame li a:hover, +.feed .feed-container .feed-frame li a:hover * { + color:#7AA1B0 !important; +} + +/* Video player */ +#player-wrapper { + display:none; + margin: -1px auto 0; + position: relative; + width: 940px; + height: 0px; +} +#player-frame { + background: #EFEFEF; + border: 1px solid #CCC; + padding: 0px 207px; + z-index: 10; /* stay above marque, but below search suggestions */ + width: 525px; + height: 330px; + position: relative; +} + + + +/************ DEVELOP TOPIC CONTAINERS ************/ + +.landing-banner, +.landing-docs { + margin:20px 0; +} +.landing-banner > div:first-child, +.landing-docs > div:first-child, +.landing-docs > .col-12 { + margin-left:0; + min-height:280px; +} +.landing-banner.short > div { + min-height:50px; +} +.landing-banner > div:last-child, +.landing-docs > div:last-child, +.landing-docs > .col-12 { + margin-right:0; +} + +.landing-banner > div > *:last-child { + margin-bottom:0; +} +.landing-banner h1 { + margin-top:16px; + padding-bottom:24px; +} +.landing-docs, +.landing-banner { + clear:both; + overflow:hidden; +} +.landing-docs h3 { + font-size:14px; + line-height:21px; + color:#555; + text-transform:uppercase; + border-bottom:1px solid #CCC; + margin:0 0 20px; +} +.landing-docs a { + color:#333 !important; +} + +.landing-docs a:hover, +.landing-docs a:hover * { + color:#7AA1B0 !important +} + +.landing-docs .normal-links a { + color:#258aaf !important; +} + +.plusone { + float:right; +} + + + +.next-docs { + border-top:1px solid #ccc; + margin:40px 0 0; + padding:5px 0 0; + clear:left; + overflow:hidden; +} +.next-docs div:first-child { + margin-left:0; +} +.next-docs div:last-child { + margin-right:0; +} + +.next-docs h2 { + font-size:14px; + line-height:21px; + color:#555; + text-transform:uppercase; + border-bottom:none; + margin:0 0 1em; + padding:5px 0 0; +} + + + +/************* HOME/LANDING PAGE *****************/ + +.slideshow-home { + height: 500px; + width: 940px; + border-bottom: 1px solid #CCC; + position: relative; + margin: 0; +} +.slideshow-home .frame { + width: 940px; + height: 500px; +} +.slideshow-home .content-left { + float: left; + text-align: center; + vertical-align: center; + margin: 0 0 0 35px; +} +.slideshow-home .content-right { + margin: 80px 0 0 0; +} +.slideshow-home .content-right p { + margin-bottom: 10px; +} +.slideshow-home .content-right p:last-child { + margin-top: 15px; +} +.slideshow-home .content-right h1 { + padding:0; +} +.slideshow-home .item { + height: 500px; + width: 940px; +} +.home-sections { + padding: 30px 20px 20px; + margin: 20px 0; + background: -webkit-linear-gradient(top, #F6F6F6,#F9F9F9); +} +.home-sections ul { + margin: 0; +} +.home-sections ul li { + float: left; + display: block; + list-style: none; + width: 170px; + height: 35px; + border: 1px solid #ccc; + background: white; + margin-right: 10px; + border-radius: 1px; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + box-shadow: 1px 1px 5px #EEE; + -webkit-box-shadow: 1px 1px 5px #EEE; + -moz-box-shadow: 1px 1px 5px #EEE; + background: white; +} +.home-sections ul li:hover { + background: #F9F9F9; + border: 1px solid #CCC; +} +.home-sections ul li a, +.home-sections ul li a:hover { + font-weight: bold; + margin-top: 8px; + line-height: 18px; + float: left; + width: 100%; + text-align: center; + color: #09c !important; +} +.home-sections ul li a { + font-weight: bold; + margin-top: 8px; + line-height: 18px; + float: left; + width:100%; + text-align:center; +} +.home-sections ul li img { + float: left; + margin: -8px 0 0 10px; +} +.home-sections ul li.last { + margin-right: 0px; +} +.fullpage #footer { + margin-top: -40px; +} + +/************ DISTRIBUTE PAGES ******************/ + +.article-detail #body-content { + padding-top: 10px; +} + +/* A container for grid sets with uppercase h3 and rule */ +.dynamic-grid h3 { + font-size:14px; + line-height:21px; + color:#555; + text-transform:uppercase; + border-bottom:1px solid #CCC; + padding:8px 0 0 1px; + margin-bottom:14px; + clear:both; +} + +.top-right-float { + float: right; +} + +.clearfloat { + float: none; + clear: both; +} + +.border-img { + border: 1px solid #CCC; +} + +.center-img { + margin: auto; + text-align: center; +} +.center-img img { + margin-bottom: 15px; +} + +.figure img, .border-img { + margin-bottom: 15px; +} + +/************ RESOURCE CARDS ******************/ + +/* Resource cards, 12, 13, 16-col */ + +/* Basic card-styling with shadow */ +.resource-card { + border-radius: 1px; + box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.12); + background: #fefefe; +} + +/* Styling for background image including tinting and section icons in stacks */ +.card-bg { + display: block; + position: absolute; + vertical-align: top; + width: 100%; + left: 0; + top: 0; + background-size: cover; + background-repeat: no-repeat; + background-position: center; + background-image: url(../images/resource-card-default-android.jpg); +} +.card-bg:after { + content: ""; + display: block; + height: 100%; + width: 100%; + opacity: 1; + background: rgba(0, 0, 0, 0.2); + -webkit-transition: opacity 0.5s; + -moz-transition: opacity 0.5s; + -o-transition: opacity 0.5s; + transition: opacity 0.5s; +} +.static .card-bg:after { + display:none; +} +.card-bg .card-section-icon { + position: absolute; + top: 50%; + width: 100%; + margin-top: -35px; + text-align: center; + padding-top: 65px; + z-index: 100; +} +.card-bg .card-section-icon .icon { + position: absolute; + left: 50%; + margin-left: -28px; + top: 0px; + width: 56px; + height: 56px; + background-repeat: no-repeat; + background-position: 50% 50%; + background-image: url(../images/stack-icon.png); +} +.card-bg .card-section-icon .section { + text-transform: uppercase; + color: white; + font-size: 14px; +} + +.card-info { + position: absolute; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + top: 0; + right: 0; + bottom: 0; + left: 0; + overflow: hidden; + background: #fefefe; + padding: 4px 12px 6px 12px; +} +.card-info .section { + text-transform: uppercase; + color: #898989; + font-size: 12px; + margin-bottom: 1px; +} +.card-info .title { + color: #363636; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + padding-bottom: 5px; + margin-bottom: -2px; + font-size: 16px; +} +.card-info .description { + overflow: hidden; +} +.card-info .description .text { + color: #464646; + font: 13px/15px Roboto Condensed; + overflow: hidden; + width:100%; +} +.card-info .description .util { + position: absolute; + right: 5px; + bottom: 70px; /*-2px;*/ + opacity: 0; + -webkit-transition: opacity 0.5s; + -moz-transition: opacity 0.5s; + -o-transition: opacity 0.5s; + transition: opacity 0.5s; +} +.card-info.empty-desc .title { + white-space: normal; + overflow: visible; +} +.card-info.empty-desc .description { + display: none; +} +/* Truncate card summaries at bounding box and + * and apply ellipsis at lower right */ +.ellipsis { + overflow: hidden; + float:right; + line-height: 15px; + width:100%; +} +.resource-card-6x6 .card-info .description .teddddddxt { + float:left; + position:relative; + margin-left:0; +} +.ellipsis:before { + content:""; + float: left; + width: 5px; + height:100%; +} +.ellipsis > *:first-child.text { + float: right; + width: 100% !important; + margin-left: -5px; +} +.ellipsis:after { + content: "\02026"; + height:17px; + padding-bottom:4px; + + box-sizing: content-box; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + + float: right; position: relative; + top: -16px; left: 100%; + width: 4em; margin-left: -4em; + padding-right: 5px; + + background: -webkit-gradient(linear, left top, right top, + from(rgba(255, 255, 255, 0)), to(white), color-stop(65%, white)); + background: -moz-linear-gradient(to right, rgba(255, 255, 255, 0), white 65%, white); + background: -o-linear-gradient(to right, rgba(255, 255, 255, 0), white 65%, white); + background: -ms-linear-gradient(to right, rgba(255, 255, 255, 0), white 65%, white); + background: linear-gradient(to right, rgba(255, 255, 255, 0), white 65%, white); +} +.ellipsis:after { + font-style: normal; color: #aaa; + font-size:13px; + text-align: right; +} + +/* Flow Layout */ +.resource-flow-layout { + display: inline-block; +} +.resource-flow-layout .resource-card, .resource-flow-layout .resource-card-stack { + float: left; + position: relative; +} +.resource-flow-layout .resource-card-stack > .resource-card { + margin-right: 0px !important; +} +.resource-flow-layout:after { + content: "."; + display: block; + height: 0; + position:relative; + clear: both; + visibility: hidden; +} +.resource-card:hover { + cursor: pointer; +} +.static .resource-card:hover { + cursor: auto; +} +.resource-card:hover .card-bg:after { + opacity: 0; +} +/* disabled to make way for fade/ellipsis truncation, + and the plusone moves up. +.resource-card:hover .card-info .description .text { + padding-right: 70px; +} */ +.resource-card:hover .card-info .description .util { + opacity: 1; +} + +/* Carousel Layout */ +/* Carousel styles for landing page */ +.resource-carousel-layout { + margin: 20px 0 20px 0; + position: relative; + overflow: hidden; +} +.resource-carousel-layout .slideshow-prev, .resource-carousel-layout .slideshow-next { + display: none; +} +.resource-carousel-layout .pagination { + bottom: 0px; +} +.resource-carousel-layout .frame li { + position: relative; +} +.resource-carousel-layout .frame li .card-bg { + height: 300px; +} +.resource-carousel-layout .frame li .card-info { + padding: 7px 15px 0px 15px; + top: 300px; +} +.resource-carousel-layout .frame li .card-info .section { + font-size: 13px; + margin-bottom: 7px; +} +.resource-carousel-layout .frame li .card-info .title { + font-size: 25px; + margin-bottom: 2px; +} +.resource-carousel-layout .frame li .card-info .description { + font-family: 15px/16px Roboto Condensed, sans-serif; +} +.resource-carousel-layout .frame li .card-info .description .text { + height: 40px; +} +.resource-carousel-layout .frame li .card-info .description .util { + bottom:97px; + right:4px; +} + +/* Stack Layout */ +.resource-stack-layout { + display: inline-block; +} +.resource-stack-layout .resource-card-stack { + float: left; + position: relative; +} +.resource-stack-layout .resource-card { + margin-bottom: 20px; + display: block; + position: relative; +} +.resource-stack-layout .section-card-menu > .card-info .section, .resource-stack-layout .section-card > .card-info .title { + /*text-transform: uppercase;*/ + color: #898989; + font-size: 17px; + line-height: 24px; + margin-bottom: 6px; +} +.resource-stack-layout .section-card { + height: 284px; +} +.resource-stack-layout .section-card > .card-bg { + height: 192px; +} +.resource-stack-layout .section-card > .card-info { + padding: 4px 12px 6px 12px; + top: 192px; +} +.resource-stack-layout .section-card > .card-info .section { + display: none; +} +.resource-stack-layout .section-card > .card-info .title { + font-size: 17px; + border-bottom: 1px solid #959595; + padding-bottom: 0px; +} +.resource-stack-layout .section-card > .card-info .description { + font-size: 13px; + line-height: 15px; +} +.resource-stack-layout .section-card > .card-info .description .text { + height: 30px; +} +.resource-stack-layout .related-card { + height: 90px; +} +.resource-stack-layout .related-card > .card-bg { + left: 0; + top: 0; + width: 90px; + height: 100%; + position: absolute; + display: block; +} +.resource-stack-layout .related-card > .card-info { + left: 90px; + padding: 4px 12px 4px 12px; +} +.resource-stack-layout .related-card > .card-info .section { + font-size: 12px; + margin-bottom: 1px; + display: none; +} +.resource-stack-layout .related-card > .card-info .title { + font-size: 16px; + margin-bottom: -2px; + white-space: normal; + overflow: visible; + text-overflow: ellipsis; +} +.resource-stack-layout .related-card > .card-info .title:after { + content: url(../images/link-out.png); + display: block; +} +.resource-stack-layout .related-card > .card-info .description { + display: none; +} +.resource-stack-layout .section-card-menu { + /* Flexible height */ + display: block; + height: auto; + width: auto; +} +.resource-stack-layout .section-card-menu .card-bg { + height: 155px; + /* Flexible height */ + position: relative; + display: inline-block; + vertical-align: top; +} +.resource-stack-layout .section-card-menu .card-info { + padding: 4px 12px 0px 12px; + /* Flexible height */ + position: relative; + left: auto; + top: auto; + right: auto; + bottom: auto; +} +.resource-stack-layout .section-card-menu .card-info ul { + list-style: none; + margin: 0; +} +.resource-stack-layout .section-card-menu .card-info ul li { + list-style: none; + margin: 0; + padding: 15px 0; + border-top-width: 1px; + border-top-style: solid; + border-top-color: #959595; +} +.resource-stack-layout .section-card-menu .card-info ul li a, .resource-stack-layout .section-card-menu .card-info ul li a:focus, .resource-stack-layout .section-card-menu .card-info ul li a:link, .resource-stack-layout .section-card-menu .card-info ul li a:visited, .resource-stack-layout .section-card-menu .card-info ul li a:active, .resource-stack-layout .section-card-menu .card-info ul li a:hover { + color: #363636 !important; +} +.resource-stack-layout .section-card-menu .card-info ul li:first-child { + border-top: none; +} +.resource-stack-layout .section-card-menu .card-info ul li:hover .title:after { + opacity: 1; + -webkit-transition: opacity 0.5s; + -moz-transition: opacity 0.5s; + -o-transition: opacity 0.5s; + transition: opacity 0.5s; +} +.resource-stack-layout .section-card-menu .card-info ul li:hover .description { + max-height: 30px; + opacity: 1; + -webkit-transition: max-height 0.5s, opacity 1s; + -moz-transition: max-height 0.5s, opacity 1s; + -o-transition: max-height 0.5s, opacity 1s; + transition: max-height 0.5s, opacity 1s; +} +.resource-stack-layout .section-card-menu .card-info .title { + font-size: 16px; + margin-bottom: -2px; + position: relative; +} +.resource-stack-layout .section-card-menu .card-info .title:after { + background: url(../images/stack-arrow-right.png); + content: ''; + opacity: 0; + -webkit-transition: opacity 0.25s; + -moz-transition: opacity 0.25s; + -o-transition: opacity 0.25s; + transition: opacity 0.25s; + position: absolute; + right: 0px; + top: 3px; + width: 10px; + height: 15px; +} +.resource-stack-layout .section-card-menu .card-info .title.more { + text-transform: uppercase; + color: #898989; + display: inline-block; +} +.resource-stack-layout .section-card-menu .card-info .title.more:after { + background: url(../images/stack-arrow-right.png); + content: ''; + display: block; + position: absolute; + right: -20px; + top: 3px; + width: 10px; + height: 15px; +} +.resource-stack-layout .section-card-menu .card-info .description { + max-height: 0px; + opacity: 0; + overflow: hidden; + font-size: 13px; + line-height: 15px; + /* Hover off */ + -webkit-transition: max-height 0.5s, opacity 0.5s; + -moz-transition: max-height 0.5s, opacity 0.5s; + -o-transition: max-height 0.5s, opacity 0.5s; + transition: max-height 0.5s, opacity 0.5s; +} +.resource-stack-layout .section-card-menu .card-info .description .text { + height: 30px; +} +.resource-stack-layout:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +/* Generate the flow layout styles for a 3-column 16-col span */ +.resource-flow-layout.col-16 { + margin: 0 -14px 0 0; + width: 954px; +} +.resource-flow-layout.col-16 .resource-card, .resource-flow-layout.col-16 .resource-card-stack { + margin: 0 14px 20px 0; +} +.resource-flow-layout.col-16 .resource-card-row-stack-last { + margin-bottom: 0px !important; +} +.resource-flow-layout.col-16 .resource-card-col-stack-last { + margin-bottom: 0px !important; +} +.resource-flow-layout.col-16 .resource-card-3x6 { + width: 145px; + height: 284px; +} +.resource-flow-layout.col-16 .resource-card-3x12 { + width: 145px; + height: 588px; +} +.resource-flow-layout.col-16 .resource-card-3x18 { + width: 145px; + height: 892px; +} +.resource-flow-layout.col-16 .resource-card-6x6 { + width: 304px; + height: 284px; +} +.resource-flow-layout.col-16 .resource-card-6x12 { + width: 304px; + height: 588px; +} +.resource-flow-layout.col-16 .resource-card-6x18 { + width: 304px; + height: 892px; +} +.resource-flow-layout.col-16 .resource-card-9x6 { + width: 463px; + height: 284px; +} +.resource-flow-layout.col-16 .resource-card-9x12 { + width: 463px; + height: 588px; +} +.resource-flow-layout.col-16 .resource-card-9x18 { + width: 463px; + height: 892px; +} +.resource-flow-layout.col-16 .resource-card-12x6 { + width: 622px; + height: 284px; +} +.resource-flow-layout.col-16 .resource-card-12x12 { + width: 622px; + height: 588px; +} +.resource-flow-layout.col-16 .resource-card-12x18 { + width: 622px; + height: 892px; +} +.resource-flow-layout.col-16 .resource-card-15x6 { + width: 781px; + height: 284px; +} +.resource-flow-layout.col-16 .resource-card-15x12 { + width: 781px; + height: 588px; +} +.resource-flow-layout.col-16 .resource-card-15x18 { + width: 781px; + height: 892px; +} +.resource-flow-layout.col-16 .resource-card-18x6 { + width: 940px; + height: 284px; +} +.resource-flow-layout.col-16 .resource-card-18x12 { + width: 940px; + height: 420px; +} +.resource-flow-layout.col-16 .resource-card-18x18 { + width: 940px; + height: 892px; +} +.resource-flow-layout.col-16 .resource-card-3x2 { + width: 145px; + height: 95px; +} +.resource-flow-layout.col-16 .resource-card-3x2x3 { + width: 145px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-16 .resource-card-3x3 { + width: 145px; + height: 142px; +} +.resource-flow-layout.col-16 .resource-card-3x3x2 { + width: 145px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-16 .resource-card-6x2 { + width: 304px; + height: 95px; +} +.resource-flow-layout.col-16 .resource-card-6x2x3 { + width: 304px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-16 .resource-card-6x3 { + width: 304px; + height: 142px; +} +.resource-flow-layout.col-16 .resource-card-6x3x2 { + width: 304px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-16 .resource-card-9x2 { + width: 463px; + height: 95px; +} +.resource-flow-layout.col-16 .resource-card-9x2x3 { + width: 463px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-16 .resource-card-9x3 { + width: 463px; + height: 142px; +} +.resource-flow-layout.col-16 .resource-card-9x3x2 { + width: 463px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-16 .resource-card-12x2 { + width: 622px; + height: 95px; +} +.resource-flow-layout.col-16 .resource-card-12x2x3 { + width: 622px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-16 .resource-card-12x3 { + width: 622px; + height: 142px; +} +.resource-flow-layout.col-16 .resource-card-12x3x2 { + width: 622px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-16 .resource-card-15x2 { + width: 781px; + height: 95px; +} +.resource-flow-layout.col-16 .resource-card-15x2x3 { + width: 781px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-16 .resource-card-15x3 { + width: 781px; + height: 142px; +} +.resource-flow-layout.col-16 .resource-card-15x3x2 { + width: 781px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-16 .resource-card-18x2 { + width: 940px; + height: 95px; +} +.resource-flow-layout.col-16 .resource-card-18x2x3 { + width: 940px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-16 .resource-card-18x3 { + width: 940px; + height: 142px; +} +.resource-flow-layout.col-16 .resource-card-18x3x2 { + width: 940px; + height: 138px; + margin-bottom: 8px; +} + +/* Generate the flow layout styles for a 3-column 16-col span */ +.resource-flow-layout.col-12 { + margin: 0 -14px 0 0; + width: 714px; +} + +.resource-flow-layout.col-12 .resource-card, .resource-flow-layout.col-12 .resource-card-stack { + margin: 0 14px 20px 0; +} +.resource-flow-layout.col-12 .resource-card-row-stack-last { + margin-bottom: 0px !important; +} +.resource-flow-layout.col-12 .resource-card-col-stack-last { + margin-bottom: 0px !important; +} +.resource-flow-layout.col-12 .resource-card-3x6 { + width: 105px; + height: 284px; +} +.resource-flow-layout.col-12 .resource-card-3x12 { + width: 105px; + height: 588px; +} +.resource-flow-layout.col-12 .resource-card-3x18 { + width: 105px; + height: 892px; +} +.resource-flow-layout.col-12 .resource-card-6x6 { + width: 224px; + height: 284px; +} +.resource-flow-layout.col-12 .resource-card-6x12 { + width: 224px; + height: 588px; +} +.resource-flow-layout.col-12 .resource-card-6x18 { + width: 224px; + height: 892px; +} +.resource-flow-layout.col-12 .resource-card-9x6 { + width: 343px; + height: 284px; +} +.resource-flow-layout.col-12 .resource-card-9x12 { + width: 343px; + height: 588px; +} +.resource-flow-layout.col-12 .resource-card-9x18 { + width: 343px; + height: 892px; +} +.resource-flow-layout.col-12 .resource-card-12x6 { + width: 462px; + height: 284px; +} +.resource-flow-layout.col-12 .resource-card-12x12 { + width: 462px; + height: 588px; +} +.resource-flow-layout.col-12 .resource-card-12x18 { + width: 462px; + height: 892px; +} +.resource-flow-layout.col-12 .resource-card-15x6 { + width: 581px; + height: 284px; +} +.resource-flow-layout.col-12 .resource-card-15x12 { + width: 581px; + height: 588px; +} +.resource-flow-layout.col-12 .resource-card-15x18 { + width: 581px; + height: 892px; +} +.resource-flow-layout.col-12 .resource-card-18x6 { + width: 700px; + height: 284px; +} +.resource-flow-layout.col-12 .resource-card-18x12 { + width: 700px; + height: 420px; +} +.resource-flow-layout.col-12 .resource-card-18x18 { + width: 700px; + height: 892px; +} +.resource-flow-layout.col-12 .resource-card-3x2 { + width: 105px; + height: 95px; +} +.resource-flow-layout.col-12 .resource-card-3x2x3 { + width: 105px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-12 .resource-card-3x3 { + width: 105px; + height: 142px; +} +.resource-flow-layout.col-12 .resource-card-3x3x2 { + width: 105px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-12 .resource-card-6x2 { + width: 224px; + height: 95px; +} +.resource-flow-layout.col-12 .resource-card-6x2x3 { + width: 224px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-12 .resource-card-6x3 { + width: 224px; + height: 142px; +} +.resource-flow-layout.col-12 .resource-card-6x3x2 { + width: 224px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-12 .resource-card-9x2 { + width: 343px; + height: 95px; +} +.resource-flow-layout.col-12 .resource-card-9x2x3 { + width: 343px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-12 .resource-card-9x3 { + width: 343px; + height: 142px; +} +.resource-flow-layout.col-12 .resource-card-9x3x2 { + width: 343px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-12 .resource-card-12x2 { + width: 462px; + height: 95px; +} +.resource-flow-layout.col-12 .resource-card-12x2x3 { + width: 462px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-12 .resource-card-12x3 { + width: 462px; + height: 142px; +} +.resource-flow-layout.col-12 .resource-card-12x3x2 { + width: 462px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-12 .resource-card-15x2 { + width: 581px; + height: 95px; +} +.resource-flow-layout.col-12 .resource-card-15x2x3 { + width: 581px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-12 .resource-card-15x3 { + width: 581px; + height: 142px; +} +.resource-flow-layout.col-12 .resource-card-15x3x2 { + width: 581px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-12 .resource-card-18x2 { + width: 700px; + height: 95px; +} +.resource-flow-layout.col-12 .resource-card-18x2x3 { + width: 700px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-12 .resource-card-18x3 { + width: 700px; + height: 142px; +} +.resource-flow-layout.col-12 .resource-card-18x3x2 { + width: 700px; + height: 138px; + margin-bottom: 8px; +} + +/* Generate the flow layout styles for a 3-column 13-col span */ + +.resource-flow-layout.col-13 { + margin: 0 -14px 0 0; + width: 774px; +} +.resource-flow-layout.col-13 .resource-card, .resource-flow-layout.col-13 .resource-card-stack { + margin: 0 14px 20px 0; +} +.resource-flow-layout.col-13 .resource-card-row-stack-last { + margin-bottom: 0px !important; +} +.resource-flow-layout.col-13 .resource-card-col-stack-last { + margin-bottom: 0px !important; +} +.resource-flow-layout.col-13 .resource-card-3x6 { + width: 115px; + height: 284px; +} +.resource-flow-layout.col-13 .resource-card-3x12 { + width: 115px; + height: 588px; +} +.resource-flow-layout.col-13 .resource-card-3x18 { + width: 115px; + height: 892px; +} +.resource-flow-layout.col-13 .resource-card-6x6 { + width: 244px; + height: 284px; +} +.resource-flow-layout.col-13 .resource-card-6x12 { + width: 244px; + height: 588px; +} +.resource-flow-layout.col-13 .resource-card-6x18 { + width: 244px; + height: 892px; +} +.resource-flow-layout.col-13 .resource-card-9x6 { + width: 373px; + height: 284px; +} +.resource-flow-layout.col-13 .resource-card-9x12 { + width: 373px; + height: 588px; +} +.resource-flow-layout.col-13 .resource-card-9x18 { + width: 373px; + height: 892px; +} +.resource-flow-layout.col-13 .resource-card-12x6 { + width: 502px; + height: 284px; +} +.resource-flow-layout.col-13 .resource-card-12x12 { + width: 502px; + height: 588px; +} +.resource-flow-layout.col-13 .resource-card-12x18 { + width: 502px; + height: 892px; +} +.resource-flow-layout.col-13 .resource-card-15x6 { + width: 631px; + height: 284px; +} +.resource-flow-layout.col-13 .resource-card-15x12 { + width: 631px; + height: 588px; +} +.resource-flow-layout.col-13 .resource-card-15x18 { + width: 631px; + height: 892px; +} +.resource-flow-layout.col-13 .resource-card-18x6 { + width: 760px; + height: 284px; +} +.resource-flow-layout.col-13 .resource-card-18x12 { + width: 760px; + height: 420px; +} +.resource-flow-layout.col-13 .resource-card-18x18 { + width: 760px; + height: 892px; +} +.resource-flow-layout.col-13 .resource-card-3x2 { + width: 115px; + height: 95px; +} +.resource-flow-layout.col-13 .resource-card-3x2x3 { + width: 115px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-13 .resource-card-3x3 { + width: 115px; + height: 142px; +} +.resource-flow-layout.col-13 .resource-card-3x3x2 { + width: 115px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-13 .resource-card-6x2 { + width: 244px; + height: 95px; +} +.resource-flow-layout.col-13 .resource-card-6x2x3 { + width: 244px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-13 .resource-card-6x3 { + width: 244px; + height: 142px; +} +.resource-flow-layout.col-13 .resource-card-6x3x2 { + width: 244px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-13 .resource-card-9x2 { + width: 373px; + height: 95px; +} +.resource-flow-layout.col-13 .resource-card-9x2x3 { + width: 373px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-13 .resource-card-9x3 { + width: 373px; + height: 142px; +} +.resource-flow-layout.col-13 .resource-card-9x3x2 { + width: 373px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-13 .resource-card-12x2 { + width: 502px; + height: 95px; +} +.resource-flow-layout.col-13 .resource-card-12x2x3 { + width: 502px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-13 .resource-card-12x3 { + width: 502px; + height: 142px; +} +.resource-flow-layout.col-13 .resource-card-12x3x2 { + width: 502px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-13 .resource-card-15x2 { + width: 631px; + height: 95px; +} +.resource-flow-layout.col-13 .resource-card-15x2x3 { + width: 631px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-13 .resource-card-15x3 { + width: 631px; + height: 142px; +} +.resource-flow-layout.col-13 .resource-card-15x3x2 { + width: 631px; + height: 138px; + margin-bottom: 8px; +} +.resource-flow-layout.col-13 .resource-card-18x2 { + width: 760px; + height: 95px; +} +.resource-flow-layout.col-13 .resource-card-18x2x3 { + width: 760px; + height: 90px; + margin-bottom: 7px; +} +.resource-flow-layout.col-13 .resource-card-18x3 { + width: 760px; + height: 142px; +} +.resource-flow-layout.col-13 .resource-card-18x3x2 { + width: 760px; + height: 138px; + margin-bottom: 8px; +} + +/* + The following are styles for cards in the flowlayout above, styled by the number of rows they span +*/ +/* Single row items, might be simpler to just apply a class */ +.resource-card-3x6 > .card-bg, .resource-card-6x6 > .card-bg, .resource-card-9x6 > .card-bg, .resource-card-12x6 > .card-bg, .resource-card-15x6 > .card-bg, .resource-card-18x6 > .card-bg { + height: 192px; +} +.resource-card-3x6 > .card-info, .resource-card-6x6 > .card-info, .resource-card-9x6 > .card-info, .resource-card-12x6 > .card-info, .resource-card-15x6 > .card-info, .resource-card-18x6 > .card-info { + padding: 4px 12px 6px 12px; + top: 192px; +} +.resource-card-3x6 > .card-info .section, .resource-card-6x6 > .card-info .section, .resource-card-9x6 > .card-info .section, .resource-card-12x6 > .card-info .section, .resource-card-15x6 > .card-info .section, .resource-card-18x6 > .card-info .section { + font-size: 12px; + margin-bottom: 1px; +} +.resource-card-3x6 > .card-info .title, .resource-card-6x6 > .card-info .title, .resource-card-9x6 > .card-info .title, .resource-card-12x6 > .card-info .title, .resource-card-15x6 > .card-info .title, .resource-card-18x6 > .card-info .title { + font-size: 16px; + margin-bottom: -2px; +} +.resource-card-3x6 > .card-info .description, .resource-card-6x6 > .card-info .description, .resource-card-9x6 > .card-info .description, .resource-card-12x6 > .card-info .description, .resource-card-15x6 > .card-info .description, .resource-card-18x6 > .card-info .description { + font-size: 13px; + line-height: 15px; +} +.resource-card-3x6 > .card-info .description .text, .resource-card-6x6 > .card-info .description .text, .resource-card-9x6 > .card-info .description .text, .resource-card-12x6 > .card-info .description .text, .resource-card-15x6 > .card-info .description .text, .resource-card-18x6 > .card-info .description .text { + height: 30px; +} + +/* Double row items */ +.resource-card-3x12 > .card-bg, .resource-card-6x12 > .card-bg, .resource-card-9x12 > .card-bg, .resource-card-12x12 > .card-bg, .resource-card-15x12 > .card-bg, .resource-card-18x12 > .card-bg { + height: 320px; +} +.resource-card-3x12 > .card-info, .resource-card-6x12 > .card-info, .resource-card-9x12 > .card-info, .resource-card-12x12 > .card-info, .resource-card-15x12 > .card-info, .resource-card-18x12 > .card-info { + padding: 4px 12px 6px 12px; + top: 320px; +} +.resource-card-3x12 > .card-info .section, .resource-card-6x12 > .card-info .section, .resource-card-9x12 > .card-info .section, .resource-card-12x12 > .card-info .section, .resource-card-15x12 > .card-info .section, .resource-card-18x12 > .card-info .section { + font-size: 12px; + margin-bottom: 1px; +} +.resource-card-3x12 > .card-info .title, .resource-card-6x12 > .card-info .title, .resource-card-9x12 > .card-info .title, .resource-card-12x12 > .card-info .title, .resource-card-15x12 > .card-info .title, .resource-card-18x12 > .card-info .title { + font-size: 16px; + margin-bottom: -2px; + white-space: normal; +} +.resource-card-3x12 > .card-info .description, .resource-card-6x12 > .card-info .description, .resource-card-9x12 > .card-info .description, .resource-card-12x12 > .card-info .description, .resource-card-15x12 > .card-info .description, .resource-card-18x12 > .card-info .description { + font-size: 13px; + line-height: 15px; +} + +/* 1/3 row items */ +.resource-card-3x2 > .card-bg, .resource-card-6x2 > .card-bg, .resource-card-9x2 > .card-bg, .resource-card-12x2 > .card-bg, .resource-card-15x2 > .card-bg, .resource-card-18x2 > .card-bg { + left: 0; + top: 0; + width: 90px; + height: 100%; + position: absolute; + display: block; +} +.resource-card-3x2 > .card-info, .resource-card-6x2 > .card-info, .resource-card-9x2 > .card-info, .resource-card-12x2 > .card-info, .resource-card-15x2 > .card-info, .resource-card-18x2 > .card-info { + left: 90px; + padding: 4px 12px 4px 12px; + height: 80px; + overflow: hidden; +} +.resource-card-3x2 > .card-info .section, .resource-card-6x2 > .card-info .section, .resource-card-6x3 > .card-info .section, .resource-card-9x2 > .card-info .section, .resource-card-12x2 > .card-info .section, .resource-card-15x2 > .card-info .section, .resource-card-18x2 > .card-info .section { + font-size: 12px; + margin-bottom: 1px; + /* display: none; */ +} +.resource-card-3x2 > .card-info .title, .resource-card-6x2 > .card-info .title, .resource-card-9x2 > .card-info .title, .resource-card-12x2 > .card-info .title, .resource-card-15x2 > .card-info .title, .resource-card-18x2 > .card-info .title { + font-size: 16px; + margin-bottom: -2px; + white-space: normal; + overflow: visible; + text-overflow: ellipsis; +} +.resource-card-3x2 > .card-info .title:after, .resource-card-6x2 > .card-info .title:after, .resource-card-9x2 > .card-info .title:after, .resource-card-12x2 > .card-info .title:after, .resource-card-15x2 > .card-info .title:after, .resource-card-18x2 > .card-info .title:after { + /* content: url(../images/link-out.png); */ + display: block; +} +.resource-card-3x2 > .card-info .description, .resource-card-6x2 > .card-info .description, .resource-card-9x2 > .card-info .description, .resource-card-12x2 > .card-info .description, .resource-card-15x2 > .card-info .description, .resource-card-18x2 > .card-info .description { + display: none; +} + + +/* Override to show the description instead of the content section */ +.no-section .resource-card-3x2 > .card-info .section, +.no-section .resource-card-6x2 > .card-info .section { + display: none; +} +.no-section .resource-card-3x2 > .card-info .description, +.no-section .resource-card-6x2 > .card-info .description { + display: block; +} + +/* 1/2 row items */ +.resource-card-3x3 > .card-bg, .resource-card-6x3 > .card-bg, .resource-card-9x3 > .card-bg, .resource-card-12x3 > .card-bg, .resource-card-15x3 > .card-bg, .resource-card-18x3 > .card-bg { + left: 0; + top: 0; + width: 90px; + height: 100%; + position: absolute; + display: block; +} +.resource-card-3x3 > .card-info, .resource-card-6x3 > .card-info, .resource-card-9x3 > .card-info, .resource-card-12x3 > .card-info, .resource-card-15x3 > .card-info, .resource-card-18x3 > .card-info { + left: 90px; + padding: 4px 12px 0px 12px; +} +.resource-card-3x3 > .card-info .section, .resource-card-6x3 > .card-info .section, .resource-card-9x3 > .card-info .section, .resource-card-12x3 > .card-info .section, .resource-card-15x3 > .card-info .section, .resource-card-18x3 > .card-info .section { + font-size: 12px; + margin-bottom: 1px; + display: none; +} +.resource-card-3x3 > .card-info .title, .resource-card-6x3 > .card-info .title, .resource-card-9x3 > .card-info .title, .resource-card-12x3 > .card-info .title, .resource-card-15x3 > .card-info .title, .resource-card-18x3 > .card-info .title { + font-size: 16px; + margin-bottom: -2px; + white-space: normal; + overflow: visible; +} +.resource-card-3x3 > .card-info .description .text, .resource-card-6x3 > .card-info .description .text, .resource-card-9x3 > .card-info .description .text, .resource-card-12x3 > .card-info .description .text, .resource-card-15x3 > .card-info .description .text, .resource-card-18x3 > .card-info .description .text { + font-size: 12px; + line-height: 15px; + padding-right: 0px !important; + height: 80px; +} +.resource-card-3x3 > .card-info .description .util, .resource-card-6x3 > .card-info .description .util, .resource-card-9x3 > .card-info .description .util, .resource-card-12x3 > .card-info .description .util, .resource-card-15x3 > .card-info .description .util, .resource-card-18x3 > .card-info .description .util { + display: none; +} +/* placement of plusone */ +.resource-card-6x12 > .card-info .description .util, .resource-card-9x12 > .card-info .description .util, .resource-card-12x12 > .card-info .description .util, .resource-card-15x12 > .card-info .description .util { + bottom:2px; +} +.resource-card-18x12 > .card-info .description .util { + bottom:2px; +} +/* Overrides for col-16 6x6 cards linking to local content on landing pages. + Suppresses "section" and puts the title above a hairline rule. */ +.landing .card-info .section, .resource-flow-layout.col-16.landing .resource-card-9x6 .card-info .section { + display:none; +} +.landing .card-info .title { + color: #898989; + font-size: 17px; + line-height: 24px; + margin-bottom: 6px; + border-bottom: 1px solid #959595; + padding-bottom: 0px; +} +.landing .card-info .description { + font-size: 13px; + line-height: 15px; +} +.landing .card-info .description .text { +height:30px; +} +.landing .resource-card-6x6 > .card-info .description .util, .landing .resource-card-9x6 > .card-info .description .util { + bottom:2px; +} +/* + Generate a resource stack layout for a 3 column widget spanning 16 grid cols +*/ +.resource-stack-layout.col-16 { + margin: 0 -14px 0 0; + width: 954px; +} +.resource-stack-layout.col-16 .resource-card-stack { + margin: 0 14px 0 0; + width: 304px; +} + +/* Example of card menu tinting */ +.resource-widget[data-section=distribute\/tools] .section-card-menu +.card-bg:after { + background: rgba(126, 55, 148, 0.4) !important; +} +.resource-widget[data-section=distribute\/tools] .section-card-menu +.card-section-icon .icon { + background-color: #7e3794 !important; +} +.resource-widget[data-section=distribute\/tools] .section-card-menu +.card-info ul li { + border-top-color: #7e3794 !important; +} + +/* tinting for stacks */ + +div.jd-descr > .resource-widget[data-section=distribute\/tools] +.section-card-menu .card-info ul li { + border-top-color: #7e3794 !important; +} + + + +/** + * UTILITIES + */ + + +.border-box { + box-sizing: border-box; +} + +.vertical-center-outer { + display: table; + height: 100%; + width: 100%; +} + +.vertical-center-inner { + display: table-cell; + vertical-align: middle; +} + +/** + * TYPE STYLES + */ + +.landing-h1 { + font-weight: 100; + font-size: 60px; + line-height: 78px; + text-align: center; + letter-spacing: -1px; +} + +.landing-pre-h1 { + font-weight: 400; + font-size: 28px; + color: #93B73F; + line-height: 36px; + text-align: center; + letter-spacing: -1px; + text-transform: uppercase; + +} + +.landing-h1.hero { + text-align: left; +} + +.landing-h2 { + font-weight: 300; + font-size: 42px; + line-height: 64px; + text-align: center; +} + +.landing-subhead { + color: #999999; + font-size: 20px; + line-height: 28px; + font-weight:300; + text-align: center; +} +.landing-subhead.hero { + text-align: left; + color: white; +} + +.landing-hero-description { + text-align: left; + margin: 1em 0; +} + +.landing-hero-description p { + font-weight: 300; + margin: 0; + font-size: 18px; + line-height: 24px; +} + +.landing-body .landing-small { + font-size: 14px; + line-height: 19px; +} + +.landing-body.landing-align-center { + text-align: center; +} + +.landing-align-left { + text-align: left; +} + +/** + * LAYOUT + */ + +#body-content, +.fullpage, +#jd-content, +.jd-descr, +.landing-body-content { + height: 100%; +} + +.landing-section { + padding: 80px 10px 80px; + width: 100%; + margin-left: -10px; + text-rendering: optimizeLegibility; +} + +#extending-android-to-wearables { + padding-top: 30px; +} + +.landing-short-section { + padding: 40px 10px 28px; +} + +.landing-gray-background { + background-color: #e9e9e9; +} + +.landing-white-background { + background-color: white; +} + +.landing-red-background { + color: white; + background-color: hsl(8, 70%, 54%); +} + +.landing-subhead-red { + color: hsl(8, 71%, 84%); + text-align: left; +} + +.landing-subhead-red p { + margin-top: 20px; +} + +.landing-hero-container { + height: 100%; +} + + +.preview-hero { + height: calc(100% - 110px); + min-height: 504px; + margin-top: -5px; + padding-top: 0; + padding-bottom: 0; + background-image: url(../../preview/images/hero.jpg); + background-size: cover; + background-position: right center; + color: white; + position: relative; + overflow: hidden; +} + +.wear-hero { + height: calc(100% - 110px); + min-height: 504px; + margin-top: -5px; + padding-top: 0; + padding-bottom: 0; + background-image: url(../../wear/images/hero.jpg); + background-size: cover; + background-position: top center; + color: white; + position: relative; + overflow: hidden; +} + +.tv-hero { + height: calc(100% - 110px); + min-height: 504px; + margin-top: -5px; + padding-top: 0; + padding-bottom: 0; + background-image: url(../../tv/images/hero.jpg); + background-size: cover; + background-position: right center; + color: white; + position: relative; + overflow: hidden; +} + +.auto-hero { + height: calc(100% - 110px); + min-height: 504px; + margin-top: -5px; + padding-top: 0; + padding-bottom: 0; + background-image: url(../../auto/images/hero.jpg); + background-size: cover; + background-position: right center; + color: white; + position: relative; + overflow: hidden; +} + +.landing-hero-scrim { + background: black; + opacity: .2; + position: absolute; + width: 100%; + height: 100%; + margin-left: -10px; +} + +.landing-hero-wrap { + margin: 0 auto; + width: 940px; + clear: both; + height: 100%; + position: relative; +} + +.landing-section-header { + margin-bottom: 40px; +} + +.landing-hero-wrap .landing-section-header { + margin-bottom: 16px; +} + +.landing-body { + font-size: 18px; + line-height: 24px; +} + +.landing-button { + white-space: nowrap; + display: inline-block; + padding: 16px 32px; + font-size: 18px; + font-weight: 500; + line-height: 24px; + cursor: pointer; + color: white; + -webkit-user-select: none; + -moz-user-select: none; + -o-user-select: none; + user-select: none; + -webkit-transition: .2s background-color ease-in-out; + -moz-transition: .2s background-color ease-in-out; + -o-transition: .2s background-color ease-in-out; + transition: .2s background-color ease-in-out; +} + +.landing-primary { + background-color: hsl(8, 70%, 44%); + color: #f8f8f8; +} + +.landing-button.landing-primary:hover { + background-color: hsl(8, 70%, 36%); +} + +.landing-button.landing-primary:active { + background-color: hsl(8, 70%, 30%); +} + +.landing-button.landing-secondary { + background-color: #2faddb; +} + +.landing-button.landing-secondary:hover { + background-color: #09c; +} + +.landing-button.landing-secondary:active { + background-color: #3990ab; +} + +a.landing-button, +a.landing-button:hover, +a.landing-button:visited { + color: white !important; +} + +.landing-video-link { + white-space: nowrap; + display: inline-block; + padding: 16px 32px 16px 82px; + font-size: 18px; + font-weight: 400; + line-height: 24px; + cursor: pointer; + color: hsla(0, 0%, 100%, .8); + -webkit-user-select: none; + -moz-user-select: none; + -o-user-select: none; + user-select: none; + -webkit-transition: .2s color ease-in-out; + -moz-transition: .2s color ease-in-out; + -o-transition: .2s color ease-in-out; + transition: .2s color ease-in-out; +} + +.landing-video-link:before { + height: 64px; + width: 64px; + display: inline-block; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAFuklEQVR42u2dXWgcVRSAV9LWtBBTTZVWUhNqEQtq1QeroDRKFRFsROqTYPuo+JCiIoJKFC0USqlUfCiowRcfrBgVUUElefAPkW5T8aeaGn9aRbFsjP0x2cx8PuRMvFxmdjeb2Z17Z8+B85DsZPbO+eaec3/OPSkABdXsVI2gABSAqgJQAKoKQAGoKgAFoKoAFICqAlAAqgpAAai6DqDRAiwDeoFtwB7gPaAInABKwKToCWAMeB/YDdwJrAWWNLh9+QMAXABsBQ4A3wFTwAxQBmaBAAhjNJDPy3L938BXwAvArUCHAkh+kCXAVcA+YBw4bRg7MngtkgTlDPA98CywHmhTAP8/xCbgVeAvMZZpwDQllN7xB/AysKGlAQAXAvuBkzW85UVgCBgENlfQQbmuWAXELPAnsAvoaikAQBtwh/j3coLhS2LIfqCzzu/plL8fkvvFgZiR4L2lHrfkHQBgpQTFUwmGnwC212v0KjC2y/3jQPwDPA+05xYAcBHwubx1YZzhC02QBBBRbxgBzssdAOBy4JgRZE0ZTPuNr7FHDCbEhqNAd24AAN0yUbID7QSwsZChABut3hANXY8Bq70HIMb/Ocb4w81+66v0hmGrN0QQ1ngLQJYRvpWHMWWo4KDIaMnuCcVKgdlZAGL8t2J8vpPGrwChDLyWBMFlAA8D0z4ZvwKEs8D93gCQEc9Jy/jFgkdizaRDGUSs8wXAu1bQLQE9ngHosWbPAXDQeQAypT9rBd3+gociyxi2K9riLABZUj5iuZ6RgsciM2OzFxw2A7JrAO6VwGtKTwpG+Anoy9AVmb3gDHCPcwCAFcChRox6jPu9CazMeFQUAKNRL3AJwE2yopjq228BQPZ/d2bcCyaBTa4BeNGa8Q6naIA4GQWubiKEYWvBbp8zAGQt5VfL/fQ3GEAkTzXDLVkjokA2k5a7AuA2GaLNj/tTfvhq0pQgbcwLQtlQusYVALtlzSR191MjADNI9zbJDZWBR10BMGr5/4GMADQ0SAMDlht62xUAxy0AmzMEEMnhtIO0ZF2YAH5wITd0hQw/5wE04M1bjDyXZpC2hqMlYGnWAHqBf40APOEYgChI35VSWyasWfGqrAH0WVkOIw4CSC1IG2tDoSy7XJE1gPs8ArDoIG0BmJGk30wBDHgGYFFBOgbAtqwB7GxxAHerC8rOBU0Dt2gQzjYIb8gawDor+6HVhqFdrkzEwhabiAVOTMSkUb+06FLEUVfWgj5q0cW4g64AeNo66ZLlcnTDNmesBN4y8KArAG6QU42ttCEzBVzpCoAO4EfLDeV5SzIEvgHaXdqUP2BlQud1Ux55zj2uZUX02cPRnKalRLmu17qYmPWF5YbymJgVAh8Ay5wCII3ZEZOYm6fURGT2u9X43Mnk3CDHybmfmRVYXExPv9nKEcpLejqSC3SjdY2TBzTesHqB7wc0onTEV2KucxLApXKkJy9HlAI5anuJFwCkYQ/EuCJfD+mdBnYkXOssgHY53un7MdVZ4CVgqVcADAhjMafkfTioHc14P04yvvMApIEXy5F/+7S8y6UKolPyR4BVVf7Wi2IdawwIPhTrmAW+rmZ8bwBIQ7vloXwoVzNWS6UUrwAYy9YfOlqwKZDkgneA5Qu4l3cly84F9sqGhislywLmaozuYoGFXr0DII1ukxP1hxJ6QzR7HqLxRfumZaRzXZ3f4XXZyi7gCeB3kqsnzs+kSb9s5XHgMeD8RTxDLgq3rmeuYuFvNYCoR8wqujNi+L3UWBcu9wAMt3QZ8LiMlk5RuU50teq6kcEDgTolveIRYHUQBOek1O5cFu/ukLz7/ZJgNSm+OirebWpgaPS7slxfAr4EngGuX8jopqUBxGzyrAVuB54EXgc+lV4yLhO8cfn5E+ZqUD8kBu9sQvv0Hzj4rmoEBaAAVBWAAlBVAApAVQEoAFUFoABUFYACUFUACkC1CfofXVRJocowZVYAAAAASUVORK5CYII=); + background-size: contain; + position: absolute; + content: ""; + opacity: .7; + margin-top: -19px; + margin-left: -64px; + -webkit-transition: .2s opacity ease-in-out; + -moz-transition: .2s opacity ease-in-out; + -o-transition: .2s opacity ease-in-out; + transition: .2s opacity ease-in-out; +} + +.landing-video-link:hover { + color: hsla(0, 0%, 100%, 1); +} + +.landing-video-link:hover:before { + opacity: 1; +} + +.landing-social-image { + float: left; + margin-right: 14px; + height: 64px; + width: 64px; +} + +.landing-social-copy { + padding-left: 78px; +} + +.landing-scroll-down-affordance { + position: absolute; + bottom: 0; + width: 100%; + text-align: center; + z-index: 10; +} + +.landing-down-arrow { + padding: 24px; + display: inline-block; + opacity: .5; + -webkit-transition: .2s opacity ease-in-out; + -moz-transition: .2s opacity ease-in-out; + -o-transition: .2s opacity ease-in-out; + transition: .2s opacity ease-in-out; + + -webkit-animation-name: pulse-opacity; + -webkit-animation-duration: 4s; +} + +.landing-down-arrow:hover { + opacity: 1; +} + +.landing-down-arrow img { + height: 28px; + width: 28px; + margin: 0 auto; + display: block; +} + +.landing-divider { + display: inline-block; + height: 2px; + background-color: white; + position: relative; + margin: 10px 0; +} + +/* 3 CLOLUMN LAYOUT */ + +.landing-breakout { + margin-top: 40px; + margin-bottom: 40px; +} + +.landing-breakout img { + margin-bottom: 20px; +} + +.landing-partners img { + margin-bottom: 20px; +} + +.landing-breakout p { + padding: 0 23px; +} + +.landing-breakout.landing-partners img { + margin-bottom: 20px; +} + +.col-3-wide { + display: inline; + float: left; + margin-left: 10px; + margin-right: 10px; +} + +.col-3-wide { + width: 302px; +} + +/** + * ANIMATION + */ + +@-webkit-keyframes pulse-opacity { + 0% { + opacity: .5; + } + 20% { + opacity: .5; + } + 40% { + opacity: 1; + } + 60% { + opacity: .5; + } + 80% { + opacity: 1; + } + 100% { + opacity: .5; + } +} + + + +/** + * VIDEO + */ + +#video-container { + display:none; + position:fixed; + top:0; + left:0; + width:100%; + height:100%; + background-color:rgba(0,0,0,0.8); + z-index:9999; +} + +#video-frame { + width:940px; + height:100%; + margin:72px auto; + display:none; + position:relative; +} + +.video-close { + cursor: pointer; + position: absolute; + right: -49px; + top: -49px; + pointer-events: all; +} + +#icon-video-close { + background-image: url("../images/close-white.png"); + background-image: -webkit-image-set(url(../images/close-white.png) 1x, url(../images/close-white_2x.png) 2x); + background-repeat: no-repeat; + background-position: 0 0; + background-size: 36px 36px; + height: 36px; + width: 36px; + display:block; +} + +#icon-video-close:hover { + background-image: url("../images/close-grey.png"); + background-image: -webkit-image-set(url(../images/close-grey.png) 1x, url(../images/close-grey_2x.png) 2x); +} + +/* Preload the hover images */ +a.video-shadowbox-button.white:after { + display:none; + content:url("../images/close-grey.png") url("../images/close-grey_2x.png"); +} + +a.video-shadowbox-button.white { + background-image: url("../images/play-circle-white.png"); + background-image: -webkit-image-set(url(../images/play-circle-white.png) 1x, url(../images/play-circle-white_2x.png) 2x); + background-size: 36px 36px; + background-repeat: no-repeat; + background-position: right; + padding: 16px 42px 16px 8px; + font-size: 18px; + font-weight: 500; + line-height: 24px; + color: #fff; + text-decoration:none; +} + +a.video-shadowbox-button.white:hover { + color:#bababa !important; + background-image: url("../images/play-circle-grey.png"); + background-image: -webkit-image-set(url(../images/play-circle-grey.png) 1x, url(../images/play-circle-grey_2x.png) 2x); +} + +/* Preload the hover images */ +a.video-shadowbox-button.white:after { + display:none; + content:url("../images/play-circle-grey.png") url("../images/play-circle-grey_2x.png"); +} + +/****************** +Styles for d.a.c/index: +*******************/ + + + +/* Generic full screen carousel styling to be used across pages. */ +.fullscreen-carousel { + margin: 0 -10px; + width: 100%; + overflow: hidden; + position: relative; +} + +.fullscreen-carousel-content { + width: 100%; + height: 100%; + position: relative; + display: table; /* For vertical centering */ +} + +.fullscreen-carousel .vcenter { + display: table-cell; + vertical-align: middle; + position: relative; +} + +.fullscreen-carousel .vcenter > div { + margin: 10px auto; +} + +/* Styles for the full-bleed hero image type. */ +.fullscreen-carousel .hero, .fullscreen-carousel .hero h1 { + color: #fff; +} + +.fullscreen-carousel .hero h1 { + font-weight: 300; + font-size: 60px; + line-height: 68px; + letter-spacing: -1px; + margin-top: 0; +} + +.fullscreen-carousel .hero p { + font-weight: 300; + font-size: 18px; + line-height: 24px; + -webkit-font-smoothing: antialiased; +} + +.fullscreen-carousel .hero .hero-bg { + background-size: cover; + width: 100%; + height: 100%; + position: absolute; + left: 0px; + top: 0px; +} + + +/* Full screen carousel styling for the resource flow layout type of content */ +.fullscreen-carousel .resource-flow-layout:after { + height: 0; /* Dont know why this is set at 10 in default.css */ +} + +.fullscreen-carousel .resource-flow-layout { + margin-bottom: 20px; +} + + + +/* Generic Tab carousel styling to be used across multiple pages. */ + +.tab-carousel .tab-nav { + list-style: none; + position: relative; + text-align: center; +} + +.tab-carousel .tab-nav li { + display: inline-block; + font-size: 22px; + font-weight: 400; + line-height: 50px; + list-style: none; + margin: 0; + padding: 0 25px; + position: relative; +} + +.tab-carousel .tab-nav li a, +.tab-carousel .tab-nav li a:hover { + color: #333 !important; + padding: 10px 10px 13px 10px; + position: relative; + z-index: 1000; +} + +.tab-carousel .tab-nav li:after { + background: #ddd; + bottom: 0; + content: ''; + height: 4px; + left: 0; + position: absolute; + width: 100%; + z-index: 0; +} + +.tab-carousel .tab-nav .highlight { + position: absolute; + height: 4px; + width: 100px; + bottom: 0; + background: #33b5e5; +} + +.tab-carousel .tab-carousel-content { + position: relative; + overflow: hidden; + white-space: nowrap; +} + +.tab-carousel .tab-carousel-content [data-tab] { + display: inline-block; + white-space: normal; +} + + + +/* + Resource styling for the tab carousel. The tab carousel contains either + a 3 column layout of resources or a single full-width resource. The + latter has the 18x12 class applied to it and can be styled differently + that way. +*/ + +.tab-carousel .resource .image { + width: 100%; + height: 250px; + background-repeat: no-repeat; + background-size: contain; + background-position: 50% 50%; +} + +.tab-carousel .resource .info .title { + font-size: 18px; + line-height: 24px; +} + +.tab-carousel .resource .info .summary, +.tab-carousel .resource .info .cta { + line-height: 24px; + font-size: 16px; +} + +.tab-carousel .resource-card-18x12 { + position: relative; + padding-left: 450px; + box-sizing: border-box; + display: table-cell; + vertical-align: middle; +} + +.tab-carousel .resource-card-18x12 .image { + position: absolute; + width: 420px; + height: 100%; + left: 0; + top: 0; +} + +.tab-carousel .resource-card-18x12 .info { + display: inline-block; +} + +.tab-carousel .resource-card-18x12 .info .title { + margin-bottom: 26px; +} + + + + + +/* + Styles for the entity link used in the actions bar and in the cta of + the resources that appear in the tab carousel. +*/ +.actions-bar a:after, +.resource .cta:after { + content: '›'; + font-weight: 400; + font-size: 22px; + left: 5px; + line-height: 1; + position: relative; + top: 1px; + transition: left 190ms ease-out; +} + +.actions-bar a:hover:after, +.resource .cta:hover:after { + left: 10px; +} + + + + +/* + Styles for the actions bar. +*/ +.actions-bar { + background: #9acd00; + margin: 0 -10px; + text-align: center; +} + +.actions-bar .actions { + padding: 30px 0 30px; + text-align: justify; + font-size: 0.1px; + line-height: 0.1px; + margin: 0 10px 0 0; +} + +.actions-bar .actions:after { + content: ''; + width: 100%; + display: inline-block; +} + +.actions-bar .actions > div { + display: inline-block; +} + +.actions-bar a { + font-size: 21px; + line-height: 27px; + color: #fff; + font-weight: 300; + -webkit-font-smoothing: antialiased; +} + +.actions-bar a:after { + top: 0px; + font-size: 22px; +} + +.actions-bar a:hover { + color: #fff !important; +} + + + + + +/* + Specific styles for new home page layout of the carousels. +*/ + +/* Big blue button */ +a.home-new-cta-btn, +.home-new-carousel-1 .resource-card-18x6 .cta { + white-space: nowrap; + display: inline-block; + padding: 14px 32px; + font-size: 18px; + font-weight: 500; + line-height: 24px; + cursor: pointer; + background: #33b5e6; + border-radius: 4px; + margin-top: 20px; + color: #fff; + transition: 0.2s background-color ease-in-out; +} + +.home-new-carousel-1 .resource-card-18x6 .cta:after { + display: none; /* Hide the entity for this button */ +} + +a.home-new-cta-btn:hover, +.home-new-carousel-1 .resource-card-18x6 .cta:hover { + color: #fff !important; + background: #2d9fca; +} + +.home-new-carousel-1 .resource-card-18x6 .cta { + position: absolute; + bottom: 20px; + left: 16px; +} + +/* Fullscreen carousel. */ +.home-new-carousel-1 { + max-height: 700px; /* Set max height so doesn't get too long */ +} + +.home-new-carousel-1 .fullscreen-carousel-content { + min-height: 450px; /* Set min height for all content */ +} + +.home-new-carousel-1 .hero { + background: #000; +} + +.home-new-carousel-1 .hero-bg { + background-image: url(/home-new/images/hero.jpg); + background-position: right center; + opacity: 0.85; +} + +/* + Styling for special top card of full screen layout resource layout. + We need to specifically style the 18x6 card to adjust its size and layout, + since it's not a standard card, not sure if this is unique to the home page + layout or should be namespaced within the fullscreen-carousel container. +*/ +.home-new-carousel-1 .resource-flow-layout.col-16 .resource-card-18x6 { + height: 320px; + background-color:#F9F9F9; + border-radius: 0px; + box-shadow: 0px 0px 0px rgba(0, 0, 0, 0); + +} + +.home-new-carousel-1 .resource-card-18x6 .card-bg { + width: 636px; + height: 100%; +} + +.home-new-carousel-1 .resource-card-18x6 .card-info { + right: 0px; + left: 636px; + height: 100%; + top: 0px; + padding: 15px 22px; +} + +.home-new-carousel-1 .resource-card-18x6 .card-info .util { + display: none; +} + +.home-new-carousel-1 .resource-card-18x6 .card-info .title { + font-size: 20px; + font-weight: 500; + margin-top: 15px; + margin-bottom: 15px; +} + +.home-new-carousel-1 .resource-card-18x6 .card-info .text { + font-size: 15px; + line-height: 21px; +} + + +/* Tabbed carousel. */ +.home-new-carousel-2 { + margin: 35px auto 100px auto; +} + +.home-new-carousel-2 h1 { + font-size: 47px; + font-weight: 100; + line-height: 54px; + text-align: center; +} + +.annotation-message { + display: block; + font-style: italic; + color: #F80; +} + + + +/* Helpouts widget */ +.resource-card-6x2.helpouts-card { + width: 255px; + height: 40px; + position:absolute; + z-index:999; + top:-8px; + right:1px; +} + +.resource-card-6x2.helpouts-card > .card-info { + left:35px; + height:35px; + padding:4px 8px 4px 0; +} + +.resource-card-6x2.helpouts-card > .card-info .helpouts-description { + display:block; + overflow:visible; + font-size:12px; + line-height:12px; + text-align:right; + color:#666; +} + +.helpouts-description .link-color { + text-transform: uppercase; +} + +.resource-card-6x2 > .card-bg.helpouts-card-bg { + width:35px; + height:35px; + margin:2px 0 0 0; + background-image: url(../images/styles/helpouts-logo-35_2x.png); + background-image: -webkit-image-set(url(../images/styles/helpouts-logo-35.png) 1x, url(../images/styles/helpouts-logo-35_2x.png) 2x); +} + +.resource-card-6x2 > .card-bg.helpouts-card-bg:after { + display:none; +} diff --git a/build/tools/droiddoc/templates-cmsdk/assets/css/fullscreen.css b/build/tools/droiddoc/templates-cmsdk/assets/css/fullscreen.css new file mode 100644 index 00000000..7912e349 --- /dev/null +++ b/build/tools/droiddoc/templates-cmsdk/assets/css/fullscreen.css @@ -0,0 +1,208 @@ + +/* ============================================================================= + Columns + ========================================================================== */ +/* Applied to body to debug layout alignments +.grid { + width:100%; + height:100%; + background:url(../images/grid.png) center repeat-y; + top:0px; + margin:auto; + position:absolute; +} +*/ + +@media screen, projection, print { +.full { + padding: 2.5em 0; + border-top: solid 1px #ddd; + border-bottom: solid 1px #ddd; + background: #f7f7f7; +} +.wrap { + margin: 0 auto; + width: 100%; + min-width:600px; + clear: both; +} +.cols { + height: 1%; + margin: 0 -1.533742331288343558282%; + width: 103.06748466257669%} +*+html .cols { + margin-bottom: 20px; +} +.cols:after { + clear: both; + content: ' '; + display: block; + height: 0; + visibility: hidden; +} +.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, +.col-13, .col-14, .col-15, .col-16 { + float: left; + margin: 0 1.063829787234% 20px 1.063829787234%; +} +* html .col-1, * html .col-2, * html .col-3, * html .col-4, * html .col-5, * html .col-6, * html +.col-7, * html .col-8, * html .col-9, * html .col-10, * html .col-11, * html .col-12, * html +.col-13, * html .col-14, * html .col-15, * html .col-16 { + margin: 0; + margin: 0 1.063829787234% 20px 1.063829787234%; +} +[dir='rtl'] .col-1, [dir='rtl'] .col-2, [dir='rtl'] .col-3, [dir='rtl'] .col-4, [dir='rtl'] .col-5, +[dir='rtl'] .col-6, [dir='rtl'] .col-7, [dir='rtl'] .col-8, [dir='rtl'] .col-9, [dir='rtl'] .col-10, +[dir='rtl'] .col-11, [dir='rtl'] .col-12 { + float: right; +} +.col-1 { + width: 4.16666666666667%; +} +.col-2 { + width: 10.4166666666667%; +} +.col-3 { + width: 16.6666666666667%; +} +.col-4 { + width: 22.9166666666667%; +} +.col-5 { + width: 29.1666666666667%; +} +.col-6 { + width: 35.4166666666667%; +} +.col-7 { + width: 41.6666666666667%; +} +.col-8 { + width: 47.9166666666667%; +} +.col-9 { + width: 55.3333333333333%; +} +.col-10 { + width: 60.4166666666667%; +} +.col-11 { + width: 66.6666666666667%; +} +.col-12 { + width: 72.9166666666667%; +} +.col-13 { + width: 79.1666666666667%; +} +.col-14 { + width: 85.4166666666667%; +} +.col-15 { + width: 91.6666666666667%; +} +.col-16 { + width: 97.9166666666667%; +} + + + + + + + +#header .col-1, +#nav-x .col-1 { width: 40px } +#header .col-2, +#nav-x .col-2 { width: 100px } +#header .col-3, +#nav-x .col-3 { width: 160px } +#header .col-4, +#nav-x .col-4 { width: 220px } +#header .col-5, +#nav-x .col-5 { width: 280px } +#header .col-6, +#nav-x .col-6 { width: 340px } +#header .col-7, +#nav-x .col-7 { width: 400px } +#header .col-8, +#nav-x .col-8 { width: 460px } +#header .col-9, +#nav-x .col-9 { width: 520px } +#header .col-10, +#nav-x .col-10 { width: 580px } +#header .col-11, +#nav-x .col-11 { width: 640px } +#header .col-12, +#nav-x .col-12 { width: 700px } +#header .col-13, +#nav-x .col-13 { width: 760px } +#header .col-14, +#nav-x .col-14 { width: 820px } +#header .col-15, +#nav-x .col-15 { width: 880px } +#header .col-16, +#nav-x .col-16 { width: 940px } + + + +body { + padding:0 20px; +} +#header, +#searchResults, +#nav-x { + margin:0; +} +#body-content { + margin:0; +} +#body-content > .col-12 { + width:77.9804965%; + margin:0 0 0 0.97%; /* this percentage chosen to make IE9 happy */ +} +#side-nav { + width: 19.9804965%; + margin:0 1.063829787234% 0 0; +} + +#header .wrap { + max-width: 100%; +} + +#header-wrapper #nav-x div.wrap, +#searchResults.wrap { + max-width:100%; +} + +.nav-x { + margin:-2px 0 0 0; +} + +#devdoc-nav.fixed, +#devdoc-nav.fixed a.totop { + left:20px; /* !important ... for IE i think */ +} + +#sticky-header { + padding: 0 20px; +} + +#sticky-header > div { + width: 100%; +} + +.sticky-menu { + width:100%; + left:-20px; +} + +.col-right { + margin-right:0px; +} + +@media screen and (max-width:772px) { +.col-5, .col-6, .col-7 { + clear: both; + width: 97.0238096%} +} \ No newline at end of file diff --git a/build/tools/droiddoc/templates-cmsdk/assets/customizations.css b/build/tools/droiddoc/templates-cmsdk/assets/customizations.css new file mode 100755 index 00000000..61cb3ccd --- /dev/null +++ b/build/tools/droiddoc/templates-cmsdk/assets/customizations.css @@ -0,0 +1,14 @@ +#masthead-title { + color: #373332; + text-decoration: none; + font-weight: bold; + margin-left: 5px; +} + +#headerLeft a { + text-decoration: none; +} + +#header { + border-bottom: 4px solid rgb(1, 125, 187); +} diff --git a/build/tools/droiddoc/templates-cmsdk/assets/design/design.js b/build/tools/droiddoc/templates-cmsdk/assets/design/design.js new file mode 100644 index 00000000..3ba84868 --- /dev/null +++ b/build/tools/droiddoc/templates-cmsdk/assets/design/design.js @@ -0,0 +1,188 @@ +$(document).ready(function() { + // prep nav expandos + var pagePath = document.location.pathname; + if (pagePath.indexOf(SITE_ROOT) == 0) { + pagePath = pagePath.substr(SITE_ROOT.length); + if (pagePath == '' || pagePath.charAt(pagePath.length - 1) == '/') { + pagePath += 'index.html'; + } + } + + if (SITE_ROOT.match(/\.\.\//) || SITE_ROOT == '') { + // If running locally, SITE_ROOT will be a relative path, so account for that by + // finding the relative URL to this page. This will allow us to find links on the page + // leading back to this page. + var pathParts = pagePath.split('/'); + var relativePagePathParts = []; + var upDirs = (SITE_ROOT.match(/(\.\.\/)+/) || [''])[0].length / 3; + for (var i = 0; i < upDirs; i++) { + relativePagePathParts.push('..'); + } + for (var i = 0; i < upDirs; i++) { + relativePagePathParts.push(pathParts[pathParts.length - (upDirs - i) - 1]); + } + relativePagePathParts.push(pathParts[pathParts.length - 1]); + pagePath = relativePagePathParts.join('/'); + } else { + // Otherwise the page path should be an absolute URL. + pagePath = SITE_ROOT + pagePath; + } + + // select current page in sidenav and set up prev/next links if they exist + var $selNavLink = $('.nav-y').find('a[href="' + pagePath + '"]'); + if ($selNavLink.length) { + $selListItem = $selNavLink.closest('li'); + + $selListItem.addClass('selected'); + $selListItem.closest('li>ul').addClass('expanded'); + + // set up prev links + var $prevLink = []; + var $prevListItem = $selListItem.prev('li'); + if ($prevListItem.length) { + if ($prevListItem.hasClass('nav-section')) { + // jump to last topic of previous section + $prevLink = $prevListItem.find('a:last'); + } else { + // jump to previous topic in this section + $prevLink = $prevListItem.find('a:eq(0)'); + } + } else { + // jump to this section's index page (if it exists) + $prevLink = $selListItem.parents('li').find('a'); + } + + if ($prevLink.length) { + var prevHref = $prevLink.attr('href'); + if (prevHref == SITE_ROOT + 'index.html') { + // Don't show Previous when it leads to the homepage + $('.prev-page-link').hide(); + } else { + $('.prev-page-link').attr('href', prevHref).show(); + } + } else { + $('.prev-page-link').hide(); + } + + // set up next links + var $nextLink = []; + if ($selListItem.hasClass('nav-section')) { + // we're on an index page, jump to the first topic + $nextLink = $selListItem.find('ul').find('a:eq(0)') + } else { + // jump to the next topic in this section (if it exists) + $nextLink = $selListItem.next('li').find('a:eq(0)'); + if (!$nextLink.length) { + // no more topics in this section, jump to the first topic in the next section + $nextLink = $selListItem.parents('li').next('li.nav-section').find('a:eq(0)'); + } + } + if ($nextLink.length) { + $('.next-page-link').attr('href', $nextLink.attr('href')).show(); + } else { + $('.next-page-link').hide(); + } + } + + // Set up expand/collapse behavior + $('.nav-y li').has('ul').click(function() { + if ($(this).hasClass('expanded')) { + return; + } + + // hide other + var $old = $('.nav-y li.expanded'); + if ($old.length) { + var $oldUl = $old.children('ul'); + $oldUl.css('height', $oldUl.height() + 'px'); + window.setTimeout(function() { + $oldUl + .addClass('animate-height') + .css('height', ''); + }, 0); + $old.removeClass('expanded'); + } + + // show me + $(this).addClass('expanded'); + var $ul = $(this).children('ul'); + var expandedHeight = $ul.height(); + $ul + .removeClass('animate-height') + .css('height', 0); + window.setTimeout(function() { + $ul + .addClass('animate-height') + .css('height', expandedHeight + 'px'); + }, 0); + }); + + // Stop expand/collapse behavior when clicking on nav section links (since we're navigating away + // from the page) + $('.nav-y li').has('ul').find('a:eq(0)').click(function(evt) { + window.location.href = $(this).attr('href'); + return false; + }); + + // Set up play-on-hover
') + .addClass('tooltip-box') + .text($target.attr('title')) + .hide() + .appendTo('body'); + $target.removeAttr('title'); + + $target.hover(function() { + // in + var targetRect = $target.offset(); + targetRect.width = $target.width(); + targetRect.height = $target.height(); + + $tooltip.css({ + left: targetRect.left, + top: targetRect.top + targetRect.height + TOOLTIP_MARGIN + }); + $tooltip.addClass('below'); + $tooltip.show(); + }, function() { + // out + $tooltip.hide(); + }); + }); + + // Set up

deeplinks + $('h2').click(function() { + var id = $(this).attr('id'); + if (id) { + document.location.hash = id; + } + }); + + // Set up fixed navbar + var navBarIsFixed = false; + $(window).scroll(function() { + var scrollTop = $(window).scrollTop(); + var navBarShouldBeFixed = (scrollTop > (100 - 40)); + if (navBarIsFixed != navBarShouldBeFixed) { + if (navBarShouldBeFixed) { + $('#nav') + .addClass('fixed') + .prependTo('#page-container'); + } else { + $('#nav') + .removeClass('fixed') + .prependTo('#nav-container'); + } + navBarIsFixed = navBarShouldBeFixed; + } + }); +}); \ No newline at end of file diff --git a/build/tools/droiddoc/templates-cmsdk/assets/docs.js b/build/tools/droiddoc/templates-cmsdk/assets/docs.js new file mode 100644 index 00000000..3ab4caf8 --- /dev/null +++ b/build/tools/droiddoc/templates-cmsdk/assets/docs.js @@ -0,0 +1,4339 @@ +var classesNav; +var devdocNav; +var sidenav; +var cookie_namespace = 'android_developer'; +var NAV_PREF_TREE = "tree"; +var NAV_PREF_PANELS = "panels"; +var nav_pref; +var isMobile = false; // true if mobile, so we can adjust some layout +var mPagePath; // initialized in ready() function + +var basePath = getBaseUri(location.pathname); +var SITE_ROOT = toRoot + basePath.substring(1,basePath.indexOf("/",1)); +var GOOGLE_DATA; // combined data for google service apis, used for search suggest + +// Ensure that all ajax getScript() requests allow caching +$.ajaxSetup({ + cache: true +}); + +/****** ON LOAD SET UP STUFF *********/ + +$(document).ready(function() { + + // show lang dialog if the URL includes /intl/ + //if (location.pathname.substring(0,6) == "/intl/") { + // var lang = location.pathname.split('/')[2]; + // if (lang != getLangPref()) { + // $("#langMessage a.yes").attr("onclick","changeLangPref('" + lang + // + "', true); $('#langMessage').hide(); return false;"); + // $("#langMessage .lang." + lang).show(); + // $("#langMessage").show(); + // } + //} + + // load json file for JD doc search suggestions + $.getScript(toRoot + 'jd_lists_unified.js'); + // load json file for Android API search suggestions + $.getScript(toRoot + 'reference/lists.js'); + + // setup keyboard listener for search shortcut + $('body').keyup(function(event) { + if (event.which == 191) { + $('#search_autocomplete').focus(); + } + }); + + // init the fullscreen toggle click event + $('#nav-swap .fullscreen').click(function(){ + if ($(this).hasClass('disabled')) { + toggleFullscreen(true); + } else { + toggleFullscreen(false); + } + }); + + // initialize the divs with custom scrollbars + $('.scroll-pane').jScrollPane( {verticalGutter:0} ); + + // add HRs below all H2s (except for a few other h2 variants) + $('h2').not('#qv h2') + .not('#tb h2') + .not('.sidebox h2') + .not('#devdoc-nav h2') + .not('h2.norule').css({marginBottom:0}) + .after('
'); + + // set up the search close button + $('.search .close').click(function() { + $searchInput = $('#search_autocomplete'); + $searchInput.attr('value', ''); + $(this).addClass("hide"); + $("#search-container").removeClass('active'); + $("#search_autocomplete").blur(); + search_focus_changed($searchInput.get(), false); + hideResults(); + }); + + // Set up quicknav + var quicknav_open = false; + $("#btn-quicknav").click(function() { + if (quicknav_open) { + $(this).removeClass('active'); + quicknav_open = false; + collapse(); + } else { + $(this).addClass('active'); + quicknav_open = true; + expand(); + } + }) + + var expand = function() { + $('#header-wrap').addClass('quicknav'); + $('#quicknav').stop().show().animate({opacity:'1'}); + } + + var collapse = function() { + $('#quicknav').stop().animate({opacity:'0'}, 100, function() { + $(this).hide(); + $('#header-wrap').removeClass('quicknav'); + }); + } + + + //Set up search + $("#search_autocomplete").focus(function() { + $("#search-container").addClass('active'); + }) + $("#search-container").mouseover(function() { + $("#search-container").addClass('active'); + $("#search_autocomplete").focus(); + }) + $("#search-container").mouseout(function() { + if ($("#search_autocomplete").is(":focus")) return; + if ($("#search_autocomplete").val() == '') { + setTimeout(function(){ + $("#search-container").removeClass('active'); + $("#search_autocomplete").blur(); + },250); + } + }) + $("#search_autocomplete").blur(function() { + if ($("#search_autocomplete").val() == '') { + $("#search-container").removeClass('active'); + } + }) + + + // prep nav expandos + var pagePath = document.location.pathname; + // account for intl docs by removing the intl/*/ path + if (pagePath.indexOf("/intl/") == 0) { + pagePath = pagePath.substr(pagePath.indexOf("/",6)); // start after intl/ to get last / + } + + if (pagePath.indexOf(SITE_ROOT) == 0) { + if (pagePath == '' || pagePath.charAt(pagePath.length - 1) == '/') { + pagePath += 'index.html'; + } + } + + // Need a copy of the pagePath before it gets changed in the next block; + // it's needed to perform proper tab highlighting in offline docs (see rootDir below) + var pagePathOriginal = pagePath; + if (SITE_ROOT.match(/\.\.\//) || SITE_ROOT == '') { + // If running locally, SITE_ROOT will be a relative path, so account for that by + // finding the relative URL to this page. This will allow us to find links on the page + // leading back to this page. + var pathParts = pagePath.split('/'); + var relativePagePathParts = []; + var upDirs = (SITE_ROOT.match(/(\.\.\/)+/) || [''])[0].length / 3; + for (var i = 0; i < upDirs; i++) { + relativePagePathParts.push('..'); + } + for (var i = 0; i < upDirs; i++) { + relativePagePathParts.push(pathParts[pathParts.length - (upDirs - i) - 1]); + } + relativePagePathParts.push(pathParts[pathParts.length - 1]); + pagePath = relativePagePathParts.join('/'); + } else { + // Otherwise the page path is already an absolute URL + } + + // Highlight the header tabs... + // highlight Design tab + if ($("body").hasClass("design")) { + $("#header li.design a").addClass("selected"); + $("#sticky-header").addClass("design"); + + // highlight About tabs + } else if ($("body").hasClass("about")) { + var rootDir = pagePathOriginal.substring(1,pagePathOriginal.indexOf('/', 1)); + if (rootDir == "about") { + $("#nav-x li.about a").addClass("selected"); + } else if (rootDir == "wear") { + $("#nav-x li.wear a").addClass("selected"); + } else if (rootDir == "tv") { + $("#nav-x li.tv a").addClass("selected"); + } else if (rootDir == "auto") { + $("#nav-x li.auto a").addClass("selected"); + } + // highlight Develop tab + } else if ($("body").hasClass("develop") || $("body").hasClass("google")) { + $("#header li.develop a").addClass("selected"); + $("#sticky-header").addClass("develop"); + // In Develop docs, also highlight appropriate sub-tab + var rootDir = pagePathOriginal.substring(1,pagePathOriginal.indexOf('/', 1)); + if (rootDir == "training") { + $("#nav-x li.training a").addClass("selected"); + } else if (rootDir == "guide") { + $("#nav-x li.guide a").addClass("selected"); + } else if (rootDir == "reference") { + // If the root is reference, but page is also part of Google Services, select Google + if ($("body").hasClass("google")) { + $("#nav-x li.google a").addClass("selected"); + } else { + $("#nav-x li.reference a").addClass("selected"); + } + } else if ((rootDir == "tools") || (rootDir == "sdk")) { + $("#nav-x li.tools a").addClass("selected"); + } else if ($("body").hasClass("google")) { + $("#nav-x li.google a").addClass("selected"); + } else if ($("body").hasClass("samples")) { + $("#nav-x li.samples a").addClass("selected"); + } + + // highlight Distribute tab + } else if ($("body").hasClass("distribute")) { + $("#header li.distribute a").addClass("selected"); + $("#sticky-header").addClass("distribute"); + + var baseFrag = pagePathOriginal.indexOf('/', 1) + 1; + var secondFrag = pagePathOriginal.substring(baseFrag, pagePathOriginal.indexOf('/', baseFrag)); + if (secondFrag == "users") { + $("#nav-x li.users a").addClass("selected"); + } else if (secondFrag == "engage") { + $("#nav-x li.engage a").addClass("selected"); + } else if (secondFrag == "monetize") { + $("#nav-x li.monetize a").addClass("selected"); + } else if (secondFrag == "analyze") { + $("#nav-x li.analyze a").addClass("selected"); + } else if (secondFrag == "tools") { + $("#nav-x li.disttools a").addClass("selected"); + } else if (secondFrag == "stories") { + $("#nav-x li.stories a").addClass("selected"); + } else if (secondFrag == "essentials") { + $("#nav-x li.essentials a").addClass("selected"); + } else if (secondFrag == "googleplay") { + $("#nav-x li.googleplay a").addClass("selected"); + } + } else if ($("body").hasClass("about")) { + $("#sticky-header").addClass("about"); + } + + // set global variable so we can highlight the sidenav a bit later (such as for google reference) + // and highlight the sidenav + mPagePath = pagePath; + highlightSidenav(); + buildBreadcrumbs(); + + // set up prev/next links if they exist + var $selNavLink = $('#nav').find('a[href="' + pagePath + '"]'); + var $selListItem; + if ($selNavLink.length) { + $selListItem = $selNavLink.closest('li'); + + // set up prev links + var $prevLink = []; + var $prevListItem = $selListItem.prev('li'); + + var crossBoundaries = ($("body.design").length > 0) || ($("body.guide").length > 0) ? true : +false; // navigate across topic boundaries only in design docs + if ($prevListItem.length) { + if ($prevListItem.hasClass('nav-section') || crossBoundaries) { + // jump to last topic of previous section + $prevLink = $prevListItem.find('a:last'); + } else if (!$selListItem.hasClass('nav-section')) { + // jump to previous topic in this section + $prevLink = $prevListItem.find('a:eq(0)'); + } + } else { + // jump to this section's index page (if it exists) + var $parentListItem = $selListItem.parents('li'); + $prevLink = $selListItem.parents('li').find('a'); + + // except if cross boundaries aren't allowed, and we're at the top of a section already + // (and there's another parent) + if (!crossBoundaries && $parentListItem.hasClass('nav-section') + && $selListItem.hasClass('nav-section')) { + $prevLink = []; + } + } + + // set up next links + var $nextLink = []; + var startClass = false; + var isCrossingBoundary = false; + + if ($selListItem.hasClass('nav-section') && $selListItem.children('div.empty').length == 0) { + // we're on an index page, jump to the first topic + $nextLink = $selListItem.find('ul:eq(0)').find('a:eq(0)'); + + // if there aren't any children, go to the next section (required for About pages) + if($nextLink.length == 0) { + $nextLink = $selListItem.next('li').find('a'); + } else if ($('.topic-start-link').length) { + // as long as there's a child link and there is a "topic start link" (we're on a landing) + // then set the landing page "start link" text to be the first doc title + $('.topic-start-link').text($nextLink.text().toUpperCase()); + } + + // If the selected page has a description, then it's a class or article homepage + if ($selListItem.find('a[description]').length) { + // this means we're on a class landing page + startClass = true; + } + } else { + // jump to the next topic in this section (if it exists) + $nextLink = $selListItem.next('li').find('a:eq(0)'); + if ($nextLink.length == 0) { + isCrossingBoundary = true; + // no more topics in this section, jump to the first topic in the next section + $nextLink = $selListItem.parents('li:eq(0)').next('li').find('a:eq(0)'); + if (!$nextLink.length) { // Go up another layer to look for next page (lesson > class > course) + $nextLink = $selListItem.parents('li:eq(1)').next('li.nav-section').find('a:eq(0)'); + if ($nextLink.length == 0) { + // if that doesn't work, we're at the end of the list, so disable NEXT link + $('.next-page-link').attr('href','').addClass("disabled") + .click(function() { return false; }); + // and completely hide the one in the footer + $('.content-footer .next-page-link').hide(); + } + } + } + } + + if (startClass) { + $('.start-class-link').attr('href', $nextLink.attr('href')).removeClass("hide"); + + // if there's no training bar (below the start button), + // then we need to add a bottom border to button + if (!$("#tb").length) { + $('.start-class-link').css({'border-bottom':'1px solid #DADADA'}); + } + } else if (isCrossingBoundary && !$('body.design').length) { // Design always crosses boundaries + $('.content-footer.next-class').show(); + $('.next-page-link').attr('href','') + .removeClass("hide").addClass("disabled") + .click(function() { return false; }); + // and completely hide the one in the footer + $('.content-footer .next-page-link').hide(); + if ($nextLink.length) { + $('.next-class-link').attr('href',$nextLink.attr('href')) + .removeClass("hide") + .append(": " + $nextLink.html()); + $('.next-class-link').find('.new').empty(); + } + } else { + $('.next-page-link').attr('href', $nextLink.attr('href')) + .removeClass("hide"); + // for the footer link, also add the next page title + $('.content-footer .next-page-link').append(": " + $nextLink.html()); + } + + if (!startClass && $prevLink.length) { + var prevHref = $prevLink.attr('href'); + if (prevHref == SITE_ROOT + 'index.html') { + // Don't show Previous when it leads to the homepage + } else { + $('.prev-page-link').attr('href', $prevLink.attr('href')).removeClass("hide"); + } + } + + } + + + + // Set up the course landing pages for Training with class names and descriptions + if ($('body.trainingcourse').length) { + var $classLinks = $selListItem.find('ul li a').not('#nav .nav-section .nav-section ul a'); + + // create an array for all the class descriptions + var $classDescriptions = new Array($classLinks.length); + var lang = getLangPref(); + $classLinks.each(function(index) { + var langDescr = $(this).attr(lang + "-description"); + if (typeof langDescr !== 'undefined' && langDescr !== false) { + // if there's a class description in the selected language, use that + $classDescriptions[index] = langDescr; + } else { + // otherwise, use the default english description + $classDescriptions[index] = $(this).attr("description"); + } + }); + + var $olClasses = $('
    '); + var $liClass; + var $imgIcon; + var $h2Title; + var $pSummary; + var $olLessons; + var $liLesson; + $classLinks.each(function(index) { + $liClass = $('
  1. '); + $h2Title = $('

    ' + $(this).html()+'

    '); + $pSummary = $('

    ' + $classDescriptions[index] + '

    '); + + $olLessons = $('
      '); + + $lessons = $(this).closest('li').find('ul li a'); + + if ($lessons.length) { + $imgIcon = $(''); + $lessons.each(function(index) { + $olLessons.append('
    1. ' + $(this).html()+'
    2. '); + }); + } else { + $imgIcon = $(''); + $pSummary.addClass('article'); + } + + $liClass.append($h2Title).append($imgIcon).append($pSummary).append($olLessons); + $olClasses.append($liClass); + }); + $('.jd-descr').append($olClasses); + } + + // Set up expand/collapse behavior + initExpandableNavItems("#nav"); + + + $(".scroll-pane").scroll(function(event) { + event.preventDefault(); + return false; + }); + + /* Resize nav height when window height changes */ + $(window).resize(function() { + if ($('#side-nav').length == 0) return; + var stylesheet = $('link[rel="stylesheet"][class="fullscreen"]'); + setNavBarLeftPos(); // do this even if sidenav isn't fixed because it could become fixed + // make sidenav behave when resizing the window and side-scolling is a concern + if (sticky) { + if ((stylesheet.attr("disabled") == "disabled") || stylesheet.length == 0) { + updateSideNavPosition(); + } else { + updateSidenavFullscreenWidth(); + } + } + resizeNav(); + }); + + + var navBarLeftPos; + if ($('#devdoc-nav').length) { + setNavBarLeftPos(); + } + + + // Set up play-on-hover